diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6b8e3da32..b21002bae 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -29,5 +29,5 @@ jobs: env: PROGRESS_API_KEY: ${{secrets.PROGRESS_API_KEY}} run: | - python tools/upload_progress.py -b https://progress.deco.mp/ -p tww -v ${{matrix.version}} \ + python tools/upload_progress.py -b https://progress.decomp.club/ -p tww -v ${{matrix.version}} \ build/${{matrix.version}}/progress.json diff --git a/README.md b/README.md index cee5d619d..c61f9dc78 100644 --- a/README.md +++ b/README.md @@ -29,9 +29,10 @@ Windows: On Windows, it's **highly recommended** to use native tooling. WSL or msys2 are **not** required. When running under WSL, [objdiff](#diffing) is unable to get filesystem notifications for automatic rebuilds. -- Install [ninja](https://github.com/ninja-build/ninja/releases) and add it to `%PATH%`. - Install [Python](https://www.python.org/downloads/) and add it to `%PATH%`. - Also available from the [Windows Store](https://apps.microsoft.com/store/detail/python-311/9NRWMJP3717K). +- Download [ninja](https://github.com/ninja-build/ninja/releases) and add it to `%PATH%`. + - Quick install via pip: `pip install ninja` macOS: ------ @@ -44,6 +45,11 @@ macOS: brew install --cask --no-quarantine gcenx/wine/wine-crossover ``` +After OS upgrades, if macOS complains about `Wine Crossover.app` being unverified, you can unquarantine it using: +```sh +sudo xattr -rd com.apple.quarantine '/Applications/Wine Crossover.app' +``` + Linux: ------ - Install [ninja](https://github.com/ninja-build/ninja/wiki/Pre-built-Ninja-packages). diff --git a/config/GZLE01/rels/d_a_acorn_leaf/splits.txt b/config/GZLE01/rels/d_a_acorn_leaf/splits.txt index 1d18af3a5..0fa1b5691 100644 --- a/config/GZLE01/rels/d_a_acorn_leaf/splits.txt +++ b/config/GZLE01/rels/d_a_acorn_leaf/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_agbsw0/splits.txt b/config/GZLE01/rels/d_a_agbsw0/splits.txt index d6e09b802..c966f8e2a 100644 --- a/config/GZLE01/rels/d_a_agbsw0/splits.txt +++ b/config/GZLE01/rels/d_a_agbsw0/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_alldie/splits.txt b/config/GZLE01/rels/d_a_alldie/splits.txt index 3cfa7a3bd..1677f4cf9 100644 --- a/config/GZLE01/rels/d_a_alldie/splits.txt +++ b/config/GZLE01/rels/d_a_alldie/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLE01/rels/d_a_am/splits.txt b/config/GZLE01/rels/d_a_am/splits.txt index d8dadb8c4..57487a6ac 100644 --- a/config/GZLE01/rels/d_a_am/splits.txt +++ b/config/GZLE01/rels/d_a_am/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_am2/splits.txt b/config/GZLE01/rels/d_a_am2/splits.txt index fa230f6bc..025546434 100644 --- a/config/GZLE01/rels/d_a_am2/splits.txt +++ b/config/GZLE01/rels/d_a_am2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_amiprop/splits.txt b/config/GZLE01/rels/d_a_amiprop/splits.txt index 76ad82996..fd282e898 100644 --- a/config/GZLE01/rels/d_a_amiprop/splits.txt +++ b/config/GZLE01/rels/d_a_amiprop/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_andsw0/splits.txt b/config/GZLE01/rels/d_a_andsw0/splits.txt index 0dd7c47a5..4cd7a5126 100644 --- a/config/GZLE01/rels/d_a_andsw0/splits.txt +++ b/config/GZLE01/rels/d_a_andsw0/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 .bss type:bss align:8 diff --git a/config/GZLE01/rels/d_a_andsw2/splits.txt b/config/GZLE01/rels/d_a_andsw2/splits.txt index 9593e49c4..547161824 100644 --- a/config/GZLE01/rels/d_a_andsw2/splits.txt +++ b/config/GZLE01/rels/d_a_andsw2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLE01/rels/d_a_arrow_iceeff/splits.txt b/config/GZLE01/rels/d_a_arrow_iceeff/splits.txt index 12d92360a..ef0c753f7 100644 --- a/config/GZLE01/rels/d_a_arrow_iceeff/splits.txt +++ b/config/GZLE01/rels/d_a_arrow_iceeff/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_arrow_lighteff/splits.txt b/config/GZLE01/rels/d_a_arrow_lighteff/splits.txt index fb141a390..3b1db449c 100644 --- a/config/GZLE01/rels/d_a_arrow_lighteff/splits.txt +++ b/config/GZLE01/rels/d_a_arrow_lighteff/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_atdoor/splits.txt b/config/GZLE01/rels/d_a_atdoor/splits.txt index d88c39dde..92f9e2fbc 100644 --- a/config/GZLE01/rels/d_a_atdoor/splits.txt +++ b/config/GZLE01/rels/d_a_atdoor/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_att/splits.txt b/config/GZLE01/rels/d_a_att/splits.txt index 709812e6b..a6e42ce58 100644 --- a/config/GZLE01/rels/d_a_att/splits.txt +++ b/config/GZLE01/rels/d_a_att/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_auction/splits.txt b/config/GZLE01/rels/d_a_auction/splits.txt index a851efd64..1f5db9b35 100644 --- a/config/GZLE01/rels/d_a_auction/splits.txt +++ b/config/GZLE01/rels/d_a_auction/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_bb/splits.txt b/config/GZLE01/rels/d_a_bb/splits.txt index 7a103aec5..163883a80 100644 --- a/config/GZLE01/rels/d_a_bb/splits.txt +++ b/config/GZLE01/rels/d_a_bb/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_bdk/splits.txt b/config/GZLE01/rels/d_a_bdk/splits.txt index 4bbdc5f0a..08e046819 100644 --- a/config/GZLE01/rels/d_a_bdk/splits.txt +++ b/config/GZLE01/rels/d_a_bdk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_bdkobj/splits.txt b/config/GZLE01/rels/d_a_bdkobj/splits.txt index fb6d66968..a61b5e50c 100644 --- a/config/GZLE01/rels/d_a_bdkobj/splits.txt +++ b/config/GZLE01/rels/d_a_bdkobj/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_beam/splits.txt b/config/GZLE01/rels/d_a_beam/splits.txt index da5972ae9..ee15ef8b2 100644 --- a/config/GZLE01/rels/d_a_beam/splits.txt +++ b/config/GZLE01/rels/d_a_beam/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_bflower/splits.txt b/config/GZLE01/rels/d_a_bflower/splits.txt index 4158be282..ddcd1cc6c 100644 --- a/config/GZLE01/rels/d_a_bflower/splits.txt +++ b/config/GZLE01/rels/d_a_bflower/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_bgn/splits.txt b/config/GZLE01/rels/d_a_bgn/splits.txt index 80bd891d2..0feb897eb 100644 --- a/config/GZLE01/rels/d_a_bgn/splits.txt +++ b/config/GZLE01/rels/d_a_bgn/splits.txt @@ -1,8 +1,8 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 + .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/GZLE01/rels/d_a_bgn2/splits.txt b/config/GZLE01/rels/d_a_bgn2/splits.txt index b2d2c81a8..502ee971f 100644 --- a/config/GZLE01/rels/d_a_bgn2/splits.txt +++ b/config/GZLE01/rels/d_a_bgn2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_bgn3/splits.txt b/config/GZLE01/rels/d_a_bgn3/splits.txt index 5cfdcb3fd..df4f9d4ce 100644 --- a/config/GZLE01/rels/d_a_bgn3/splits.txt +++ b/config/GZLE01/rels/d_a_bgn3/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_bigelf/splits.txt b/config/GZLE01/rels/d_a_bigelf/splits.txt index fc894fc12..de1308ba7 100644 --- a/config/GZLE01/rels/d_a_bigelf/splits.txt +++ b/config/GZLE01/rels/d_a_bigelf/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_bita/splits.txt b/config/GZLE01/rels/d_a_bita/splits.txt index 656983502..fc1dcc5a8 100644 --- a/config/GZLE01/rels/d_a_bita/splits.txt +++ b/config/GZLE01/rels/d_a_bita/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_bk/splits.txt b/config/GZLE01/rels/d_a_bk/splits.txt index c4872a824..6915cb458 100644 --- a/config/GZLE01/rels/d_a_bk/splits.txt +++ b/config/GZLE01/rels/d_a_bk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_bl/splits.txt b/config/GZLE01/rels/d_a_bl/splits.txt index 043633f10..0427f1563 100644 --- a/config/GZLE01/rels/d_a_bl/splits.txt +++ b/config/GZLE01/rels/d_a_bl/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_bmd/splits.txt b/config/GZLE01/rels/d_a_bmd/splits.txt index 2fe999658..8059b7e90 100644 --- a/config/GZLE01/rels/d_a_bmd/splits.txt +++ b/config/GZLE01/rels/d_a_bmd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_bmdfoot/splits.txt b/config/GZLE01/rels/d_a_bmdfoot/splits.txt index 9bdae524a..a29a01cf2 100644 --- a/config/GZLE01/rels/d_a_bmdfoot/splits.txt +++ b/config/GZLE01/rels/d_a_bmdfoot/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_bmdhand/splits.txt b/config/GZLE01/rels/d_a_bmdhand/splits.txt index c926ff53b..ea91df5d8 100644 --- a/config/GZLE01/rels/d_a_bmdhand/splits.txt +++ b/config/GZLE01/rels/d_a_bmdhand/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_bo/splits.txt b/config/GZLE01/rels/d_a_bo/splits.txt index f0b071eb5..5091a9693 100644 --- a/config/GZLE01/rels/d_a_bo/splits.txt +++ b/config/GZLE01/rels/d_a_bo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_boko/splits.txt b/config/GZLE01/rels/d_a_boko/splits.txt index d364bbd51..5ddc36ff9 100644 --- a/config/GZLE01/rels/d_a_boko/splits.txt +++ b/config/GZLE01/rels/d_a_boko/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_boss_item/splits.txt b/config/GZLE01/rels/d_a_boss_item/splits.txt index 18e049a42..9af000cdb 100644 --- a/config/GZLE01/rels/d_a_boss_item/splits.txt +++ b/config/GZLE01/rels/d_a_boss_item/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLE01/rels/d_a_bpw/splits.txt b/config/GZLE01/rels/d_a_bpw/splits.txt index 52f64b3f1..d9a11d3bf 100644 --- a/config/GZLE01/rels/d_a_bpw/splits.txt +++ b/config/GZLE01/rels/d_a_bpw/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_branch/splits.txt b/config/GZLE01/rels/d_a_branch/splits.txt index 3686cfc37..1707237a0 100644 --- a/config/GZLE01/rels/d_a_branch/splits.txt +++ b/config/GZLE01/rels/d_a_branch/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_bridge/splits.txt b/config/GZLE01/rels/d_a_bridge/splits.txt index 48e3c010d..30ce564f7 100644 --- a/config/GZLE01/rels/d_a_bridge/splits.txt +++ b/config/GZLE01/rels/d_a_bridge/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_bst/splits.txt b/config/GZLE01/rels/d_a_bst/splits.txt index 8d89a9a98..3e6be0520 100644 --- a/config/GZLE01/rels/d_a_bst/splits.txt +++ b/config/GZLE01/rels/d_a_bst/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_btd/splits.txt b/config/GZLE01/rels/d_a_btd/splits.txt index d69a969a4..e6bb840b8 100644 --- a/config/GZLE01/rels/d_a_btd/splits.txt +++ b/config/GZLE01/rels/d_a_btd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_bwd/splits.txt b/config/GZLE01/rels/d_a_bwd/splits.txt index 8a4e72ec1..c4dd10c71 100644 --- a/config/GZLE01/rels/d_a_bwd/splits.txt +++ b/config/GZLE01/rels/d_a_bwd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_bwdg/splits.txt b/config/GZLE01/rels/d_a_bwdg/splits.txt index 53c1b95c2..ea27c78f3 100644 --- a/config/GZLE01/rels/d_a_bwdg/splits.txt +++ b/config/GZLE01/rels/d_a_bwdg/splits.txt @@ -1,8 +1,8 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 + .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/GZLE01/rels/d_a_bwds/splits.txt b/config/GZLE01/rels/d_a_bwds/splits.txt index 332faac1b..51d1aee6b 100644 --- a/config/GZLE01/rels/d_a_bwds/splits.txt +++ b/config/GZLE01/rels/d_a_bwds/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_canon/splits.txt b/config/GZLE01/rels/d_a_canon/splits.txt index e1b5f5519..9110f7ec4 100644 --- a/config/GZLE01/rels/d_a_canon/splits.txt +++ b/config/GZLE01/rels/d_a_canon/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_cc/splits.txt b/config/GZLE01/rels/d_a_cc/splits.txt index f4f586567..2a3afbe4e 100644 --- a/config/GZLE01/rels/d_a_cc/splits.txt +++ b/config/GZLE01/rels/d_a_cc/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_coming2/splits.txt b/config/GZLE01/rels/d_a_coming2/splits.txt index fccff2b8b..b74447baa 100644 --- a/config/GZLE01/rels/d_a_coming2/splits.txt +++ b/config/GZLE01/rels/d_a_coming2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_coming3/splits.txt b/config/GZLE01/rels/d_a_coming3/splits.txt index c95427707..ccad4c2cc 100644 --- a/config/GZLE01/rels/d_a_coming3/splits.txt +++ b/config/GZLE01/rels/d_a_coming3/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_dai/splits.txt b/config/GZLE01/rels/d_a_dai/splits.txt index c1fc7f466..9dbae8dd3 100644 --- a/config/GZLE01/rels/d_a_dai/splits.txt +++ b/config/GZLE01/rels/d_a_dai/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_daiocta/splits.txt b/config/GZLE01/rels/d_a_daiocta/splits.txt index cb2e28dfa..b8bc6f596 100644 --- a/config/GZLE01/rels/d_a_daiocta/splits.txt +++ b/config/GZLE01/rels/d_a_daiocta/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_daiocta_eye/splits.txt b/config/GZLE01/rels/d_a_daiocta_eye/splits.txt index 90f439398..886231307 100644 --- a/config/GZLE01/rels/d_a_daiocta_eye/splits.txt +++ b/config/GZLE01/rels/d_a_daiocta_eye/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_deku_item/splits.txt b/config/GZLE01/rels/d_a_deku_item/splits.txt index 21cef648a..cb293a50e 100644 --- a/config/GZLE01/rels/d_a_deku_item/splits.txt +++ b/config/GZLE01/rels/d_a_deku_item/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_demo_dk/splits.txt b/config/GZLE01/rels/d_a_demo_dk/splits.txt index 7878a9d66..7d719ddfc 100644 --- a/config/GZLE01/rels/d_a_demo_dk/splits.txt +++ b/config/GZLE01/rels/d_a_demo_dk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_demo_item/splits.txt b/config/GZLE01/rels/d_a_demo_item/splits.txt index a6ddbba1d..f2b08c207 100644 --- a/config/GZLE01/rels/d_a_demo_item/splits.txt +++ b/config/GZLE01/rels/d_a_demo_item/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_demo_kmm/splits.txt b/config/GZLE01/rels/d_a_demo_kmm/splits.txt index e0cbd8ac4..7d70d0dfb 100644 --- a/config/GZLE01/rels/d_a_demo_kmm/splits.txt +++ b/config/GZLE01/rels/d_a_demo_kmm/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_dk/splits.txt b/config/GZLE01/rels/d_a_dk/splits.txt index a10349ede..7c3052599 100644 --- a/config/GZLE01/rels/d_a_dk/splits.txt +++ b/config/GZLE01/rels/d_a_dk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_door10/splits.txt b/config/GZLE01/rels/d_a_door10/splits.txt index 6c9796b6f..629cbf34e 100644 --- a/config/GZLE01/rels/d_a_door10/splits.txt +++ b/config/GZLE01/rels/d_a_door10/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_door12/splits.txt b/config/GZLE01/rels/d_a_door12/splits.txt index eb09f71b3..3f81b18cc 100644 --- a/config/GZLE01/rels/d_a_door12/splits.txt +++ b/config/GZLE01/rels/d_a_door12/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_dr/splits.txt b/config/GZLE01/rels/d_a_dr/splits.txt index d613c30e1..a06cd5444 100644 --- a/config/GZLE01/rels/d_a_dr/splits.txt +++ b/config/GZLE01/rels/d_a_dr/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_dr2/splits.txt b/config/GZLE01/rels/d_a_dr2/splits.txt index 6c71d9e87..9318ae26d 100644 --- a/config/GZLE01/rels/d_a_dr2/splits.txt +++ b/config/GZLE01/rels/d_a_dr2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_dummy/splits.txt b/config/GZLE01/rels/d_a_dummy/splits.txt index 6dfe25c59..1b2bc8096 100644 --- a/config/GZLE01/rels/d_a_dummy/splits.txt +++ b/config/GZLE01/rels/d_a_dummy/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_ep/splits.txt b/config/GZLE01/rels/d_a_ep/splits.txt index 9c776c500..ba6238660 100644 --- a/config/GZLE01/rels/d_a_ep/splits.txt +++ b/config/GZLE01/rels/d_a_ep/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_fallrock/splits.txt b/config/GZLE01/rels/d_a_fallrock/splits.txt index 004ddcd95..ea5bd9bcf 100644 --- a/config/GZLE01/rels/d_a_fallrock/splits.txt +++ b/config/GZLE01/rels/d_a_fallrock/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_fallrock_tag/splits.txt b/config/GZLE01/rels/d_a_fallrock_tag/splits.txt index 1112d31f1..dfa4995eb 100644 --- a/config/GZLE01/rels/d_a_fallrock_tag/splits.txt +++ b/config/GZLE01/rels/d_a_fallrock_tag/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_fan/splits.txt b/config/GZLE01/rels/d_a_fan/splits.txt index 07b1b47b4..c11f0d094 100644 --- a/config/GZLE01/rels/d_a_fan/splits.txt +++ b/config/GZLE01/rels/d_a_fan/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_ff/splits.txt b/config/GZLE01/rels/d_a_ff/splits.txt index 81eb9f51b..452087040 100644 --- a/config/GZLE01/rels/d_a_ff/splits.txt +++ b/config/GZLE01/rels/d_a_ff/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_fganon/splits.txt b/config/GZLE01/rels/d_a_fganon/splits.txt index 91f3a45ca..db2159262 100644 --- a/config/GZLE01/rels/d_a_fganon/splits.txt +++ b/config/GZLE01/rels/d_a_fganon/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_fgmahou/splits.txt b/config/GZLE01/rels/d_a_fgmahou/splits.txt index 640402188..b36843d78 100644 --- a/config/GZLE01/rels/d_a_fgmahou/splits.txt +++ b/config/GZLE01/rels/d_a_fgmahou/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_fire/splits.txt b/config/GZLE01/rels/d_a_fire/splits.txt index 776da7772..35d2897cb 100644 --- a/config/GZLE01/rels/d_a_fire/splits.txt +++ b/config/GZLE01/rels/d_a_fire/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_floor/splits.txt b/config/GZLE01/rels/d_a_floor/splits.txt index c20497c1c..de5ced63f 100644 --- a/config/GZLE01/rels/d_a_floor/splits.txt +++ b/config/GZLE01/rels/d_a_floor/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_fm/splits.txt b/config/GZLE01/rels/d_a_fm/splits.txt index 00d93d476..a38cdfcd1 100644 --- a/config/GZLE01/rels/d_a_fm/splits.txt +++ b/config/GZLE01/rels/d_a_fm/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_ghostship/splits.txt b/config/GZLE01/rels/d_a_ghostship/splits.txt index 504df73c7..937617446 100644 --- a/config/GZLE01/rels/d_a_ghostship/splits.txt +++ b/config/GZLE01/rels/d_a_ghostship/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_gm/splits.txt b/config/GZLE01/rels/d_a_gm/splits.txt index 442626ce1..958bc4be2 100644 --- a/config/GZLE01/rels/d_a_gm/splits.txt +++ b/config/GZLE01/rels/d_a_gm/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_gnd/splits.txt b/config/GZLE01/rels/d_a_gnd/splits.txt index ea343877e..b646fd600 100644 --- a/config/GZLE01/rels/d_a_gnd/splits.txt +++ b/config/GZLE01/rels/d_a_gnd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_goal_flag/splits.txt b/config/GZLE01/rels/d_a_goal_flag/splits.txt index d5a613b13..f9436f7df 100644 --- a/config/GZLE01/rels/d_a_goal_flag/splits.txt +++ b/config/GZLE01/rels/d_a_goal_flag/splits.txt @@ -1,8 +1,8 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 + .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/GZLE01/rels/d_a_grass/splits.txt b/config/GZLE01/rels/d_a_grass/splits.txt index 8d8ed6efd..a84ff5f59 100644 --- a/config/GZLE01/rels/d_a_grass/splits.txt +++ b/config/GZLE01/rels/d_a_grass/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_gy/splits.txt b/config/GZLE01/rels/d_a_gy/splits.txt index a0dae9c8c..97760ebb6 100644 --- a/config/GZLE01/rels/d_a_gy/splits.txt +++ b/config/GZLE01/rels/d_a_gy/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_gy_ctrl/splits.txt b/config/GZLE01/rels/d_a_gy_ctrl/splits.txt index ca5ed0002..61e73a457 100644 --- a/config/GZLE01/rels/d_a_gy_ctrl/splits.txt +++ b/config/GZLE01/rels/d_a_gy_ctrl/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_himo3/splits.txt b/config/GZLE01/rels/d_a_himo3/splits.txt index b95e816bc..c19eb9fd4 100644 --- a/config/GZLE01/rels/d_a_himo3/splits.txt +++ b/config/GZLE01/rels/d_a_himo3/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_hitobj/splits.txt b/config/GZLE01/rels/d_a_hitobj/splits.txt index 2af55756d..fa0b85942 100644 --- a/config/GZLE01/rels/d_a_hitobj/splits.txt +++ b/config/GZLE01/rels/d_a_hitobj/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_hmlif/splits.txt b/config/GZLE01/rels/d_a_hmlif/splits.txt index 5bc99e414..6a27e81ac 100644 --- a/config/GZLE01/rels/d_a_hmlif/splits.txt +++ b/config/GZLE01/rels/d_a_hmlif/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_hot_floor/splits.txt b/config/GZLE01/rels/d_a_hot_floor/splits.txt index 83ddba52f..caff037c4 100644 --- a/config/GZLE01/rels/d_a_hot_floor/splits.txt +++ b/config/GZLE01/rels/d_a_hot_floor/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_hys/splits.txt b/config/GZLE01/rels/d_a_hys/splits.txt index 6dc33c0c6..a02760f15 100644 --- a/config/GZLE01/rels/d_a_hys/splits.txt +++ b/config/GZLE01/rels/d_a_hys/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_icelift/splits.txt b/config/GZLE01/rels/d_a_icelift/splits.txt index 0debd5fc1..5112fd0a7 100644 --- a/config/GZLE01/rels/d_a_icelift/splits.txt +++ b/config/GZLE01/rels/d_a_icelift/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_ikari/splits.txt b/config/GZLE01/rels/d_a_ikari/splits.txt index 9b034f622..d730476a2 100644 --- a/config/GZLE01/rels/d_a_ikari/splits.txt +++ b/config/GZLE01/rels/d_a_ikari/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_jbo/splits.txt b/config/GZLE01/rels/d_a_jbo/splits.txt index 2241803d7..805ea4d0f 100644 --- a/config/GZLE01/rels/d_a_jbo/splits.txt +++ b/config/GZLE01/rels/d_a_jbo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_kaji/splits.txt b/config/GZLE01/rels/d_a_kaji/splits.txt index f0956698a..f2dd81e97 100644 --- a/config/GZLE01/rels/d_a_kaji/splits.txt +++ b/config/GZLE01/rels/d_a_kaji/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_kamome/splits.txt b/config/GZLE01/rels/d_a_kamome/splits.txt index 077b0187a..7e924771d 100644 --- a/config/GZLE01/rels/d_a_kamome/splits.txt +++ b/config/GZLE01/rels/d_a_kamome/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_kanban/splits.txt b/config/GZLE01/rels/d_a_kanban/splits.txt index fc65cd548..41260821a 100644 --- a/config/GZLE01/rels/d_a_kanban/splits.txt +++ b/config/GZLE01/rels/d_a_kanban/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_kantera/splits.txt b/config/GZLE01/rels/d_a_kantera/splits.txt index 4fcf96a54..3d26146ef 100644 --- a/config/GZLE01/rels/d_a_kantera/splits.txt +++ b/config/GZLE01/rels/d_a_kantera/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_kb/splits.txt b/config/GZLE01/rels/d_a_kb/splits.txt index b2cf5c42e..c3815c68c 100644 --- a/config/GZLE01/rels/d_a_kb/splits.txt +++ b/config/GZLE01/rels/d_a_kb/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_kddoor/splits.txt b/config/GZLE01/rels/d_a_kddoor/splits.txt index 4950175f3..2604fcbdb 100644 --- a/config/GZLE01/rels/d_a_kddoor/splits.txt +++ b/config/GZLE01/rels/d_a_kddoor/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_ki/splits.txt b/config/GZLE01/rels/d_a_ki/splits.txt index 4d28674c4..783a7517d 100644 --- a/config/GZLE01/rels/d_a_ki/splits.txt +++ b/config/GZLE01/rels/d_a_ki/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_kita/splits.txt b/config/GZLE01/rels/d_a_kita/splits.txt index daa908242..118c0fe57 100644 --- a/config/GZLE01/rels/d_a_kita/splits.txt +++ b/config/GZLE01/rels/d_a_kita/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_klft/splits.txt b/config/GZLE01/rels/d_a_klft/splits.txt index ae839a5d1..826d4601c 100644 --- a/config/GZLE01/rels/d_a_klft/splits.txt +++ b/config/GZLE01/rels/d_a_klft/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_kmon/splits.txt b/config/GZLE01/rels/d_a_kmon/splits.txt index bcdbd00b2..ba8f5cb98 100644 --- a/config/GZLE01/rels/d_a_kmon/splits.txt +++ b/config/GZLE01/rels/d_a_kmon/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_kn/splits.txt b/config/GZLE01/rels/d_a_kn/splits.txt index b93937753..cb8bfed1d 100644 --- a/config/GZLE01/rels/d_a_kn/splits.txt +++ b/config/GZLE01/rels/d_a_kn/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_knob00/splits.txt b/config/GZLE01/rels/d_a_knob00/splits.txt index a5964230f..b0e739ba0 100644 --- a/config/GZLE01/rels/d_a_knob00/splits.txt +++ b/config/GZLE01/rels/d_a_knob00/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_kokiie/splits.txt b/config/GZLE01/rels/d_a_kokiie/splits.txt index 4017d4112..1f876be94 100644 --- a/config/GZLE01/rels/d_a_kokiie/splits.txt +++ b/config/GZLE01/rels/d_a_kokiie/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_komore/splits.txt b/config/GZLE01/rels/d_a_komore/splits.txt index cccec59fe..0df890c21 100644 --- a/config/GZLE01/rels/d_a_komore/splits.txt +++ b/config/GZLE01/rels/d_a_komore/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_ks/splits.txt b/config/GZLE01/rels/d_a_ks/splits.txt index b45e7ba65..ed777d9de 100644 --- a/config/GZLE01/rels/d_a_ks/splits.txt +++ b/config/GZLE01/rels/d_a_ks/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_kt/splits.txt b/config/GZLE01/rels/d_a_kt/splits.txt index 425cf3a65..010e341b9 100644 --- a/config/GZLE01/rels/d_a_kt/splits.txt +++ b/config/GZLE01/rels/d_a_kt/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_kui/splits.txt b/config/GZLE01/rels/d_a_kui/splits.txt index 97f088dfe..47d6e168d 100644 --- a/config/GZLE01/rels/d_a_kui/splits.txt +++ b/config/GZLE01/rels/d_a_kui/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_kytag00/splits.txt b/config/GZLE01/rels/d_a_kytag00/splits.txt index 596dbfed6..c90ccd23a 100644 --- a/config/GZLE01/rels/d_a_kytag00/splits.txt +++ b/config/GZLE01/rels/d_a_kytag00/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_kytag01/splits.txt b/config/GZLE01/rels/d_a_kytag01/splits.txt index 72626a038..9fb4e6650 100644 --- a/config/GZLE01/rels/d_a_kytag01/splits.txt +++ b/config/GZLE01/rels/d_a_kytag01/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_kytag02/splits.txt b/config/GZLE01/rels/d_a_kytag02/splits.txt index b04c749f5..e4a390c9d 100644 --- a/config/GZLE01/rels/d_a_kytag02/splits.txt +++ b/config/GZLE01/rels/d_a_kytag02/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_kytag03/splits.txt b/config/GZLE01/rels/d_a_kytag03/splits.txt index 7319c988b..a032d4bd1 100644 --- a/config/GZLE01/rels/d_a_kytag03/splits.txt +++ b/config/GZLE01/rels/d_a_kytag03/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_kytag04/splits.txt b/config/GZLE01/rels/d_a_kytag04/splits.txt index 3b6600a69..46631918f 100644 --- a/config/GZLE01/rels/d_a_kytag04/splits.txt +++ b/config/GZLE01/rels/d_a_kytag04/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_kytag05/splits.txt b/config/GZLE01/rels/d_a_kytag05/splits.txt index 40d0c0585..fa105210f 100644 --- a/config/GZLE01/rels/d_a_kytag05/splits.txt +++ b/config/GZLE01/rels/d_a_kytag05/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_kytag06/splits.txt b/config/GZLE01/rels/d_a_kytag06/splits.txt index 68d4fa57d..b83bbde38 100644 --- a/config/GZLE01/rels/d_a_kytag06/splits.txt +++ b/config/GZLE01/rels/d_a_kytag06/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_kytag07/splits.txt b/config/GZLE01/rels/d_a_kytag07/splits.txt index 22316d133..73f6df091 100644 --- a/config/GZLE01/rels/d_a_kytag07/splits.txt +++ b/config/GZLE01/rels/d_a_kytag07/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_lamp/splits.txt b/config/GZLE01/rels/d_a_lamp/splits.txt index 9324e9e6f..057250c40 100644 --- a/config/GZLE01/rels/d_a_lamp/splits.txt +++ b/config/GZLE01/rels/d_a_lamp/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_lbridge/splits.txt b/config/GZLE01/rels/d_a_lbridge/splits.txt index 4d3ddc385..6d11d6896 100644 --- a/config/GZLE01/rels/d_a_lbridge/splits.txt +++ b/config/GZLE01/rels/d_a_lbridge/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_leaflift/splits.txt b/config/GZLE01/rels/d_a_leaflift/splits.txt index 131319386..f9229777a 100644 --- a/config/GZLE01/rels/d_a_leaflift/splits.txt +++ b/config/GZLE01/rels/d_a_leaflift/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_lod_bg/splits.txt b/config/GZLE01/rels/d_a_lod_bg/splits.txt index 32c5fd406..5f25589ff 100644 --- a/config/GZLE01/rels/d_a_lod_bg/splits.txt +++ b/config/GZLE01/rels/d_a_lod_bg/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_lstair/splits.txt b/config/GZLE01/rels/d_a_lstair/splits.txt index eb74440a4..4e53f3755 100644 --- a/config/GZLE01/rels/d_a_lstair/splits.txt +++ b/config/GZLE01/rels/d_a_lstair/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_lwood/splits.txt b/config/GZLE01/rels/d_a_lwood/splits.txt index 712dfd324..91da22bac 100644 --- a/config/GZLE01/rels/d_a_lwood/splits.txt +++ b/config/GZLE01/rels/d_a_lwood/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_machine/splits.txt b/config/GZLE01/rels/d_a_machine/splits.txt index c6b98e821..ed5d08a73 100644 --- a/config/GZLE01/rels/d_a_machine/splits.txt +++ b/config/GZLE01/rels/d_a_machine/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_magma/splits.txt b/config/GZLE01/rels/d_a_magma/splits.txt index 5f6e463e4..a6cf948c6 100644 --- a/config/GZLE01/rels/d_a_magma/splits.txt +++ b/config/GZLE01/rels/d_a_magma/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_majuu_flag/splits.txt b/config/GZLE01/rels/d_a_majuu_flag/splits.txt index 379996a17..6d3735ed2 100644 --- a/config/GZLE01/rels/d_a_majuu_flag/splits.txt +++ b/config/GZLE01/rels/d_a_majuu_flag/splits.txt @@ -1,8 +1,8 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 + .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/GZLE01/rels/d_a_mant/splits.txt b/config/GZLE01/rels/d_a_mant/splits.txt index f6248ae47..eb1d71bad 100644 --- a/config/GZLE01/rels/d_a_mant/splits.txt +++ b/config/GZLE01/rels/d_a_mant/splits.txt @@ -1,8 +1,8 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 + .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/GZLE01/rels/d_a_mbdoor/splits.txt b/config/GZLE01/rels/d_a_mbdoor/splits.txt index 17935b20d..a4e01b183 100644 --- a/config/GZLE01/rels/d_a_mbdoor/splits.txt +++ b/config/GZLE01/rels/d_a_mbdoor/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_mdoor/splits.txt b/config/GZLE01/rels/d_a_mdoor/splits.txt index af08c13fb..cb6168c3b 100644 --- a/config/GZLE01/rels/d_a_mdoor/splits.txt +++ b/config/GZLE01/rels/d_a_mdoor/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_mflft/splits.txt b/config/GZLE01/rels/d_a_mflft/splits.txt index 11b3e80a9..6d2ff3f89 100644 --- a/config/GZLE01/rels/d_a_mflft/splits.txt +++ b/config/GZLE01/rels/d_a_mflft/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_mgameboard/splits.txt b/config/GZLE01/rels/d_a_mgameboard/splits.txt index 8aaa53f33..2df4bc633 100644 --- a/config/GZLE01/rels/d_a_mgameboard/splits.txt +++ b/config/GZLE01/rels/d_a_mgameboard/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_mmusic/splits.txt b/config/GZLE01/rels/d_a_mmusic/splits.txt index ca72dc60e..cc795518d 100644 --- a/config/GZLE01/rels/d_a_mmusic/splits.txt +++ b/config/GZLE01/rels/d_a_mmusic/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_mo2/splits.txt b/config/GZLE01/rels/d_a_mo2/splits.txt index f18bc4c04..9a62d6e62 100644 --- a/config/GZLE01/rels/d_a_mo2/splits.txt +++ b/config/GZLE01/rels/d_a_mo2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_movie_player/splits.txt b/config/GZLE01/rels/d_a_movie_player/splits.txt index 839d1af26..d60b31a39 100644 --- a/config/GZLE01/rels/d_a_movie_player/splits.txt +++ b/config/GZLE01/rels/d_a_movie_player/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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:32 diff --git a/config/GZLE01/rels/d_a_mozo/splits.txt b/config/GZLE01/rels/d_a_mozo/splits.txt index 09074d98c..11d714162 100644 --- a/config/GZLE01/rels/d_a_mozo/splits.txt +++ b/config/GZLE01/rels/d_a_mozo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_msw/splits.txt b/config/GZLE01/rels/d_a_msw/splits.txt index 1cc21658b..f2c84bc58 100644 --- a/config/GZLE01/rels/d_a_msw/splits.txt +++ b/config/GZLE01/rels/d_a_msw/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_mt/splits.txt b/config/GZLE01/rels/d_a_mt/splits.txt index 1394c2020..926d2eb6f 100644 --- a/config/GZLE01/rels/d_a_mt/splits.txt +++ b/config/GZLE01/rels/d_a_mt/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_mtoge/splits.txt b/config/GZLE01/rels/d_a_mtoge/splits.txt index 93314ce07..a3f514f70 100644 --- a/config/GZLE01/rels/d_a_mtoge/splits.txt +++ b/config/GZLE01/rels/d_a_mtoge/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_npc_ac1/splits.txt b/config/GZLE01/rels/d_a_npc_ac1/splits.txt index b77972080..fc5a83c66 100644 --- a/config/GZLE01/rels/d_a_npc_ac1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_ac1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_ah/splits.txt b/config/GZLE01/rels/d_a_npc_ah/splits.txt index 4d4c2bc38..f1632dd6d 100644 --- a/config/GZLE01/rels/d_a_npc_ah/splits.txt +++ b/config/GZLE01/rels/d_a_npc_ah/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_npc_aj1/splits.txt b/config/GZLE01/rels/d_a_npc_aj1/splits.txt index b3bbf6db4..b6a3e193e 100644 --- a/config/GZLE01/rels/d_a_npc_aj1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_aj1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_auction/splits.txt b/config/GZLE01/rels/d_a_npc_auction/splits.txt index 08e957b2a..6d7a89d67 100644 --- a/config/GZLE01/rels/d_a_npc_auction/splits.txt +++ b/config/GZLE01/rels/d_a_npc_auction/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_ba1/splits.txt b/config/GZLE01/rels/d_a_npc_ba1/splits.txt index 3aa5d32e2..9db5c53d8 100644 --- a/config/GZLE01/rels/d_a_npc_ba1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_ba1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_bj1/splits.txt b/config/GZLE01/rels/d_a_npc_bj1/splits.txt index 20da4d00e..4c2358e1a 100644 --- a/config/GZLE01/rels/d_a_npc_bj1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_bj1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_bm1/splits.txt b/config/GZLE01/rels/d_a_npc_bm1/splits.txt index da9cdce3b..0239f63b0 100644 --- a/config/GZLE01/rels/d_a_npc_bm1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_bm1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_bmcon1/splits.txt b/config/GZLE01/rels/d_a_npc_bmcon1/splits.txt index f925534d1..b119f6a59 100644 --- a/config/GZLE01/rels/d_a_npc_bmcon1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_bmcon1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_bms1/splits.txt b/config/GZLE01/rels/d_a_npc_bms1/splits.txt index 7f4354684..98ac47ef0 100644 --- a/config/GZLE01/rels/d_a_npc_bms1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_bms1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_bmsw/splits.txt b/config/GZLE01/rels/d_a_npc_bmsw/splits.txt index f940c10ee..2e8711a52 100644 --- a/config/GZLE01/rels/d_a_npc_bmsw/splits.txt +++ b/config/GZLE01/rels/d_a_npc_bmsw/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_bs1/splits.txt b/config/GZLE01/rels/d_a_npc_bs1/splits.txt index e75ad2197..150e20783 100644 --- a/config/GZLE01/rels/d_a_npc_bs1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_bs1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_btsw/splits.txt b/config/GZLE01/rels/d_a_npc_btsw/splits.txt index bd6b25c03..e5d204f52 100644 --- a/config/GZLE01/rels/d_a_npc_btsw/splits.txt +++ b/config/GZLE01/rels/d_a_npc_btsw/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_btsw2/splits.txt b/config/GZLE01/rels/d_a_npc_btsw2/splits.txt index bec4f73d3..9158fa6dd 100644 --- a/config/GZLE01/rels/d_a_npc_btsw2/splits.txt +++ b/config/GZLE01/rels/d_a_npc_btsw2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_cb1/splits.txt b/config/GZLE01/rels/d_a_npc_cb1/splits.txt index 9e112735a..4ab6befa5 100644 --- a/config/GZLE01/rels/d_a_npc_cb1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_cb1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_co1/splits.txt b/config/GZLE01/rels/d_a_npc_co1/splits.txt index dcf583d17..0af53b1c5 100644 --- a/config/GZLE01/rels/d_a_npc_co1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_co1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_de1/splits.txt b/config/GZLE01/rels/d_a_npc_de1/splits.txt index 1093cc706..cb600affe 100644 --- a/config/GZLE01/rels/d_a_npc_de1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_de1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_ds1/splits.txt b/config/GZLE01/rels/d_a_npc_ds1/splits.txt index e093dde45..ff14057d6 100644 --- a/config/GZLE01/rels/d_a_npc_ds1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_ds1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_gk1/splits.txt b/config/GZLE01/rels/d_a_npc_gk1/splits.txt index 503e5f08b..7766c433c 100644 --- a/config/GZLE01/rels/d_a_npc_gk1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_gk1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_gp1/splits.txt b/config/GZLE01/rels/d_a_npc_gp1/splits.txt index ef7f4be7e..d1bbb7646 100644 --- a/config/GZLE01/rels/d_a_npc_gp1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_gp1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_hi1/splits.txt b/config/GZLE01/rels/d_a_npc_hi1/splits.txt index ae18c5163..ab7a97a6b 100644 --- a/config/GZLE01/rels/d_a_npc_hi1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_hi1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_ho/splits.txt b/config/GZLE01/rels/d_a_npc_ho/splits.txt index 3651e3534..a54dee944 100644 --- a/config/GZLE01/rels/d_a_npc_ho/splits.txt +++ b/config/GZLE01/rels/d_a_npc_ho/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_hr/splits.txt b/config/GZLE01/rels/d_a_npc_hr/splits.txt index 7b813ac29..fa667c927 100644 --- a/config/GZLE01/rels/d_a_npc_hr/splits.txt +++ b/config/GZLE01/rels/d_a_npc_hr/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_jb1/splits.txt b/config/GZLE01/rels/d_a_npc_jb1/splits.txt index 660a364c3..c59fb026e 100644 --- a/config/GZLE01/rels/d_a_npc_jb1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_jb1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_ji1/splits.txt b/config/GZLE01/rels/d_a_npc_ji1/splits.txt index cbd4214db..0b44d060e 100644 --- a/config/GZLE01/rels/d_a_npc_ji1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_ji1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_kamome/splits.txt b/config/GZLE01/rels/d_a_npc_kamome/splits.txt index d6521a9ef..ffc39f458 100644 --- a/config/GZLE01/rels/d_a_npc_kamome/splits.txt +++ b/config/GZLE01/rels/d_a_npc_kamome/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_kf1/splits.txt b/config/GZLE01/rels/d_a_npc_kf1/splits.txt index 5c4328d02..51d0aab40 100644 --- a/config/GZLE01/rels/d_a_npc_kf1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_kf1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_kg1/splits.txt b/config/GZLE01/rels/d_a_npc_kg1/splits.txt index ca3906d26..67507672f 100644 --- a/config/GZLE01/rels/d_a_npc_kg1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_kg1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_kg2/splits.txt b/config/GZLE01/rels/d_a_npc_kg2/splits.txt index b49749758..5c2d05649 100644 --- a/config/GZLE01/rels/d_a_npc_kg2/splits.txt +++ b/config/GZLE01/rels/d_a_npc_kg2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_kk1/splits.txt b/config/GZLE01/rels/d_a_npc_kk1/splits.txt index 8d6e5c3aa..c279d9ca4 100644 --- a/config/GZLE01/rels/d_a_npc_kk1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_kk1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_km1/splits.txt b/config/GZLE01/rels/d_a_npc_km1/splits.txt index 6ab07b351..008804acc 100644 --- a/config/GZLE01/rels/d_a_npc_km1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_km1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_ko1/splits.txt b/config/GZLE01/rels/d_a_npc_ko1/splits.txt index 92928b060..8e76942ee 100644 --- a/config/GZLE01/rels/d_a_npc_ko1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_ko1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_kp1/splits.txt b/config/GZLE01/rels/d_a_npc_kp1/splits.txt index 06606f064..308b53099 100644 --- a/config/GZLE01/rels/d_a_npc_kp1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_kp1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_ls1/splits.txt b/config/GZLE01/rels/d_a_npc_ls1/splits.txt index 579e1258c..531c41f0e 100644 --- a/config/GZLE01/rels/d_a_npc_ls1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_ls1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_md/splits.txt b/config/GZLE01/rels/d_a_npc_md/splits.txt index 206112825..9193e8fe9 100644 --- a/config/GZLE01/rels/d_a_npc_md/splits.txt +++ b/config/GZLE01/rels/d_a_npc_md/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_mk/splits.txt b/config/GZLE01/rels/d_a_npc_mk/splits.txt index 3d4797c39..a87ece1fd 100644 --- a/config/GZLE01/rels/d_a_npc_mk/splits.txt +++ b/config/GZLE01/rels/d_a_npc_mk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_mn/splits.txt b/config/GZLE01/rels/d_a_npc_mn/splits.txt index e78b18503..37e39f60f 100644 --- a/config/GZLE01/rels/d_a_npc_mn/splits.txt +++ b/config/GZLE01/rels/d_a_npc_mn/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_npc_mt/splits.txt b/config/GZLE01/rels/d_a_npc_mt/splits.txt index 464cdf10e..e2744a01a 100644 --- a/config/GZLE01/rels/d_a_npc_mt/splits.txt +++ b/config/GZLE01/rels/d_a_npc_mt/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_npc_nz/splits.txt b/config/GZLE01/rels/d_a_npc_nz/splits.txt index 58cd09134..871e8f052 100644 --- a/config/GZLE01/rels/d_a_npc_nz/splits.txt +++ b/config/GZLE01/rels/d_a_npc_nz/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_ob1/splits.txt b/config/GZLE01/rels/d_a_npc_ob1/splits.txt index 39caa7f69..76fcceb9e 100644 --- a/config/GZLE01/rels/d_a_npc_ob1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_ob1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_os/splits.txt b/config/GZLE01/rels/d_a_npc_os/splits.txt index ed8d01f5c..623d98eaa 100644 --- a/config/GZLE01/rels/d_a_npc_os/splits.txt +++ b/config/GZLE01/rels/d_a_npc_os/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_p1/splits.txt b/config/GZLE01/rels/d_a_npc_p1/splits.txt index 80ae4e29e..3e676438a 100644 --- a/config/GZLE01/rels/d_a_npc_p1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_p1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_p2/splits.txt b/config/GZLE01/rels/d_a_npc_p2/splits.txt index 9912ec382..4d4436414 100644 --- a/config/GZLE01/rels/d_a_npc_p2/splits.txt +++ b/config/GZLE01/rels/d_a_npc_p2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_people/splits.txt b/config/GZLE01/rels/d_a_npc_people/splits.txt index 852e85fbd..a6b8b93dd 100644 --- a/config/GZLE01/rels/d_a_npc_people/splits.txt +++ b/config/GZLE01/rels/d_a_npc_people/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_npc_pf1/splits.txt b/config/GZLE01/rels/d_a_npc_pf1/splits.txt index 49f36715f..9729ce6a1 100644 --- a/config/GZLE01/rels/d_a_npc_pf1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_pf1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_photo/splits.txt b/config/GZLE01/rels/d_a_npc_photo/splits.txt index f915cd314..4bbd8ccd2 100644 --- a/config/GZLE01/rels/d_a_npc_photo/splits.txt +++ b/config/GZLE01/rels/d_a_npc_photo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_pm1/splits.txt b/config/GZLE01/rels/d_a_npc_pm1/splits.txt index 47996f20e..355262309 100644 --- a/config/GZLE01/rels/d_a_npc_pm1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_pm1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_roten/splits.txt b/config/GZLE01/rels/d_a_npc_roten/splits.txt index 16329646d..2865c3146 100644 --- a/config/GZLE01/rels/d_a_npc_roten/splits.txt +++ b/config/GZLE01/rels/d_a_npc_roten/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_npc_rsh1/splits.txt b/config/GZLE01/rels/d_a_npc_rsh1/splits.txt index 033942f16..b1504a5a9 100644 --- a/config/GZLE01/rels/d_a_npc_rsh1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_rsh1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_sarace/splits.txt b/config/GZLE01/rels/d_a_npc_sarace/splits.txt index d0bb3055b..8c40db245 100644 --- a/config/GZLE01/rels/d_a_npc_sarace/splits.txt +++ b/config/GZLE01/rels/d_a_npc_sarace/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_so/splits.txt b/config/GZLE01/rels/d_a_npc_so/splits.txt index 1cb10755b..e51939891 100644 --- a/config/GZLE01/rels/d_a_npc_so/splits.txt +++ b/config/GZLE01/rels/d_a_npc_so/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_sv/splits.txt b/config/GZLE01/rels/d_a_npc_sv/splits.txt index 59ce5f5e8..159d18a63 100644 --- a/config/GZLE01/rels/d_a_npc_sv/splits.txt +++ b/config/GZLE01/rels/d_a_npc_sv/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_npc_tc/splits.txt b/config/GZLE01/rels/d_a_npc_tc/splits.txt index 65c3a5e16..e1d5c0731 100644 --- a/config/GZLE01/rels/d_a_npc_tc/splits.txt +++ b/config/GZLE01/rels/d_a_npc_tc/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_tt/splits.txt b/config/GZLE01/rels/d_a_npc_tt/splits.txt index 3a06d97a9..4050d48d5 100644 --- a/config/GZLE01/rels/d_a_npc_tt/splits.txt +++ b/config/GZLE01/rels/d_a_npc_tt/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_uk/splits.txt b/config/GZLE01/rels/d_a_npc_uk/splits.txt index f0d68404f..cea00b5d5 100644 --- a/config/GZLE01/rels/d_a_npc_uk/splits.txt +++ b/config/GZLE01/rels/d_a_npc_uk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_ym1/splits.txt b/config/GZLE01/rels/d_a_npc_ym1/splits.txt index 4ad4f0a7f..f7d45198b 100644 --- a/config/GZLE01/rels/d_a_npc_ym1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_ym1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_yw1/splits.txt b/config/GZLE01/rels/d_a_npc_yw1/splits.txt index 95c4a5dbf..11056f5c8 100644 --- a/config/GZLE01/rels/d_a_npc_yw1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_yw1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_zk1/splits.txt b/config/GZLE01/rels/d_a_npc_zk1/splits.txt index a4958458c..72142bd41 100644 --- a/config/GZLE01/rels/d_a_npc_zk1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_zk1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_npc_zl1/splits.txt b/config/GZLE01/rels/d_a_npc_zl1/splits.txt index 3ebfbfd4a..7a86936d9 100644 --- a/config/GZLE01/rels/d_a_npc_zl1/splits.txt +++ b/config/GZLE01/rels/d_a_npc_zl1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_nz/splits.txt b/config/GZLE01/rels/d_a_nz/splits.txt index 0d0861322..dfb8f403d 100644 --- a/config/GZLE01/rels/d_a_nz/splits.txt +++ b/config/GZLE01/rels/d_a_nz/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_nzg/splits.txt b/config/GZLE01/rels/d_a_nzg/splits.txt index 04e0d2ce1..a89397c8b 100644 --- a/config/GZLE01/rels/d_a_nzg/splits.txt +++ b/config/GZLE01/rels/d_a_nzg/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_AjavW/splits.txt b/config/GZLE01/rels/d_a_obj_AjavW/splits.txt index d79baf447..3ad970240 100644 --- a/config/GZLE01/rels/d_a_obj_AjavW/splits.txt +++ b/config/GZLE01/rels/d_a_obj_AjavW/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_Itnak/splits.txt b/config/GZLE01/rels/d_a_obj_Itnak/splits.txt index ac19ba8da..631a2e526 100644 --- a/config/GZLE01/rels/d_a_obj_Itnak/splits.txt +++ b/config/GZLE01/rels/d_a_obj_Itnak/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_Vds/splits.txt b/config/GZLE01/rels/d_a_obj_Vds/splits.txt index 263aa35f8..739416aba 100644 --- a/config/GZLE01/rels/d_a_obj_Vds/splits.txt +++ b/config/GZLE01/rels/d_a_obj_Vds/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_Vteng/splits.txt b/config/GZLE01/rels/d_a_obj_Vteng/splits.txt index 1871d8ef6..2d6c017f0 100644 --- a/config/GZLE01/rels/d_a_obj_Vteng/splits.txt +++ b/config/GZLE01/rels/d_a_obj_Vteng/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_YLzou/splits.txt b/config/GZLE01/rels/d_a_obj_YLzou/splits.txt index 8464d2917..0a23df5e9 100644 --- a/config/GZLE01/rels/d_a_obj_YLzou/splits.txt +++ b/config/GZLE01/rels/d_a_obj_YLzou/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_Yboil/splits.txt b/config/GZLE01/rels/d_a_obj_Yboil/splits.txt index d60cbf5a8..566a64d94 100644 --- a/config/GZLE01/rels/d_a_obj_Yboil/splits.txt +++ b/config/GZLE01/rels/d_a_obj_Yboil/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_Ygush00/splits.txt b/config/GZLE01/rels/d_a_obj_Ygush00/splits.txt index f5a2f9c3c..08e54ee52 100644 --- a/config/GZLE01/rels/d_a_obj_Ygush00/splits.txt +++ b/config/GZLE01/rels/d_a_obj_Ygush00/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_adnno/splits.txt b/config/GZLE01/rels/d_a_obj_adnno/splits.txt index 7e593ffe3..c2abf6a24 100644 --- a/config/GZLE01/rels/d_a_obj_adnno/splits.txt +++ b/config/GZLE01/rels/d_a_obj_adnno/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_ajav/splits.txt b/config/GZLE01/rels/d_a_obj_ajav/splits.txt index 6acf61e60..1d8c822f1 100644 --- a/config/GZLE01/rels/d_a_obj_ajav/splits.txt +++ b/config/GZLE01/rels/d_a_obj_ajav/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_akabe/splits.txt b/config/GZLE01/rels/d_a_obj_akabe/splits.txt index e7012b15b..501abc99e 100644 --- a/config/GZLE01/rels/d_a_obj_akabe/splits.txt +++ b/config/GZLE01/rels/d_a_obj_akabe/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_apzl/splits.txt b/config/GZLE01/rels/d_a_obj_apzl/splits.txt index a43ad9d4d..7c2e13915 100644 --- a/config/GZLE01/rels/d_a_obj_apzl/splits.txt +++ b/config/GZLE01/rels/d_a_obj_apzl/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_ashut/splits.txt b/config/GZLE01/rels/d_a_obj_ashut/splits.txt index 7be5e4ba3..dfe483696 100644 --- a/config/GZLE01/rels/d_a_obj_ashut/splits.txt +++ b/config/GZLE01/rels/d_a_obj_ashut/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_auzu/splits.txt b/config/GZLE01/rels/d_a_obj_auzu/splits.txt index 80f1b4592..bd4ca8b8f 100644 --- a/config/GZLE01/rels/d_a_obj_auzu/splits.txt +++ b/config/GZLE01/rels/d_a_obj_auzu/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_aygr/splits.txt b/config/GZLE01/rels/d_a_obj_aygr/splits.txt index e93d46911..c15bd5665 100644 --- a/config/GZLE01/rels/d_a_obj_aygr/splits.txt +++ b/config/GZLE01/rels/d_a_obj_aygr/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_balancelift/splits.txt b/config/GZLE01/rels/d_a_obj_balancelift/splits.txt index 55688f532..cfd3eeac9 100644 --- a/config/GZLE01/rels/d_a_obj_balancelift/splits.txt +++ b/config/GZLE01/rels/d_a_obj_balancelift/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_barrel/splits.txt b/config/GZLE01/rels/d_a_obj_barrel/splits.txt index 66139ff33..5b4a8ac02 100644 --- a/config/GZLE01/rels/d_a_obj_barrel/splits.txt +++ b/config/GZLE01/rels/d_a_obj_barrel/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_barrel2/splits.txt b/config/GZLE01/rels/d_a_obj_barrel2/splits.txt index 42cab4736..fb8691596 100644 --- a/config/GZLE01/rels/d_a_obj_barrel2/splits.txt +++ b/config/GZLE01/rels/d_a_obj_barrel2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_barrier/splits.txt b/config/GZLE01/rels/d_a_obj_barrier/splits.txt index 6ffcfd72b..df1a21b5f 100644 --- a/config/GZLE01/rels/d_a_obj_barrier/splits.txt +++ b/config/GZLE01/rels/d_a_obj_barrier/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_bemos/splits.txt b/config/GZLE01/rels/d_a_obj_bemos/splits.txt index 9f390f259..fa807342a 100644 --- a/config/GZLE01/rels/d_a_obj_bemos/splits.txt +++ b/config/GZLE01/rels/d_a_obj_bemos/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_bscurtain/splits.txt b/config/GZLE01/rels/d_a_obj_bscurtain/splits.txt index 0a2410f90..83d8cb46c 100644 --- a/config/GZLE01/rels/d_a_obj_bscurtain/splits.txt +++ b/config/GZLE01/rels/d_a_obj_bscurtain/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_buoyflag/splits.txt b/config/GZLE01/rels/d_a_obj_buoyflag/splits.txt index 841a19ebb..6b134fab6 100644 --- a/config/GZLE01/rels/d_a_obj_buoyflag/splits.txt +++ b/config/GZLE01/rels/d_a_obj_buoyflag/splits.txt @@ -1,8 +1,8 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 + .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/GZLE01/rels/d_a_obj_buoyrace/splits.txt b/config/GZLE01/rels/d_a_obj_buoyrace/splits.txt index 8c797b28d..82ca290c0 100644 --- a/config/GZLE01/rels/d_a_obj_buoyrace/splits.txt +++ b/config/GZLE01/rels/d_a_obj_buoyrace/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_cafelmp/splits.txt b/config/GZLE01/rels/d_a_obj_cafelmp/splits.txt index fd1ebe2c0..07f70cb45 100644 --- a/config/GZLE01/rels/d_a_obj_cafelmp/splits.txt +++ b/config/GZLE01/rels/d_a_obj_cafelmp/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_canon/splits.txt b/config/GZLE01/rels/d_a_obj_canon/splits.txt index c9f06a00b..634018d4a 100644 --- a/config/GZLE01/rels/d_a_obj_canon/splits.txt +++ b/config/GZLE01/rels/d_a_obj_canon/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_coming/splits.txt b/config/GZLE01/rels/d_a_obj_coming/splits.txt index ffbc6dc6c..faad4f9a8 100644 --- a/config/GZLE01/rels/d_a_obj_coming/splits.txt +++ b/config/GZLE01/rels/d_a_obj_coming/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_correct/splits.txt b/config/GZLE01/rels/d_a_obj_correct/splits.txt index 5279c6ad9..00b77767b 100644 --- a/config/GZLE01/rels/d_a_obj_correct/splits.txt +++ b/config/GZLE01/rels/d_a_obj_correct/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_demo_barrel/splits.txt b/config/GZLE01/rels/d_a_obj_demo_barrel/splits.txt index 497d0f968..531999636 100644 --- a/config/GZLE01/rels/d_a_obj_demo_barrel/splits.txt +++ b/config/GZLE01/rels/d_a_obj_demo_barrel/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_dmgroom/splits.txt b/config/GZLE01/rels/d_a_obj_dmgroom/splits.txt index b2bf856b8..b03861312 100644 --- a/config/GZLE01/rels/d_a_obj_dmgroom/splits.txt +++ b/config/GZLE01/rels/d_a_obj_dmgroom/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_doguu/splits.txt b/config/GZLE01/rels/d_a_obj_doguu/splits.txt index c418ad613..448a4022f 100644 --- a/config/GZLE01/rels/d_a_obj_doguu/splits.txt +++ b/config/GZLE01/rels/d_a_obj_doguu/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_doguu_demo/splits.txt b/config/GZLE01/rels/d_a_obj_doguu_demo/splits.txt index da3707f62..7e4efaa69 100644 --- a/config/GZLE01/rels/d_a_obj_doguu_demo/splits.txt +++ b/config/GZLE01/rels/d_a_obj_doguu_demo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_dragonhead/splits.txt b/config/GZLE01/rels/d_a_obj_dragonhead/splits.txt index 277a9340c..0049f16ec 100644 --- a/config/GZLE01/rels/d_a_obj_dragonhead/splits.txt +++ b/config/GZLE01/rels/d_a_obj_dragonhead/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_drift/splits.txt b/config/GZLE01/rels/d_a_obj_drift/splits.txt index 70e5e3b4e..64bb7fac4 100644 --- a/config/GZLE01/rels/d_a_obj_drift/splits.txt +++ b/config/GZLE01/rels/d_a_obj_drift/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_eayogn/splits.txt b/config/GZLE01/rels/d_a_obj_eayogn/splits.txt index 29eaf65d2..c8a7ad6d7 100644 --- a/config/GZLE01/rels/d_a_obj_eayogn/splits.txt +++ b/config/GZLE01/rels/d_a_obj_eayogn/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_ebomzo/splits.txt b/config/GZLE01/rels/d_a_obj_ebomzo/splits.txt index e3c3ca18b..234e3eefe 100644 --- a/config/GZLE01/rels/d_a_obj_ebomzo/splits.txt +++ b/config/GZLE01/rels/d_a_obj_ebomzo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_eff/splits.txt b/config/GZLE01/rels/d_a_obj_eff/splits.txt index 8829a2957..249885795 100644 --- a/config/GZLE01/rels/d_a_obj_eff/splits.txt +++ b/config/GZLE01/rels/d_a_obj_eff/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_ekskz/splits.txt b/config/GZLE01/rels/d_a_obj_ekskz/splits.txt index fcc1e0912..1034cb8be 100644 --- a/config/GZLE01/rels/d_a_obj_ekskz/splits.txt +++ b/config/GZLE01/rels/d_a_obj_ekskz/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_eskban/splits.txt b/config/GZLE01/rels/d_a_obj_eskban/splits.txt index f66e355b8..3e51a2615 100644 --- a/config/GZLE01/rels/d_a_obj_eskban/splits.txt +++ b/config/GZLE01/rels/d_a_obj_eskban/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_ferris/splits.txt b/config/GZLE01/rels/d_a_obj_ferris/splits.txt index 519d95b5c..c7895a07e 100644 --- a/config/GZLE01/rels/d_a_obj_ferris/splits.txt +++ b/config/GZLE01/rels/d_a_obj_ferris/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_figure/splits.txt b/config/GZLE01/rels/d_a_obj_figure/splits.txt index 26e7a7da8..bd9eff4bb 100644 --- a/config/GZLE01/rels/d_a_obj_figure/splits.txt +++ b/config/GZLE01/rels/d_a_obj_figure/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_firewall/splits.txt b/config/GZLE01/rels/d_a_obj_firewall/splits.txt index 90a6a24b5..6a719088d 100644 --- a/config/GZLE01/rels/d_a_obj_firewall/splits.txt +++ b/config/GZLE01/rels/d_a_obj_firewall/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_flame/splits.txt b/config/GZLE01/rels/d_a_obj_flame/splits.txt index 8d7f3fae0..719410461 100644 --- a/config/GZLE01/rels/d_a_obj_flame/splits.txt +++ b/config/GZLE01/rels/d_a_obj_flame/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_ftree/splits.txt b/config/GZLE01/rels/d_a_obj_ftree/splits.txt index 3ffab4ba9..88e1c38e3 100644 --- a/config/GZLE01/rels/d_a_obj_ftree/splits.txt +++ b/config/GZLE01/rels/d_a_obj_ftree/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_ganonbed/splits.txt b/config/GZLE01/rels/d_a_obj_ganonbed/splits.txt index 7e3aa32a8..e6d97cbd0 100644 --- a/config/GZLE01/rels/d_a_obj_ganonbed/splits.txt +++ b/config/GZLE01/rels/d_a_obj_ganonbed/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_gaship/splits.txt b/config/GZLE01/rels/d_a_obj_gaship/splits.txt index 669663ed5..9c98057c8 100644 --- a/config/GZLE01/rels/d_a_obj_gaship/splits.txt +++ b/config/GZLE01/rels/d_a_obj_gaship/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_gaship2/splits.txt b/config/GZLE01/rels/d_a_obj_gaship2/splits.txt index d1fa2013e..4050f7746 100644 --- a/config/GZLE01/rels/d_a_obj_gaship2/splits.txt +++ b/config/GZLE01/rels/d_a_obj_gaship2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_gnnbtltaki/splits.txt b/config/GZLE01/rels/d_a_obj_gnnbtltaki/splits.txt index 464a97530..a704dff8f 100644 --- a/config/GZLE01/rels/d_a_obj_gnnbtltaki/splits.txt +++ b/config/GZLE01/rels/d_a_obj_gnnbtltaki/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_gnndemotakie/splits.txt b/config/GZLE01/rels/d_a_obj_gnndemotakie/splits.txt index 4f0646634..982fe4d13 100644 --- a/config/GZLE01/rels/d_a_obj_gnndemotakie/splits.txt +++ b/config/GZLE01/rels/d_a_obj_gnndemotakie/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_gnndemotakis/splits.txt b/config/GZLE01/rels/d_a_obj_gnndemotakis/splits.txt index ee01fde4c..c52ca76f5 100644 --- a/config/GZLE01/rels/d_a_obj_gnndemotakis/splits.txt +++ b/config/GZLE01/rels/d_a_obj_gnndemotakis/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_gong/splits.txt b/config/GZLE01/rels/d_a_obj_gong/splits.txt index b5ba6b931..a1ff9892d 100644 --- a/config/GZLE01/rels/d_a_obj_gong/splits.txt +++ b/config/GZLE01/rels/d_a_obj_gong/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_gryw00/splits.txt b/config/GZLE01/rels/d_a_obj_gryw00/splits.txt index f59bcb300..95cf43eba 100644 --- a/config/GZLE01/rels/d_a_obj_gryw00/splits.txt +++ b/config/GZLE01/rels/d_a_obj_gryw00/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_gtaki/splits.txt b/config/GZLE01/rels/d_a_obj_gtaki/splits.txt index e4728ebad..6cfdeed97 100644 --- a/config/GZLE01/rels/d_a_obj_gtaki/splits.txt +++ b/config/GZLE01/rels/d_a_obj_gtaki/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_hami2/splits.txt b/config/GZLE01/rels/d_a_obj_hami2/splits.txt index 524dbf3b0..9fee9a419 100644 --- a/config/GZLE01/rels/d_a_obj_hami2/splits.txt +++ b/config/GZLE01/rels/d_a_obj_hami2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_hami3/splits.txt b/config/GZLE01/rels/d_a_obj_hami3/splits.txt index b5ecf6e61..1eaeaf0ec 100644 --- a/config/GZLE01/rels/d_a_obj_hami3/splits.txt +++ b/config/GZLE01/rels/d_a_obj_hami3/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_hami4/splits.txt b/config/GZLE01/rels/d_a_obj_hami4/splits.txt index 15de4e3c3..92d7981b8 100644 --- a/config/GZLE01/rels/d_a_obj_hami4/splits.txt +++ b/config/GZLE01/rels/d_a_obj_hami4/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_hat/splits.txt b/config/GZLE01/rels/d_a_obj_hat/splits.txt index 5d450a775..bf6fc3c13 100644 --- a/config/GZLE01/rels/d_a_obj_hat/splits.txt +++ b/config/GZLE01/rels/d_a_obj_hat/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_hbrf1/splits.txt b/config/GZLE01/rels/d_a_obj_hbrf1/splits.txt index c7ca02474..846e7df9e 100644 --- a/config/GZLE01/rels/d_a_obj_hbrf1/splits.txt +++ b/config/GZLE01/rels/d_a_obj_hbrf1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_hcbh/splits.txt b/config/GZLE01/rels/d_a_obj_hcbh/splits.txt index bd481d493..b2246ac90 100644 --- a/config/GZLE01/rels/d_a_obj_hcbh/splits.txt +++ b/config/GZLE01/rels/d_a_obj_hcbh/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_hfuck1/splits.txt b/config/GZLE01/rels/d_a_obj_hfuck1/splits.txt index 3bc28d864..ba7646a15 100644 --- a/config/GZLE01/rels/d_a_obj_hfuck1/splits.txt +++ b/config/GZLE01/rels/d_a_obj_hfuck1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_hha/splits.txt b/config/GZLE01/rels/d_a_obj_hha/splits.txt index 82e54a9ab..74660b427 100644 --- a/config/GZLE01/rels/d_a_obj_hha/splits.txt +++ b/config/GZLE01/rels/d_a_obj_hha/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_hlift/splits.txt b/config/GZLE01/rels/d_a_obj_hlift/splits.txt index 160f2e323..ef205120c 100644 --- a/config/GZLE01/rels/d_a_obj_hlift/splits.txt +++ b/config/GZLE01/rels/d_a_obj_hlift/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_hole/splits.txt b/config/GZLE01/rels/d_a_obj_hole/splits.txt index 2ffe47282..00c1ad43f 100644 --- a/config/GZLE01/rels/d_a_obj_hole/splits.txt +++ b/config/GZLE01/rels/d_a_obj_hole/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_homen/splits.txt b/config/GZLE01/rels/d_a_obj_homen/splits.txt index a7e2b2401..cb952c31c 100644 --- a/config/GZLE01/rels/d_a_obj_homen/splits.txt +++ b/config/GZLE01/rels/d_a_obj_homen/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_homensmoke/splits.txt b/config/GZLE01/rels/d_a_obj_homensmoke/splits.txt index 8a8716d13..1ce99a7ba 100644 --- a/config/GZLE01/rels/d_a_obj_homensmoke/splits.txt +++ b/config/GZLE01/rels/d_a_obj_homensmoke/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_hsehi1/splits.txt b/config/GZLE01/rels/d_a_obj_hsehi1/splits.txt index 65bb102ce..078e1a09b 100644 --- a/config/GZLE01/rels/d_a_obj_hsehi1/splits.txt +++ b/config/GZLE01/rels/d_a_obj_hsehi1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_htetu1/splits.txt b/config/GZLE01/rels/d_a_obj_htetu1/splits.txt index ea4efbdf1..d214147cf 100644 --- a/config/GZLE01/rels/d_a_obj_htetu1/splits.txt +++ b/config/GZLE01/rels/d_a_obj_htetu1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_ice/splits.txt b/config/GZLE01/rels/d_a_obj_ice/splits.txt index bd981eb13..d0f20126e 100644 --- a/config/GZLE01/rels/d_a_obj_ice/splits.txt +++ b/config/GZLE01/rels/d_a_obj_ice/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_iceisland/splits.txt b/config/GZLE01/rels/d_a_obj_iceisland/splits.txt index 7f3c0b13f..6c99efcd4 100644 --- a/config/GZLE01/rels/d_a_obj_iceisland/splits.txt +++ b/config/GZLE01/rels/d_a_obj_iceisland/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_ikada/splits.txt b/config/GZLE01/rels/d_a_obj_ikada/splits.txt index 7f2488fe7..8401099b5 100644 --- a/config/GZLE01/rels/d_a_obj_ikada/splits.txt +++ b/config/GZLE01/rels/d_a_obj_ikada/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_jump/splits.txt b/config/GZLE01/rels/d_a_obj_jump/splits.txt index 9bebb88ea..8b3528b6f 100644 --- a/config/GZLE01/rels/d_a_obj_jump/splits.txt +++ b/config/GZLE01/rels/d_a_obj_jump/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_kanat/splits.txt b/config/GZLE01/rels/d_a_obj_kanat/splits.txt index 87d03f6ea..a7148ce78 100644 --- a/config/GZLE01/rels/d_a_obj_kanat/splits.txt +++ b/config/GZLE01/rels/d_a_obj_kanat/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_kanoke/splits.txt b/config/GZLE01/rels/d_a_obj_kanoke/splits.txt index 5b7c36bd2..8a68e6431 100644 --- a/config/GZLE01/rels/d_a_obj_kanoke/splits.txt +++ b/config/GZLE01/rels/d_a_obj_kanoke/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_ladder/splits.txt b/config/GZLE01/rels/d_a_obj_ladder/splits.txt index 0011b34be..972381834 100644 --- a/config/GZLE01/rels/d_a_obj_ladder/splits.txt +++ b/config/GZLE01/rels/d_a_obj_ladder/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_leaves/splits.txt b/config/GZLE01/rels/d_a_obj_leaves/splits.txt index f62ed0781..81ea84a5c 100644 --- a/config/GZLE01/rels/d_a_obj_leaves/splits.txt +++ b/config/GZLE01/rels/d_a_obj_leaves/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_light/splits.txt b/config/GZLE01/rels/d_a_obj_light/splits.txt index 22277cf28..cf04cd4ea 100644 --- a/config/GZLE01/rels/d_a_obj_light/splits.txt +++ b/config/GZLE01/rels/d_a_obj_light/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_lpalm/splits.txt b/config/GZLE01/rels/d_a_obj_lpalm/splits.txt index 966a63a24..feec82559 100644 --- a/config/GZLE01/rels/d_a_obj_lpalm/splits.txt +++ b/config/GZLE01/rels/d_a_obj_lpalm/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_magmarock/splits.txt b/config/GZLE01/rels/d_a_obj_magmarock/splits.txt index 21fa4527b..ec856e376 100644 --- a/config/GZLE01/rels/d_a_obj_magmarock/splits.txt +++ b/config/GZLE01/rels/d_a_obj_magmarock/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_majyuu_door/splits.txt b/config/GZLE01/rels/d_a_obj_majyuu_door/splits.txt index 58c8de67c..fe5140995 100644 --- a/config/GZLE01/rels/d_a_obj_majyuu_door/splits.txt +++ b/config/GZLE01/rels/d_a_obj_majyuu_door/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_mkie/splits.txt b/config/GZLE01/rels/d_a_obj_mkie/splits.txt index 51a7236b8..8b3cabc04 100644 --- a/config/GZLE01/rels/d_a_obj_mkie/splits.txt +++ b/config/GZLE01/rels/d_a_obj_mkie/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_mkiek/splits.txt b/config/GZLE01/rels/d_a_obj_mkiek/splits.txt index dbe72f689..06b530df6 100644 --- a/config/GZLE01/rels/d_a_obj_mkiek/splits.txt +++ b/config/GZLE01/rels/d_a_obj_mkiek/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_mknjd/splits.txt b/config/GZLE01/rels/d_a_obj_mknjd/splits.txt index 18ad60328..955459465 100644 --- a/config/GZLE01/rels/d_a_obj_mknjd/splits.txt +++ b/config/GZLE01/rels/d_a_obj_mknjd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_mmrr/splits.txt b/config/GZLE01/rels/d_a_obj_mmrr/splits.txt index 230752043..d0e0ba103 100644 --- a/config/GZLE01/rels/d_a_obj_mmrr/splits.txt +++ b/config/GZLE01/rels/d_a_obj_mmrr/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_monument/splits.txt b/config/GZLE01/rels/d_a_obj_monument/splits.txt index a0e1ebc0e..c7213fd7e 100644 --- a/config/GZLE01/rels/d_a_obj_monument/splits.txt +++ b/config/GZLE01/rels/d_a_obj_monument/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_movebox/splits.txt b/config/GZLE01/rels/d_a_obj_movebox/splits.txt index 9aa5cdc64..5045a2689 100644 --- a/config/GZLE01/rels/d_a_obj_movebox/splits.txt +++ b/config/GZLE01/rels/d_a_obj_movebox/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_msdan/splits.txt b/config/GZLE01/rels/d_a_obj_msdan/splits.txt index 0a61df0c8..2420d6eab 100644 --- a/config/GZLE01/rels/d_a_obj_msdan/splits.txt +++ b/config/GZLE01/rels/d_a_obj_msdan/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_msdan2/splits.txt b/config/GZLE01/rels/d_a_obj_msdan2/splits.txt index 97dd469b9..3a7bc4f71 100644 --- a/config/GZLE01/rels/d_a_obj_msdan2/splits.txt +++ b/config/GZLE01/rels/d_a_obj_msdan2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_msdan_sub/splits.txt b/config/GZLE01/rels/d_a_obj_msdan_sub/splits.txt index 6aa537279..9ad067b35 100644 --- a/config/GZLE01/rels/d_a_obj_msdan_sub/splits.txt +++ b/config/GZLE01/rels/d_a_obj_msdan_sub/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_msdan_sub2/splits.txt b/config/GZLE01/rels/d_a_obj_msdan_sub2/splits.txt index 0bc5fc029..49126bb10 100644 --- a/config/GZLE01/rels/d_a_obj_msdan_sub2/splits.txt +++ b/config/GZLE01/rels/d_a_obj_msdan_sub2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_mshokki/splits.txt b/config/GZLE01/rels/d_a_obj_mshokki/splits.txt index a991d2144..41fc042ed 100644 --- a/config/GZLE01/rels/d_a_obj_mshokki/splits.txt +++ b/config/GZLE01/rels/d_a_obj_mshokki/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_mtest/splits.txt b/config/GZLE01/rels/d_a_obj_mtest/splits.txt index 3bc5fb084..cab1a3ea1 100644 --- a/config/GZLE01/rels/d_a_obj_mtest/splits.txt +++ b/config/GZLE01/rels/d_a_obj_mtest/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_nest/splits.txt b/config/GZLE01/rels/d_a_obj_nest/splits.txt index 672b0e0d3..bbf615bca 100644 --- a/config/GZLE01/rels/d_a_obj_nest/splits.txt +++ b/config/GZLE01/rels/d_a_obj_nest/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_ohatch/splits.txt b/config/GZLE01/rels/d_a_obj_ohatch/splits.txt index a58b1f494..51d043a21 100644 --- a/config/GZLE01/rels/d_a_obj_ohatch/splits.txt +++ b/config/GZLE01/rels/d_a_obj_ohatch/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_ojtree/splits.txt b/config/GZLE01/rels/d_a_obj_ojtree/splits.txt index f70c50619..b1d7a8bb9 100644 --- a/config/GZLE01/rels/d_a_obj_ojtree/splits.txt +++ b/config/GZLE01/rels/d_a_obj_ojtree/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_ospbox/splits.txt b/config/GZLE01/rels/d_a_obj_ospbox/splits.txt index 1fcb0f8dc..8d9f19d52 100644 --- a/config/GZLE01/rels/d_a_obj_ospbox/splits.txt +++ b/config/GZLE01/rels/d_a_obj_ospbox/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_otble/splits.txt b/config/GZLE01/rels/d_a_obj_otble/splits.txt index dd70aeb8d..41c3fef7e 100644 --- a/config/GZLE01/rels/d_a_obj_otble/splits.txt +++ b/config/GZLE01/rels/d_a_obj_otble/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_paper/splits.txt b/config/GZLE01/rels/d_a_obj_paper/splits.txt index d7dab8369..72db85f1d 100644 --- a/config/GZLE01/rels/d_a_obj_paper/splits.txt +++ b/config/GZLE01/rels/d_a_obj_paper/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_pbco/splits.txt b/config/GZLE01/rels/d_a_obj_pbco/splits.txt index 35f241654..16ced1687 100644 --- a/config/GZLE01/rels/d_a_obj_pbco/splits.txt +++ b/config/GZLE01/rels/d_a_obj_pbco/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_pbka/splits.txt b/config/GZLE01/rels/d_a_obj_pbka/splits.txt index 8d4677118..0e74bc55d 100644 --- a/config/GZLE01/rels/d_a_obj_pbka/splits.txt +++ b/config/GZLE01/rels/d_a_obj_pbka/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_pfall/splits.txt b/config/GZLE01/rels/d_a_obj_pfall/splits.txt index 5d0466b9c..ace9ad618 100644 --- a/config/GZLE01/rels/d_a_obj_pfall/splits.txt +++ b/config/GZLE01/rels/d_a_obj_pfall/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_pirateship/splits.txt b/config/GZLE01/rels/d_a_obj_pirateship/splits.txt index 0861e9fbc..caf3321d0 100644 --- a/config/GZLE01/rels/d_a_obj_pirateship/splits.txt +++ b/config/GZLE01/rels/d_a_obj_pirateship/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_plant/splits.txt b/config/GZLE01/rels/d_a_obj_plant/splits.txt index c9dcd48d3..2efd85b68 100644 --- a/config/GZLE01/rels/d_a_obj_plant/splits.txt +++ b/config/GZLE01/rels/d_a_obj_plant/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_quake/splits.txt b/config/GZLE01/rels/d_a_obj_quake/splits.txt index 3a04916dd..0667e011c 100644 --- a/config/GZLE01/rels/d_a_obj_quake/splits.txt +++ b/config/GZLE01/rels/d_a_obj_quake/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_rcloud/splits.txt b/config/GZLE01/rels/d_a_obj_rcloud/splits.txt index d7f435c79..e36641a33 100644 --- a/config/GZLE01/rels/d_a_obj_rcloud/splits.txt +++ b/config/GZLE01/rels/d_a_obj_rcloud/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_rflw/splits.txt b/config/GZLE01/rels/d_a_obj_rflw/splits.txt index eb10fa5a7..cbd51a85e 100644 --- a/config/GZLE01/rels/d_a_obj_rflw/splits.txt +++ b/config/GZLE01/rels/d_a_obj_rflw/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_rforce/splits.txt b/config/GZLE01/rels/d_a_obj_rforce/splits.txt index 125a2afb3..13a255fe0 100644 --- a/config/GZLE01/rels/d_a_obj_rforce/splits.txt +++ b/config/GZLE01/rels/d_a_obj_rforce/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_roten/splits.txt b/config/GZLE01/rels/d_a_obj_roten/splits.txt index c59fe5ff5..f8144a5e6 100644 --- a/config/GZLE01/rels/d_a_obj_roten/splits.txt +++ b/config/GZLE01/rels/d_a_obj_roten/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_shelf/splits.txt b/config/GZLE01/rels/d_a_obj_shelf/splits.txt index b419a0644..7e26163e3 100644 --- a/config/GZLE01/rels/d_a_obj_shelf/splits.txt +++ b/config/GZLE01/rels/d_a_obj_shelf/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_shmrgrd/splits.txt b/config/GZLE01/rels/d_a_obj_shmrgrd/splits.txt index 9ae96d81e..7c921b8c6 100644 --- a/config/GZLE01/rels/d_a_obj_shmrgrd/splits.txt +++ b/config/GZLE01/rels/d_a_obj_shmrgrd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_smplbg/splits.txt b/config/GZLE01/rels/d_a_obj_smplbg/splits.txt index 3734e8eef..2181c89de 100644 --- a/config/GZLE01/rels/d_a_obj_smplbg/splits.txt +++ b/config/GZLE01/rels/d_a_obj_smplbg/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_stair/splits.txt b/config/GZLE01/rels/d_a_obj_stair/splits.txt index e33fbb0d7..63dccd51c 100644 --- a/config/GZLE01/rels/d_a_obj_stair/splits.txt +++ b/config/GZLE01/rels/d_a_obj_stair/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_swflat/splits.txt b/config/GZLE01/rels/d_a_obj_swflat/splits.txt index 01bec39ca..79c20ab06 100644 --- a/config/GZLE01/rels/d_a_obj_swflat/splits.txt +++ b/config/GZLE01/rels/d_a_obj_swflat/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_swhammer/splits.txt b/config/GZLE01/rels/d_a_obj_swhammer/splits.txt index 925102215..0b8a35c7e 100644 --- a/config/GZLE01/rels/d_a_obj_swhammer/splits.txt +++ b/config/GZLE01/rels/d_a_obj_swhammer/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_swheavy/splits.txt b/config/GZLE01/rels/d_a_obj_swheavy/splits.txt index 5c24f13af..085c6f2d1 100644 --- a/config/GZLE01/rels/d_a_obj_swheavy/splits.txt +++ b/config/GZLE01/rels/d_a_obj_swheavy/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_swlight/splits.txt b/config/GZLE01/rels/d_a_obj_swlight/splits.txt index 4a23b0dcf..34aebc799 100644 --- a/config/GZLE01/rels/d_a_obj_swlight/splits.txt +++ b/config/GZLE01/rels/d_a_obj_swlight/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_swpush/splits.txt b/config/GZLE01/rels/d_a_obj_swpush/splits.txt index b83cc0468..923b7fe64 100644 --- a/config/GZLE01/rels/d_a_obj_swpush/splits.txt +++ b/config/GZLE01/rels/d_a_obj_swpush/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_table/splits.txt b/config/GZLE01/rels/d_a_obj_table/splits.txt index 6c05082cc..7af6df723 100644 --- a/config/GZLE01/rels/d_a_obj_table/splits.txt +++ b/config/GZLE01/rels/d_a_obj_table/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_tapestry/splits.txt b/config/GZLE01/rels/d_a_obj_tapestry/splits.txt index 3deb3e96e..131ed19d2 100644 --- a/config/GZLE01/rels/d_a_obj_tapestry/splits.txt +++ b/config/GZLE01/rels/d_a_obj_tapestry/splits.txt @@ -1,9 +1,9 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 - .data type:data align:32 + .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:32 REL/executor.c: diff --git a/config/GZLE01/rels/d_a_obj_tenmado/splits.txt b/config/GZLE01/rels/d_a_obj_tenmado/splits.txt index 9572958f4..ba9a36ced 100644 --- a/config/GZLE01/rels/d_a_obj_tenmado/splits.txt +++ b/config/GZLE01/rels/d_a_obj_tenmado/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_tide/splits.txt b/config/GZLE01/rels/d_a_obj_tide/splits.txt index 02488033a..2daa11c88 100644 --- a/config/GZLE01/rels/d_a_obj_tide/splits.txt +++ b/config/GZLE01/rels/d_a_obj_tide/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_timer/splits.txt b/config/GZLE01/rels/d_a_obj_timer/splits.txt index 162441ebd..647947195 100644 --- a/config/GZLE01/rels/d_a_obj_timer/splits.txt +++ b/config/GZLE01/rels/d_a_obj_timer/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_tntrap/splits.txt b/config/GZLE01/rels/d_a_obj_tntrap/splits.txt index 31738ad92..e6b1a38b8 100644 --- a/config/GZLE01/rels/d_a_obj_tntrap/splits.txt +++ b/config/GZLE01/rels/d_a_obj_tntrap/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_toripost/splits.txt b/config/GZLE01/rels/d_a_obj_toripost/splits.txt index 23378de59..ab0b5fa96 100644 --- a/config/GZLE01/rels/d_a_obj_toripost/splits.txt +++ b/config/GZLE01/rels/d_a_obj_toripost/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_tousekiki/splits.txt b/config/GZLE01/rels/d_a_obj_tousekiki/splits.txt index 7642eb287..28e76fef3 100644 --- a/config/GZLE01/rels/d_a_obj_tousekiki/splits.txt +++ b/config/GZLE01/rels/d_a_obj_tousekiki/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_tower/splits.txt b/config/GZLE01/rels/d_a_obj_tower/splits.txt index c18147823..e9774e152 100644 --- a/config/GZLE01/rels/d_a_obj_tower/splits.txt +++ b/config/GZLE01/rels/d_a_obj_tower/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_trap/splits.txt b/config/GZLE01/rels/d_a_obj_trap/splits.txt index 72dd3b381..9466b08b4 100644 --- a/config/GZLE01/rels/d_a_obj_trap/splits.txt +++ b/config/GZLE01/rels/d_a_obj_trap/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_tribox/splits.txt b/config/GZLE01/rels/d_a_obj_tribox/splits.txt index 9cd873c37..2dc8e9b47 100644 --- a/config/GZLE01/rels/d_a_obj_tribox/splits.txt +++ b/config/GZLE01/rels/d_a_obj_tribox/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_try/splits.txt b/config/GZLE01/rels/d_a_obj_try/splits.txt index a99398cc5..db8e88ad9 100644 --- a/config/GZLE01/rels/d_a_obj_try/splits.txt +++ b/config/GZLE01/rels/d_a_obj_try/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_usovmc/splits.txt b/config/GZLE01/rels/d_a_obj_usovmc/splits.txt index c03bd0d06..dcd8057ac 100644 --- a/config/GZLE01/rels/d_a_obj_usovmc/splits.txt +++ b/config/GZLE01/rels/d_a_obj_usovmc/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_vfan/splits.txt b/config/GZLE01/rels/d_a_obj_vfan/splits.txt index 994239961..262293af5 100644 --- a/config/GZLE01/rels/d_a_obj_vfan/splits.txt +++ b/config/GZLE01/rels/d_a_obj_vfan/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_vgnfd/splits.txt b/config/GZLE01/rels/d_a_obj_vgnfd/splits.txt index 70e0bde83..645d58ba7 100644 --- a/config/GZLE01/rels/d_a_obj_vgnfd/splits.txt +++ b/config/GZLE01/rels/d_a_obj_vgnfd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_vmc/splits.txt b/config/GZLE01/rels/d_a_obj_vmc/splits.txt index baa6c27e0..4666406ab 100644 --- a/config/GZLE01/rels/d_a_obj_vmc/splits.txt +++ b/config/GZLE01/rels/d_a_obj_vmc/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_vmsdz/splits.txt b/config/GZLE01/rels/d_a_obj_vmsdz/splits.txt index addf58a39..5086217f4 100644 --- a/config/GZLE01/rels/d_a_obj_vmsdz/splits.txt +++ b/config/GZLE01/rels/d_a_obj_vmsdz/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_vmsms/splits.txt b/config/GZLE01/rels/d_a_obj_vmsms/splits.txt index efd64f5b7..5d13f5f29 100644 --- a/config/GZLE01/rels/d_a_obj_vmsms/splits.txt +++ b/config/GZLE01/rels/d_a_obj_vmsms/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_volcano/splits.txt b/config/GZLE01/rels/d_a_obj_volcano/splits.txt index e0701d70d..745557944 100644 --- a/config/GZLE01/rels/d_a_obj_volcano/splits.txt +++ b/config/GZLE01/rels/d_a_obj_volcano/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_vtil/splits.txt b/config/GZLE01/rels/d_a_obj_vtil/splits.txt index 22793da74..08cfb74e6 100644 --- a/config/GZLE01/rels/d_a_obj_vtil/splits.txt +++ b/config/GZLE01/rels/d_a_obj_vtil/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_vyasi/splits.txt b/config/GZLE01/rels/d_a_obj_vyasi/splits.txt index 96634597d..2c143aa9f 100644 --- a/config/GZLE01/rels/d_a_obj_vyasi/splits.txt +++ b/config/GZLE01/rels/d_a_obj_vyasi/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_warpt/splits.txt b/config/GZLE01/rels/d_a_obj_warpt/splits.txt index 68e5398df..6c6aea4ad 100644 --- a/config/GZLE01/rels/d_a_obj_warpt/splits.txt +++ b/config/GZLE01/rels/d_a_obj_warpt/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_obj_wood/splits.txt b/config/GZLE01/rels/d_a_obj_wood/splits.txt index 64face4c9..044b96423 100644 --- a/config/GZLE01/rels/d_a_obj_wood/splits.txt +++ b/config/GZLE01/rels/d_a_obj_wood/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLE01/rels/d_a_obj_xfuta/splits.txt b/config/GZLE01/rels/d_a_obj_xfuta/splits.txt index b0404b973..83102ba5c 100644 --- a/config/GZLE01/rels/d_a_obj_xfuta/splits.txt +++ b/config/GZLE01/rels/d_a_obj_xfuta/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_obj_zouK/splits.txt b/config/GZLE01/rels/d_a_obj_zouK/splits.txt index 0934d9119..c6200032d 100644 --- a/config/GZLE01/rels/d_a_obj_zouK/splits.txt +++ b/config/GZLE01/rels/d_a_obj_zouK/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_oq/splits.txt b/config/GZLE01/rels/d_a_oq/splits.txt index 4566cc113..40088469e 100644 --- a/config/GZLE01/rels/d_a_oq/splits.txt +++ b/config/GZLE01/rels/d_a_oq/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_oship/splits.txt b/config/GZLE01/rels/d_a_oship/splits.txt index 54b5ece69..675562e9c 100644 --- a/config/GZLE01/rels/d_a_oship/splits.txt +++ b/config/GZLE01/rels/d_a_oship/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_pedestal/splits.txt b/config/GZLE01/rels/d_a_pedestal/splits.txt index dfbb0f16a..48ce6b3b8 100644 --- a/config/GZLE01/rels/d_a_pedestal/splits.txt +++ b/config/GZLE01/rels/d_a_pedestal/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_ph/splits.txt b/config/GZLE01/rels/d_a_ph/splits.txt index f269945c4..95704ede1 100644 --- a/config/GZLE01/rels/d_a_ph/splits.txt +++ b/config/GZLE01/rels/d_a_ph/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_pirate_flag/splits.txt b/config/GZLE01/rels/d_a_pirate_flag/splits.txt index d5ee2db5c..573120401 100644 --- a/config/GZLE01/rels/d_a_pirate_flag/splits.txt +++ b/config/GZLE01/rels/d_a_pirate_flag/splits.txt @@ -1,8 +1,8 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 + .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/GZLE01/rels/d_a_pt/splits.txt b/config/GZLE01/rels/d_a_pt/splits.txt index 522f33fd7..22a7be65a 100644 --- a/config/GZLE01/rels/d_a_pt/splits.txt +++ b/config/GZLE01/rels/d_a_pt/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_pw/splits.txt b/config/GZLE01/rels/d_a_pw/splits.txt index a82ddbed8..8dbb20a89 100644 --- a/config/GZLE01/rels/d_a_pw/splits.txt +++ b/config/GZLE01/rels/d_a_pw/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_pz/splits.txt b/config/GZLE01/rels/d_a_pz/splits.txt index bed0987d3..68f2f2903 100644 --- a/config/GZLE01/rels/d_a_pz/splits.txt +++ b/config/GZLE01/rels/d_a_pz/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_race_item/splits.txt b/config/GZLE01/rels/d_a_race_item/splits.txt index 4636ccd79..aad6d6916 100644 --- a/config/GZLE01/rels/d_a_race_item/splits.txt +++ b/config/GZLE01/rels/d_a_race_item/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_rd/splits.txt b/config/GZLE01/rels/d_a_rd/splits.txt index c0b89de7d..97082fc2c 100644 --- a/config/GZLE01/rels/d_a_rd/splits.txt +++ b/config/GZLE01/rels/d_a_rd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_rectangle/splits.txt b/config/GZLE01/rels/d_a_rectangle/splits.txt index 9861d3b4e..49d830ed4 100644 --- a/config/GZLE01/rels/d_a_rectangle/splits.txt +++ b/config/GZLE01/rels/d_a_rectangle/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLE01/rels/d_a_sail/splits.txt b/config/GZLE01/rels/d_a_sail/splits.txt index c6aa5122e..137a7f5c7 100644 --- a/config/GZLE01/rels/d_a_sail/splits.txt +++ b/config/GZLE01/rels/d_a_sail/splits.txt @@ -1,8 +1,8 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 + .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/GZLE01/rels/d_a_saku/splits.txt b/config/GZLE01/rels/d_a_saku/splits.txt index d7f892497..633181c17 100644 --- a/config/GZLE01/rels/d_a_saku/splits.txt +++ b/config/GZLE01/rels/d_a_saku/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_salvage/splits.txt b/config/GZLE01/rels/d_a_salvage/splits.txt index aa695851b..1f2c14bb9 100644 --- a/config/GZLE01/rels/d_a_salvage/splits.txt +++ b/config/GZLE01/rels/d_a_salvage/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_salvage_tbox/splits.txt b/config/GZLE01/rels/d_a_salvage_tbox/splits.txt index 3135bb364..a9ac20d09 100644 --- a/config/GZLE01/rels/d_a_salvage_tbox/splits.txt +++ b/config/GZLE01/rels/d_a_salvage_tbox/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_sbox/splits.txt b/config/GZLE01/rels/d_a_sbox/splits.txt index f4d7afb00..9a9816224 100644 --- a/config/GZLE01/rels/d_a_sbox/splits.txt +++ b/config/GZLE01/rels/d_a_sbox/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_scene_change/splits.txt b/config/GZLE01/rels/d_a_scene_change/splits.txt index 72de0d3dd..0ad8fcad8 100644 --- a/config/GZLE01/rels/d_a_scene_change/splits.txt +++ b/config/GZLE01/rels/d_a_scene_change/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_seatag/splits.txt b/config/GZLE01/rels/d_a_seatag/splits.txt index 9e6142b5d..60f64536d 100644 --- a/config/GZLE01/rels/d_a_seatag/splits.txt +++ b/config/GZLE01/rels/d_a_seatag/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLE01/rels/d_a_shand/splits.txt b/config/GZLE01/rels/d_a_shand/splits.txt index dfa11fdab..0fb548ae9 100644 --- a/config/GZLE01/rels/d_a_shand/splits.txt +++ b/config/GZLE01/rels/d_a_shand/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_ship/splits.txt b/config/GZLE01/rels/d_a_ship/splits.txt index e542be40c..6fa714947 100644 --- a/config/GZLE01/rels/d_a_ship/splits.txt +++ b/config/GZLE01/rels/d_a_ship/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_shop_item/splits.txt b/config/GZLE01/rels/d_a_shop_item/splits.txt index 1a803c7af..13499e1f4 100644 --- a/config/GZLE01/rels/d_a_shop_item/splits.txt +++ b/config/GZLE01/rels/d_a_shop_item/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_shutter/splits.txt b/config/GZLE01/rels/d_a_shutter/splits.txt index 67eb0a5fd..dda4d024b 100644 --- a/config/GZLE01/rels/d_a_shutter/splits.txt +++ b/config/GZLE01/rels/d_a_shutter/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_shutter2/splits.txt b/config/GZLE01/rels/d_a_shutter2/splits.txt index ed55be209..06e8a62c6 100644 --- a/config/GZLE01/rels/d_a_shutter2/splits.txt +++ b/config/GZLE01/rels/d_a_shutter2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_sie_flag/splits.txt b/config/GZLE01/rels/d_a_sie_flag/splits.txt index e74487d57..7deb663c0 100644 --- a/config/GZLE01/rels/d_a_sie_flag/splits.txt +++ b/config/GZLE01/rels/d_a_sie_flag/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_sitem/splits.txt b/config/GZLE01/rels/d_a_sitem/splits.txt index 03dbcb5de..4070dabc9 100644 --- a/config/GZLE01/rels/d_a_sitem/splits.txt +++ b/config/GZLE01/rels/d_a_sitem/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_sk/splits.txt b/config/GZLE01/rels/d_a_sk/splits.txt index 507867c37..2f27166f0 100644 --- a/config/GZLE01/rels/d_a_sk/splits.txt +++ b/config/GZLE01/rels/d_a_sk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_sk2/splits.txt b/config/GZLE01/rels/d_a_sk2/splits.txt index b96314ee4..ea68e525f 100644 --- a/config/GZLE01/rels/d_a_sk2/splits.txt +++ b/config/GZLE01/rels/d_a_sk2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_spotbox/splits.txt b/config/GZLE01/rels/d_a_spotbox/splits.txt index 98bd808aa..333392152 100644 --- a/config/GZLE01/rels/d_a_spotbox/splits.txt +++ b/config/GZLE01/rels/d_a_spotbox/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_ss/splits.txt b/config/GZLE01/rels/d_a_ss/splits.txt index 2ae4a53e7..eac7bcfef 100644 --- a/config/GZLE01/rels/d_a_ss/splits.txt +++ b/config/GZLE01/rels/d_a_ss/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_ssk/splits.txt b/config/GZLE01/rels/d_a_ssk/splits.txt index 5ffdf5dac..10c766c04 100644 --- a/config/GZLE01/rels/d_a_ssk/splits.txt +++ b/config/GZLE01/rels/d_a_ssk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_sss/splits.txt b/config/GZLE01/rels/d_a_sss/splits.txt index 9c845dc78..4e6fb7a47 100644 --- a/config/GZLE01/rels/d_a_sss/splits.txt +++ b/config/GZLE01/rels/d_a_sss/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_st/splits.txt b/config/GZLE01/rels/d_a_st/splits.txt index 1ec1e652a..24185b134 100644 --- a/config/GZLE01/rels/d_a_st/splits.txt +++ b/config/GZLE01/rels/d_a_st/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_steam_tag/splits.txt b/config/GZLE01/rels/d_a_steam_tag/splits.txt index b0dbb1041..6a5e7e3f2 100644 --- a/config/GZLE01/rels/d_a_steam_tag/splits.txt +++ b/config/GZLE01/rels/d_a_steam_tag/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_stone/splits.txt b/config/GZLE01/rels/d_a_stone/splits.txt index 810433ecf..7ebb902bb 100644 --- a/config/GZLE01/rels/d_a_stone/splits.txt +++ b/config/GZLE01/rels/d_a_stone/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_stone2/splits.txt b/config/GZLE01/rels/d_a_stone2/splits.txt index 4aeae8bee..cf18bd219 100644 --- a/config/GZLE01/rels/d_a_stone2/splits.txt +++ b/config/GZLE01/rels/d_a_stone2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_swattack/splits.txt b/config/GZLE01/rels/d_a_swattack/splits.txt index 455374a5e..bd24ca17e 100644 --- a/config/GZLE01/rels/d_a_swattack/splits.txt +++ b/config/GZLE01/rels/d_a_swattack/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_swc00/splits.txt b/config/GZLE01/rels/d_a_swc00/splits.txt index 7ec20623b..722e633ac 100644 --- a/config/GZLE01/rels/d_a_swc00/splits.txt +++ b/config/GZLE01/rels/d_a_swc00/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_swhit0/splits.txt b/config/GZLE01/rels/d_a_swhit0/splits.txt index b21e6242c..90e942180 100644 --- a/config/GZLE01/rels/d_a_swhit0/splits.txt +++ b/config/GZLE01/rels/d_a_swhit0/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_switem/splits.txt b/config/GZLE01/rels/d_a_switem/splits.txt index e2d5eae1d..d13fda743 100644 --- a/config/GZLE01/rels/d_a_switem/splits.txt +++ b/config/GZLE01/rels/d_a_switem/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_swpropeller/splits.txt b/config/GZLE01/rels/d_a_swpropeller/splits.txt index 1ee8ed310..85e9d4b6b 100644 --- a/config/GZLE01/rels/d_a_swpropeller/splits.txt +++ b/config/GZLE01/rels/d_a_swpropeller/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_swtact/splits.txt b/config/GZLE01/rels/d_a_swtact/splits.txt index f2d1e7e89..53509d155 100644 --- a/config/GZLE01/rels/d_a_swtact/splits.txt +++ b/config/GZLE01/rels/d_a_swtact/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_swtdoor/splits.txt b/config/GZLE01/rels/d_a_swtdoor/splits.txt index a0af862fa..bf64e4c6d 100644 --- a/config/GZLE01/rels/d_a_swtdoor/splits.txt +++ b/config/GZLE01/rels/d_a_swtdoor/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_syan/splits.txt b/config/GZLE01/rels/d_a_syan/splits.txt index debc91c38..41ca646ee 100644 --- a/config/GZLE01/rels/d_a_syan/splits.txt +++ b/config/GZLE01/rels/d_a_syan/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_tag_attention/splits.txt b/config/GZLE01/rels/d_a_tag_attention/splits.txt index dbedfae98..ed44af2ea 100644 --- a/config/GZLE01/rels/d_a_tag_attention/splits.txt +++ b/config/GZLE01/rels/d_a_tag_attention/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_tag_ba1/splits.txt b/config/GZLE01/rels/d_a_tag_ba1/splits.txt index 2df05842e..e91bcfec3 100644 --- a/config/GZLE01/rels/d_a_tag_ba1/splits.txt +++ b/config/GZLE01/rels/d_a_tag_ba1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_tag_etc/splits.txt b/config/GZLE01/rels/d_a_tag_etc/splits.txt index 0a075365d..3f5544c38 100644 --- a/config/GZLE01/rels/d_a_tag_etc/splits.txt +++ b/config/GZLE01/rels/d_a_tag_etc/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_tag_event/splits.txt b/config/GZLE01/rels/d_a_tag_event/splits.txt index 411f37521..747d7ab3d 100644 --- a/config/GZLE01/rels/d_a_tag_event/splits.txt +++ b/config/GZLE01/rels/d_a_tag_event/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_tag_evsw/splits.txt b/config/GZLE01/rels/d_a_tag_evsw/splits.txt index 595935f1d..ee538dc7d 100644 --- a/config/GZLE01/rels/d_a_tag_evsw/splits.txt +++ b/config/GZLE01/rels/d_a_tag_evsw/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLE01/rels/d_a_tag_ghostship/splits.txt b/config/GZLE01/rels/d_a_tag_ghostship/splits.txt index 831d0c883..127ff83d0 100644 --- a/config/GZLE01/rels/d_a_tag_ghostship/splits.txt +++ b/config/GZLE01/rels/d_a_tag_ghostship/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_tag_hint/splits.txt b/config/GZLE01/rels/d_a_tag_hint/splits.txt index 4066e4d66..49ad4ac21 100644 --- a/config/GZLE01/rels/d_a_tag_hint/splits.txt +++ b/config/GZLE01/rels/d_a_tag_hint/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_tag_island/splits.txt b/config/GZLE01/rels/d_a_tag_island/splits.txt index 89d248737..6e503339d 100644 --- a/config/GZLE01/rels/d_a_tag_island/splits.txt +++ b/config/GZLE01/rels/d_a_tag_island/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_tag_kb_item/splits.txt b/config/GZLE01/rels/d_a_tag_kb_item/splits.txt index b01664e53..7575f4523 100644 --- a/config/GZLE01/rels/d_a_tag_kb_item/splits.txt +++ b/config/GZLE01/rels/d_a_tag_kb_item/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLE01/rels/d_a_tag_kf1/splits.txt b/config/GZLE01/rels/d_a_tag_kf1/splits.txt index 3aa149339..3747b4b69 100644 --- a/config/GZLE01/rels/d_a_tag_kf1/splits.txt +++ b/config/GZLE01/rels/d_a_tag_kf1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_tag_kk1/splits.txt b/config/GZLE01/rels/d_a_tag_kk1/splits.txt index eba5a5f7c..04659fbf9 100644 --- a/config/GZLE01/rels/d_a_tag_kk1/splits.txt +++ b/config/GZLE01/rels/d_a_tag_kk1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_tag_light/splits.txt b/config/GZLE01/rels/d_a_tag_light/splits.txt index d4cec52cc..2de02f16d 100644 --- a/config/GZLE01/rels/d_a_tag_light/splits.txt +++ b/config/GZLE01/rels/d_a_tag_light/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_tag_md_cb/splits.txt b/config/GZLE01/rels/d_a_tag_md_cb/splits.txt index a1bd3efc1..cdb738901 100644 --- a/config/GZLE01/rels/d_a_tag_md_cb/splits.txt +++ b/config/GZLE01/rels/d_a_tag_md_cb/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_tag_mk/splits.txt b/config/GZLE01/rels/d_a_tag_mk/splits.txt index eeafc56e2..db06c888b 100644 --- a/config/GZLE01/rels/d_a_tag_mk/splits.txt +++ b/config/GZLE01/rels/d_a_tag_mk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_tag_msg/splits.txt b/config/GZLE01/rels/d_a_tag_msg/splits.txt index 4858ddedc..b07192406 100644 --- a/config/GZLE01/rels/d_a_tag_msg/splits.txt +++ b/config/GZLE01/rels/d_a_tag_msg/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_tag_photo/splits.txt b/config/GZLE01/rels/d_a_tag_photo/splits.txt index 8690a7453..ace17f65c 100644 --- a/config/GZLE01/rels/d_a_tag_photo/splits.txt +++ b/config/GZLE01/rels/d_a_tag_photo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_tag_ret/splits.txt b/config/GZLE01/rels/d_a_tag_ret/splits.txt index e10cf0ae4..b6795f41e 100644 --- a/config/GZLE01/rels/d_a_tag_ret/splits.txt +++ b/config/GZLE01/rels/d_a_tag_ret/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_tag_so/splits.txt b/config/GZLE01/rels/d_a_tag_so/splits.txt index 7e3b45494..6ebc9a084 100644 --- a/config/GZLE01/rels/d_a_tag_so/splits.txt +++ b/config/GZLE01/rels/d_a_tag_so/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_tag_volcano/splits.txt b/config/GZLE01/rels/d_a_tag_volcano/splits.txt index 3bce29db5..ac13a4ddd 100644 --- a/config/GZLE01/rels/d_a_tag_volcano/splits.txt +++ b/config/GZLE01/rels/d_a_tag_volcano/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_tag_waterlevel/splits.txt b/config/GZLE01/rels/d_a_tag_waterlevel/splits.txt index 7687a0330..60a50339f 100644 --- a/config/GZLE01/rels/d_a_tag_waterlevel/splits.txt +++ b/config/GZLE01/rels/d_a_tag_waterlevel/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_tama/splits.txt b/config/GZLE01/rels/d_a_tama/splits.txt index 1b9570598..6daff981c 100644 --- a/config/GZLE01/rels/d_a_tama/splits.txt +++ b/config/GZLE01/rels/d_a_tama/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_tbox/splits.txt b/config/GZLE01/rels/d_a_tbox/splits.txt index 1ffb792f5..e8d0386f9 100644 --- a/config/GZLE01/rels/d_a_tbox/splits.txt +++ b/config/GZLE01/rels/d_a_tbox/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_title/splits.txt b/config/GZLE01/rels/d_a_title/splits.txt index f4773bc0e..ce5e5693a 100644 --- a/config/GZLE01/rels/d_a_title/splits.txt +++ b/config/GZLE01/rels/d_a_title/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_tn/splits.txt b/config/GZLE01/rels/d_a_tn/splits.txt index da40d5f3a..a17c3cd3f 100644 --- a/config/GZLE01/rels/d_a_tn/splits.txt +++ b/config/GZLE01/rels/d_a_tn/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_toge/splits.txt b/config/GZLE01/rels/d_a_toge/splits.txt index 10d5a187a..fac2071dd 100644 --- a/config/GZLE01/rels/d_a_toge/splits.txt +++ b/config/GZLE01/rels/d_a_toge/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_tori_flag/splits.txt b/config/GZLE01/rels/d_a_tori_flag/splits.txt index 141a10d84..33a0be5bf 100644 --- a/config/GZLE01/rels/d_a_tori_flag/splits.txt +++ b/config/GZLE01/rels/d_a_tori_flag/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_tornado/splits.txt b/config/GZLE01/rels/d_a_tornado/splits.txt index 1e0669b6c..74ac8cc0a 100644 --- a/config/GZLE01/rels/d_a_tornado/splits.txt +++ b/config/GZLE01/rels/d_a_tornado/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_tpota/splits.txt b/config/GZLE01/rels/d_a_tpota/splits.txt index fb7b612e1..d07844f9b 100644 --- a/config/GZLE01/rels/d_a_tpota/splits.txt +++ b/config/GZLE01/rels/d_a_tpota/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_tsubo/splits.txt b/config/GZLE01/rels/d_a_tsubo/splits.txt index e3a6b1330..67c3f2827 100644 --- a/config/GZLE01/rels/d_a_tsubo/splits.txt +++ b/config/GZLE01/rels/d_a_tsubo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_wall/splits.txt b/config/GZLE01/rels/d_a_wall/splits.txt index 358fb984c..980c80ad2 100644 --- a/config/GZLE01/rels/d_a_wall/splits.txt +++ b/config/GZLE01/rels/d_a_wall/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_warpdm20/splits.txt b/config/GZLE01/rels/d_a_warpdm20/splits.txt index 527f4db6d..82ac666cc 100644 --- a/config/GZLE01/rels/d_a_warpdm20/splits.txt +++ b/config/GZLE01/rels/d_a_warpdm20/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_warpf/splits.txt b/config/GZLE01/rels/d_a_warpf/splits.txt index 3ad65e7c9..00cd27f11 100644 --- a/config/GZLE01/rels/d_a_warpf/splits.txt +++ b/config/GZLE01/rels/d_a_warpf/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_warpfout/splits.txt b/config/GZLE01/rels/d_a_warpfout/splits.txt index f81a22996..707285ca7 100644 --- a/config/GZLE01/rels/d_a_warpfout/splits.txt +++ b/config/GZLE01/rels/d_a_warpfout/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_warpgn/splits.txt b/config/GZLE01/rels/d_a_warpgn/splits.txt index 169c1b079..1eaf2677c 100644 --- a/config/GZLE01/rels/d_a_warpgn/splits.txt +++ b/config/GZLE01/rels/d_a_warpgn/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_warphr/splits.txt b/config/GZLE01/rels/d_a_warphr/splits.txt index 88d396803..65a57e73b 100644 --- a/config/GZLE01/rels/d_a_warphr/splits.txt +++ b/config/GZLE01/rels/d_a_warphr/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_warpls/splits.txt b/config/GZLE01/rels/d_a_warpls/splits.txt index 33d5bd744..ecd7c0e52 100644 --- a/config/GZLE01/rels/d_a_warpls/splits.txt +++ b/config/GZLE01/rels/d_a_warpls/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_warpmj/splits.txt b/config/GZLE01/rels/d_a_warpmj/splits.txt index 64799112f..e1e35eea6 100644 --- a/config/GZLE01/rels/d_a_warpmj/splits.txt +++ b/config/GZLE01/rels/d_a_warpmj/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_waterfall/splits.txt b/config/GZLE01/rels/d_a_waterfall/splits.txt index 7291a9d98..9fa7b3d8e 100644 --- a/config/GZLE01/rels/d_a_waterfall/splits.txt +++ b/config/GZLE01/rels/d_a_waterfall/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_wbird/splits.txt b/config/GZLE01/rels/d_a_wbird/splits.txt index 68f4b40a9..e285d74d5 100644 --- a/config/GZLE01/rels/d_a_wbird/splits.txt +++ b/config/GZLE01/rels/d_a_wbird/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_wind_tag/splits.txt b/config/GZLE01/rels/d_a_wind_tag/splits.txt index 8d35ac8ea..1028c5920 100644 --- a/config/GZLE01/rels/d_a_wind_tag/splits.txt +++ b/config/GZLE01/rels/d_a_wind_tag/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_windmill/splits.txt b/config/GZLE01/rels/d_a_windmill/splits.txt index cafe8ee36..b6ba72edc 100644 --- a/config/GZLE01/rels/d_a_windmill/splits.txt +++ b/config/GZLE01/rels/d_a_windmill/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_wz/splits.txt b/config/GZLE01/rels/d_a_wz/splits.txt index 1807db71c..15106da50 100644 --- a/config/GZLE01/rels/d_a_wz/splits.txt +++ b/config/GZLE01/rels/d_a_wz/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_ygcwp/splits.txt b/config/GZLE01/rels/d_a_ygcwp/splits.txt index 98f7ccfa9..bd9bba315 100644 --- a/config/GZLE01/rels/d_a_ygcwp/splits.txt +++ b/config/GZLE01/rels/d_a_ygcwp/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLE01/rels/d_a_ykgr/splits.txt b/config/GZLE01/rels/d_a_ykgr/splits.txt index 5e9300059..9385ceab8 100644 --- a/config/GZLE01/rels/d_a_ykgr/splits.txt +++ b/config/GZLE01/rels/d_a_ykgr/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/d_a_yougan/splits.txt b/config/GZLE01/rels/d_a_yougan/splits.txt index 9b1824411..aad239a0e 100644 --- a/config/GZLE01/rels/d_a_yougan/splits.txt +++ b/config/GZLE01/rels/d_a_yougan/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLE01/rels/f_pc_profile_lst/splits.txt b/config/GZLE01/rels/f_pc_profile_lst/splits.txt index fe345e049..f7a3ab343 100644 --- a/config/GZLE01/rels/f_pc_profile_lst/splits.txt +++ b/config/GZLE01/rels/f_pc_profile_lst/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLJ01/rels/d_a_acorn_leaf/splits.txt b/config/GZLJ01/rels/d_a_acorn_leaf/splits.txt index 1d18af3a5..0fa1b5691 100644 --- a/config/GZLJ01/rels/d_a_acorn_leaf/splits.txt +++ b/config/GZLJ01/rels/d_a_acorn_leaf/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_agbsw0/splits.txt b/config/GZLJ01/rels/d_a_agbsw0/splits.txt index ce3ae9fa4..280b50bae 100644 --- a/config/GZLJ01/rels/d_a_agbsw0/splits.txt +++ b/config/GZLJ01/rels/d_a_agbsw0/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_alldie/splits.txt b/config/GZLJ01/rels/d_a_alldie/splits.txt index 3cfa7a3bd..1677f4cf9 100644 --- a/config/GZLJ01/rels/d_a_alldie/splits.txt +++ b/config/GZLJ01/rels/d_a_alldie/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLJ01/rels/d_a_am/splits.txt b/config/GZLJ01/rels/d_a_am/splits.txt index fbb7cfe5f..1a2065f60 100644 --- a/config/GZLJ01/rels/d_a_am/splits.txt +++ b/config/GZLJ01/rels/d_a_am/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_am2/splits.txt b/config/GZLJ01/rels/d_a_am2/splits.txt index 1620ae682..25ba67ec0 100644 --- a/config/GZLJ01/rels/d_a_am2/splits.txt +++ b/config/GZLJ01/rels/d_a_am2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_amiprop/splits.txt b/config/GZLJ01/rels/d_a_amiprop/splits.txt index 76ad82996..fd282e898 100644 --- a/config/GZLJ01/rels/d_a_amiprop/splits.txt +++ b/config/GZLJ01/rels/d_a_amiprop/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_andsw0/splits.txt b/config/GZLJ01/rels/d_a_andsw0/splits.txt index 0dd7c47a5..4cd7a5126 100644 --- a/config/GZLJ01/rels/d_a_andsw0/splits.txt +++ b/config/GZLJ01/rels/d_a_andsw0/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 .bss type:bss align:8 diff --git a/config/GZLJ01/rels/d_a_andsw2/splits.txt b/config/GZLJ01/rels/d_a_andsw2/splits.txt index 9593e49c4..547161824 100644 --- a/config/GZLJ01/rels/d_a_andsw2/splits.txt +++ b/config/GZLJ01/rels/d_a_andsw2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLJ01/rels/d_a_arrow_iceeff/splits.txt b/config/GZLJ01/rels/d_a_arrow_iceeff/splits.txt index 12d92360a..ef0c753f7 100644 --- a/config/GZLJ01/rels/d_a_arrow_iceeff/splits.txt +++ b/config/GZLJ01/rels/d_a_arrow_iceeff/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_arrow_lighteff/splits.txt b/config/GZLJ01/rels/d_a_arrow_lighteff/splits.txt index fb141a390..3b1db449c 100644 --- a/config/GZLJ01/rels/d_a_arrow_lighteff/splits.txt +++ b/config/GZLJ01/rels/d_a_arrow_lighteff/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_atdoor/splits.txt b/config/GZLJ01/rels/d_a_atdoor/splits.txt index d88c39dde..92f9e2fbc 100644 --- a/config/GZLJ01/rels/d_a_atdoor/splits.txt +++ b/config/GZLJ01/rels/d_a_atdoor/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_att/splits.txt b/config/GZLJ01/rels/d_a_att/splits.txt index 3681e3d20..c1020f8bb 100644 --- a/config/GZLJ01/rels/d_a_att/splits.txt +++ b/config/GZLJ01/rels/d_a_att/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_auction/splits.txt b/config/GZLJ01/rels/d_a_auction/splits.txt index a851efd64..1f5db9b35 100644 --- a/config/GZLJ01/rels/d_a_auction/splits.txt +++ b/config/GZLJ01/rels/d_a_auction/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_bb/splits.txt b/config/GZLJ01/rels/d_a_bb/splits.txt index 3fbb21e89..efc6a572a 100644 --- a/config/GZLJ01/rels/d_a_bb/splits.txt +++ b/config/GZLJ01/rels/d_a_bb/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_bdk/splits.txt b/config/GZLJ01/rels/d_a_bdk/splits.txt index cdec620e4..58c285cb5 100644 --- a/config/GZLJ01/rels/d_a_bdk/splits.txt +++ b/config/GZLJ01/rels/d_a_bdk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_bdkobj/splits.txt b/config/GZLJ01/rels/d_a_bdkobj/splits.txt index 468f29a92..b626eb975 100644 --- a/config/GZLJ01/rels/d_a_bdkobj/splits.txt +++ b/config/GZLJ01/rels/d_a_bdkobj/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_beam/splits.txt b/config/GZLJ01/rels/d_a_beam/splits.txt index da5972ae9..ee15ef8b2 100644 --- a/config/GZLJ01/rels/d_a_beam/splits.txt +++ b/config/GZLJ01/rels/d_a_beam/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_bflower/splits.txt b/config/GZLJ01/rels/d_a_bflower/splits.txt index feca0a6bb..9a8fa4b22 100644 --- a/config/GZLJ01/rels/d_a_bflower/splits.txt +++ b/config/GZLJ01/rels/d_a_bflower/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_bgn/splits.txt b/config/GZLJ01/rels/d_a_bgn/splits.txt index 2e76cf73b..5e57ffcca 100644 --- a/config/GZLJ01/rels/d_a_bgn/splits.txt +++ b/config/GZLJ01/rels/d_a_bgn/splits.txt @@ -1,8 +1,8 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 + .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/GZLJ01/rels/d_a_bgn2/splits.txt b/config/GZLJ01/rels/d_a_bgn2/splits.txt index b2cd021f5..83040712a 100644 --- a/config/GZLJ01/rels/d_a_bgn2/splits.txt +++ b/config/GZLJ01/rels/d_a_bgn2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_bgn3/splits.txt b/config/GZLJ01/rels/d_a_bgn3/splits.txt index ea4d35fb7..e5b2ca97d 100644 --- a/config/GZLJ01/rels/d_a_bgn3/splits.txt +++ b/config/GZLJ01/rels/d_a_bgn3/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_bigelf/splits.txt b/config/GZLJ01/rels/d_a_bigelf/splits.txt index fc894fc12..de1308ba7 100644 --- a/config/GZLJ01/rels/d_a_bigelf/splits.txt +++ b/config/GZLJ01/rels/d_a_bigelf/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_bita/splits.txt b/config/GZLJ01/rels/d_a_bita/splits.txt index daf174fa3..5a1edfdb0 100644 --- a/config/GZLJ01/rels/d_a_bita/splits.txt +++ b/config/GZLJ01/rels/d_a_bita/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_bk/splits.txt b/config/GZLJ01/rels/d_a_bk/splits.txt index af211d384..f7b49b3f6 100644 --- a/config/GZLJ01/rels/d_a_bk/splits.txt +++ b/config/GZLJ01/rels/d_a_bk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_bl/splits.txt b/config/GZLJ01/rels/d_a_bl/splits.txt index 40f358ca2..47039be63 100644 --- a/config/GZLJ01/rels/d_a_bl/splits.txt +++ b/config/GZLJ01/rels/d_a_bl/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_bmd/splits.txt b/config/GZLJ01/rels/d_a_bmd/splits.txt index 716a1b612..1556bf259 100644 --- a/config/GZLJ01/rels/d_a_bmd/splits.txt +++ b/config/GZLJ01/rels/d_a_bmd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_bmdfoot/splits.txt b/config/GZLJ01/rels/d_a_bmdfoot/splits.txt index 9bdae524a..a29a01cf2 100644 --- a/config/GZLJ01/rels/d_a_bmdfoot/splits.txt +++ b/config/GZLJ01/rels/d_a_bmdfoot/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_bmdhand/splits.txt b/config/GZLJ01/rels/d_a_bmdhand/splits.txt index aa77d68ed..c57ef8c43 100644 --- a/config/GZLJ01/rels/d_a_bmdhand/splits.txt +++ b/config/GZLJ01/rels/d_a_bmdhand/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_bo/splits.txt b/config/GZLJ01/rels/d_a_bo/splits.txt index 3a648220a..fb12a8bba 100644 --- a/config/GZLJ01/rels/d_a_bo/splits.txt +++ b/config/GZLJ01/rels/d_a_bo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_boko/splits.txt b/config/GZLJ01/rels/d_a_boko/splits.txt index aa6e2952c..87d059f95 100644 --- a/config/GZLJ01/rels/d_a_boko/splits.txt +++ b/config/GZLJ01/rels/d_a_boko/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_boss_item/splits.txt b/config/GZLJ01/rels/d_a_boss_item/splits.txt index 18e049a42..9af000cdb 100644 --- a/config/GZLJ01/rels/d_a_boss_item/splits.txt +++ b/config/GZLJ01/rels/d_a_boss_item/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLJ01/rels/d_a_bpw/splits.txt b/config/GZLJ01/rels/d_a_bpw/splits.txt index e466e350c..0c485bfb9 100644 --- a/config/GZLJ01/rels/d_a_bpw/splits.txt +++ b/config/GZLJ01/rels/d_a_bpw/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_branch/splits.txt b/config/GZLJ01/rels/d_a_branch/splits.txt index 3686cfc37..1707237a0 100644 --- a/config/GZLJ01/rels/d_a_branch/splits.txt +++ b/config/GZLJ01/rels/d_a_branch/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_bridge/splits.txt b/config/GZLJ01/rels/d_a_bridge/splits.txt index 6d03ade18..3d3ce3b44 100644 --- a/config/GZLJ01/rels/d_a_bridge/splits.txt +++ b/config/GZLJ01/rels/d_a_bridge/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_bst/splits.txt b/config/GZLJ01/rels/d_a_bst/splits.txt index d25847513..a487038bf 100644 --- a/config/GZLJ01/rels/d_a_bst/splits.txt +++ b/config/GZLJ01/rels/d_a_bst/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_btd/splits.txt b/config/GZLJ01/rels/d_a_btd/splits.txt index 809d69ac1..acd55a822 100644 --- a/config/GZLJ01/rels/d_a_btd/splits.txt +++ b/config/GZLJ01/rels/d_a_btd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_bwd/splits.txt b/config/GZLJ01/rels/d_a_bwd/splits.txt index 2dca960d7..1f3ca90b0 100644 --- a/config/GZLJ01/rels/d_a_bwd/splits.txt +++ b/config/GZLJ01/rels/d_a_bwd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_bwdg/splits.txt b/config/GZLJ01/rels/d_a_bwdg/splits.txt index 53c1b95c2..eda9e2f40 100644 --- a/config/GZLJ01/rels/d_a_bwdg/splits.txt +++ b/config/GZLJ01/rels/d_a_bwdg/splits.txt @@ -1,9 +1,9 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 - .data type:data align:32 + .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: diff --git a/config/GZLJ01/rels/d_a_bwds/splits.txt b/config/GZLJ01/rels/d_a_bwds/splits.txt index e70f99e53..c5e18c580 100644 --- a/config/GZLJ01/rels/d_a_bwds/splits.txt +++ b/config/GZLJ01/rels/d_a_bwds/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_canon/splits.txt b/config/GZLJ01/rels/d_a_canon/splits.txt index 02061c70a..3cf25c180 100644 --- a/config/GZLJ01/rels/d_a_canon/splits.txt +++ b/config/GZLJ01/rels/d_a_canon/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_cc/splits.txt b/config/GZLJ01/rels/d_a_cc/splits.txt index 049024a17..78d78ef21 100644 --- a/config/GZLJ01/rels/d_a_cc/splits.txt +++ b/config/GZLJ01/rels/d_a_cc/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_coming2/splits.txt b/config/GZLJ01/rels/d_a_coming2/splits.txt index fccff2b8b..b74447baa 100644 --- a/config/GZLJ01/rels/d_a_coming2/splits.txt +++ b/config/GZLJ01/rels/d_a_coming2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_coming3/splits.txt b/config/GZLJ01/rels/d_a_coming3/splits.txt index c6815f2ab..1dd9431ea 100644 --- a/config/GZLJ01/rels/d_a_coming3/splits.txt +++ b/config/GZLJ01/rels/d_a_coming3/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_dai/splits.txt b/config/GZLJ01/rels/d_a_dai/splits.txt index 8585c6f78..9d7a2b90d 100644 --- a/config/GZLJ01/rels/d_a_dai/splits.txt +++ b/config/GZLJ01/rels/d_a_dai/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_daiocta/splits.txt b/config/GZLJ01/rels/d_a_daiocta/splits.txt index 31143edc7..77f6e5064 100644 --- a/config/GZLJ01/rels/d_a_daiocta/splits.txt +++ b/config/GZLJ01/rels/d_a_daiocta/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_daiocta_eye/splits.txt b/config/GZLJ01/rels/d_a_daiocta_eye/splits.txt index 90f439398..886231307 100644 --- a/config/GZLJ01/rels/d_a_daiocta_eye/splits.txt +++ b/config/GZLJ01/rels/d_a_daiocta_eye/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_deku_item/splits.txt b/config/GZLJ01/rels/d_a_deku_item/splits.txt index cf903e2ae..c8f534b48 100644 --- a/config/GZLJ01/rels/d_a_deku_item/splits.txt +++ b/config/GZLJ01/rels/d_a_deku_item/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_demo_dk/splits.txt b/config/GZLJ01/rels/d_a_demo_dk/splits.txt index 7878a9d66..7d719ddfc 100644 --- a/config/GZLJ01/rels/d_a_demo_dk/splits.txt +++ b/config/GZLJ01/rels/d_a_demo_dk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_demo_item/splits.txt b/config/GZLJ01/rels/d_a_demo_item/splits.txt index a6ddbba1d..f2b08c207 100644 --- a/config/GZLJ01/rels/d_a_demo_item/splits.txt +++ b/config/GZLJ01/rels/d_a_demo_item/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_demo_kmm/splits.txt b/config/GZLJ01/rels/d_a_demo_kmm/splits.txt index e0cbd8ac4..7d70d0dfb 100644 --- a/config/GZLJ01/rels/d_a_demo_kmm/splits.txt +++ b/config/GZLJ01/rels/d_a_demo_kmm/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_dk/splits.txt b/config/GZLJ01/rels/d_a_dk/splits.txt index a10349ede..7c3052599 100644 --- a/config/GZLJ01/rels/d_a_dk/splits.txt +++ b/config/GZLJ01/rels/d_a_dk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_door10/splits.txt b/config/GZLJ01/rels/d_a_door10/splits.txt index 6c9796b6f..629cbf34e 100644 --- a/config/GZLJ01/rels/d_a_door10/splits.txt +++ b/config/GZLJ01/rels/d_a_door10/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_door12/splits.txt b/config/GZLJ01/rels/d_a_door12/splits.txt index eb09f71b3..3f81b18cc 100644 --- a/config/GZLJ01/rels/d_a_door12/splits.txt +++ b/config/GZLJ01/rels/d_a_door12/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_dr/splits.txt b/config/GZLJ01/rels/d_a_dr/splits.txt index d613c30e1..a06cd5444 100644 --- a/config/GZLJ01/rels/d_a_dr/splits.txt +++ b/config/GZLJ01/rels/d_a_dr/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_dr2/splits.txt b/config/GZLJ01/rels/d_a_dr2/splits.txt index 6c71d9e87..9318ae26d 100644 --- a/config/GZLJ01/rels/d_a_dr2/splits.txt +++ b/config/GZLJ01/rels/d_a_dr2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_dummy/splits.txt b/config/GZLJ01/rels/d_a_dummy/splits.txt index 6dfe25c59..1b2bc8096 100644 --- a/config/GZLJ01/rels/d_a_dummy/splits.txt +++ b/config/GZLJ01/rels/d_a_dummy/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_ep/splits.txt b/config/GZLJ01/rels/d_a_ep/splits.txt index 10384bcbf..676ac04ee 100644 --- a/config/GZLJ01/rels/d_a_ep/splits.txt +++ b/config/GZLJ01/rels/d_a_ep/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_fallrock/splits.txt b/config/GZLJ01/rels/d_a_fallrock/splits.txt index 004ddcd95..ea5bd9bcf 100644 --- a/config/GZLJ01/rels/d_a_fallrock/splits.txt +++ b/config/GZLJ01/rels/d_a_fallrock/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_fallrock_tag/splits.txt b/config/GZLJ01/rels/d_a_fallrock_tag/splits.txt index 1112d31f1..dfa4995eb 100644 --- a/config/GZLJ01/rels/d_a_fallrock_tag/splits.txt +++ b/config/GZLJ01/rels/d_a_fallrock_tag/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_fan/splits.txt b/config/GZLJ01/rels/d_a_fan/splits.txt index 07b1b47b4..c11f0d094 100644 --- a/config/GZLJ01/rels/d_a_fan/splits.txt +++ b/config/GZLJ01/rels/d_a_fan/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_ff/splits.txt b/config/GZLJ01/rels/d_a_ff/splits.txt index 2a945e62e..3a7cecd4c 100644 --- a/config/GZLJ01/rels/d_a_ff/splits.txt +++ b/config/GZLJ01/rels/d_a_ff/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_fganon/splits.txt b/config/GZLJ01/rels/d_a_fganon/splits.txt index 52c36826f..6cf2c7497 100644 --- a/config/GZLJ01/rels/d_a_fganon/splits.txt +++ b/config/GZLJ01/rels/d_a_fganon/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_fgmahou/splits.txt b/config/GZLJ01/rels/d_a_fgmahou/splits.txt index 7fce6a1dd..6e31dab3b 100644 --- a/config/GZLJ01/rels/d_a_fgmahou/splits.txt +++ b/config/GZLJ01/rels/d_a_fgmahou/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_fire/splits.txt b/config/GZLJ01/rels/d_a_fire/splits.txt index a5a14a7ed..a1b6c4d11 100644 --- a/config/GZLJ01/rels/d_a_fire/splits.txt +++ b/config/GZLJ01/rels/d_a_fire/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_floor/splits.txt b/config/GZLJ01/rels/d_a_floor/splits.txt index c20497c1c..de5ced63f 100644 --- a/config/GZLJ01/rels/d_a_floor/splits.txt +++ b/config/GZLJ01/rels/d_a_floor/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_fm/splits.txt b/config/GZLJ01/rels/d_a_fm/splits.txt index 1414ee37c..443c95044 100644 --- a/config/GZLJ01/rels/d_a_fm/splits.txt +++ b/config/GZLJ01/rels/d_a_fm/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_ghostship/splits.txt b/config/GZLJ01/rels/d_a_ghostship/splits.txt index 504df73c7..937617446 100644 --- a/config/GZLJ01/rels/d_a_ghostship/splits.txt +++ b/config/GZLJ01/rels/d_a_ghostship/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_gm/splits.txt b/config/GZLJ01/rels/d_a_gm/splits.txt index 9fac5495d..a76917425 100644 --- a/config/GZLJ01/rels/d_a_gm/splits.txt +++ b/config/GZLJ01/rels/d_a_gm/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_gnd/splits.txt b/config/GZLJ01/rels/d_a_gnd/splits.txt index 49173992b..5b46ee25e 100644 --- a/config/GZLJ01/rels/d_a_gnd/splits.txt +++ b/config/GZLJ01/rels/d_a_gnd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_goal_flag/splits.txt b/config/GZLJ01/rels/d_a_goal_flag/splits.txt index 1ed7f17e1..5921994de 100644 --- a/config/GZLJ01/rels/d_a_goal_flag/splits.txt +++ b/config/GZLJ01/rels/d_a_goal_flag/splits.txt @@ -1,9 +1,9 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 - .data type:data align:32 + .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: diff --git a/config/GZLJ01/rels/d_a_grass/splits.txt b/config/GZLJ01/rels/d_a_grass/splits.txt index 8d8ed6efd..a84ff5f59 100644 --- a/config/GZLJ01/rels/d_a_grass/splits.txt +++ b/config/GZLJ01/rels/d_a_grass/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_gy/splits.txt b/config/GZLJ01/rels/d_a_gy/splits.txt index f1207379d..e1665836e 100644 --- a/config/GZLJ01/rels/d_a_gy/splits.txt +++ b/config/GZLJ01/rels/d_a_gy/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_gy_ctrl/splits.txt b/config/GZLJ01/rels/d_a_gy_ctrl/splits.txt index ca5ed0002..61e73a457 100644 --- a/config/GZLJ01/rels/d_a_gy_ctrl/splits.txt +++ b/config/GZLJ01/rels/d_a_gy_ctrl/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_himo3/splits.txt b/config/GZLJ01/rels/d_a_himo3/splits.txt index 7475352cf..e345b35a1 100644 --- a/config/GZLJ01/rels/d_a_himo3/splits.txt +++ b/config/GZLJ01/rels/d_a_himo3/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_hitobj/splits.txt b/config/GZLJ01/rels/d_a_hitobj/splits.txt index 2af55756d..fa0b85942 100644 --- a/config/GZLJ01/rels/d_a_hitobj/splits.txt +++ b/config/GZLJ01/rels/d_a_hitobj/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_hmlif/splits.txt b/config/GZLJ01/rels/d_a_hmlif/splits.txt index 7b673f508..674ab2dff 100644 --- a/config/GZLJ01/rels/d_a_hmlif/splits.txt +++ b/config/GZLJ01/rels/d_a_hmlif/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_hot_floor/splits.txt b/config/GZLJ01/rels/d_a_hot_floor/splits.txt index 83ddba52f..caff037c4 100644 --- a/config/GZLJ01/rels/d_a_hot_floor/splits.txt +++ b/config/GZLJ01/rels/d_a_hot_floor/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_hys/splits.txt b/config/GZLJ01/rels/d_a_hys/splits.txt index f8995fb8f..1311e8a7e 100644 --- a/config/GZLJ01/rels/d_a_hys/splits.txt +++ b/config/GZLJ01/rels/d_a_hys/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_icelift/splits.txt b/config/GZLJ01/rels/d_a_icelift/splits.txt index 0debd5fc1..5112fd0a7 100644 --- a/config/GZLJ01/rels/d_a_icelift/splits.txt +++ b/config/GZLJ01/rels/d_a_icelift/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_ikari/splits.txt b/config/GZLJ01/rels/d_a_ikari/splits.txt index 9b034f622..d730476a2 100644 --- a/config/GZLJ01/rels/d_a_ikari/splits.txt +++ b/config/GZLJ01/rels/d_a_ikari/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_jbo/splits.txt b/config/GZLJ01/rels/d_a_jbo/splits.txt index 7e28625e8..170af0772 100644 --- a/config/GZLJ01/rels/d_a_jbo/splits.txt +++ b/config/GZLJ01/rels/d_a_jbo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_kaji/splits.txt b/config/GZLJ01/rels/d_a_kaji/splits.txt index f0956698a..f2dd81e97 100644 --- a/config/GZLJ01/rels/d_a_kaji/splits.txt +++ b/config/GZLJ01/rels/d_a_kaji/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_kamome/splits.txt b/config/GZLJ01/rels/d_a_kamome/splits.txt index 4dd6f4735..408745629 100644 --- a/config/GZLJ01/rels/d_a_kamome/splits.txt +++ b/config/GZLJ01/rels/d_a_kamome/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_kanban/splits.txt b/config/GZLJ01/rels/d_a_kanban/splits.txt index 53864d4b6..2b3bf25d0 100644 --- a/config/GZLJ01/rels/d_a_kanban/splits.txt +++ b/config/GZLJ01/rels/d_a_kanban/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_kantera/splits.txt b/config/GZLJ01/rels/d_a_kantera/splits.txt index 96d394dff..81bf00850 100644 --- a/config/GZLJ01/rels/d_a_kantera/splits.txt +++ b/config/GZLJ01/rels/d_a_kantera/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_kb/splits.txt b/config/GZLJ01/rels/d_a_kb/splits.txt index d585c56f0..34c30bfdc 100644 --- a/config/GZLJ01/rels/d_a_kb/splits.txt +++ b/config/GZLJ01/rels/d_a_kb/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_kddoor/splits.txt b/config/GZLJ01/rels/d_a_kddoor/splits.txt index 4950175f3..2604fcbdb 100644 --- a/config/GZLJ01/rels/d_a_kddoor/splits.txt +++ b/config/GZLJ01/rels/d_a_kddoor/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_ki/splits.txt b/config/GZLJ01/rels/d_a_ki/splits.txt index 9ce742cee..4b196f149 100644 --- a/config/GZLJ01/rels/d_a_ki/splits.txt +++ b/config/GZLJ01/rels/d_a_ki/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_kita/splits.txt b/config/GZLJ01/rels/d_a_kita/splits.txt index 478517233..94c494cfb 100644 --- a/config/GZLJ01/rels/d_a_kita/splits.txt +++ b/config/GZLJ01/rels/d_a_kita/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_klft/splits.txt b/config/GZLJ01/rels/d_a_klft/splits.txt index 638078e6a..529bed232 100644 --- a/config/GZLJ01/rels/d_a_klft/splits.txt +++ b/config/GZLJ01/rels/d_a_klft/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_kmon/splits.txt b/config/GZLJ01/rels/d_a_kmon/splits.txt index bcdbd00b2..ba8f5cb98 100644 --- a/config/GZLJ01/rels/d_a_kmon/splits.txt +++ b/config/GZLJ01/rels/d_a_kmon/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_kn/splits.txt b/config/GZLJ01/rels/d_a_kn/splits.txt index b93937753..cb8bfed1d 100644 --- a/config/GZLJ01/rels/d_a_kn/splits.txt +++ b/config/GZLJ01/rels/d_a_kn/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_knob00/splits.txt b/config/GZLJ01/rels/d_a_knob00/splits.txt index d53304699..37b3eb6f8 100644 --- a/config/GZLJ01/rels/d_a_knob00/splits.txt +++ b/config/GZLJ01/rels/d_a_knob00/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_kokiie/splits.txt b/config/GZLJ01/rels/d_a_kokiie/splits.txt index 484db5faf..06c090d8f 100644 --- a/config/GZLJ01/rels/d_a_kokiie/splits.txt +++ b/config/GZLJ01/rels/d_a_kokiie/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_komore/splits.txt b/config/GZLJ01/rels/d_a_komore/splits.txt index cccec59fe..0df890c21 100644 --- a/config/GZLJ01/rels/d_a_komore/splits.txt +++ b/config/GZLJ01/rels/d_a_komore/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_ks/splits.txt b/config/GZLJ01/rels/d_a_ks/splits.txt index a780afc83..d2cab8da0 100644 --- a/config/GZLJ01/rels/d_a_ks/splits.txt +++ b/config/GZLJ01/rels/d_a_ks/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_kt/splits.txt b/config/GZLJ01/rels/d_a_kt/splits.txt index 425cf3a65..010e341b9 100644 --- a/config/GZLJ01/rels/d_a_kt/splits.txt +++ b/config/GZLJ01/rels/d_a_kt/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_kui/splits.txt b/config/GZLJ01/rels/d_a_kui/splits.txt index 97f088dfe..47d6e168d 100644 --- a/config/GZLJ01/rels/d_a_kui/splits.txt +++ b/config/GZLJ01/rels/d_a_kui/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_kytag00/splits.txt b/config/GZLJ01/rels/d_a_kytag00/splits.txt index 596dbfed6..c90ccd23a 100644 --- a/config/GZLJ01/rels/d_a_kytag00/splits.txt +++ b/config/GZLJ01/rels/d_a_kytag00/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_kytag01/splits.txt b/config/GZLJ01/rels/d_a_kytag01/splits.txt index 72626a038..9fb4e6650 100644 --- a/config/GZLJ01/rels/d_a_kytag01/splits.txt +++ b/config/GZLJ01/rels/d_a_kytag01/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_kytag02/splits.txt b/config/GZLJ01/rels/d_a_kytag02/splits.txt index b04c749f5..e4a390c9d 100644 --- a/config/GZLJ01/rels/d_a_kytag02/splits.txt +++ b/config/GZLJ01/rels/d_a_kytag02/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_kytag03/splits.txt b/config/GZLJ01/rels/d_a_kytag03/splits.txt index 7319c988b..a032d4bd1 100644 --- a/config/GZLJ01/rels/d_a_kytag03/splits.txt +++ b/config/GZLJ01/rels/d_a_kytag03/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_kytag04/splits.txt b/config/GZLJ01/rels/d_a_kytag04/splits.txt index 3b6600a69..46631918f 100644 --- a/config/GZLJ01/rels/d_a_kytag04/splits.txt +++ b/config/GZLJ01/rels/d_a_kytag04/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_kytag05/splits.txt b/config/GZLJ01/rels/d_a_kytag05/splits.txt index 40d0c0585..fa105210f 100644 --- a/config/GZLJ01/rels/d_a_kytag05/splits.txt +++ b/config/GZLJ01/rels/d_a_kytag05/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_kytag06/splits.txt b/config/GZLJ01/rels/d_a_kytag06/splits.txt index 68d4fa57d..b83bbde38 100644 --- a/config/GZLJ01/rels/d_a_kytag06/splits.txt +++ b/config/GZLJ01/rels/d_a_kytag06/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_kytag07/splits.txt b/config/GZLJ01/rels/d_a_kytag07/splits.txt index 22316d133..73f6df091 100644 --- a/config/GZLJ01/rels/d_a_kytag07/splits.txt +++ b/config/GZLJ01/rels/d_a_kytag07/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_lamp/splits.txt b/config/GZLJ01/rels/d_a_lamp/splits.txt index 19e5f852d..356d021b7 100644 --- a/config/GZLJ01/rels/d_a_lamp/splits.txt +++ b/config/GZLJ01/rels/d_a_lamp/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_lbridge/splits.txt b/config/GZLJ01/rels/d_a_lbridge/splits.txt index 4d3ddc385..6d11d6896 100644 --- a/config/GZLJ01/rels/d_a_lbridge/splits.txt +++ b/config/GZLJ01/rels/d_a_lbridge/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_leaflift/splits.txt b/config/GZLJ01/rels/d_a_leaflift/splits.txt index 131319386..f9229777a 100644 --- a/config/GZLJ01/rels/d_a_leaflift/splits.txt +++ b/config/GZLJ01/rels/d_a_leaflift/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_lod_bg/splits.txt b/config/GZLJ01/rels/d_a_lod_bg/splits.txt index 998fd4d0c..d10af9b72 100644 --- a/config/GZLJ01/rels/d_a_lod_bg/splits.txt +++ b/config/GZLJ01/rels/d_a_lod_bg/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_lstair/splits.txt b/config/GZLJ01/rels/d_a_lstair/splits.txt index eb74440a4..4e53f3755 100644 --- a/config/GZLJ01/rels/d_a_lstair/splits.txt +++ b/config/GZLJ01/rels/d_a_lstair/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_lwood/splits.txt b/config/GZLJ01/rels/d_a_lwood/splits.txt index 712dfd324..91da22bac 100644 --- a/config/GZLJ01/rels/d_a_lwood/splits.txt +++ b/config/GZLJ01/rels/d_a_lwood/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_machine/splits.txt b/config/GZLJ01/rels/d_a_machine/splits.txt index c6b98e821..ed5d08a73 100644 --- a/config/GZLJ01/rels/d_a_machine/splits.txt +++ b/config/GZLJ01/rels/d_a_machine/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_magma/splits.txt b/config/GZLJ01/rels/d_a_magma/splits.txt index 5f6e463e4..a6cf948c6 100644 --- a/config/GZLJ01/rels/d_a_magma/splits.txt +++ b/config/GZLJ01/rels/d_a_magma/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_majuu_flag/splits.txt b/config/GZLJ01/rels/d_a_majuu_flag/splits.txt index f84fd97b3..4ff87e5cb 100644 --- a/config/GZLJ01/rels/d_a_majuu_flag/splits.txt +++ b/config/GZLJ01/rels/d_a_majuu_flag/splits.txt @@ -1,9 +1,9 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 - .data type:data align:32 + .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: diff --git a/config/GZLJ01/rels/d_a_mant/splits.txt b/config/GZLJ01/rels/d_a_mant/splits.txt index bcc77a08d..365be920c 100644 --- a/config/GZLJ01/rels/d_a_mant/splits.txt +++ b/config/GZLJ01/rels/d_a_mant/splits.txt @@ -1,9 +1,9 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 - .data type:data align:32 + .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: diff --git a/config/GZLJ01/rels/d_a_mbdoor/splits.txt b/config/GZLJ01/rels/d_a_mbdoor/splits.txt index 17935b20d..a4e01b183 100644 --- a/config/GZLJ01/rels/d_a_mbdoor/splits.txt +++ b/config/GZLJ01/rels/d_a_mbdoor/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_mdoor/splits.txt b/config/GZLJ01/rels/d_a_mdoor/splits.txt index af08c13fb..cb6168c3b 100644 --- a/config/GZLJ01/rels/d_a_mdoor/splits.txt +++ b/config/GZLJ01/rels/d_a_mdoor/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_mflft/splits.txt b/config/GZLJ01/rels/d_a_mflft/splits.txt index 0e6027168..e5be0bacd 100644 --- a/config/GZLJ01/rels/d_a_mflft/splits.txt +++ b/config/GZLJ01/rels/d_a_mflft/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_mgameboard/splits.txt b/config/GZLJ01/rels/d_a_mgameboard/splits.txt index 488607381..164cd715a 100644 --- a/config/GZLJ01/rels/d_a_mgameboard/splits.txt +++ b/config/GZLJ01/rels/d_a_mgameboard/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_mmusic/splits.txt b/config/GZLJ01/rels/d_a_mmusic/splits.txt index ca72dc60e..cc795518d 100644 --- a/config/GZLJ01/rels/d_a_mmusic/splits.txt +++ b/config/GZLJ01/rels/d_a_mmusic/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_mo2/splits.txt b/config/GZLJ01/rels/d_a_mo2/splits.txt index bace5838c..d0c9b9277 100644 --- a/config/GZLJ01/rels/d_a_mo2/splits.txt +++ b/config/GZLJ01/rels/d_a_mo2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_movie_player/splits.txt b/config/GZLJ01/rels/d_a_movie_player/splits.txt index 15411648b..128eeef58 100644 --- a/config/GZLJ01/rels/d_a_movie_player/splits.txt +++ b/config/GZLJ01/rels/d_a_movie_player/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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:32 diff --git a/config/GZLJ01/rels/d_a_mozo/splits.txt b/config/GZLJ01/rels/d_a_mozo/splits.txt index 09074d98c..11d714162 100644 --- a/config/GZLJ01/rels/d_a_mozo/splits.txt +++ b/config/GZLJ01/rels/d_a_mozo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_msw/splits.txt b/config/GZLJ01/rels/d_a_msw/splits.txt index 867bb4e98..6ae4a2711 100644 --- a/config/GZLJ01/rels/d_a_msw/splits.txt +++ b/config/GZLJ01/rels/d_a_msw/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_mt/splits.txt b/config/GZLJ01/rels/d_a_mt/splits.txt index 9989e304f..9d6459611 100644 --- a/config/GZLJ01/rels/d_a_mt/splits.txt +++ b/config/GZLJ01/rels/d_a_mt/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_mtoge/splits.txt b/config/GZLJ01/rels/d_a_mtoge/splits.txt index 93314ce07..a3f514f70 100644 --- a/config/GZLJ01/rels/d_a_mtoge/splits.txt +++ b/config/GZLJ01/rels/d_a_mtoge/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_npc_ac1/splits.txt b/config/GZLJ01/rels/d_a_npc_ac1/splits.txt index b77972080..fc5a83c66 100644 --- a/config/GZLJ01/rels/d_a_npc_ac1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_ac1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_ah/splits.txt b/config/GZLJ01/rels/d_a_npc_ah/splits.txt index 4d4c2bc38..f1632dd6d 100644 --- a/config/GZLJ01/rels/d_a_npc_ah/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_ah/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_npc_aj1/splits.txt b/config/GZLJ01/rels/d_a_npc_aj1/splits.txt index b3bbf6db4..b6a3e193e 100644 --- a/config/GZLJ01/rels/d_a_npc_aj1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_aj1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_auction/splits.txt b/config/GZLJ01/rels/d_a_npc_auction/splits.txt index 08e957b2a..6d7a89d67 100644 --- a/config/GZLJ01/rels/d_a_npc_auction/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_auction/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_ba1/splits.txt b/config/GZLJ01/rels/d_a_npc_ba1/splits.txt index 4539a2d0c..f72864e71 100644 --- a/config/GZLJ01/rels/d_a_npc_ba1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_ba1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_bj1/splits.txt b/config/GZLJ01/rels/d_a_npc_bj1/splits.txt index 20da4d00e..4c2358e1a 100644 --- a/config/GZLJ01/rels/d_a_npc_bj1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_bj1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_bm1/splits.txt b/config/GZLJ01/rels/d_a_npc_bm1/splits.txt index da9cdce3b..0239f63b0 100644 --- a/config/GZLJ01/rels/d_a_npc_bm1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_bm1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_bmcon1/splits.txt b/config/GZLJ01/rels/d_a_npc_bmcon1/splits.txt index f925534d1..b119f6a59 100644 --- a/config/GZLJ01/rels/d_a_npc_bmcon1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_bmcon1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_bms1/splits.txt b/config/GZLJ01/rels/d_a_npc_bms1/splits.txt index 7f4354684..98ac47ef0 100644 --- a/config/GZLJ01/rels/d_a_npc_bms1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_bms1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_bmsw/splits.txt b/config/GZLJ01/rels/d_a_npc_bmsw/splits.txt index f940c10ee..2e8711a52 100644 --- a/config/GZLJ01/rels/d_a_npc_bmsw/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_bmsw/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_bs1/splits.txt b/config/GZLJ01/rels/d_a_npc_bs1/splits.txt index e75ad2197..150e20783 100644 --- a/config/GZLJ01/rels/d_a_npc_bs1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_bs1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_btsw/splits.txt b/config/GZLJ01/rels/d_a_npc_btsw/splits.txt index bd6b25c03..e5d204f52 100644 --- a/config/GZLJ01/rels/d_a_npc_btsw/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_btsw/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_btsw2/splits.txt b/config/GZLJ01/rels/d_a_npc_btsw2/splits.txt index bec4f73d3..9158fa6dd 100644 --- a/config/GZLJ01/rels/d_a_npc_btsw2/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_btsw2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_cb1/splits.txt b/config/GZLJ01/rels/d_a_npc_cb1/splits.txt index a9a73a2c1..4731860ac 100644 --- a/config/GZLJ01/rels/d_a_npc_cb1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_cb1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_co1/splits.txt b/config/GZLJ01/rels/d_a_npc_co1/splits.txt index dcf583d17..0af53b1c5 100644 --- a/config/GZLJ01/rels/d_a_npc_co1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_co1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_de1/splits.txt b/config/GZLJ01/rels/d_a_npc_de1/splits.txt index 1093cc706..cb600affe 100644 --- a/config/GZLJ01/rels/d_a_npc_de1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_de1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_ds1/splits.txt b/config/GZLJ01/rels/d_a_npc_ds1/splits.txt index e093dde45..ff14057d6 100644 --- a/config/GZLJ01/rels/d_a_npc_ds1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_ds1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_gk1/splits.txt b/config/GZLJ01/rels/d_a_npc_gk1/splits.txt index 503e5f08b..7766c433c 100644 --- a/config/GZLJ01/rels/d_a_npc_gk1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_gk1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_gp1/splits.txt b/config/GZLJ01/rels/d_a_npc_gp1/splits.txt index ef7f4be7e..d1bbb7646 100644 --- a/config/GZLJ01/rels/d_a_npc_gp1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_gp1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_hi1/splits.txt b/config/GZLJ01/rels/d_a_npc_hi1/splits.txt index ae18c5163..ab7a97a6b 100644 --- a/config/GZLJ01/rels/d_a_npc_hi1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_hi1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_ho/splits.txt b/config/GZLJ01/rels/d_a_npc_ho/splits.txt index 3651e3534..a54dee944 100644 --- a/config/GZLJ01/rels/d_a_npc_ho/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_ho/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_hr/splits.txt b/config/GZLJ01/rels/d_a_npc_hr/splits.txt index cd793f1f5..9e65ae770 100644 --- a/config/GZLJ01/rels/d_a_npc_hr/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_hr/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_jb1/splits.txt b/config/GZLJ01/rels/d_a_npc_jb1/splits.txt index 660a364c3..c59fb026e 100644 --- a/config/GZLJ01/rels/d_a_npc_jb1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_jb1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_ji1/splits.txt b/config/GZLJ01/rels/d_a_npc_ji1/splits.txt index 0a80c16f6..d04b4e708 100644 --- a/config/GZLJ01/rels/d_a_npc_ji1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_ji1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_kamome/splits.txt b/config/GZLJ01/rels/d_a_npc_kamome/splits.txt index 45fa4ad64..06dc0d051 100644 --- a/config/GZLJ01/rels/d_a_npc_kamome/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_kamome/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_kf1/splits.txt b/config/GZLJ01/rels/d_a_npc_kf1/splits.txt index 5c4328d02..51d0aab40 100644 --- a/config/GZLJ01/rels/d_a_npc_kf1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_kf1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_kg1/splits.txt b/config/GZLJ01/rels/d_a_npc_kg1/splits.txt index ca3906d26..67507672f 100644 --- a/config/GZLJ01/rels/d_a_npc_kg1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_kg1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_kg2/splits.txt b/config/GZLJ01/rels/d_a_npc_kg2/splits.txt index b49749758..5c2d05649 100644 --- a/config/GZLJ01/rels/d_a_npc_kg2/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_kg2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_kk1/splits.txt b/config/GZLJ01/rels/d_a_npc_kk1/splits.txt index 96f47563b..602e7d06d 100644 --- a/config/GZLJ01/rels/d_a_npc_kk1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_kk1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_km1/splits.txt b/config/GZLJ01/rels/d_a_npc_km1/splits.txt index 6ab07b351..008804acc 100644 --- a/config/GZLJ01/rels/d_a_npc_km1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_km1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_ko1/splits.txt b/config/GZLJ01/rels/d_a_npc_ko1/splits.txt index fec3b92e4..4f62b732e 100644 --- a/config/GZLJ01/rels/d_a_npc_ko1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_ko1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_kp1/splits.txt b/config/GZLJ01/rels/d_a_npc_kp1/splits.txt index 06606f064..308b53099 100644 --- a/config/GZLJ01/rels/d_a_npc_kp1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_kp1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_ls1/splits.txt b/config/GZLJ01/rels/d_a_npc_ls1/splits.txt index 579e1258c..531c41f0e 100644 --- a/config/GZLJ01/rels/d_a_npc_ls1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_ls1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_md/splits.txt b/config/GZLJ01/rels/d_a_npc_md/splits.txt index 8058978dc..e0e0d649b 100644 --- a/config/GZLJ01/rels/d_a_npc_md/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_md/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_mk/splits.txt b/config/GZLJ01/rels/d_a_npc_mk/splits.txt index 3d4797c39..a87ece1fd 100644 --- a/config/GZLJ01/rels/d_a_npc_mk/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_mk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_mn/splits.txt b/config/GZLJ01/rels/d_a_npc_mn/splits.txt index e78b18503..37e39f60f 100644 --- a/config/GZLJ01/rels/d_a_npc_mn/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_mn/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_npc_mt/splits.txt b/config/GZLJ01/rels/d_a_npc_mt/splits.txt index 464cdf10e..e2744a01a 100644 --- a/config/GZLJ01/rels/d_a_npc_mt/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_mt/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_npc_nz/splits.txt b/config/GZLJ01/rels/d_a_npc_nz/splits.txt index 58cd09134..871e8f052 100644 --- a/config/GZLJ01/rels/d_a_npc_nz/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_nz/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_ob1/splits.txt b/config/GZLJ01/rels/d_a_npc_ob1/splits.txt index 39caa7f69..76fcceb9e 100644 --- a/config/GZLJ01/rels/d_a_npc_ob1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_ob1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_os/splits.txt b/config/GZLJ01/rels/d_a_npc_os/splits.txt index ed8d01f5c..623d98eaa 100644 --- a/config/GZLJ01/rels/d_a_npc_os/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_os/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_p1/splits.txt b/config/GZLJ01/rels/d_a_npc_p1/splits.txt index 80ae4e29e..3e676438a 100644 --- a/config/GZLJ01/rels/d_a_npc_p1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_p1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_p2/splits.txt b/config/GZLJ01/rels/d_a_npc_p2/splits.txt index 0e801a105..8a5e0ac71 100644 --- a/config/GZLJ01/rels/d_a_npc_p2/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_p2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_people/splits.txt b/config/GZLJ01/rels/d_a_npc_people/splits.txt index 7f9b72d9f..6cfa15d0a 100644 --- a/config/GZLJ01/rels/d_a_npc_people/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_people/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_npc_pf1/splits.txt b/config/GZLJ01/rels/d_a_npc_pf1/splits.txt index 49f36715f..9729ce6a1 100644 --- a/config/GZLJ01/rels/d_a_npc_pf1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_pf1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_photo/splits.txt b/config/GZLJ01/rels/d_a_npc_photo/splits.txt index b8ca04b95..9bc8cf937 100644 --- a/config/GZLJ01/rels/d_a_npc_photo/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_photo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_pm1/splits.txt b/config/GZLJ01/rels/d_a_npc_pm1/splits.txt index 47996f20e..355262309 100644 --- a/config/GZLJ01/rels/d_a_npc_pm1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_pm1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_roten/splits.txt b/config/GZLJ01/rels/d_a_npc_roten/splits.txt index f37fc5e63..1909495dc 100644 --- a/config/GZLJ01/rels/d_a_npc_roten/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_roten/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_npc_rsh1/splits.txt b/config/GZLJ01/rels/d_a_npc_rsh1/splits.txt index 0c29737dc..c32854e2f 100644 --- a/config/GZLJ01/rels/d_a_npc_rsh1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_rsh1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_sarace/splits.txt b/config/GZLJ01/rels/d_a_npc_sarace/splits.txt index d0bb3055b..8c40db245 100644 --- a/config/GZLJ01/rels/d_a_npc_sarace/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_sarace/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_so/splits.txt b/config/GZLJ01/rels/d_a_npc_so/splits.txt index 5290f65b9..d7fc3e457 100644 --- a/config/GZLJ01/rels/d_a_npc_so/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_so/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_sv/splits.txt b/config/GZLJ01/rels/d_a_npc_sv/splits.txt index 66b827676..988afe4fd 100644 --- a/config/GZLJ01/rels/d_a_npc_sv/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_sv/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_npc_tc/splits.txt b/config/GZLJ01/rels/d_a_npc_tc/splits.txt index c539ebee9..82c4b0220 100644 --- a/config/GZLJ01/rels/d_a_npc_tc/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_tc/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_tt/splits.txt b/config/GZLJ01/rels/d_a_npc_tt/splits.txt index 3a06d97a9..4050d48d5 100644 --- a/config/GZLJ01/rels/d_a_npc_tt/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_tt/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_uk/splits.txt b/config/GZLJ01/rels/d_a_npc_uk/splits.txt index f0d68404f..cea00b5d5 100644 --- a/config/GZLJ01/rels/d_a_npc_uk/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_uk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_ym1/splits.txt b/config/GZLJ01/rels/d_a_npc_ym1/splits.txt index 4ad4f0a7f..f7d45198b 100644 --- a/config/GZLJ01/rels/d_a_npc_ym1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_ym1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_yw1/splits.txt b/config/GZLJ01/rels/d_a_npc_yw1/splits.txt index 655773cb7..61e06d1d0 100644 --- a/config/GZLJ01/rels/d_a_npc_yw1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_yw1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_zk1/splits.txt b/config/GZLJ01/rels/d_a_npc_zk1/splits.txt index a4958458c..72142bd41 100644 --- a/config/GZLJ01/rels/d_a_npc_zk1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_zk1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_npc_zl1/splits.txt b/config/GZLJ01/rels/d_a_npc_zl1/splits.txt index 551aae65d..4fb31c0b2 100644 --- a/config/GZLJ01/rels/d_a_npc_zl1/splits.txt +++ b/config/GZLJ01/rels/d_a_npc_zl1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_nz/splits.txt b/config/GZLJ01/rels/d_a_nz/splits.txt index 5f1cbb498..9fcc53c0a 100644 --- a/config/GZLJ01/rels/d_a_nz/splits.txt +++ b/config/GZLJ01/rels/d_a_nz/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_nzg/splits.txt b/config/GZLJ01/rels/d_a_nzg/splits.txt index ed6d0c598..ba5898f07 100644 --- a/config/GZLJ01/rels/d_a_nzg/splits.txt +++ b/config/GZLJ01/rels/d_a_nzg/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_AjavW/splits.txt b/config/GZLJ01/rels/d_a_obj_AjavW/splits.txt index d79baf447..3ad970240 100644 --- a/config/GZLJ01/rels/d_a_obj_AjavW/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_AjavW/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_Itnak/splits.txt b/config/GZLJ01/rels/d_a_obj_Itnak/splits.txt index 026a89f77..9d92fe90b 100644 --- a/config/GZLJ01/rels/d_a_obj_Itnak/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_Itnak/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_Vds/splits.txt b/config/GZLJ01/rels/d_a_obj_Vds/splits.txt index 263aa35f8..739416aba 100644 --- a/config/GZLJ01/rels/d_a_obj_Vds/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_Vds/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_Vteng/splits.txt b/config/GZLJ01/rels/d_a_obj_Vteng/splits.txt index 1871d8ef6..2d6c017f0 100644 --- a/config/GZLJ01/rels/d_a_obj_Vteng/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_Vteng/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_YLzou/splits.txt b/config/GZLJ01/rels/d_a_obj_YLzou/splits.txt index 8464d2917..0a23df5e9 100644 --- a/config/GZLJ01/rels/d_a_obj_YLzou/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_YLzou/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_Yboil/splits.txt b/config/GZLJ01/rels/d_a_obj_Yboil/splits.txt index d60cbf5a8..566a64d94 100644 --- a/config/GZLJ01/rels/d_a_obj_Yboil/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_Yboil/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_Ygush00/splits.txt b/config/GZLJ01/rels/d_a_obj_Ygush00/splits.txt index f5a2f9c3c..08e54ee52 100644 --- a/config/GZLJ01/rels/d_a_obj_Ygush00/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_Ygush00/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_adnno/splits.txt b/config/GZLJ01/rels/d_a_obj_adnno/splits.txt index 7e593ffe3..c2abf6a24 100644 --- a/config/GZLJ01/rels/d_a_obj_adnno/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_adnno/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_ajav/splits.txt b/config/GZLJ01/rels/d_a_obj_ajav/splits.txt index 49defedc6..41022f214 100644 --- a/config/GZLJ01/rels/d_a_obj_ajav/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_ajav/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_akabe/splits.txt b/config/GZLJ01/rels/d_a_obj_akabe/splits.txt index e7012b15b..501abc99e 100644 --- a/config/GZLJ01/rels/d_a_obj_akabe/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_akabe/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_apzl/splits.txt b/config/GZLJ01/rels/d_a_obj_apzl/splits.txt index 63299c98c..0f6aff658 100644 --- a/config/GZLJ01/rels/d_a_obj_apzl/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_apzl/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_ashut/splits.txt b/config/GZLJ01/rels/d_a_obj_ashut/splits.txt index 7be5e4ba3..dfe483696 100644 --- a/config/GZLJ01/rels/d_a_obj_ashut/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_ashut/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_auzu/splits.txt b/config/GZLJ01/rels/d_a_obj_auzu/splits.txt index c324d0c13..d7e74e6f9 100644 --- a/config/GZLJ01/rels/d_a_obj_auzu/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_auzu/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_aygr/splits.txt b/config/GZLJ01/rels/d_a_obj_aygr/splits.txt index e93d46911..c15bd5665 100644 --- a/config/GZLJ01/rels/d_a_obj_aygr/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_aygr/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_balancelift/splits.txt b/config/GZLJ01/rels/d_a_obj_balancelift/splits.txt index 6f7ed1159..ee2002510 100644 --- a/config/GZLJ01/rels/d_a_obj_balancelift/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_balancelift/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_barrel/splits.txt b/config/GZLJ01/rels/d_a_obj_barrel/splits.txt index 5146a3538..02b782d01 100644 --- a/config/GZLJ01/rels/d_a_obj_barrel/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_barrel/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_barrel2/splits.txt b/config/GZLJ01/rels/d_a_obj_barrel2/splits.txt index 42cab4736..fb8691596 100644 --- a/config/GZLJ01/rels/d_a_obj_barrel2/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_barrel2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_barrier/splits.txt b/config/GZLJ01/rels/d_a_obj_barrier/splits.txt index 4506301ec..ea4e8fd58 100644 --- a/config/GZLJ01/rels/d_a_obj_barrier/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_barrier/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_bemos/splits.txt b/config/GZLJ01/rels/d_a_obj_bemos/splits.txt index 641abe664..8eb007a39 100644 --- a/config/GZLJ01/rels/d_a_obj_bemos/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_bemos/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_bscurtain/splits.txt b/config/GZLJ01/rels/d_a_obj_bscurtain/splits.txt index 0a2410f90..83d8cb46c 100644 --- a/config/GZLJ01/rels/d_a_obj_bscurtain/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_bscurtain/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_buoyflag/splits.txt b/config/GZLJ01/rels/d_a_obj_buoyflag/splits.txt index bb9187122..8c7dff4a8 100644 --- a/config/GZLJ01/rels/d_a_obj_buoyflag/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_buoyflag/splits.txt @@ -1,8 +1,8 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 + .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/GZLJ01/rels/d_a_obj_buoyrace/splits.txt b/config/GZLJ01/rels/d_a_obj_buoyrace/splits.txt index 8c797b28d..82ca290c0 100644 --- a/config/GZLJ01/rels/d_a_obj_buoyrace/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_buoyrace/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_cafelmp/splits.txt b/config/GZLJ01/rels/d_a_obj_cafelmp/splits.txt index fd1ebe2c0..07f70cb45 100644 --- a/config/GZLJ01/rels/d_a_obj_cafelmp/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_cafelmp/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_canon/splits.txt b/config/GZLJ01/rels/d_a_obj_canon/splits.txt index c9f06a00b..634018d4a 100644 --- a/config/GZLJ01/rels/d_a_obj_canon/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_canon/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_coming/splits.txt b/config/GZLJ01/rels/d_a_obj_coming/splits.txt index ffbc6dc6c..faad4f9a8 100644 --- a/config/GZLJ01/rels/d_a_obj_coming/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_coming/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_correct/splits.txt b/config/GZLJ01/rels/d_a_obj_correct/splits.txt index 5279c6ad9..00b77767b 100644 --- a/config/GZLJ01/rels/d_a_obj_correct/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_correct/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_demo_barrel/splits.txt b/config/GZLJ01/rels/d_a_obj_demo_barrel/splits.txt index 497d0f968..531999636 100644 --- a/config/GZLJ01/rels/d_a_obj_demo_barrel/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_demo_barrel/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_dmgroom/splits.txt b/config/GZLJ01/rels/d_a_obj_dmgroom/splits.txt index b2bf856b8..b03861312 100644 --- a/config/GZLJ01/rels/d_a_obj_dmgroom/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_dmgroom/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_doguu/splits.txt b/config/GZLJ01/rels/d_a_obj_doguu/splits.txt index 5e9944fce..7464b1bd0 100644 --- a/config/GZLJ01/rels/d_a_obj_doguu/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_doguu/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_doguu_demo/splits.txt b/config/GZLJ01/rels/d_a_obj_doguu_demo/splits.txt index da3707f62..7e4efaa69 100644 --- a/config/GZLJ01/rels/d_a_obj_doguu_demo/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_doguu_demo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_dragonhead/splits.txt b/config/GZLJ01/rels/d_a_obj_dragonhead/splits.txt index ba0be1952..255b50ae7 100644 --- a/config/GZLJ01/rels/d_a_obj_dragonhead/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_dragonhead/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_drift/splits.txt b/config/GZLJ01/rels/d_a_obj_drift/splits.txt index 3e56ce5d3..dfb98bf11 100644 --- a/config/GZLJ01/rels/d_a_obj_drift/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_drift/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_eayogn/splits.txt b/config/GZLJ01/rels/d_a_obj_eayogn/splits.txt index 29eaf65d2..c8a7ad6d7 100644 --- a/config/GZLJ01/rels/d_a_obj_eayogn/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_eayogn/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_ebomzo/splits.txt b/config/GZLJ01/rels/d_a_obj_ebomzo/splits.txt index 935b8e9ce..721d5a370 100644 --- a/config/GZLJ01/rels/d_a_obj_ebomzo/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_ebomzo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_eff/splits.txt b/config/GZLJ01/rels/d_a_obj_eff/splits.txt index 8829a2957..249885795 100644 --- a/config/GZLJ01/rels/d_a_obj_eff/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_eff/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_ekskz/splits.txt b/config/GZLJ01/rels/d_a_obj_ekskz/splits.txt index fc6f609d7..124d1b051 100644 --- a/config/GZLJ01/rels/d_a_obj_ekskz/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_ekskz/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_eskban/splits.txt b/config/GZLJ01/rels/d_a_obj_eskban/splits.txt index 0c6ac7a22..af82cd621 100644 --- a/config/GZLJ01/rels/d_a_obj_eskban/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_eskban/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_ferris/splits.txt b/config/GZLJ01/rels/d_a_obj_ferris/splits.txt index 519d95b5c..c7895a07e 100644 --- a/config/GZLJ01/rels/d_a_obj_ferris/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_ferris/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_figure/splits.txt b/config/GZLJ01/rels/d_a_obj_figure/splits.txt index 26e7a7da8..bd9eff4bb 100644 --- a/config/GZLJ01/rels/d_a_obj_figure/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_figure/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_firewall/splits.txt b/config/GZLJ01/rels/d_a_obj_firewall/splits.txt index 90a6a24b5..6a719088d 100644 --- a/config/GZLJ01/rels/d_a_obj_firewall/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_firewall/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_flame/splits.txt b/config/GZLJ01/rels/d_a_obj_flame/splits.txt index 8d7f3fae0..719410461 100644 --- a/config/GZLJ01/rels/d_a_obj_flame/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_flame/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_ftree/splits.txt b/config/GZLJ01/rels/d_a_obj_ftree/splits.txt index eee521472..4e4cf9a2c 100644 --- a/config/GZLJ01/rels/d_a_obj_ftree/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_ftree/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_ganonbed/splits.txt b/config/GZLJ01/rels/d_a_obj_ganonbed/splits.txt index 7e3aa32a8..e6d97cbd0 100644 --- a/config/GZLJ01/rels/d_a_obj_ganonbed/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_ganonbed/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_gaship/splits.txt b/config/GZLJ01/rels/d_a_obj_gaship/splits.txt index 669663ed5..9c98057c8 100644 --- a/config/GZLJ01/rels/d_a_obj_gaship/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_gaship/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_gaship2/splits.txt b/config/GZLJ01/rels/d_a_obj_gaship2/splits.txt index d1fa2013e..4050f7746 100644 --- a/config/GZLJ01/rels/d_a_obj_gaship2/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_gaship2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_gnnbtltaki/splits.txt b/config/GZLJ01/rels/d_a_obj_gnnbtltaki/splits.txt index 464a97530..a704dff8f 100644 --- a/config/GZLJ01/rels/d_a_obj_gnnbtltaki/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_gnnbtltaki/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_gnndemotakie/splits.txt b/config/GZLJ01/rels/d_a_obj_gnndemotakie/splits.txt index 4f0646634..982fe4d13 100644 --- a/config/GZLJ01/rels/d_a_obj_gnndemotakie/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_gnndemotakie/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_gnndemotakis/splits.txt b/config/GZLJ01/rels/d_a_obj_gnndemotakis/splits.txt index ee01fde4c..c52ca76f5 100644 --- a/config/GZLJ01/rels/d_a_obj_gnndemotakis/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_gnndemotakis/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_gong/splits.txt b/config/GZLJ01/rels/d_a_obj_gong/splits.txt index b5ba6b931..a1ff9892d 100644 --- a/config/GZLJ01/rels/d_a_obj_gong/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_gong/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_gryw00/splits.txt b/config/GZLJ01/rels/d_a_obj_gryw00/splits.txt index f59bcb300..95cf43eba 100644 --- a/config/GZLJ01/rels/d_a_obj_gryw00/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_gryw00/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_gtaki/splits.txt b/config/GZLJ01/rels/d_a_obj_gtaki/splits.txt index e4728ebad..6cfdeed97 100644 --- a/config/GZLJ01/rels/d_a_obj_gtaki/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_gtaki/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_hami2/splits.txt b/config/GZLJ01/rels/d_a_obj_hami2/splits.txt index 524dbf3b0..9fee9a419 100644 --- a/config/GZLJ01/rels/d_a_obj_hami2/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_hami2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_hami3/splits.txt b/config/GZLJ01/rels/d_a_obj_hami3/splits.txt index b5ecf6e61..1eaeaf0ec 100644 --- a/config/GZLJ01/rels/d_a_obj_hami3/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_hami3/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_hami4/splits.txt b/config/GZLJ01/rels/d_a_obj_hami4/splits.txt index 15de4e3c3..92d7981b8 100644 --- a/config/GZLJ01/rels/d_a_obj_hami4/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_hami4/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_hat/splits.txt b/config/GZLJ01/rels/d_a_obj_hat/splits.txt index a58066db5..8a5178e9d 100644 --- a/config/GZLJ01/rels/d_a_obj_hat/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_hat/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_hbrf1/splits.txt b/config/GZLJ01/rels/d_a_obj_hbrf1/splits.txt index c7ca02474..846e7df9e 100644 --- a/config/GZLJ01/rels/d_a_obj_hbrf1/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_hbrf1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_hcbh/splits.txt b/config/GZLJ01/rels/d_a_obj_hcbh/splits.txt index 39ad6d105..0a84fddb7 100644 --- a/config/GZLJ01/rels/d_a_obj_hcbh/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_hcbh/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_hfuck1/splits.txt b/config/GZLJ01/rels/d_a_obj_hfuck1/splits.txt index f9feedd11..97558ff4a 100644 --- a/config/GZLJ01/rels/d_a_obj_hfuck1/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_hfuck1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_hha/splits.txt b/config/GZLJ01/rels/d_a_obj_hha/splits.txt index 82e54a9ab..74660b427 100644 --- a/config/GZLJ01/rels/d_a_obj_hha/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_hha/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_hlift/splits.txt b/config/GZLJ01/rels/d_a_obj_hlift/splits.txt index 160f2e323..ef205120c 100644 --- a/config/GZLJ01/rels/d_a_obj_hlift/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_hlift/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_hole/splits.txt b/config/GZLJ01/rels/d_a_obj_hole/splits.txt index 2ffe47282..00c1ad43f 100644 --- a/config/GZLJ01/rels/d_a_obj_hole/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_hole/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_homen/splits.txt b/config/GZLJ01/rels/d_a_obj_homen/splits.txt index cd19f6322..489c59969 100644 --- a/config/GZLJ01/rels/d_a_obj_homen/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_homen/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_homensmoke/splits.txt b/config/GZLJ01/rels/d_a_obj_homensmoke/splits.txt index 8a8716d13..1ce99a7ba 100644 --- a/config/GZLJ01/rels/d_a_obj_homensmoke/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_homensmoke/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_hsehi1/splits.txt b/config/GZLJ01/rels/d_a_obj_hsehi1/splits.txt index 65bb102ce..078e1a09b 100644 --- a/config/GZLJ01/rels/d_a_obj_hsehi1/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_hsehi1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_htetu1/splits.txt b/config/GZLJ01/rels/d_a_obj_htetu1/splits.txt index ea4efbdf1..d214147cf 100644 --- a/config/GZLJ01/rels/d_a_obj_htetu1/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_htetu1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_ice/splits.txt b/config/GZLJ01/rels/d_a_obj_ice/splits.txt index 49aa2e08c..48ab82338 100644 --- a/config/GZLJ01/rels/d_a_obj_ice/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_ice/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_iceisland/splits.txt b/config/GZLJ01/rels/d_a_obj_iceisland/splits.txt index 7f3c0b13f..6c99efcd4 100644 --- a/config/GZLJ01/rels/d_a_obj_iceisland/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_iceisland/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_ikada/splits.txt b/config/GZLJ01/rels/d_a_obj_ikada/splits.txt index 7f2488fe7..8401099b5 100644 --- a/config/GZLJ01/rels/d_a_obj_ikada/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_ikada/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_jump/splits.txt b/config/GZLJ01/rels/d_a_obj_jump/splits.txt index 9bebb88ea..8b3528b6f 100644 --- a/config/GZLJ01/rels/d_a_obj_jump/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_jump/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_kanat/splits.txt b/config/GZLJ01/rels/d_a_obj_kanat/splits.txt index 87d03f6ea..a7148ce78 100644 --- a/config/GZLJ01/rels/d_a_obj_kanat/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_kanat/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_kanoke/splits.txt b/config/GZLJ01/rels/d_a_obj_kanoke/splits.txt index fe6eb10fe..4d9ab6c66 100644 --- a/config/GZLJ01/rels/d_a_obj_kanoke/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_kanoke/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_ladder/splits.txt b/config/GZLJ01/rels/d_a_obj_ladder/splits.txt index 0011b34be..972381834 100644 --- a/config/GZLJ01/rels/d_a_obj_ladder/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_ladder/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_leaves/splits.txt b/config/GZLJ01/rels/d_a_obj_leaves/splits.txt index 1b8382b26..d67914dd0 100644 --- a/config/GZLJ01/rels/d_a_obj_leaves/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_leaves/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_light/splits.txt b/config/GZLJ01/rels/d_a_obj_light/splits.txt index 0bfc71ffa..2adec59ae 100644 --- a/config/GZLJ01/rels/d_a_obj_light/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_light/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_lpalm/splits.txt b/config/GZLJ01/rels/d_a_obj_lpalm/splits.txt index 966a63a24..feec82559 100644 --- a/config/GZLJ01/rels/d_a_obj_lpalm/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_lpalm/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_magmarock/splits.txt b/config/GZLJ01/rels/d_a_obj_magmarock/splits.txt index 21fa4527b..ec856e376 100644 --- a/config/GZLJ01/rels/d_a_obj_magmarock/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_magmarock/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_majyuu_door/splits.txt b/config/GZLJ01/rels/d_a_obj_majyuu_door/splits.txt index 58c8de67c..fe5140995 100644 --- a/config/GZLJ01/rels/d_a_obj_majyuu_door/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_majyuu_door/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_mkie/splits.txt b/config/GZLJ01/rels/d_a_obj_mkie/splits.txt index 11db66f66..5f2a37cb1 100644 --- a/config/GZLJ01/rels/d_a_obj_mkie/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_mkie/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_mkiek/splits.txt b/config/GZLJ01/rels/d_a_obj_mkiek/splits.txt index e7d99743f..f2de378f9 100644 --- a/config/GZLJ01/rels/d_a_obj_mkiek/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_mkiek/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_mknjd/splits.txt b/config/GZLJ01/rels/d_a_obj_mknjd/splits.txt index be694d812..27a62deb4 100644 --- a/config/GZLJ01/rels/d_a_obj_mknjd/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_mknjd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_mmrr/splits.txt b/config/GZLJ01/rels/d_a_obj_mmrr/splits.txt index f1ba9001e..f0025ab50 100644 --- a/config/GZLJ01/rels/d_a_obj_mmrr/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_mmrr/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_monument/splits.txt b/config/GZLJ01/rels/d_a_obj_monument/splits.txt index a0e1ebc0e..c7213fd7e 100644 --- a/config/GZLJ01/rels/d_a_obj_monument/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_monument/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_movebox/splits.txt b/config/GZLJ01/rels/d_a_obj_movebox/splits.txt index 40451c7b5..eb553d352 100644 --- a/config/GZLJ01/rels/d_a_obj_movebox/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_movebox/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_msdan/splits.txt b/config/GZLJ01/rels/d_a_obj_msdan/splits.txt index 0a61df0c8..2420d6eab 100644 --- a/config/GZLJ01/rels/d_a_obj_msdan/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_msdan/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_msdan2/splits.txt b/config/GZLJ01/rels/d_a_obj_msdan2/splits.txt index 97dd469b9..3a7bc4f71 100644 --- a/config/GZLJ01/rels/d_a_obj_msdan2/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_msdan2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_msdan_sub/splits.txt b/config/GZLJ01/rels/d_a_obj_msdan_sub/splits.txt index 6aa537279..9ad067b35 100644 --- a/config/GZLJ01/rels/d_a_obj_msdan_sub/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_msdan_sub/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_msdan_sub2/splits.txt b/config/GZLJ01/rels/d_a_obj_msdan_sub2/splits.txt index 0bc5fc029..49126bb10 100644 --- a/config/GZLJ01/rels/d_a_obj_msdan_sub2/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_msdan_sub2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_mshokki/splits.txt b/config/GZLJ01/rels/d_a_obj_mshokki/splits.txt index 6fb59c019..0a544ffe6 100644 --- a/config/GZLJ01/rels/d_a_obj_mshokki/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_mshokki/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_mtest/splits.txt b/config/GZLJ01/rels/d_a_obj_mtest/splits.txt index 0f656588c..fce00f058 100644 --- a/config/GZLJ01/rels/d_a_obj_mtest/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_mtest/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_nest/splits.txt b/config/GZLJ01/rels/d_a_obj_nest/splits.txt index 672b0e0d3..bbf615bca 100644 --- a/config/GZLJ01/rels/d_a_obj_nest/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_nest/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_ohatch/splits.txt b/config/GZLJ01/rels/d_a_obj_ohatch/splits.txt index a58b1f494..51d043a21 100644 --- a/config/GZLJ01/rels/d_a_obj_ohatch/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_ohatch/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_ojtree/splits.txt b/config/GZLJ01/rels/d_a_obj_ojtree/splits.txt index f70c50619..b1d7a8bb9 100644 --- a/config/GZLJ01/rels/d_a_obj_ojtree/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_ojtree/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_ospbox/splits.txt b/config/GZLJ01/rels/d_a_obj_ospbox/splits.txt index 9c13635d9..020b67b65 100644 --- a/config/GZLJ01/rels/d_a_obj_ospbox/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_ospbox/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_otble/splits.txt b/config/GZLJ01/rels/d_a_obj_otble/splits.txt index dd70aeb8d..41c3fef7e 100644 --- a/config/GZLJ01/rels/d_a_obj_otble/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_otble/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_paper/splits.txt b/config/GZLJ01/rels/d_a_obj_paper/splits.txt index 6babeb6ee..3485e71df 100644 --- a/config/GZLJ01/rels/d_a_obj_paper/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_paper/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_pbco/splits.txt b/config/GZLJ01/rels/d_a_obj_pbco/splits.txt index 35f241654..16ced1687 100644 --- a/config/GZLJ01/rels/d_a_obj_pbco/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_pbco/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_pbka/splits.txt b/config/GZLJ01/rels/d_a_obj_pbka/splits.txt index 8d4677118..0e74bc55d 100644 --- a/config/GZLJ01/rels/d_a_obj_pbka/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_pbka/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_pfall/splits.txt b/config/GZLJ01/rels/d_a_obj_pfall/splits.txt index 5d0466b9c..ace9ad618 100644 --- a/config/GZLJ01/rels/d_a_obj_pfall/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_pfall/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_pirateship/splits.txt b/config/GZLJ01/rels/d_a_obj_pirateship/splits.txt index 841bd09df..ad3abbafc 100644 --- a/config/GZLJ01/rels/d_a_obj_pirateship/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_pirateship/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_plant/splits.txt b/config/GZLJ01/rels/d_a_obj_plant/splits.txt index a5d0a652a..02db61ac7 100644 --- a/config/GZLJ01/rels/d_a_obj_plant/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_plant/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_quake/splits.txt b/config/GZLJ01/rels/d_a_obj_quake/splits.txt index 3a04916dd..0667e011c 100644 --- a/config/GZLJ01/rels/d_a_obj_quake/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_quake/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_rcloud/splits.txt b/config/GZLJ01/rels/d_a_obj_rcloud/splits.txt index d7f435c79..e36641a33 100644 --- a/config/GZLJ01/rels/d_a_obj_rcloud/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_rcloud/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_rflw/splits.txt b/config/GZLJ01/rels/d_a_obj_rflw/splits.txt index 30d246f3e..1c822755f 100644 --- a/config/GZLJ01/rels/d_a_obj_rflw/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_rflw/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_rforce/splits.txt b/config/GZLJ01/rels/d_a_obj_rforce/splits.txt index 125a2afb3..13a255fe0 100644 --- a/config/GZLJ01/rels/d_a_obj_rforce/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_rforce/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_roten/splits.txt b/config/GZLJ01/rels/d_a_obj_roten/splits.txt index c59fe5ff5..f8144a5e6 100644 --- a/config/GZLJ01/rels/d_a_obj_roten/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_roten/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_shelf/splits.txt b/config/GZLJ01/rels/d_a_obj_shelf/splits.txt index b419a0644..7e26163e3 100644 --- a/config/GZLJ01/rels/d_a_obj_shelf/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_shelf/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_shmrgrd/splits.txt b/config/GZLJ01/rels/d_a_obj_shmrgrd/splits.txt index efb461867..93715e7d1 100644 --- a/config/GZLJ01/rels/d_a_obj_shmrgrd/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_shmrgrd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_smplbg/splits.txt b/config/GZLJ01/rels/d_a_obj_smplbg/splits.txt index 3734e8eef..2181c89de 100644 --- a/config/GZLJ01/rels/d_a_obj_smplbg/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_smplbg/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_stair/splits.txt b/config/GZLJ01/rels/d_a_obj_stair/splits.txt index a0d7571d5..1a1865994 100644 --- a/config/GZLJ01/rels/d_a_obj_stair/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_stair/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_swflat/splits.txt b/config/GZLJ01/rels/d_a_obj_swflat/splits.txt index 04930816b..659d5714f 100644 --- a/config/GZLJ01/rels/d_a_obj_swflat/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_swflat/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_swhammer/splits.txt b/config/GZLJ01/rels/d_a_obj_swhammer/splits.txt index 0a46b2ec0..a64fc0e2d 100644 --- a/config/GZLJ01/rels/d_a_obj_swhammer/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_swhammer/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_swheavy/splits.txt b/config/GZLJ01/rels/d_a_obj_swheavy/splits.txt index 5c24f13af..085c6f2d1 100644 --- a/config/GZLJ01/rels/d_a_obj_swheavy/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_swheavy/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_swlight/splits.txt b/config/GZLJ01/rels/d_a_obj_swlight/splits.txt index 1e595686b..e983fda48 100644 --- a/config/GZLJ01/rels/d_a_obj_swlight/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_swlight/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_swpush/splits.txt b/config/GZLJ01/rels/d_a_obj_swpush/splits.txt index b83cc0468..923b7fe64 100644 --- a/config/GZLJ01/rels/d_a_obj_swpush/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_swpush/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_table/splits.txt b/config/GZLJ01/rels/d_a_obj_table/splits.txt index 6c05082cc..7af6df723 100644 --- a/config/GZLJ01/rels/d_a_obj_table/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_table/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_tapestry/splits.txt b/config/GZLJ01/rels/d_a_obj_tapestry/splits.txt index 8a77722c3..29c529049 100644 --- a/config/GZLJ01/rels/d_a_obj_tapestry/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_tapestry/splits.txt @@ -1,8 +1,8 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 + .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:32 diff --git a/config/GZLJ01/rels/d_a_obj_tenmado/splits.txt b/config/GZLJ01/rels/d_a_obj_tenmado/splits.txt index 9572958f4..ba9a36ced 100644 --- a/config/GZLJ01/rels/d_a_obj_tenmado/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_tenmado/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_tide/splits.txt b/config/GZLJ01/rels/d_a_obj_tide/splits.txt index 56d163a66..7341312d6 100644 --- a/config/GZLJ01/rels/d_a_obj_tide/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_tide/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_timer/splits.txt b/config/GZLJ01/rels/d_a_obj_timer/splits.txt index 162441ebd..647947195 100644 --- a/config/GZLJ01/rels/d_a_obj_timer/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_timer/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_tntrap/splits.txt b/config/GZLJ01/rels/d_a_obj_tntrap/splits.txt index 31738ad92..e6b1a38b8 100644 --- a/config/GZLJ01/rels/d_a_obj_tntrap/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_tntrap/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_toripost/splits.txt b/config/GZLJ01/rels/d_a_obj_toripost/splits.txt index 83f51e402..9ed94de98 100644 --- a/config/GZLJ01/rels/d_a_obj_toripost/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_toripost/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_tousekiki/splits.txt b/config/GZLJ01/rels/d_a_obj_tousekiki/splits.txt index 7642eb287..28e76fef3 100644 --- a/config/GZLJ01/rels/d_a_obj_tousekiki/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_tousekiki/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_tower/splits.txt b/config/GZLJ01/rels/d_a_obj_tower/splits.txt index c18147823..e9774e152 100644 --- a/config/GZLJ01/rels/d_a_obj_tower/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_tower/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_trap/splits.txt b/config/GZLJ01/rels/d_a_obj_trap/splits.txt index 72dd3b381..9466b08b4 100644 --- a/config/GZLJ01/rels/d_a_obj_trap/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_trap/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_tribox/splits.txt b/config/GZLJ01/rels/d_a_obj_tribox/splits.txt index 9c1445e01..20cbffc87 100644 --- a/config/GZLJ01/rels/d_a_obj_tribox/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_tribox/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_try/splits.txt b/config/GZLJ01/rels/d_a_obj_try/splits.txt index 095ea3907..9645329ea 100644 --- a/config/GZLJ01/rels/d_a_obj_try/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_try/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_usovmc/splits.txt b/config/GZLJ01/rels/d_a_obj_usovmc/splits.txt index c03bd0d06..dcd8057ac 100644 --- a/config/GZLJ01/rels/d_a_obj_usovmc/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_usovmc/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_vfan/splits.txt b/config/GZLJ01/rels/d_a_obj_vfan/splits.txt index aa4ef57b4..6a5d79e32 100644 --- a/config/GZLJ01/rels/d_a_obj_vfan/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_vfan/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_vgnfd/splits.txt b/config/GZLJ01/rels/d_a_obj_vgnfd/splits.txt index 70e0bde83..645d58ba7 100644 --- a/config/GZLJ01/rels/d_a_obj_vgnfd/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_vgnfd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_vmc/splits.txt b/config/GZLJ01/rels/d_a_obj_vmc/splits.txt index 53526acd0..9d1b9da65 100644 --- a/config/GZLJ01/rels/d_a_obj_vmc/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_vmc/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_vmsdz/splits.txt b/config/GZLJ01/rels/d_a_obj_vmsdz/splits.txt index addf58a39..5086217f4 100644 --- a/config/GZLJ01/rels/d_a_obj_vmsdz/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_vmsdz/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_vmsms/splits.txt b/config/GZLJ01/rels/d_a_obj_vmsms/splits.txt index efd64f5b7..5d13f5f29 100644 --- a/config/GZLJ01/rels/d_a_obj_vmsms/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_vmsms/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_volcano/splits.txt b/config/GZLJ01/rels/d_a_obj_volcano/splits.txt index 4a654a95f..2f861c6d7 100644 --- a/config/GZLJ01/rels/d_a_obj_volcano/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_volcano/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_vtil/splits.txt b/config/GZLJ01/rels/d_a_obj_vtil/splits.txt index e9152684f..1fcad5fb9 100644 --- a/config/GZLJ01/rels/d_a_obj_vtil/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_vtil/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_vyasi/splits.txt b/config/GZLJ01/rels/d_a_obj_vyasi/splits.txt index 380228533..47a0a8dc9 100644 --- a/config/GZLJ01/rels/d_a_obj_vyasi/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_vyasi/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_warpt/splits.txt b/config/GZLJ01/rels/d_a_obj_warpt/splits.txt index 68e5398df..6c6aea4ad 100644 --- a/config/GZLJ01/rels/d_a_obj_warpt/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_warpt/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_obj_wood/splits.txt b/config/GZLJ01/rels/d_a_obj_wood/splits.txt index 64face4c9..044b96423 100644 --- a/config/GZLJ01/rels/d_a_obj_wood/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_wood/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLJ01/rels/d_a_obj_xfuta/splits.txt b/config/GZLJ01/rels/d_a_obj_xfuta/splits.txt index b0404b973..83102ba5c 100644 --- a/config/GZLJ01/rels/d_a_obj_xfuta/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_xfuta/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_obj_zouK/splits.txt b/config/GZLJ01/rels/d_a_obj_zouK/splits.txt index 0934d9119..c6200032d 100644 --- a/config/GZLJ01/rels/d_a_obj_zouK/splits.txt +++ b/config/GZLJ01/rels/d_a_obj_zouK/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_oq/splits.txt b/config/GZLJ01/rels/d_a_oq/splits.txt index 414411dde..13159e9b9 100644 --- a/config/GZLJ01/rels/d_a_oq/splits.txt +++ b/config/GZLJ01/rels/d_a_oq/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_oship/splits.txt b/config/GZLJ01/rels/d_a_oship/splits.txt index 54b5ece69..675562e9c 100644 --- a/config/GZLJ01/rels/d_a_oship/splits.txt +++ b/config/GZLJ01/rels/d_a_oship/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_pedestal/splits.txt b/config/GZLJ01/rels/d_a_pedestal/splits.txt index dfbb0f16a..48ce6b3b8 100644 --- a/config/GZLJ01/rels/d_a_pedestal/splits.txt +++ b/config/GZLJ01/rels/d_a_pedestal/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_ph/splits.txt b/config/GZLJ01/rels/d_a_ph/splits.txt index 858973358..a9c7de1a8 100644 --- a/config/GZLJ01/rels/d_a_ph/splits.txt +++ b/config/GZLJ01/rels/d_a_ph/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_pirate_flag/splits.txt b/config/GZLJ01/rels/d_a_pirate_flag/splits.txt index bc9c07904..d1c79d560 100644 --- a/config/GZLJ01/rels/d_a_pirate_flag/splits.txt +++ b/config/GZLJ01/rels/d_a_pirate_flag/splits.txt @@ -1,9 +1,9 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 - .data type:data align:32 + .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: diff --git a/config/GZLJ01/rels/d_a_pt/splits.txt b/config/GZLJ01/rels/d_a_pt/splits.txt index f787fec87..105e1aa5b 100644 --- a/config/GZLJ01/rels/d_a_pt/splits.txt +++ b/config/GZLJ01/rels/d_a_pt/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_pw/splits.txt b/config/GZLJ01/rels/d_a_pw/splits.txt index b4648d197..55a952111 100644 --- a/config/GZLJ01/rels/d_a_pw/splits.txt +++ b/config/GZLJ01/rels/d_a_pw/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_pz/splits.txt b/config/GZLJ01/rels/d_a_pz/splits.txt index 2dee1240d..acb6e820d 100644 --- a/config/GZLJ01/rels/d_a_pz/splits.txt +++ b/config/GZLJ01/rels/d_a_pz/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_race_item/splits.txt b/config/GZLJ01/rels/d_a_race_item/splits.txt index 3f31f2135..c42aa98e9 100644 --- a/config/GZLJ01/rels/d_a_race_item/splits.txt +++ b/config/GZLJ01/rels/d_a_race_item/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_rd/splits.txt b/config/GZLJ01/rels/d_a_rd/splits.txt index 9d1c3e3be..28789ce5a 100644 --- a/config/GZLJ01/rels/d_a_rd/splits.txt +++ b/config/GZLJ01/rels/d_a_rd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_rectangle/splits.txt b/config/GZLJ01/rels/d_a_rectangle/splits.txt index 9861d3b4e..49d830ed4 100644 --- a/config/GZLJ01/rels/d_a_rectangle/splits.txt +++ b/config/GZLJ01/rels/d_a_rectangle/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLJ01/rels/d_a_sail/splits.txt b/config/GZLJ01/rels/d_a_sail/splits.txt index 869cc336d..50d764769 100644 --- a/config/GZLJ01/rels/d_a_sail/splits.txt +++ b/config/GZLJ01/rels/d_a_sail/splits.txt @@ -1,8 +1,8 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 + .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/GZLJ01/rels/d_a_saku/splits.txt b/config/GZLJ01/rels/d_a_saku/splits.txt index 50b4a8f31..11a9c0bd0 100644 --- a/config/GZLJ01/rels/d_a_saku/splits.txt +++ b/config/GZLJ01/rels/d_a_saku/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_salvage/splits.txt b/config/GZLJ01/rels/d_a_salvage/splits.txt index 381921d4f..8ee10c1d3 100644 --- a/config/GZLJ01/rels/d_a_salvage/splits.txt +++ b/config/GZLJ01/rels/d_a_salvage/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_salvage_tbox/splits.txt b/config/GZLJ01/rels/d_a_salvage_tbox/splits.txt index 3135bb364..a9ac20d09 100644 --- a/config/GZLJ01/rels/d_a_salvage_tbox/splits.txt +++ b/config/GZLJ01/rels/d_a_salvage_tbox/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_sbox/splits.txt b/config/GZLJ01/rels/d_a_sbox/splits.txt index f4d7afb00..9a9816224 100644 --- a/config/GZLJ01/rels/d_a_sbox/splits.txt +++ b/config/GZLJ01/rels/d_a_sbox/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_scene_change/splits.txt b/config/GZLJ01/rels/d_a_scene_change/splits.txt index 72de0d3dd..0ad8fcad8 100644 --- a/config/GZLJ01/rels/d_a_scene_change/splits.txt +++ b/config/GZLJ01/rels/d_a_scene_change/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_seatag/splits.txt b/config/GZLJ01/rels/d_a_seatag/splits.txt index 9e6142b5d..60f64536d 100644 --- a/config/GZLJ01/rels/d_a_seatag/splits.txt +++ b/config/GZLJ01/rels/d_a_seatag/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLJ01/rels/d_a_shand/splits.txt b/config/GZLJ01/rels/d_a_shand/splits.txt index 8281187af..0e6e318fe 100644 --- a/config/GZLJ01/rels/d_a_shand/splits.txt +++ b/config/GZLJ01/rels/d_a_shand/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_ship/splits.txt b/config/GZLJ01/rels/d_a_ship/splits.txt index 003386212..6bbf472c8 100644 --- a/config/GZLJ01/rels/d_a_ship/splits.txt +++ b/config/GZLJ01/rels/d_a_ship/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_shop_item/splits.txt b/config/GZLJ01/rels/d_a_shop_item/splits.txt index 1a803c7af..13499e1f4 100644 --- a/config/GZLJ01/rels/d_a_shop_item/splits.txt +++ b/config/GZLJ01/rels/d_a_shop_item/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_shutter/splits.txt b/config/GZLJ01/rels/d_a_shutter/splits.txt index 67eb0a5fd..dda4d024b 100644 --- a/config/GZLJ01/rels/d_a_shutter/splits.txt +++ b/config/GZLJ01/rels/d_a_shutter/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_shutter2/splits.txt b/config/GZLJ01/rels/d_a_shutter2/splits.txt index ed55be209..06e8a62c6 100644 --- a/config/GZLJ01/rels/d_a_shutter2/splits.txt +++ b/config/GZLJ01/rels/d_a_shutter2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_sie_flag/splits.txt b/config/GZLJ01/rels/d_a_sie_flag/splits.txt index d7aa901f3..b4c270e86 100644 --- a/config/GZLJ01/rels/d_a_sie_flag/splits.txt +++ b/config/GZLJ01/rels/d_a_sie_flag/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_sitem/splits.txt b/config/GZLJ01/rels/d_a_sitem/splits.txt index e38d764b1..d4938cf5c 100644 --- a/config/GZLJ01/rels/d_a_sitem/splits.txt +++ b/config/GZLJ01/rels/d_a_sitem/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_sk/splits.txt b/config/GZLJ01/rels/d_a_sk/splits.txt index 95fc60ab1..15be1e1cf 100644 --- a/config/GZLJ01/rels/d_a_sk/splits.txt +++ b/config/GZLJ01/rels/d_a_sk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_sk2/splits.txt b/config/GZLJ01/rels/d_a_sk2/splits.txt index b96314ee4..ea68e525f 100644 --- a/config/GZLJ01/rels/d_a_sk2/splits.txt +++ b/config/GZLJ01/rels/d_a_sk2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_spotbox/splits.txt b/config/GZLJ01/rels/d_a_spotbox/splits.txt index 98bd808aa..333392152 100644 --- a/config/GZLJ01/rels/d_a_spotbox/splits.txt +++ b/config/GZLJ01/rels/d_a_spotbox/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_ss/splits.txt b/config/GZLJ01/rels/d_a_ss/splits.txt index 7dc36b710..e4a37f51b 100644 --- a/config/GZLJ01/rels/d_a_ss/splits.txt +++ b/config/GZLJ01/rels/d_a_ss/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_ssk/splits.txt b/config/GZLJ01/rels/d_a_ssk/splits.txt index cfcd3f7a4..5fa29cc7c 100644 --- a/config/GZLJ01/rels/d_a_ssk/splits.txt +++ b/config/GZLJ01/rels/d_a_ssk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_sss/splits.txt b/config/GZLJ01/rels/d_a_sss/splits.txt index 2d30ee68c..0e57f5e54 100644 --- a/config/GZLJ01/rels/d_a_sss/splits.txt +++ b/config/GZLJ01/rels/d_a_sss/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_st/splits.txt b/config/GZLJ01/rels/d_a_st/splits.txt index 1ec1e652a..24185b134 100644 --- a/config/GZLJ01/rels/d_a_st/splits.txt +++ b/config/GZLJ01/rels/d_a_st/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_steam_tag/splits.txt b/config/GZLJ01/rels/d_a_steam_tag/splits.txt index b0dbb1041..6a5e7e3f2 100644 --- a/config/GZLJ01/rels/d_a_steam_tag/splits.txt +++ b/config/GZLJ01/rels/d_a_steam_tag/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_stone/splits.txt b/config/GZLJ01/rels/d_a_stone/splits.txt index 61e995bf7..b62812730 100644 --- a/config/GZLJ01/rels/d_a_stone/splits.txt +++ b/config/GZLJ01/rels/d_a_stone/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_stone2/splits.txt b/config/GZLJ01/rels/d_a_stone2/splits.txt index 8f64cb8f3..e0609d161 100644 --- a/config/GZLJ01/rels/d_a_stone2/splits.txt +++ b/config/GZLJ01/rels/d_a_stone2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_swattack/splits.txt b/config/GZLJ01/rels/d_a_swattack/splits.txt index c2aa14292..4ea573bc7 100644 --- a/config/GZLJ01/rels/d_a_swattack/splits.txt +++ b/config/GZLJ01/rels/d_a_swattack/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_swc00/splits.txt b/config/GZLJ01/rels/d_a_swc00/splits.txt index 7ec20623b..722e633ac 100644 --- a/config/GZLJ01/rels/d_a_swc00/splits.txt +++ b/config/GZLJ01/rels/d_a_swc00/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_swhit0/splits.txt b/config/GZLJ01/rels/d_a_swhit0/splits.txt index 326115ba7..22027012a 100644 --- a/config/GZLJ01/rels/d_a_swhit0/splits.txt +++ b/config/GZLJ01/rels/d_a_swhit0/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_switem/splits.txt b/config/GZLJ01/rels/d_a_switem/splits.txt index e066450ee..48ca99f7e 100644 --- a/config/GZLJ01/rels/d_a_switem/splits.txt +++ b/config/GZLJ01/rels/d_a_switem/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_swpropeller/splits.txt b/config/GZLJ01/rels/d_a_swpropeller/splits.txt index 9ff4e5d1e..b75065629 100644 --- a/config/GZLJ01/rels/d_a_swpropeller/splits.txt +++ b/config/GZLJ01/rels/d_a_swpropeller/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_swtact/splits.txt b/config/GZLJ01/rels/d_a_swtact/splits.txt index f2d1e7e89..53509d155 100644 --- a/config/GZLJ01/rels/d_a_swtact/splits.txt +++ b/config/GZLJ01/rels/d_a_swtact/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_swtdoor/splits.txt b/config/GZLJ01/rels/d_a_swtdoor/splits.txt index a0af862fa..bf64e4c6d 100644 --- a/config/GZLJ01/rels/d_a_swtdoor/splits.txt +++ b/config/GZLJ01/rels/d_a_swtdoor/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_syan/splits.txt b/config/GZLJ01/rels/d_a_syan/splits.txt index debc91c38..41ca646ee 100644 --- a/config/GZLJ01/rels/d_a_syan/splits.txt +++ b/config/GZLJ01/rels/d_a_syan/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_tag_attention/splits.txt b/config/GZLJ01/rels/d_a_tag_attention/splits.txt index dbedfae98..ed44af2ea 100644 --- a/config/GZLJ01/rels/d_a_tag_attention/splits.txt +++ b/config/GZLJ01/rels/d_a_tag_attention/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_tag_ba1/splits.txt b/config/GZLJ01/rels/d_a_tag_ba1/splits.txt index 2df05842e..e91bcfec3 100644 --- a/config/GZLJ01/rels/d_a_tag_ba1/splits.txt +++ b/config/GZLJ01/rels/d_a_tag_ba1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_tag_etc/splits.txt b/config/GZLJ01/rels/d_a_tag_etc/splits.txt index 0a075365d..3f5544c38 100644 --- a/config/GZLJ01/rels/d_a_tag_etc/splits.txt +++ b/config/GZLJ01/rels/d_a_tag_etc/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_tag_event/splits.txt b/config/GZLJ01/rels/d_a_tag_event/splits.txt index 411f37521..747d7ab3d 100644 --- a/config/GZLJ01/rels/d_a_tag_event/splits.txt +++ b/config/GZLJ01/rels/d_a_tag_event/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_tag_evsw/splits.txt b/config/GZLJ01/rels/d_a_tag_evsw/splits.txt index 595935f1d..ee538dc7d 100644 --- a/config/GZLJ01/rels/d_a_tag_evsw/splits.txt +++ b/config/GZLJ01/rels/d_a_tag_evsw/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLJ01/rels/d_a_tag_ghostship/splits.txt b/config/GZLJ01/rels/d_a_tag_ghostship/splits.txt index 831d0c883..127ff83d0 100644 --- a/config/GZLJ01/rels/d_a_tag_ghostship/splits.txt +++ b/config/GZLJ01/rels/d_a_tag_ghostship/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_tag_hint/splits.txt b/config/GZLJ01/rels/d_a_tag_hint/splits.txt index 4066e4d66..49ad4ac21 100644 --- a/config/GZLJ01/rels/d_a_tag_hint/splits.txt +++ b/config/GZLJ01/rels/d_a_tag_hint/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_tag_island/splits.txt b/config/GZLJ01/rels/d_a_tag_island/splits.txt index 89d248737..6e503339d 100644 --- a/config/GZLJ01/rels/d_a_tag_island/splits.txt +++ b/config/GZLJ01/rels/d_a_tag_island/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_tag_kb_item/splits.txt b/config/GZLJ01/rels/d_a_tag_kb_item/splits.txt index 48176021c..7bf651c04 100644 --- a/config/GZLJ01/rels/d_a_tag_kb_item/splits.txt +++ b/config/GZLJ01/rels/d_a_tag_kb_item/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLJ01/rels/d_a_tag_kf1/splits.txt b/config/GZLJ01/rels/d_a_tag_kf1/splits.txt index 3aa149339..3747b4b69 100644 --- a/config/GZLJ01/rels/d_a_tag_kf1/splits.txt +++ b/config/GZLJ01/rels/d_a_tag_kf1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_tag_kk1/splits.txt b/config/GZLJ01/rels/d_a_tag_kk1/splits.txt index eba5a5f7c..04659fbf9 100644 --- a/config/GZLJ01/rels/d_a_tag_kk1/splits.txt +++ b/config/GZLJ01/rels/d_a_tag_kk1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_tag_light/splits.txt b/config/GZLJ01/rels/d_a_tag_light/splits.txt index bc6793958..cfc2f6beb 100644 --- a/config/GZLJ01/rels/d_a_tag_light/splits.txt +++ b/config/GZLJ01/rels/d_a_tag_light/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_tag_md_cb/splits.txt b/config/GZLJ01/rels/d_a_tag_md_cb/splits.txt index a1bd3efc1..cdb738901 100644 --- a/config/GZLJ01/rels/d_a_tag_md_cb/splits.txt +++ b/config/GZLJ01/rels/d_a_tag_md_cb/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_tag_mk/splits.txt b/config/GZLJ01/rels/d_a_tag_mk/splits.txt index eeafc56e2..db06c888b 100644 --- a/config/GZLJ01/rels/d_a_tag_mk/splits.txt +++ b/config/GZLJ01/rels/d_a_tag_mk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_tag_msg/splits.txt b/config/GZLJ01/rels/d_a_tag_msg/splits.txt index 4858ddedc..b07192406 100644 --- a/config/GZLJ01/rels/d_a_tag_msg/splits.txt +++ b/config/GZLJ01/rels/d_a_tag_msg/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_tag_photo/splits.txt b/config/GZLJ01/rels/d_a_tag_photo/splits.txt index 8690a7453..ace17f65c 100644 --- a/config/GZLJ01/rels/d_a_tag_photo/splits.txt +++ b/config/GZLJ01/rels/d_a_tag_photo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_tag_ret/splits.txt b/config/GZLJ01/rels/d_a_tag_ret/splits.txt index 1bec23c08..56e90a865 100644 --- a/config/GZLJ01/rels/d_a_tag_ret/splits.txt +++ b/config/GZLJ01/rels/d_a_tag_ret/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_tag_so/splits.txt b/config/GZLJ01/rels/d_a_tag_so/splits.txt index 7e3b45494..6ebc9a084 100644 --- a/config/GZLJ01/rels/d_a_tag_so/splits.txt +++ b/config/GZLJ01/rels/d_a_tag_so/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_tag_volcano/splits.txt b/config/GZLJ01/rels/d_a_tag_volcano/splits.txt index ea418ba12..ac24d29bc 100644 --- a/config/GZLJ01/rels/d_a_tag_volcano/splits.txt +++ b/config/GZLJ01/rels/d_a_tag_volcano/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_tag_waterlevel/splits.txt b/config/GZLJ01/rels/d_a_tag_waterlevel/splits.txt index 7687a0330..60a50339f 100644 --- a/config/GZLJ01/rels/d_a_tag_waterlevel/splits.txt +++ b/config/GZLJ01/rels/d_a_tag_waterlevel/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_tama/splits.txt b/config/GZLJ01/rels/d_a_tama/splits.txt index b8d8e35c6..d72a81b7b 100644 --- a/config/GZLJ01/rels/d_a_tama/splits.txt +++ b/config/GZLJ01/rels/d_a_tama/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_tbox/splits.txt b/config/GZLJ01/rels/d_a_tbox/splits.txt index 1ffb792f5..e8d0386f9 100644 --- a/config/GZLJ01/rels/d_a_tbox/splits.txt +++ b/config/GZLJ01/rels/d_a_tbox/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_title/splits.txt b/config/GZLJ01/rels/d_a_title/splits.txt index 63a452cc7..d65a8676f 100644 --- a/config/GZLJ01/rels/d_a_title/splits.txt +++ b/config/GZLJ01/rels/d_a_title/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_tn/splits.txt b/config/GZLJ01/rels/d_a_tn/splits.txt index 8cead5def..a54bdfcd5 100644 --- a/config/GZLJ01/rels/d_a_tn/splits.txt +++ b/config/GZLJ01/rels/d_a_tn/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_toge/splits.txt b/config/GZLJ01/rels/d_a_toge/splits.txt index 10d5a187a..fac2071dd 100644 --- a/config/GZLJ01/rels/d_a_toge/splits.txt +++ b/config/GZLJ01/rels/d_a_toge/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_tori_flag/splits.txt b/config/GZLJ01/rels/d_a_tori_flag/splits.txt index 4fcbd838e..cb2fbee94 100644 --- a/config/GZLJ01/rels/d_a_tori_flag/splits.txt +++ b/config/GZLJ01/rels/d_a_tori_flag/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_tornado/splits.txt b/config/GZLJ01/rels/d_a_tornado/splits.txt index 1e0669b6c..74ac8cc0a 100644 --- a/config/GZLJ01/rels/d_a_tornado/splits.txt +++ b/config/GZLJ01/rels/d_a_tornado/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_tpota/splits.txt b/config/GZLJ01/rels/d_a_tpota/splits.txt index fb7b612e1..d07844f9b 100644 --- a/config/GZLJ01/rels/d_a_tpota/splits.txt +++ b/config/GZLJ01/rels/d_a_tpota/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_tsubo/splits.txt b/config/GZLJ01/rels/d_a_tsubo/splits.txt index 8df37ed42..c574b1a44 100644 --- a/config/GZLJ01/rels/d_a_tsubo/splits.txt +++ b/config/GZLJ01/rels/d_a_tsubo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_wall/splits.txt b/config/GZLJ01/rels/d_a_wall/splits.txt index 28e425e40..e6ca0e9a2 100644 --- a/config/GZLJ01/rels/d_a_wall/splits.txt +++ b/config/GZLJ01/rels/d_a_wall/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_warpdm20/splits.txt b/config/GZLJ01/rels/d_a_warpdm20/splits.txt index b62033777..8b6039bdc 100644 --- a/config/GZLJ01/rels/d_a_warpdm20/splits.txt +++ b/config/GZLJ01/rels/d_a_warpdm20/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_warpf/splits.txt b/config/GZLJ01/rels/d_a_warpf/splits.txt index 3ad65e7c9..00cd27f11 100644 --- a/config/GZLJ01/rels/d_a_warpf/splits.txt +++ b/config/GZLJ01/rels/d_a_warpf/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_warpfout/splits.txt b/config/GZLJ01/rels/d_a_warpfout/splits.txt index f81a22996..707285ca7 100644 --- a/config/GZLJ01/rels/d_a_warpfout/splits.txt +++ b/config/GZLJ01/rels/d_a_warpfout/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_warpgn/splits.txt b/config/GZLJ01/rels/d_a_warpgn/splits.txt index 169c1b079..1eaf2677c 100644 --- a/config/GZLJ01/rels/d_a_warpgn/splits.txt +++ b/config/GZLJ01/rels/d_a_warpgn/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_warphr/splits.txt b/config/GZLJ01/rels/d_a_warphr/splits.txt index 15bfa8b79..5dd927f9b 100644 --- a/config/GZLJ01/rels/d_a_warphr/splits.txt +++ b/config/GZLJ01/rels/d_a_warphr/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_warpls/splits.txt b/config/GZLJ01/rels/d_a_warpls/splits.txt index 33d5bd744..ecd7c0e52 100644 --- a/config/GZLJ01/rels/d_a_warpls/splits.txt +++ b/config/GZLJ01/rels/d_a_warpls/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_warpmj/splits.txt b/config/GZLJ01/rels/d_a_warpmj/splits.txt index 64799112f..e1e35eea6 100644 --- a/config/GZLJ01/rels/d_a_warpmj/splits.txt +++ b/config/GZLJ01/rels/d_a_warpmj/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_waterfall/splits.txt b/config/GZLJ01/rels/d_a_waterfall/splits.txt index 7291a9d98..9fa7b3d8e 100644 --- a/config/GZLJ01/rels/d_a_waterfall/splits.txt +++ b/config/GZLJ01/rels/d_a_waterfall/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_wbird/splits.txt b/config/GZLJ01/rels/d_a_wbird/splits.txt index 68f4b40a9..e285d74d5 100644 --- a/config/GZLJ01/rels/d_a_wbird/splits.txt +++ b/config/GZLJ01/rels/d_a_wbird/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_wind_tag/splits.txt b/config/GZLJ01/rels/d_a_wind_tag/splits.txt index 8d35ac8ea..1028c5920 100644 --- a/config/GZLJ01/rels/d_a_wind_tag/splits.txt +++ b/config/GZLJ01/rels/d_a_wind_tag/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_windmill/splits.txt b/config/GZLJ01/rels/d_a_windmill/splits.txt index cafe8ee36..b6ba72edc 100644 --- a/config/GZLJ01/rels/d_a_windmill/splits.txt +++ b/config/GZLJ01/rels/d_a_windmill/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_wz/splits.txt b/config/GZLJ01/rels/d_a_wz/splits.txt index 475a5612c..8276e6822 100644 --- a/config/GZLJ01/rels/d_a_wz/splits.txt +++ b/config/GZLJ01/rels/d_a_wz/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_ygcwp/splits.txt b/config/GZLJ01/rels/d_a_ygcwp/splits.txt index 98f7ccfa9..bd9bba315 100644 --- a/config/GZLJ01/rels/d_a_ygcwp/splits.txt +++ b/config/GZLJ01/rels/d_a_ygcwp/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLJ01/rels/d_a_ykgr/splits.txt b/config/GZLJ01/rels/d_a_ykgr/splits.txt index 5e9300059..9385ceab8 100644 --- a/config/GZLJ01/rels/d_a_ykgr/splits.txt +++ b/config/GZLJ01/rels/d_a_ykgr/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/d_a_yougan/splits.txt b/config/GZLJ01/rels/d_a_yougan/splits.txt index 9b1824411..aad239a0e 100644 --- a/config/GZLJ01/rels/d_a_yougan/splits.txt +++ b/config/GZLJ01/rels/d_a_yougan/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLJ01/rels/f_pc_profile_lst/splits.txt b/config/GZLJ01/rels/f_pc_profile_lst/splits.txt index fe345e049..f7a3ab343 100644 --- a/config/GZLJ01/rels/f_pc_profile_lst/splits.txt +++ b/config/GZLJ01/rels/f_pc_profile_lst/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLP01/rels/d_a_acorn_leaf/splits.txt b/config/GZLP01/rels/d_a_acorn_leaf/splits.txt index 1d18af3a5..0fa1b5691 100644 --- a/config/GZLP01/rels/d_a_acorn_leaf/splits.txt +++ b/config/GZLP01/rels/d_a_acorn_leaf/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_agbsw0/splits.txt b/config/GZLP01/rels/d_a_agbsw0/splits.txt index 354cf57f8..76f8f898d 100644 --- a/config/GZLP01/rels/d_a_agbsw0/splits.txt +++ b/config/GZLP01/rels/d_a_agbsw0/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_alldie/splits.txt b/config/GZLP01/rels/d_a_alldie/splits.txt index 3cfa7a3bd..1677f4cf9 100644 --- a/config/GZLP01/rels/d_a_alldie/splits.txt +++ b/config/GZLP01/rels/d_a_alldie/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLP01/rels/d_a_am/splits.txt b/config/GZLP01/rels/d_a_am/splits.txt index d8dadb8c4..57487a6ac 100644 --- a/config/GZLP01/rels/d_a_am/splits.txt +++ b/config/GZLP01/rels/d_a_am/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_am2/splits.txt b/config/GZLP01/rels/d_a_am2/splits.txt index fa230f6bc..025546434 100644 --- a/config/GZLP01/rels/d_a_am2/splits.txt +++ b/config/GZLP01/rels/d_a_am2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_amiprop/splits.txt b/config/GZLP01/rels/d_a_amiprop/splits.txt index 76ad82996..fd282e898 100644 --- a/config/GZLP01/rels/d_a_amiprop/splits.txt +++ b/config/GZLP01/rels/d_a_amiprop/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_andsw0/splits.txt b/config/GZLP01/rels/d_a_andsw0/splits.txt index 0dd7c47a5..4cd7a5126 100644 --- a/config/GZLP01/rels/d_a_andsw0/splits.txt +++ b/config/GZLP01/rels/d_a_andsw0/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 .bss type:bss align:8 diff --git a/config/GZLP01/rels/d_a_andsw2/splits.txt b/config/GZLP01/rels/d_a_andsw2/splits.txt index 9593e49c4..547161824 100644 --- a/config/GZLP01/rels/d_a_andsw2/splits.txt +++ b/config/GZLP01/rels/d_a_andsw2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLP01/rels/d_a_arrow_iceeff/splits.txt b/config/GZLP01/rels/d_a_arrow_iceeff/splits.txt index 12d92360a..ef0c753f7 100644 --- a/config/GZLP01/rels/d_a_arrow_iceeff/splits.txt +++ b/config/GZLP01/rels/d_a_arrow_iceeff/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_arrow_lighteff/splits.txt b/config/GZLP01/rels/d_a_arrow_lighteff/splits.txt index fb141a390..3b1db449c 100644 --- a/config/GZLP01/rels/d_a_arrow_lighteff/splits.txt +++ b/config/GZLP01/rels/d_a_arrow_lighteff/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_atdoor/splits.txt b/config/GZLP01/rels/d_a_atdoor/splits.txt index d88c39dde..92f9e2fbc 100644 --- a/config/GZLP01/rels/d_a_atdoor/splits.txt +++ b/config/GZLP01/rels/d_a_atdoor/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_att/splits.txt b/config/GZLP01/rels/d_a_att/splits.txt index 5c6ce41a7..9463f40c6 100644 --- a/config/GZLP01/rels/d_a_att/splits.txt +++ b/config/GZLP01/rels/d_a_att/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_auction/splits.txt b/config/GZLP01/rels/d_a_auction/splits.txt index a851efd64..1f5db9b35 100644 --- a/config/GZLP01/rels/d_a_auction/splits.txt +++ b/config/GZLP01/rels/d_a_auction/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_bb/splits.txt b/config/GZLP01/rels/d_a_bb/splits.txt index 7a103aec5..163883a80 100644 --- a/config/GZLP01/rels/d_a_bb/splits.txt +++ b/config/GZLP01/rels/d_a_bb/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_bdk/splits.txt b/config/GZLP01/rels/d_a_bdk/splits.txt index 4bbdc5f0a..08e046819 100644 --- a/config/GZLP01/rels/d_a_bdk/splits.txt +++ b/config/GZLP01/rels/d_a_bdk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_bdkobj/splits.txt b/config/GZLP01/rels/d_a_bdkobj/splits.txt index fb6d66968..a61b5e50c 100644 --- a/config/GZLP01/rels/d_a_bdkobj/splits.txt +++ b/config/GZLP01/rels/d_a_bdkobj/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_beam/splits.txt b/config/GZLP01/rels/d_a_beam/splits.txt index da5972ae9..ee15ef8b2 100644 --- a/config/GZLP01/rels/d_a_beam/splits.txt +++ b/config/GZLP01/rels/d_a_beam/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_bflower/splits.txt b/config/GZLP01/rels/d_a_bflower/splits.txt index 4158be282..ddcd1cc6c 100644 --- a/config/GZLP01/rels/d_a_bflower/splits.txt +++ b/config/GZLP01/rels/d_a_bflower/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_bgn/splits.txt b/config/GZLP01/rels/d_a_bgn/splits.txt index 80bd891d2..0feb897eb 100644 --- a/config/GZLP01/rels/d_a_bgn/splits.txt +++ b/config/GZLP01/rels/d_a_bgn/splits.txt @@ -1,8 +1,8 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 + .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/GZLP01/rels/d_a_bgn2/splits.txt b/config/GZLP01/rels/d_a_bgn2/splits.txt index b2d2c81a8..502ee971f 100644 --- a/config/GZLP01/rels/d_a_bgn2/splits.txt +++ b/config/GZLP01/rels/d_a_bgn2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_bgn3/splits.txt b/config/GZLP01/rels/d_a_bgn3/splits.txt index 5cfdcb3fd..df4f9d4ce 100644 --- a/config/GZLP01/rels/d_a_bgn3/splits.txt +++ b/config/GZLP01/rels/d_a_bgn3/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_bigelf/splits.txt b/config/GZLP01/rels/d_a_bigelf/splits.txt index fc894fc12..de1308ba7 100644 --- a/config/GZLP01/rels/d_a_bigelf/splits.txt +++ b/config/GZLP01/rels/d_a_bigelf/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_bita/splits.txt b/config/GZLP01/rels/d_a_bita/splits.txt index 656983502..fc1dcc5a8 100644 --- a/config/GZLP01/rels/d_a_bita/splits.txt +++ b/config/GZLP01/rels/d_a_bita/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_bk/splits.txt b/config/GZLP01/rels/d_a_bk/splits.txt index 13760ee09..b352a0c16 100644 --- a/config/GZLP01/rels/d_a_bk/splits.txt +++ b/config/GZLP01/rels/d_a_bk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_bl/splits.txt b/config/GZLP01/rels/d_a_bl/splits.txt index 043633f10..0427f1563 100644 --- a/config/GZLP01/rels/d_a_bl/splits.txt +++ b/config/GZLP01/rels/d_a_bl/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_bmd/splits.txt b/config/GZLP01/rels/d_a_bmd/splits.txt index 90c376d94..fe736e2a1 100644 --- a/config/GZLP01/rels/d_a_bmd/splits.txt +++ b/config/GZLP01/rels/d_a_bmd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_bmdfoot/splits.txt b/config/GZLP01/rels/d_a_bmdfoot/splits.txt index 9bdae524a..a29a01cf2 100644 --- a/config/GZLP01/rels/d_a_bmdfoot/splits.txt +++ b/config/GZLP01/rels/d_a_bmdfoot/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_bmdhand/splits.txt b/config/GZLP01/rels/d_a_bmdhand/splits.txt index c926ff53b..ea91df5d8 100644 --- a/config/GZLP01/rels/d_a_bmdhand/splits.txt +++ b/config/GZLP01/rels/d_a_bmdhand/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_bo/splits.txt b/config/GZLP01/rels/d_a_bo/splits.txt index f0b071eb5..5091a9693 100644 --- a/config/GZLP01/rels/d_a_bo/splits.txt +++ b/config/GZLP01/rels/d_a_bo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_boko/splits.txt b/config/GZLP01/rels/d_a_boko/splits.txt index d364bbd51..5ddc36ff9 100644 --- a/config/GZLP01/rels/d_a_boko/splits.txt +++ b/config/GZLP01/rels/d_a_boko/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_boss_item/splits.txt b/config/GZLP01/rels/d_a_boss_item/splits.txt index 18e049a42..9af000cdb 100644 --- a/config/GZLP01/rels/d_a_boss_item/splits.txt +++ b/config/GZLP01/rels/d_a_boss_item/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLP01/rels/d_a_bpw/splits.txt b/config/GZLP01/rels/d_a_bpw/splits.txt index 52f64b3f1..d9a11d3bf 100644 --- a/config/GZLP01/rels/d_a_bpw/splits.txt +++ b/config/GZLP01/rels/d_a_bpw/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_branch/splits.txt b/config/GZLP01/rels/d_a_branch/splits.txt index 3686cfc37..1707237a0 100644 --- a/config/GZLP01/rels/d_a_branch/splits.txt +++ b/config/GZLP01/rels/d_a_branch/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_bridge/splits.txt b/config/GZLP01/rels/d_a_bridge/splits.txt index 48e3c010d..30ce564f7 100644 --- a/config/GZLP01/rels/d_a_bridge/splits.txt +++ b/config/GZLP01/rels/d_a_bridge/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_bst/splits.txt b/config/GZLP01/rels/d_a_bst/splits.txt index 255f42768..dd2e68381 100644 --- a/config/GZLP01/rels/d_a_bst/splits.txt +++ b/config/GZLP01/rels/d_a_bst/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_btd/splits.txt b/config/GZLP01/rels/d_a_btd/splits.txt index d69a969a4..e6bb840b8 100644 --- a/config/GZLP01/rels/d_a_btd/splits.txt +++ b/config/GZLP01/rels/d_a_btd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_bwd/splits.txt b/config/GZLP01/rels/d_a_bwd/splits.txt index 1fe4db19c..d74b27c2a 100644 --- a/config/GZLP01/rels/d_a_bwd/splits.txt +++ b/config/GZLP01/rels/d_a_bwd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_bwdg/splits.txt b/config/GZLP01/rels/d_a_bwdg/splits.txt index 53c1b95c2..ea27c78f3 100644 --- a/config/GZLP01/rels/d_a_bwdg/splits.txt +++ b/config/GZLP01/rels/d_a_bwdg/splits.txt @@ -1,8 +1,8 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 + .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/GZLP01/rels/d_a_bwds/splits.txt b/config/GZLP01/rels/d_a_bwds/splits.txt index 332faac1b..51d1aee6b 100644 --- a/config/GZLP01/rels/d_a_bwds/splits.txt +++ b/config/GZLP01/rels/d_a_bwds/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_canon/splits.txt b/config/GZLP01/rels/d_a_canon/splits.txt index e1b5f5519..9110f7ec4 100644 --- a/config/GZLP01/rels/d_a_canon/splits.txt +++ b/config/GZLP01/rels/d_a_canon/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_cc/splits.txt b/config/GZLP01/rels/d_a_cc/splits.txt index f4f586567..2a3afbe4e 100644 --- a/config/GZLP01/rels/d_a_cc/splits.txt +++ b/config/GZLP01/rels/d_a_cc/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_coming2/splits.txt b/config/GZLP01/rels/d_a_coming2/splits.txt index fccff2b8b..b74447baa 100644 --- a/config/GZLP01/rels/d_a_coming2/splits.txt +++ b/config/GZLP01/rels/d_a_coming2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_coming3/splits.txt b/config/GZLP01/rels/d_a_coming3/splits.txt index c95427707..ccad4c2cc 100644 --- a/config/GZLP01/rels/d_a_coming3/splits.txt +++ b/config/GZLP01/rels/d_a_coming3/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_dai/splits.txt b/config/GZLP01/rels/d_a_dai/splits.txt index c1fc7f466..9dbae8dd3 100644 --- a/config/GZLP01/rels/d_a_dai/splits.txt +++ b/config/GZLP01/rels/d_a_dai/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_daiocta/splits.txt b/config/GZLP01/rels/d_a_daiocta/splits.txt index cb2e28dfa..b8bc6f596 100644 --- a/config/GZLP01/rels/d_a_daiocta/splits.txt +++ b/config/GZLP01/rels/d_a_daiocta/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_daiocta_eye/splits.txt b/config/GZLP01/rels/d_a_daiocta_eye/splits.txt index 90f439398..886231307 100644 --- a/config/GZLP01/rels/d_a_daiocta_eye/splits.txt +++ b/config/GZLP01/rels/d_a_daiocta_eye/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_deku_item/splits.txt b/config/GZLP01/rels/d_a_deku_item/splits.txt index 21cef648a..cb293a50e 100644 --- a/config/GZLP01/rels/d_a_deku_item/splits.txt +++ b/config/GZLP01/rels/d_a_deku_item/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_demo_dk/splits.txt b/config/GZLP01/rels/d_a_demo_dk/splits.txt index 7878a9d66..7d719ddfc 100644 --- a/config/GZLP01/rels/d_a_demo_dk/splits.txt +++ b/config/GZLP01/rels/d_a_demo_dk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_demo_item/splits.txt b/config/GZLP01/rels/d_a_demo_item/splits.txt index a6ddbba1d..f2b08c207 100644 --- a/config/GZLP01/rels/d_a_demo_item/splits.txt +++ b/config/GZLP01/rels/d_a_demo_item/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_demo_kmm/splits.txt b/config/GZLP01/rels/d_a_demo_kmm/splits.txt index e0cbd8ac4..7d70d0dfb 100644 --- a/config/GZLP01/rels/d_a_demo_kmm/splits.txt +++ b/config/GZLP01/rels/d_a_demo_kmm/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_dk/splits.txt b/config/GZLP01/rels/d_a_dk/splits.txt index a10349ede..7c3052599 100644 --- a/config/GZLP01/rels/d_a_dk/splits.txt +++ b/config/GZLP01/rels/d_a_dk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_door10/splits.txt b/config/GZLP01/rels/d_a_door10/splits.txt index 6c9796b6f..629cbf34e 100644 --- a/config/GZLP01/rels/d_a_door10/splits.txt +++ b/config/GZLP01/rels/d_a_door10/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_door12/splits.txt b/config/GZLP01/rels/d_a_door12/splits.txt index eb09f71b3..3f81b18cc 100644 --- a/config/GZLP01/rels/d_a_door12/splits.txt +++ b/config/GZLP01/rels/d_a_door12/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_dr/splits.txt b/config/GZLP01/rels/d_a_dr/splits.txt index d613c30e1..a06cd5444 100644 --- a/config/GZLP01/rels/d_a_dr/splits.txt +++ b/config/GZLP01/rels/d_a_dr/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_dr2/splits.txt b/config/GZLP01/rels/d_a_dr2/splits.txt index 6c71d9e87..9318ae26d 100644 --- a/config/GZLP01/rels/d_a_dr2/splits.txt +++ b/config/GZLP01/rels/d_a_dr2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_dummy/splits.txt b/config/GZLP01/rels/d_a_dummy/splits.txt index 6dfe25c59..1b2bc8096 100644 --- a/config/GZLP01/rels/d_a_dummy/splits.txt +++ b/config/GZLP01/rels/d_a_dummy/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_ep/splits.txt b/config/GZLP01/rels/d_a_ep/splits.txt index 9c776c500..ba6238660 100644 --- a/config/GZLP01/rels/d_a_ep/splits.txt +++ b/config/GZLP01/rels/d_a_ep/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_fallrock/splits.txt b/config/GZLP01/rels/d_a_fallrock/splits.txt index 004ddcd95..ea5bd9bcf 100644 --- a/config/GZLP01/rels/d_a_fallrock/splits.txt +++ b/config/GZLP01/rels/d_a_fallrock/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_fallrock_tag/splits.txt b/config/GZLP01/rels/d_a_fallrock_tag/splits.txt index 1112d31f1..dfa4995eb 100644 --- a/config/GZLP01/rels/d_a_fallrock_tag/splits.txt +++ b/config/GZLP01/rels/d_a_fallrock_tag/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_fan/splits.txt b/config/GZLP01/rels/d_a_fan/splits.txt index 07b1b47b4..c11f0d094 100644 --- a/config/GZLP01/rels/d_a_fan/splits.txt +++ b/config/GZLP01/rels/d_a_fan/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_ff/splits.txt b/config/GZLP01/rels/d_a_ff/splits.txt index 81eb9f51b..452087040 100644 --- a/config/GZLP01/rels/d_a_ff/splits.txt +++ b/config/GZLP01/rels/d_a_ff/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_fganon/splits.txt b/config/GZLP01/rels/d_a_fganon/splits.txt index 9ff101b81..ed2e8fa2f 100644 --- a/config/GZLP01/rels/d_a_fganon/splits.txt +++ b/config/GZLP01/rels/d_a_fganon/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_fgmahou/splits.txt b/config/GZLP01/rels/d_a_fgmahou/splits.txt index c6e18da2e..affabdc67 100644 --- a/config/GZLP01/rels/d_a_fgmahou/splits.txt +++ b/config/GZLP01/rels/d_a_fgmahou/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_fire/splits.txt b/config/GZLP01/rels/d_a_fire/splits.txt index 776da7772..35d2897cb 100644 --- a/config/GZLP01/rels/d_a_fire/splits.txt +++ b/config/GZLP01/rels/d_a_fire/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_floor/splits.txt b/config/GZLP01/rels/d_a_floor/splits.txt index c20497c1c..de5ced63f 100644 --- a/config/GZLP01/rels/d_a_floor/splits.txt +++ b/config/GZLP01/rels/d_a_floor/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_fm/splits.txt b/config/GZLP01/rels/d_a_fm/splits.txt index 00d93d476..a38cdfcd1 100644 --- a/config/GZLP01/rels/d_a_fm/splits.txt +++ b/config/GZLP01/rels/d_a_fm/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_ghostship/splits.txt b/config/GZLP01/rels/d_a_ghostship/splits.txt index 504df73c7..937617446 100644 --- a/config/GZLP01/rels/d_a_ghostship/splits.txt +++ b/config/GZLP01/rels/d_a_ghostship/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_gm/splits.txt b/config/GZLP01/rels/d_a_gm/splits.txt index 442626ce1..958bc4be2 100644 --- a/config/GZLP01/rels/d_a_gm/splits.txt +++ b/config/GZLP01/rels/d_a_gm/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_gnd/splits.txt b/config/GZLP01/rels/d_a_gnd/splits.txt index ea343877e..b646fd600 100644 --- a/config/GZLP01/rels/d_a_gnd/splits.txt +++ b/config/GZLP01/rels/d_a_gnd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_goal_flag/splits.txt b/config/GZLP01/rels/d_a_goal_flag/splits.txt index d5a613b13..f9436f7df 100644 --- a/config/GZLP01/rels/d_a_goal_flag/splits.txt +++ b/config/GZLP01/rels/d_a_goal_flag/splits.txt @@ -1,8 +1,8 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 + .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/GZLP01/rels/d_a_grass/splits.txt b/config/GZLP01/rels/d_a_grass/splits.txt index 8d8ed6efd..a84ff5f59 100644 --- a/config/GZLP01/rels/d_a_grass/splits.txt +++ b/config/GZLP01/rels/d_a_grass/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_gy/splits.txt b/config/GZLP01/rels/d_a_gy/splits.txt index a0dae9c8c..97760ebb6 100644 --- a/config/GZLP01/rels/d_a_gy/splits.txt +++ b/config/GZLP01/rels/d_a_gy/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_gy_ctrl/splits.txt b/config/GZLP01/rels/d_a_gy_ctrl/splits.txt index ca5ed0002..61e73a457 100644 --- a/config/GZLP01/rels/d_a_gy_ctrl/splits.txt +++ b/config/GZLP01/rels/d_a_gy_ctrl/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_himo3/splits.txt b/config/GZLP01/rels/d_a_himo3/splits.txt index b95e816bc..c19eb9fd4 100644 --- a/config/GZLP01/rels/d_a_himo3/splits.txt +++ b/config/GZLP01/rels/d_a_himo3/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_hitobj/splits.txt b/config/GZLP01/rels/d_a_hitobj/splits.txt index 2af55756d..fa0b85942 100644 --- a/config/GZLP01/rels/d_a_hitobj/splits.txt +++ b/config/GZLP01/rels/d_a_hitobj/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_hmlif/splits.txt b/config/GZLP01/rels/d_a_hmlif/splits.txt index 5bc99e414..6a27e81ac 100644 --- a/config/GZLP01/rels/d_a_hmlif/splits.txt +++ b/config/GZLP01/rels/d_a_hmlif/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_hot_floor/splits.txt b/config/GZLP01/rels/d_a_hot_floor/splits.txt index 83ddba52f..caff037c4 100644 --- a/config/GZLP01/rels/d_a_hot_floor/splits.txt +++ b/config/GZLP01/rels/d_a_hot_floor/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_hys/splits.txt b/config/GZLP01/rels/d_a_hys/splits.txt index 6dc33c0c6..a02760f15 100644 --- a/config/GZLP01/rels/d_a_hys/splits.txt +++ b/config/GZLP01/rels/d_a_hys/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_icelift/splits.txt b/config/GZLP01/rels/d_a_icelift/splits.txt index 0debd5fc1..5112fd0a7 100644 --- a/config/GZLP01/rels/d_a_icelift/splits.txt +++ b/config/GZLP01/rels/d_a_icelift/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_ikari/splits.txt b/config/GZLP01/rels/d_a_ikari/splits.txt index 9b034f622..d730476a2 100644 --- a/config/GZLP01/rels/d_a_ikari/splits.txt +++ b/config/GZLP01/rels/d_a_ikari/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_jbo/splits.txt b/config/GZLP01/rels/d_a_jbo/splits.txt index 2241803d7..805ea4d0f 100644 --- a/config/GZLP01/rels/d_a_jbo/splits.txt +++ b/config/GZLP01/rels/d_a_jbo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_kaji/splits.txt b/config/GZLP01/rels/d_a_kaji/splits.txt index f0956698a..f2dd81e97 100644 --- a/config/GZLP01/rels/d_a_kaji/splits.txt +++ b/config/GZLP01/rels/d_a_kaji/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_kamome/splits.txt b/config/GZLP01/rels/d_a_kamome/splits.txt index 077b0187a..7e924771d 100644 --- a/config/GZLP01/rels/d_a_kamome/splits.txt +++ b/config/GZLP01/rels/d_a_kamome/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_kanban/splits.txt b/config/GZLP01/rels/d_a_kanban/splits.txt index fc65cd548..41260821a 100644 --- a/config/GZLP01/rels/d_a_kanban/splits.txt +++ b/config/GZLP01/rels/d_a_kanban/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_kantera/splits.txt b/config/GZLP01/rels/d_a_kantera/splits.txt index 4fcf96a54..3d26146ef 100644 --- a/config/GZLP01/rels/d_a_kantera/splits.txt +++ b/config/GZLP01/rels/d_a_kantera/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_kb/splits.txt b/config/GZLP01/rels/d_a_kb/splits.txt index b2cf5c42e..c3815c68c 100644 --- a/config/GZLP01/rels/d_a_kb/splits.txt +++ b/config/GZLP01/rels/d_a_kb/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_kddoor/splits.txt b/config/GZLP01/rels/d_a_kddoor/splits.txt index 4950175f3..2604fcbdb 100644 --- a/config/GZLP01/rels/d_a_kddoor/splits.txt +++ b/config/GZLP01/rels/d_a_kddoor/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_ki/splits.txt b/config/GZLP01/rels/d_a_ki/splits.txt index 4d28674c4..783a7517d 100644 --- a/config/GZLP01/rels/d_a_ki/splits.txt +++ b/config/GZLP01/rels/d_a_ki/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_kita/splits.txt b/config/GZLP01/rels/d_a_kita/splits.txt index daa908242..118c0fe57 100644 --- a/config/GZLP01/rels/d_a_kita/splits.txt +++ b/config/GZLP01/rels/d_a_kita/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_klft/splits.txt b/config/GZLP01/rels/d_a_klft/splits.txt index ae839a5d1..826d4601c 100644 --- a/config/GZLP01/rels/d_a_klft/splits.txt +++ b/config/GZLP01/rels/d_a_klft/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_kmon/splits.txt b/config/GZLP01/rels/d_a_kmon/splits.txt index bcdbd00b2..ba8f5cb98 100644 --- a/config/GZLP01/rels/d_a_kmon/splits.txt +++ b/config/GZLP01/rels/d_a_kmon/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_kn/splits.txt b/config/GZLP01/rels/d_a_kn/splits.txt index b93937753..cb8bfed1d 100644 --- a/config/GZLP01/rels/d_a_kn/splits.txt +++ b/config/GZLP01/rels/d_a_kn/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_knob00/splits.txt b/config/GZLP01/rels/d_a_knob00/splits.txt index a5964230f..b0e739ba0 100644 --- a/config/GZLP01/rels/d_a_knob00/splits.txt +++ b/config/GZLP01/rels/d_a_knob00/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_kokiie/splits.txt b/config/GZLP01/rels/d_a_kokiie/splits.txt index 484db5faf..06c090d8f 100644 --- a/config/GZLP01/rels/d_a_kokiie/splits.txt +++ b/config/GZLP01/rels/d_a_kokiie/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_komore/splits.txt b/config/GZLP01/rels/d_a_komore/splits.txt index cccec59fe..0df890c21 100644 --- a/config/GZLP01/rels/d_a_komore/splits.txt +++ b/config/GZLP01/rels/d_a_komore/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_ks/splits.txt b/config/GZLP01/rels/d_a_ks/splits.txt index b45e7ba65..ed777d9de 100644 --- a/config/GZLP01/rels/d_a_ks/splits.txt +++ b/config/GZLP01/rels/d_a_ks/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_kt/splits.txt b/config/GZLP01/rels/d_a_kt/splits.txt index 425cf3a65..010e341b9 100644 --- a/config/GZLP01/rels/d_a_kt/splits.txt +++ b/config/GZLP01/rels/d_a_kt/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_kui/splits.txt b/config/GZLP01/rels/d_a_kui/splits.txt index 97f088dfe..47d6e168d 100644 --- a/config/GZLP01/rels/d_a_kui/splits.txt +++ b/config/GZLP01/rels/d_a_kui/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_kytag00/splits.txt b/config/GZLP01/rels/d_a_kytag00/splits.txt index 596dbfed6..c90ccd23a 100644 --- a/config/GZLP01/rels/d_a_kytag00/splits.txt +++ b/config/GZLP01/rels/d_a_kytag00/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_kytag01/splits.txt b/config/GZLP01/rels/d_a_kytag01/splits.txt index 72626a038..9fb4e6650 100644 --- a/config/GZLP01/rels/d_a_kytag01/splits.txt +++ b/config/GZLP01/rels/d_a_kytag01/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_kytag02/splits.txt b/config/GZLP01/rels/d_a_kytag02/splits.txt index b04c749f5..e4a390c9d 100644 --- a/config/GZLP01/rels/d_a_kytag02/splits.txt +++ b/config/GZLP01/rels/d_a_kytag02/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_kytag03/splits.txt b/config/GZLP01/rels/d_a_kytag03/splits.txt index 7319c988b..a032d4bd1 100644 --- a/config/GZLP01/rels/d_a_kytag03/splits.txt +++ b/config/GZLP01/rels/d_a_kytag03/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_kytag04/splits.txt b/config/GZLP01/rels/d_a_kytag04/splits.txt index 3b6600a69..46631918f 100644 --- a/config/GZLP01/rels/d_a_kytag04/splits.txt +++ b/config/GZLP01/rels/d_a_kytag04/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_kytag05/splits.txt b/config/GZLP01/rels/d_a_kytag05/splits.txt index 40d0c0585..fa105210f 100644 --- a/config/GZLP01/rels/d_a_kytag05/splits.txt +++ b/config/GZLP01/rels/d_a_kytag05/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_kytag06/splits.txt b/config/GZLP01/rels/d_a_kytag06/splits.txt index 68d4fa57d..b83bbde38 100644 --- a/config/GZLP01/rels/d_a_kytag06/splits.txt +++ b/config/GZLP01/rels/d_a_kytag06/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_kytag07/splits.txt b/config/GZLP01/rels/d_a_kytag07/splits.txt index 22316d133..73f6df091 100644 --- a/config/GZLP01/rels/d_a_kytag07/splits.txt +++ b/config/GZLP01/rels/d_a_kytag07/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_lamp/splits.txt b/config/GZLP01/rels/d_a_lamp/splits.txt index 9324e9e6f..057250c40 100644 --- a/config/GZLP01/rels/d_a_lamp/splits.txt +++ b/config/GZLP01/rels/d_a_lamp/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_lbridge/splits.txt b/config/GZLP01/rels/d_a_lbridge/splits.txt index 4d3ddc385..6d11d6896 100644 --- a/config/GZLP01/rels/d_a_lbridge/splits.txt +++ b/config/GZLP01/rels/d_a_lbridge/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_leaflift/splits.txt b/config/GZLP01/rels/d_a_leaflift/splits.txt index 131319386..f9229777a 100644 --- a/config/GZLP01/rels/d_a_leaflift/splits.txt +++ b/config/GZLP01/rels/d_a_leaflift/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_lod_bg/splits.txt b/config/GZLP01/rels/d_a_lod_bg/splits.txt index ecde7293c..5af9be97b 100644 --- a/config/GZLP01/rels/d_a_lod_bg/splits.txt +++ b/config/GZLP01/rels/d_a_lod_bg/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_lstair/splits.txt b/config/GZLP01/rels/d_a_lstair/splits.txt index eb74440a4..4e53f3755 100644 --- a/config/GZLP01/rels/d_a_lstair/splits.txt +++ b/config/GZLP01/rels/d_a_lstair/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_lwood/splits.txt b/config/GZLP01/rels/d_a_lwood/splits.txt index 712dfd324..91da22bac 100644 --- a/config/GZLP01/rels/d_a_lwood/splits.txt +++ b/config/GZLP01/rels/d_a_lwood/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_machine/splits.txt b/config/GZLP01/rels/d_a_machine/splits.txt index c6b98e821..ed5d08a73 100644 --- a/config/GZLP01/rels/d_a_machine/splits.txt +++ b/config/GZLP01/rels/d_a_machine/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_magma/splits.txt b/config/GZLP01/rels/d_a_magma/splits.txt index 5f6e463e4..a6cf948c6 100644 --- a/config/GZLP01/rels/d_a_magma/splits.txt +++ b/config/GZLP01/rels/d_a_magma/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_majuu_flag/splits.txt b/config/GZLP01/rels/d_a_majuu_flag/splits.txt index 379996a17..6d3735ed2 100644 --- a/config/GZLP01/rels/d_a_majuu_flag/splits.txt +++ b/config/GZLP01/rels/d_a_majuu_flag/splits.txt @@ -1,8 +1,8 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 + .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/GZLP01/rels/d_a_mant/splits.txt b/config/GZLP01/rels/d_a_mant/splits.txt index f6248ae47..eb1d71bad 100644 --- a/config/GZLP01/rels/d_a_mant/splits.txt +++ b/config/GZLP01/rels/d_a_mant/splits.txt @@ -1,8 +1,8 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 + .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/GZLP01/rels/d_a_mbdoor/splits.txt b/config/GZLP01/rels/d_a_mbdoor/splits.txt index 17935b20d..a4e01b183 100644 --- a/config/GZLP01/rels/d_a_mbdoor/splits.txt +++ b/config/GZLP01/rels/d_a_mbdoor/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_mdoor/splits.txt b/config/GZLP01/rels/d_a_mdoor/splits.txt index af08c13fb..cb6168c3b 100644 --- a/config/GZLP01/rels/d_a_mdoor/splits.txt +++ b/config/GZLP01/rels/d_a_mdoor/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_mflft/splits.txt b/config/GZLP01/rels/d_a_mflft/splits.txt index 11b3e80a9..6d2ff3f89 100644 --- a/config/GZLP01/rels/d_a_mflft/splits.txt +++ b/config/GZLP01/rels/d_a_mflft/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_mgameboard/splits.txt b/config/GZLP01/rels/d_a_mgameboard/splits.txt index 09d84bce2..7d9ec7eb9 100644 --- a/config/GZLP01/rels/d_a_mgameboard/splits.txt +++ b/config/GZLP01/rels/d_a_mgameboard/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_mmusic/splits.txt b/config/GZLP01/rels/d_a_mmusic/splits.txt index ca72dc60e..cc795518d 100644 --- a/config/GZLP01/rels/d_a_mmusic/splits.txt +++ b/config/GZLP01/rels/d_a_mmusic/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_mo2/splits.txt b/config/GZLP01/rels/d_a_mo2/splits.txt index f18bc4c04..9a62d6e62 100644 --- a/config/GZLP01/rels/d_a_mo2/splits.txt +++ b/config/GZLP01/rels/d_a_mo2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_movie_player/splits.txt b/config/GZLP01/rels/d_a_movie_player/splits.txt index e5ed9e149..ad24cee69 100644 --- a/config/GZLP01/rels/d_a_movie_player/splits.txt +++ b/config/GZLP01/rels/d_a_movie_player/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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:32 diff --git a/config/GZLP01/rels/d_a_mozo/splits.txt b/config/GZLP01/rels/d_a_mozo/splits.txt index 09074d98c..11d714162 100644 --- a/config/GZLP01/rels/d_a_mozo/splits.txt +++ b/config/GZLP01/rels/d_a_mozo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_msw/splits.txt b/config/GZLP01/rels/d_a_msw/splits.txt index 1cc21658b..f2c84bc58 100644 --- a/config/GZLP01/rels/d_a_msw/splits.txt +++ b/config/GZLP01/rels/d_a_msw/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_mt/splits.txt b/config/GZLP01/rels/d_a_mt/splits.txt index 1394c2020..926d2eb6f 100644 --- a/config/GZLP01/rels/d_a_mt/splits.txt +++ b/config/GZLP01/rels/d_a_mt/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_mtoge/splits.txt b/config/GZLP01/rels/d_a_mtoge/splits.txt index 93314ce07..a3f514f70 100644 --- a/config/GZLP01/rels/d_a_mtoge/splits.txt +++ b/config/GZLP01/rels/d_a_mtoge/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_npc_ac1/splits.txt b/config/GZLP01/rels/d_a_npc_ac1/splits.txt index b77972080..fc5a83c66 100644 --- a/config/GZLP01/rels/d_a_npc_ac1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_ac1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_ah/splits.txt b/config/GZLP01/rels/d_a_npc_ah/splits.txt index 4d4c2bc38..f1632dd6d 100644 --- a/config/GZLP01/rels/d_a_npc_ah/splits.txt +++ b/config/GZLP01/rels/d_a_npc_ah/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_npc_aj1/splits.txt b/config/GZLP01/rels/d_a_npc_aj1/splits.txt index b3bbf6db4..b6a3e193e 100644 --- a/config/GZLP01/rels/d_a_npc_aj1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_aj1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_auction/splits.txt b/config/GZLP01/rels/d_a_npc_auction/splits.txt index 08e957b2a..6d7a89d67 100644 --- a/config/GZLP01/rels/d_a_npc_auction/splits.txt +++ b/config/GZLP01/rels/d_a_npc_auction/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_ba1/splits.txt b/config/GZLP01/rels/d_a_npc_ba1/splits.txt index 3aa5d32e2..9db5c53d8 100644 --- a/config/GZLP01/rels/d_a_npc_ba1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_ba1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_bj1/splits.txt b/config/GZLP01/rels/d_a_npc_bj1/splits.txt index 20da4d00e..4c2358e1a 100644 --- a/config/GZLP01/rels/d_a_npc_bj1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_bj1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_bm1/splits.txt b/config/GZLP01/rels/d_a_npc_bm1/splits.txt index da9cdce3b..0239f63b0 100644 --- a/config/GZLP01/rels/d_a_npc_bm1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_bm1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_bmcon1/splits.txt b/config/GZLP01/rels/d_a_npc_bmcon1/splits.txt index f925534d1..b119f6a59 100644 --- a/config/GZLP01/rels/d_a_npc_bmcon1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_bmcon1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_bms1/splits.txt b/config/GZLP01/rels/d_a_npc_bms1/splits.txt index 7f4354684..98ac47ef0 100644 --- a/config/GZLP01/rels/d_a_npc_bms1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_bms1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_bmsw/splits.txt b/config/GZLP01/rels/d_a_npc_bmsw/splits.txt index f940c10ee..2e8711a52 100644 --- a/config/GZLP01/rels/d_a_npc_bmsw/splits.txt +++ b/config/GZLP01/rels/d_a_npc_bmsw/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_bs1/splits.txt b/config/GZLP01/rels/d_a_npc_bs1/splits.txt index e75ad2197..150e20783 100644 --- a/config/GZLP01/rels/d_a_npc_bs1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_bs1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_btsw/splits.txt b/config/GZLP01/rels/d_a_npc_btsw/splits.txt index bd6b25c03..e5d204f52 100644 --- a/config/GZLP01/rels/d_a_npc_btsw/splits.txt +++ b/config/GZLP01/rels/d_a_npc_btsw/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_btsw2/splits.txt b/config/GZLP01/rels/d_a_npc_btsw2/splits.txt index bec4f73d3..9158fa6dd 100644 --- a/config/GZLP01/rels/d_a_npc_btsw2/splits.txt +++ b/config/GZLP01/rels/d_a_npc_btsw2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_cb1/splits.txt b/config/GZLP01/rels/d_a_npc_cb1/splits.txt index 9e112735a..4ab6befa5 100644 --- a/config/GZLP01/rels/d_a_npc_cb1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_cb1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_co1/splits.txt b/config/GZLP01/rels/d_a_npc_co1/splits.txt index dcf583d17..0af53b1c5 100644 --- a/config/GZLP01/rels/d_a_npc_co1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_co1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_de1/splits.txt b/config/GZLP01/rels/d_a_npc_de1/splits.txt index 1093cc706..cb600affe 100644 --- a/config/GZLP01/rels/d_a_npc_de1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_de1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_ds1/splits.txt b/config/GZLP01/rels/d_a_npc_ds1/splits.txt index e093dde45..ff14057d6 100644 --- a/config/GZLP01/rels/d_a_npc_ds1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_ds1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_gk1/splits.txt b/config/GZLP01/rels/d_a_npc_gk1/splits.txt index 503e5f08b..7766c433c 100644 --- a/config/GZLP01/rels/d_a_npc_gk1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_gk1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_gp1/splits.txt b/config/GZLP01/rels/d_a_npc_gp1/splits.txt index ef7f4be7e..d1bbb7646 100644 --- a/config/GZLP01/rels/d_a_npc_gp1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_gp1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_hi1/splits.txt b/config/GZLP01/rels/d_a_npc_hi1/splits.txt index ae18c5163..ab7a97a6b 100644 --- a/config/GZLP01/rels/d_a_npc_hi1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_hi1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_ho/splits.txt b/config/GZLP01/rels/d_a_npc_ho/splits.txt index 3651e3534..a54dee944 100644 --- a/config/GZLP01/rels/d_a_npc_ho/splits.txt +++ b/config/GZLP01/rels/d_a_npc_ho/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_hr/splits.txt b/config/GZLP01/rels/d_a_npc_hr/splits.txt index 7b813ac29..fa667c927 100644 --- a/config/GZLP01/rels/d_a_npc_hr/splits.txt +++ b/config/GZLP01/rels/d_a_npc_hr/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_jb1/splits.txt b/config/GZLP01/rels/d_a_npc_jb1/splits.txt index 660a364c3..c59fb026e 100644 --- a/config/GZLP01/rels/d_a_npc_jb1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_jb1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_ji1/splits.txt b/config/GZLP01/rels/d_a_npc_ji1/splits.txt index cbd4214db..0b44d060e 100644 --- a/config/GZLP01/rels/d_a_npc_ji1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_ji1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_kamome/splits.txt b/config/GZLP01/rels/d_a_npc_kamome/splits.txt index d6521a9ef..ffc39f458 100644 --- a/config/GZLP01/rels/d_a_npc_kamome/splits.txt +++ b/config/GZLP01/rels/d_a_npc_kamome/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_kf1/splits.txt b/config/GZLP01/rels/d_a_npc_kf1/splits.txt index 5c4328d02..51d0aab40 100644 --- a/config/GZLP01/rels/d_a_npc_kf1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_kf1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_kg1/splits.txt b/config/GZLP01/rels/d_a_npc_kg1/splits.txt index ca3906d26..67507672f 100644 --- a/config/GZLP01/rels/d_a_npc_kg1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_kg1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_kg2/splits.txt b/config/GZLP01/rels/d_a_npc_kg2/splits.txt index b49749758..5c2d05649 100644 --- a/config/GZLP01/rels/d_a_npc_kg2/splits.txt +++ b/config/GZLP01/rels/d_a_npc_kg2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_kk1/splits.txt b/config/GZLP01/rels/d_a_npc_kk1/splits.txt index 8d6e5c3aa..c279d9ca4 100644 --- a/config/GZLP01/rels/d_a_npc_kk1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_kk1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_km1/splits.txt b/config/GZLP01/rels/d_a_npc_km1/splits.txt index 6ab07b351..008804acc 100644 --- a/config/GZLP01/rels/d_a_npc_km1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_km1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_ko1/splits.txt b/config/GZLP01/rels/d_a_npc_ko1/splits.txt index 92928b060..8e76942ee 100644 --- a/config/GZLP01/rels/d_a_npc_ko1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_ko1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_kp1/splits.txt b/config/GZLP01/rels/d_a_npc_kp1/splits.txt index 06606f064..308b53099 100644 --- a/config/GZLP01/rels/d_a_npc_kp1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_kp1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_ls1/splits.txt b/config/GZLP01/rels/d_a_npc_ls1/splits.txt index 579e1258c..531c41f0e 100644 --- a/config/GZLP01/rels/d_a_npc_ls1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_ls1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_md/splits.txt b/config/GZLP01/rels/d_a_npc_md/splits.txt index 206112825..9193e8fe9 100644 --- a/config/GZLP01/rels/d_a_npc_md/splits.txt +++ b/config/GZLP01/rels/d_a_npc_md/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_mk/splits.txt b/config/GZLP01/rels/d_a_npc_mk/splits.txt index 3d4797c39..a87ece1fd 100644 --- a/config/GZLP01/rels/d_a_npc_mk/splits.txt +++ b/config/GZLP01/rels/d_a_npc_mk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_mn/splits.txt b/config/GZLP01/rels/d_a_npc_mn/splits.txt index e78b18503..37e39f60f 100644 --- a/config/GZLP01/rels/d_a_npc_mn/splits.txt +++ b/config/GZLP01/rels/d_a_npc_mn/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_npc_mt/splits.txt b/config/GZLP01/rels/d_a_npc_mt/splits.txt index 464cdf10e..e2744a01a 100644 --- a/config/GZLP01/rels/d_a_npc_mt/splits.txt +++ b/config/GZLP01/rels/d_a_npc_mt/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_npc_nz/splits.txt b/config/GZLP01/rels/d_a_npc_nz/splits.txt index 58cd09134..871e8f052 100644 --- a/config/GZLP01/rels/d_a_npc_nz/splits.txt +++ b/config/GZLP01/rels/d_a_npc_nz/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_ob1/splits.txt b/config/GZLP01/rels/d_a_npc_ob1/splits.txt index 39caa7f69..76fcceb9e 100644 --- a/config/GZLP01/rels/d_a_npc_ob1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_ob1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_os/splits.txt b/config/GZLP01/rels/d_a_npc_os/splits.txt index ed8d01f5c..623d98eaa 100644 --- a/config/GZLP01/rels/d_a_npc_os/splits.txt +++ b/config/GZLP01/rels/d_a_npc_os/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_p1/splits.txt b/config/GZLP01/rels/d_a_npc_p1/splits.txt index 80ae4e29e..3e676438a 100644 --- a/config/GZLP01/rels/d_a_npc_p1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_p1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_p2/splits.txt b/config/GZLP01/rels/d_a_npc_p2/splits.txt index 9912ec382..4d4436414 100644 --- a/config/GZLP01/rels/d_a_npc_p2/splits.txt +++ b/config/GZLP01/rels/d_a_npc_p2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_people/splits.txt b/config/GZLP01/rels/d_a_npc_people/splits.txt index f526c6e5f..e058e67eb 100644 --- a/config/GZLP01/rels/d_a_npc_people/splits.txt +++ b/config/GZLP01/rels/d_a_npc_people/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_npc_pf1/splits.txt b/config/GZLP01/rels/d_a_npc_pf1/splits.txt index 49f36715f..9729ce6a1 100644 --- a/config/GZLP01/rels/d_a_npc_pf1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_pf1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_photo/splits.txt b/config/GZLP01/rels/d_a_npc_photo/splits.txt index f915cd314..4bbd8ccd2 100644 --- a/config/GZLP01/rels/d_a_npc_photo/splits.txt +++ b/config/GZLP01/rels/d_a_npc_photo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_pm1/splits.txt b/config/GZLP01/rels/d_a_npc_pm1/splits.txt index 47996f20e..355262309 100644 --- a/config/GZLP01/rels/d_a_npc_pm1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_pm1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_roten/splits.txt b/config/GZLP01/rels/d_a_npc_roten/splits.txt index 16329646d..2865c3146 100644 --- a/config/GZLP01/rels/d_a_npc_roten/splits.txt +++ b/config/GZLP01/rels/d_a_npc_roten/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_npc_rsh1/splits.txt b/config/GZLP01/rels/d_a_npc_rsh1/splits.txt index 033942f16..b1504a5a9 100644 --- a/config/GZLP01/rels/d_a_npc_rsh1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_rsh1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_sarace/splits.txt b/config/GZLP01/rels/d_a_npc_sarace/splits.txt index d0bb3055b..8c40db245 100644 --- a/config/GZLP01/rels/d_a_npc_sarace/splits.txt +++ b/config/GZLP01/rels/d_a_npc_sarace/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_so/splits.txt b/config/GZLP01/rels/d_a_npc_so/splits.txt index 1cb10755b..e51939891 100644 --- a/config/GZLP01/rels/d_a_npc_so/splits.txt +++ b/config/GZLP01/rels/d_a_npc_so/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_sv/splits.txt b/config/GZLP01/rels/d_a_npc_sv/splits.txt index 59ce5f5e8..159d18a63 100644 --- a/config/GZLP01/rels/d_a_npc_sv/splits.txt +++ b/config/GZLP01/rels/d_a_npc_sv/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_npc_tc/splits.txt b/config/GZLP01/rels/d_a_npc_tc/splits.txt index 65c3a5e16..e1d5c0731 100644 --- a/config/GZLP01/rels/d_a_npc_tc/splits.txt +++ b/config/GZLP01/rels/d_a_npc_tc/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_tt/splits.txt b/config/GZLP01/rels/d_a_npc_tt/splits.txt index 3a06d97a9..4050d48d5 100644 --- a/config/GZLP01/rels/d_a_npc_tt/splits.txt +++ b/config/GZLP01/rels/d_a_npc_tt/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_uk/splits.txt b/config/GZLP01/rels/d_a_npc_uk/splits.txt index f0d68404f..cea00b5d5 100644 --- a/config/GZLP01/rels/d_a_npc_uk/splits.txt +++ b/config/GZLP01/rels/d_a_npc_uk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_ym1/splits.txt b/config/GZLP01/rels/d_a_npc_ym1/splits.txt index 4ad4f0a7f..f7d45198b 100644 --- a/config/GZLP01/rels/d_a_npc_ym1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_ym1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_yw1/splits.txt b/config/GZLP01/rels/d_a_npc_yw1/splits.txt index 95c4a5dbf..11056f5c8 100644 --- a/config/GZLP01/rels/d_a_npc_yw1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_yw1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_zk1/splits.txt b/config/GZLP01/rels/d_a_npc_zk1/splits.txt index a4958458c..72142bd41 100644 --- a/config/GZLP01/rels/d_a_npc_zk1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_zk1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_npc_zl1/splits.txt b/config/GZLP01/rels/d_a_npc_zl1/splits.txt index 3ebfbfd4a..7a86936d9 100644 --- a/config/GZLP01/rels/d_a_npc_zl1/splits.txt +++ b/config/GZLP01/rels/d_a_npc_zl1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_nz/splits.txt b/config/GZLP01/rels/d_a_nz/splits.txt index 0d0861322..dfb8f403d 100644 --- a/config/GZLP01/rels/d_a_nz/splits.txt +++ b/config/GZLP01/rels/d_a_nz/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_nzg/splits.txt b/config/GZLP01/rels/d_a_nzg/splits.txt index 04e0d2ce1..a89397c8b 100644 --- a/config/GZLP01/rels/d_a_nzg/splits.txt +++ b/config/GZLP01/rels/d_a_nzg/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_AjavW/splits.txt b/config/GZLP01/rels/d_a_obj_AjavW/splits.txt index d79baf447..3ad970240 100644 --- a/config/GZLP01/rels/d_a_obj_AjavW/splits.txt +++ b/config/GZLP01/rels/d_a_obj_AjavW/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_Itnak/splits.txt b/config/GZLP01/rels/d_a_obj_Itnak/splits.txt index ac19ba8da..631a2e526 100644 --- a/config/GZLP01/rels/d_a_obj_Itnak/splits.txt +++ b/config/GZLP01/rels/d_a_obj_Itnak/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_Vds/splits.txt b/config/GZLP01/rels/d_a_obj_Vds/splits.txt index 263aa35f8..739416aba 100644 --- a/config/GZLP01/rels/d_a_obj_Vds/splits.txt +++ b/config/GZLP01/rels/d_a_obj_Vds/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_Vteng/splits.txt b/config/GZLP01/rels/d_a_obj_Vteng/splits.txt index 1871d8ef6..2d6c017f0 100644 --- a/config/GZLP01/rels/d_a_obj_Vteng/splits.txt +++ b/config/GZLP01/rels/d_a_obj_Vteng/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_YLzou/splits.txt b/config/GZLP01/rels/d_a_obj_YLzou/splits.txt index 8464d2917..0a23df5e9 100644 --- a/config/GZLP01/rels/d_a_obj_YLzou/splits.txt +++ b/config/GZLP01/rels/d_a_obj_YLzou/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_Yboil/splits.txt b/config/GZLP01/rels/d_a_obj_Yboil/splits.txt index d60cbf5a8..566a64d94 100644 --- a/config/GZLP01/rels/d_a_obj_Yboil/splits.txt +++ b/config/GZLP01/rels/d_a_obj_Yboil/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_Ygush00/splits.txt b/config/GZLP01/rels/d_a_obj_Ygush00/splits.txt index f5a2f9c3c..08e54ee52 100644 --- a/config/GZLP01/rels/d_a_obj_Ygush00/splits.txt +++ b/config/GZLP01/rels/d_a_obj_Ygush00/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_adnno/splits.txt b/config/GZLP01/rels/d_a_obj_adnno/splits.txt index 7e593ffe3..c2abf6a24 100644 --- a/config/GZLP01/rels/d_a_obj_adnno/splits.txt +++ b/config/GZLP01/rels/d_a_obj_adnno/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_ajav/splits.txt b/config/GZLP01/rels/d_a_obj_ajav/splits.txt index 6acf61e60..1d8c822f1 100644 --- a/config/GZLP01/rels/d_a_obj_ajav/splits.txt +++ b/config/GZLP01/rels/d_a_obj_ajav/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_akabe/splits.txt b/config/GZLP01/rels/d_a_obj_akabe/splits.txt index e7012b15b..501abc99e 100644 --- a/config/GZLP01/rels/d_a_obj_akabe/splits.txt +++ b/config/GZLP01/rels/d_a_obj_akabe/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_apzl/splits.txt b/config/GZLP01/rels/d_a_obj_apzl/splits.txt index a43ad9d4d..7c2e13915 100644 --- a/config/GZLP01/rels/d_a_obj_apzl/splits.txt +++ b/config/GZLP01/rels/d_a_obj_apzl/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_ashut/splits.txt b/config/GZLP01/rels/d_a_obj_ashut/splits.txt index 7be5e4ba3..dfe483696 100644 --- a/config/GZLP01/rels/d_a_obj_ashut/splits.txt +++ b/config/GZLP01/rels/d_a_obj_ashut/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_auzu/splits.txt b/config/GZLP01/rels/d_a_obj_auzu/splits.txt index 80f1b4592..bd4ca8b8f 100644 --- a/config/GZLP01/rels/d_a_obj_auzu/splits.txt +++ b/config/GZLP01/rels/d_a_obj_auzu/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_aygr/splits.txt b/config/GZLP01/rels/d_a_obj_aygr/splits.txt index e93d46911..c15bd5665 100644 --- a/config/GZLP01/rels/d_a_obj_aygr/splits.txt +++ b/config/GZLP01/rels/d_a_obj_aygr/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_balancelift/splits.txt b/config/GZLP01/rels/d_a_obj_balancelift/splits.txt index 55688f532..cfd3eeac9 100644 --- a/config/GZLP01/rels/d_a_obj_balancelift/splits.txt +++ b/config/GZLP01/rels/d_a_obj_balancelift/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_barrel/splits.txt b/config/GZLP01/rels/d_a_obj_barrel/splits.txt index 66139ff33..5b4a8ac02 100644 --- a/config/GZLP01/rels/d_a_obj_barrel/splits.txt +++ b/config/GZLP01/rels/d_a_obj_barrel/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_barrel2/splits.txt b/config/GZLP01/rels/d_a_obj_barrel2/splits.txt index 42cab4736..fb8691596 100644 --- a/config/GZLP01/rels/d_a_obj_barrel2/splits.txt +++ b/config/GZLP01/rels/d_a_obj_barrel2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_barrier/splits.txt b/config/GZLP01/rels/d_a_obj_barrier/splits.txt index 6ffcfd72b..df1a21b5f 100644 --- a/config/GZLP01/rels/d_a_obj_barrier/splits.txt +++ b/config/GZLP01/rels/d_a_obj_barrier/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_bemos/splits.txt b/config/GZLP01/rels/d_a_obj_bemos/splits.txt index 9f390f259..fa807342a 100644 --- a/config/GZLP01/rels/d_a_obj_bemos/splits.txt +++ b/config/GZLP01/rels/d_a_obj_bemos/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_bscurtain/splits.txt b/config/GZLP01/rels/d_a_obj_bscurtain/splits.txt index 0a2410f90..83d8cb46c 100644 --- a/config/GZLP01/rels/d_a_obj_bscurtain/splits.txt +++ b/config/GZLP01/rels/d_a_obj_bscurtain/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_buoyflag/splits.txt b/config/GZLP01/rels/d_a_obj_buoyflag/splits.txt index 841a19ebb..6b134fab6 100644 --- a/config/GZLP01/rels/d_a_obj_buoyflag/splits.txt +++ b/config/GZLP01/rels/d_a_obj_buoyflag/splits.txt @@ -1,8 +1,8 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 + .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/GZLP01/rels/d_a_obj_buoyrace/splits.txt b/config/GZLP01/rels/d_a_obj_buoyrace/splits.txt index 8c797b28d..82ca290c0 100644 --- a/config/GZLP01/rels/d_a_obj_buoyrace/splits.txt +++ b/config/GZLP01/rels/d_a_obj_buoyrace/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_cafelmp/splits.txt b/config/GZLP01/rels/d_a_obj_cafelmp/splits.txt index fd1ebe2c0..07f70cb45 100644 --- a/config/GZLP01/rels/d_a_obj_cafelmp/splits.txt +++ b/config/GZLP01/rels/d_a_obj_cafelmp/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_canon/splits.txt b/config/GZLP01/rels/d_a_obj_canon/splits.txt index c9f06a00b..634018d4a 100644 --- a/config/GZLP01/rels/d_a_obj_canon/splits.txt +++ b/config/GZLP01/rels/d_a_obj_canon/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_coming/splits.txt b/config/GZLP01/rels/d_a_obj_coming/splits.txt index ffbc6dc6c..faad4f9a8 100644 --- a/config/GZLP01/rels/d_a_obj_coming/splits.txt +++ b/config/GZLP01/rels/d_a_obj_coming/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_correct/splits.txt b/config/GZLP01/rels/d_a_obj_correct/splits.txt index 5279c6ad9..00b77767b 100644 --- a/config/GZLP01/rels/d_a_obj_correct/splits.txt +++ b/config/GZLP01/rels/d_a_obj_correct/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_demo_barrel/splits.txt b/config/GZLP01/rels/d_a_obj_demo_barrel/splits.txt index 497d0f968..531999636 100644 --- a/config/GZLP01/rels/d_a_obj_demo_barrel/splits.txt +++ b/config/GZLP01/rels/d_a_obj_demo_barrel/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_dmgroom/splits.txt b/config/GZLP01/rels/d_a_obj_dmgroom/splits.txt index b2bf856b8..b03861312 100644 --- a/config/GZLP01/rels/d_a_obj_dmgroom/splits.txt +++ b/config/GZLP01/rels/d_a_obj_dmgroom/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_doguu/splits.txt b/config/GZLP01/rels/d_a_obj_doguu/splits.txt index c418ad613..448a4022f 100644 --- a/config/GZLP01/rels/d_a_obj_doguu/splits.txt +++ b/config/GZLP01/rels/d_a_obj_doguu/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_doguu_demo/splits.txt b/config/GZLP01/rels/d_a_obj_doguu_demo/splits.txt index da3707f62..7e4efaa69 100644 --- a/config/GZLP01/rels/d_a_obj_doguu_demo/splits.txt +++ b/config/GZLP01/rels/d_a_obj_doguu_demo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_dragonhead/splits.txt b/config/GZLP01/rels/d_a_obj_dragonhead/splits.txt index 277a9340c..0049f16ec 100644 --- a/config/GZLP01/rels/d_a_obj_dragonhead/splits.txt +++ b/config/GZLP01/rels/d_a_obj_dragonhead/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_drift/splits.txt b/config/GZLP01/rels/d_a_obj_drift/splits.txt index 70e5e3b4e..64bb7fac4 100644 --- a/config/GZLP01/rels/d_a_obj_drift/splits.txt +++ b/config/GZLP01/rels/d_a_obj_drift/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_eayogn/splits.txt b/config/GZLP01/rels/d_a_obj_eayogn/splits.txt index 29eaf65d2..c8a7ad6d7 100644 --- a/config/GZLP01/rels/d_a_obj_eayogn/splits.txt +++ b/config/GZLP01/rels/d_a_obj_eayogn/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_ebomzo/splits.txt b/config/GZLP01/rels/d_a_obj_ebomzo/splits.txt index e3c3ca18b..234e3eefe 100644 --- a/config/GZLP01/rels/d_a_obj_ebomzo/splits.txt +++ b/config/GZLP01/rels/d_a_obj_ebomzo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_eff/splits.txt b/config/GZLP01/rels/d_a_obj_eff/splits.txt index 8829a2957..249885795 100644 --- a/config/GZLP01/rels/d_a_obj_eff/splits.txt +++ b/config/GZLP01/rels/d_a_obj_eff/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_ekskz/splits.txt b/config/GZLP01/rels/d_a_obj_ekskz/splits.txt index fcc1e0912..1034cb8be 100644 --- a/config/GZLP01/rels/d_a_obj_ekskz/splits.txt +++ b/config/GZLP01/rels/d_a_obj_ekskz/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_eskban/splits.txt b/config/GZLP01/rels/d_a_obj_eskban/splits.txt index f66e355b8..3e51a2615 100644 --- a/config/GZLP01/rels/d_a_obj_eskban/splits.txt +++ b/config/GZLP01/rels/d_a_obj_eskban/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_ferris/splits.txt b/config/GZLP01/rels/d_a_obj_ferris/splits.txt index 519d95b5c..c7895a07e 100644 --- a/config/GZLP01/rels/d_a_obj_ferris/splits.txt +++ b/config/GZLP01/rels/d_a_obj_ferris/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_figure/splits.txt b/config/GZLP01/rels/d_a_obj_figure/splits.txt index 26e7a7da8..bd9eff4bb 100644 --- a/config/GZLP01/rels/d_a_obj_figure/splits.txt +++ b/config/GZLP01/rels/d_a_obj_figure/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_firewall/splits.txt b/config/GZLP01/rels/d_a_obj_firewall/splits.txt index 90a6a24b5..6a719088d 100644 --- a/config/GZLP01/rels/d_a_obj_firewall/splits.txt +++ b/config/GZLP01/rels/d_a_obj_firewall/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_flame/splits.txt b/config/GZLP01/rels/d_a_obj_flame/splits.txt index 8d7f3fae0..719410461 100644 --- a/config/GZLP01/rels/d_a_obj_flame/splits.txt +++ b/config/GZLP01/rels/d_a_obj_flame/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_ftree/splits.txt b/config/GZLP01/rels/d_a_obj_ftree/splits.txt index 3ffab4ba9..88e1c38e3 100644 --- a/config/GZLP01/rels/d_a_obj_ftree/splits.txt +++ b/config/GZLP01/rels/d_a_obj_ftree/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_ganonbed/splits.txt b/config/GZLP01/rels/d_a_obj_ganonbed/splits.txt index 7e3aa32a8..e6d97cbd0 100644 --- a/config/GZLP01/rels/d_a_obj_ganonbed/splits.txt +++ b/config/GZLP01/rels/d_a_obj_ganonbed/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_gaship/splits.txt b/config/GZLP01/rels/d_a_obj_gaship/splits.txt index 669663ed5..9c98057c8 100644 --- a/config/GZLP01/rels/d_a_obj_gaship/splits.txt +++ b/config/GZLP01/rels/d_a_obj_gaship/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_gaship2/splits.txt b/config/GZLP01/rels/d_a_obj_gaship2/splits.txt index d1fa2013e..4050f7746 100644 --- a/config/GZLP01/rels/d_a_obj_gaship2/splits.txt +++ b/config/GZLP01/rels/d_a_obj_gaship2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_gnnbtltaki/splits.txt b/config/GZLP01/rels/d_a_obj_gnnbtltaki/splits.txt index 464a97530..a704dff8f 100644 --- a/config/GZLP01/rels/d_a_obj_gnnbtltaki/splits.txt +++ b/config/GZLP01/rels/d_a_obj_gnnbtltaki/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_gnndemotakie/splits.txt b/config/GZLP01/rels/d_a_obj_gnndemotakie/splits.txt index 4f0646634..982fe4d13 100644 --- a/config/GZLP01/rels/d_a_obj_gnndemotakie/splits.txt +++ b/config/GZLP01/rels/d_a_obj_gnndemotakie/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_gnndemotakis/splits.txt b/config/GZLP01/rels/d_a_obj_gnndemotakis/splits.txt index ee01fde4c..c52ca76f5 100644 --- a/config/GZLP01/rels/d_a_obj_gnndemotakis/splits.txt +++ b/config/GZLP01/rels/d_a_obj_gnndemotakis/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_gong/splits.txt b/config/GZLP01/rels/d_a_obj_gong/splits.txt index b5ba6b931..a1ff9892d 100644 --- a/config/GZLP01/rels/d_a_obj_gong/splits.txt +++ b/config/GZLP01/rels/d_a_obj_gong/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_gryw00/splits.txt b/config/GZLP01/rels/d_a_obj_gryw00/splits.txt index f59bcb300..95cf43eba 100644 --- a/config/GZLP01/rels/d_a_obj_gryw00/splits.txt +++ b/config/GZLP01/rels/d_a_obj_gryw00/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_gtaki/splits.txt b/config/GZLP01/rels/d_a_obj_gtaki/splits.txt index e4728ebad..6cfdeed97 100644 --- a/config/GZLP01/rels/d_a_obj_gtaki/splits.txt +++ b/config/GZLP01/rels/d_a_obj_gtaki/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_hami2/splits.txt b/config/GZLP01/rels/d_a_obj_hami2/splits.txt index 524dbf3b0..9fee9a419 100644 --- a/config/GZLP01/rels/d_a_obj_hami2/splits.txt +++ b/config/GZLP01/rels/d_a_obj_hami2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_hami3/splits.txt b/config/GZLP01/rels/d_a_obj_hami3/splits.txt index b5ecf6e61..1eaeaf0ec 100644 --- a/config/GZLP01/rels/d_a_obj_hami3/splits.txt +++ b/config/GZLP01/rels/d_a_obj_hami3/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_hami4/splits.txt b/config/GZLP01/rels/d_a_obj_hami4/splits.txt index 15de4e3c3..92d7981b8 100644 --- a/config/GZLP01/rels/d_a_obj_hami4/splits.txt +++ b/config/GZLP01/rels/d_a_obj_hami4/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_hat/splits.txt b/config/GZLP01/rels/d_a_obj_hat/splits.txt index 5d450a775..bf6fc3c13 100644 --- a/config/GZLP01/rels/d_a_obj_hat/splits.txt +++ b/config/GZLP01/rels/d_a_obj_hat/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_hbrf1/splits.txt b/config/GZLP01/rels/d_a_obj_hbrf1/splits.txt index c7ca02474..846e7df9e 100644 --- a/config/GZLP01/rels/d_a_obj_hbrf1/splits.txt +++ b/config/GZLP01/rels/d_a_obj_hbrf1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_hcbh/splits.txt b/config/GZLP01/rels/d_a_obj_hcbh/splits.txt index bd481d493..b2246ac90 100644 --- a/config/GZLP01/rels/d_a_obj_hcbh/splits.txt +++ b/config/GZLP01/rels/d_a_obj_hcbh/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_hfuck1/splits.txt b/config/GZLP01/rels/d_a_obj_hfuck1/splits.txt index 3bc28d864..ba7646a15 100644 --- a/config/GZLP01/rels/d_a_obj_hfuck1/splits.txt +++ b/config/GZLP01/rels/d_a_obj_hfuck1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_hha/splits.txt b/config/GZLP01/rels/d_a_obj_hha/splits.txt index 82e54a9ab..74660b427 100644 --- a/config/GZLP01/rels/d_a_obj_hha/splits.txt +++ b/config/GZLP01/rels/d_a_obj_hha/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_hlift/splits.txt b/config/GZLP01/rels/d_a_obj_hlift/splits.txt index 160f2e323..ef205120c 100644 --- a/config/GZLP01/rels/d_a_obj_hlift/splits.txt +++ b/config/GZLP01/rels/d_a_obj_hlift/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_hole/splits.txt b/config/GZLP01/rels/d_a_obj_hole/splits.txt index 2ffe47282..00c1ad43f 100644 --- a/config/GZLP01/rels/d_a_obj_hole/splits.txt +++ b/config/GZLP01/rels/d_a_obj_hole/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_homen/splits.txt b/config/GZLP01/rels/d_a_obj_homen/splits.txt index a7e2b2401..cb952c31c 100644 --- a/config/GZLP01/rels/d_a_obj_homen/splits.txt +++ b/config/GZLP01/rels/d_a_obj_homen/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_homensmoke/splits.txt b/config/GZLP01/rels/d_a_obj_homensmoke/splits.txt index 8a8716d13..1ce99a7ba 100644 --- a/config/GZLP01/rels/d_a_obj_homensmoke/splits.txt +++ b/config/GZLP01/rels/d_a_obj_homensmoke/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_hsehi1/splits.txt b/config/GZLP01/rels/d_a_obj_hsehi1/splits.txt index 65bb102ce..078e1a09b 100644 --- a/config/GZLP01/rels/d_a_obj_hsehi1/splits.txt +++ b/config/GZLP01/rels/d_a_obj_hsehi1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_htetu1/splits.txt b/config/GZLP01/rels/d_a_obj_htetu1/splits.txt index ea4efbdf1..d214147cf 100644 --- a/config/GZLP01/rels/d_a_obj_htetu1/splits.txt +++ b/config/GZLP01/rels/d_a_obj_htetu1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_ice/splits.txt b/config/GZLP01/rels/d_a_obj_ice/splits.txt index bd981eb13..d0f20126e 100644 --- a/config/GZLP01/rels/d_a_obj_ice/splits.txt +++ b/config/GZLP01/rels/d_a_obj_ice/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_iceisland/splits.txt b/config/GZLP01/rels/d_a_obj_iceisland/splits.txt index 7f3c0b13f..6c99efcd4 100644 --- a/config/GZLP01/rels/d_a_obj_iceisland/splits.txt +++ b/config/GZLP01/rels/d_a_obj_iceisland/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_ikada/splits.txt b/config/GZLP01/rels/d_a_obj_ikada/splits.txt index 7f2488fe7..8401099b5 100644 --- a/config/GZLP01/rels/d_a_obj_ikada/splits.txt +++ b/config/GZLP01/rels/d_a_obj_ikada/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_jump/splits.txt b/config/GZLP01/rels/d_a_obj_jump/splits.txt index 9bebb88ea..8b3528b6f 100644 --- a/config/GZLP01/rels/d_a_obj_jump/splits.txt +++ b/config/GZLP01/rels/d_a_obj_jump/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_kanat/splits.txt b/config/GZLP01/rels/d_a_obj_kanat/splits.txt index 87d03f6ea..a7148ce78 100644 --- a/config/GZLP01/rels/d_a_obj_kanat/splits.txt +++ b/config/GZLP01/rels/d_a_obj_kanat/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_kanoke/splits.txt b/config/GZLP01/rels/d_a_obj_kanoke/splits.txt index 5b7c36bd2..8a68e6431 100644 --- a/config/GZLP01/rels/d_a_obj_kanoke/splits.txt +++ b/config/GZLP01/rels/d_a_obj_kanoke/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_ladder/splits.txt b/config/GZLP01/rels/d_a_obj_ladder/splits.txt index 0011b34be..972381834 100644 --- a/config/GZLP01/rels/d_a_obj_ladder/splits.txt +++ b/config/GZLP01/rels/d_a_obj_ladder/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_leaves/splits.txt b/config/GZLP01/rels/d_a_obj_leaves/splits.txt index f62ed0781..81ea84a5c 100644 --- a/config/GZLP01/rels/d_a_obj_leaves/splits.txt +++ b/config/GZLP01/rels/d_a_obj_leaves/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_light/splits.txt b/config/GZLP01/rels/d_a_obj_light/splits.txt index 22277cf28..cf04cd4ea 100644 --- a/config/GZLP01/rels/d_a_obj_light/splits.txt +++ b/config/GZLP01/rels/d_a_obj_light/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_lpalm/splits.txt b/config/GZLP01/rels/d_a_obj_lpalm/splits.txt index 966a63a24..feec82559 100644 --- a/config/GZLP01/rels/d_a_obj_lpalm/splits.txt +++ b/config/GZLP01/rels/d_a_obj_lpalm/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_magmarock/splits.txt b/config/GZLP01/rels/d_a_obj_magmarock/splits.txt index 21fa4527b..ec856e376 100644 --- a/config/GZLP01/rels/d_a_obj_magmarock/splits.txt +++ b/config/GZLP01/rels/d_a_obj_magmarock/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_majyuu_door/splits.txt b/config/GZLP01/rels/d_a_obj_majyuu_door/splits.txt index 58c8de67c..fe5140995 100644 --- a/config/GZLP01/rels/d_a_obj_majyuu_door/splits.txt +++ b/config/GZLP01/rels/d_a_obj_majyuu_door/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_mkie/splits.txt b/config/GZLP01/rels/d_a_obj_mkie/splits.txt index 51a7236b8..8b3cabc04 100644 --- a/config/GZLP01/rels/d_a_obj_mkie/splits.txt +++ b/config/GZLP01/rels/d_a_obj_mkie/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_mkiek/splits.txt b/config/GZLP01/rels/d_a_obj_mkiek/splits.txt index dbe72f689..06b530df6 100644 --- a/config/GZLP01/rels/d_a_obj_mkiek/splits.txt +++ b/config/GZLP01/rels/d_a_obj_mkiek/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_mknjd/splits.txt b/config/GZLP01/rels/d_a_obj_mknjd/splits.txt index 18ad60328..955459465 100644 --- a/config/GZLP01/rels/d_a_obj_mknjd/splits.txt +++ b/config/GZLP01/rels/d_a_obj_mknjd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_mmrr/splits.txt b/config/GZLP01/rels/d_a_obj_mmrr/splits.txt index 230752043..d0e0ba103 100644 --- a/config/GZLP01/rels/d_a_obj_mmrr/splits.txt +++ b/config/GZLP01/rels/d_a_obj_mmrr/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_monument/splits.txt b/config/GZLP01/rels/d_a_obj_monument/splits.txt index a0e1ebc0e..c7213fd7e 100644 --- a/config/GZLP01/rels/d_a_obj_monument/splits.txt +++ b/config/GZLP01/rels/d_a_obj_monument/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_movebox/splits.txt b/config/GZLP01/rels/d_a_obj_movebox/splits.txt index 9aa5cdc64..5045a2689 100644 --- a/config/GZLP01/rels/d_a_obj_movebox/splits.txt +++ b/config/GZLP01/rels/d_a_obj_movebox/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_msdan/splits.txt b/config/GZLP01/rels/d_a_obj_msdan/splits.txt index 0a61df0c8..2420d6eab 100644 --- a/config/GZLP01/rels/d_a_obj_msdan/splits.txt +++ b/config/GZLP01/rels/d_a_obj_msdan/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_msdan2/splits.txt b/config/GZLP01/rels/d_a_obj_msdan2/splits.txt index 97dd469b9..3a7bc4f71 100644 --- a/config/GZLP01/rels/d_a_obj_msdan2/splits.txt +++ b/config/GZLP01/rels/d_a_obj_msdan2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_msdan_sub/splits.txt b/config/GZLP01/rels/d_a_obj_msdan_sub/splits.txt index 6aa537279..9ad067b35 100644 --- a/config/GZLP01/rels/d_a_obj_msdan_sub/splits.txt +++ b/config/GZLP01/rels/d_a_obj_msdan_sub/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_msdan_sub2/splits.txt b/config/GZLP01/rels/d_a_obj_msdan_sub2/splits.txt index 0bc5fc029..49126bb10 100644 --- a/config/GZLP01/rels/d_a_obj_msdan_sub2/splits.txt +++ b/config/GZLP01/rels/d_a_obj_msdan_sub2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_mshokki/splits.txt b/config/GZLP01/rels/d_a_obj_mshokki/splits.txt index a991d2144..41fc042ed 100644 --- a/config/GZLP01/rels/d_a_obj_mshokki/splits.txt +++ b/config/GZLP01/rels/d_a_obj_mshokki/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_mtest/splits.txt b/config/GZLP01/rels/d_a_obj_mtest/splits.txt index 3bc5fb084..cab1a3ea1 100644 --- a/config/GZLP01/rels/d_a_obj_mtest/splits.txt +++ b/config/GZLP01/rels/d_a_obj_mtest/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_nest/splits.txt b/config/GZLP01/rels/d_a_obj_nest/splits.txt index 672b0e0d3..bbf615bca 100644 --- a/config/GZLP01/rels/d_a_obj_nest/splits.txt +++ b/config/GZLP01/rels/d_a_obj_nest/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_ohatch/splits.txt b/config/GZLP01/rels/d_a_obj_ohatch/splits.txt index a58b1f494..51d043a21 100644 --- a/config/GZLP01/rels/d_a_obj_ohatch/splits.txt +++ b/config/GZLP01/rels/d_a_obj_ohatch/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_ojtree/splits.txt b/config/GZLP01/rels/d_a_obj_ojtree/splits.txt index f70c50619..b1d7a8bb9 100644 --- a/config/GZLP01/rels/d_a_obj_ojtree/splits.txt +++ b/config/GZLP01/rels/d_a_obj_ojtree/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_ospbox/splits.txt b/config/GZLP01/rels/d_a_obj_ospbox/splits.txt index 1fcb0f8dc..8d9f19d52 100644 --- a/config/GZLP01/rels/d_a_obj_ospbox/splits.txt +++ b/config/GZLP01/rels/d_a_obj_ospbox/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_otble/splits.txt b/config/GZLP01/rels/d_a_obj_otble/splits.txt index dd70aeb8d..41c3fef7e 100644 --- a/config/GZLP01/rels/d_a_obj_otble/splits.txt +++ b/config/GZLP01/rels/d_a_obj_otble/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_paper/splits.txt b/config/GZLP01/rels/d_a_obj_paper/splits.txt index d7dab8369..72db85f1d 100644 --- a/config/GZLP01/rels/d_a_obj_paper/splits.txt +++ b/config/GZLP01/rels/d_a_obj_paper/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_pbco/splits.txt b/config/GZLP01/rels/d_a_obj_pbco/splits.txt index 35f241654..16ced1687 100644 --- a/config/GZLP01/rels/d_a_obj_pbco/splits.txt +++ b/config/GZLP01/rels/d_a_obj_pbco/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_pbka/splits.txt b/config/GZLP01/rels/d_a_obj_pbka/splits.txt index 8d4677118..0e74bc55d 100644 --- a/config/GZLP01/rels/d_a_obj_pbka/splits.txt +++ b/config/GZLP01/rels/d_a_obj_pbka/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_pfall/splits.txt b/config/GZLP01/rels/d_a_obj_pfall/splits.txt index 5d0466b9c..ace9ad618 100644 --- a/config/GZLP01/rels/d_a_obj_pfall/splits.txt +++ b/config/GZLP01/rels/d_a_obj_pfall/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_pirateship/splits.txt b/config/GZLP01/rels/d_a_obj_pirateship/splits.txt index 0861e9fbc..caf3321d0 100644 --- a/config/GZLP01/rels/d_a_obj_pirateship/splits.txt +++ b/config/GZLP01/rels/d_a_obj_pirateship/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_plant/splits.txt b/config/GZLP01/rels/d_a_obj_plant/splits.txt index c9dcd48d3..2efd85b68 100644 --- a/config/GZLP01/rels/d_a_obj_plant/splits.txt +++ b/config/GZLP01/rels/d_a_obj_plant/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_quake/splits.txt b/config/GZLP01/rels/d_a_obj_quake/splits.txt index 3a04916dd..0667e011c 100644 --- a/config/GZLP01/rels/d_a_obj_quake/splits.txt +++ b/config/GZLP01/rels/d_a_obj_quake/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_rcloud/splits.txt b/config/GZLP01/rels/d_a_obj_rcloud/splits.txt index d7f435c79..e36641a33 100644 --- a/config/GZLP01/rels/d_a_obj_rcloud/splits.txt +++ b/config/GZLP01/rels/d_a_obj_rcloud/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_rflw/splits.txt b/config/GZLP01/rels/d_a_obj_rflw/splits.txt index eb10fa5a7..cbd51a85e 100644 --- a/config/GZLP01/rels/d_a_obj_rflw/splits.txt +++ b/config/GZLP01/rels/d_a_obj_rflw/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_rforce/splits.txt b/config/GZLP01/rels/d_a_obj_rforce/splits.txt index 125a2afb3..13a255fe0 100644 --- a/config/GZLP01/rels/d_a_obj_rforce/splits.txt +++ b/config/GZLP01/rels/d_a_obj_rforce/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_roten/splits.txt b/config/GZLP01/rels/d_a_obj_roten/splits.txt index c59fe5ff5..f8144a5e6 100644 --- a/config/GZLP01/rels/d_a_obj_roten/splits.txt +++ b/config/GZLP01/rels/d_a_obj_roten/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_shelf/splits.txt b/config/GZLP01/rels/d_a_obj_shelf/splits.txt index b419a0644..7e26163e3 100644 --- a/config/GZLP01/rels/d_a_obj_shelf/splits.txt +++ b/config/GZLP01/rels/d_a_obj_shelf/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_shmrgrd/splits.txt b/config/GZLP01/rels/d_a_obj_shmrgrd/splits.txt index 9ae96d81e..7c921b8c6 100644 --- a/config/GZLP01/rels/d_a_obj_shmrgrd/splits.txt +++ b/config/GZLP01/rels/d_a_obj_shmrgrd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_smplbg/splits.txt b/config/GZLP01/rels/d_a_obj_smplbg/splits.txt index 3734e8eef..2181c89de 100644 --- a/config/GZLP01/rels/d_a_obj_smplbg/splits.txt +++ b/config/GZLP01/rels/d_a_obj_smplbg/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_stair/splits.txt b/config/GZLP01/rels/d_a_obj_stair/splits.txt index e33fbb0d7..63dccd51c 100644 --- a/config/GZLP01/rels/d_a_obj_stair/splits.txt +++ b/config/GZLP01/rels/d_a_obj_stair/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_swflat/splits.txt b/config/GZLP01/rels/d_a_obj_swflat/splits.txt index 01bec39ca..79c20ab06 100644 --- a/config/GZLP01/rels/d_a_obj_swflat/splits.txt +++ b/config/GZLP01/rels/d_a_obj_swflat/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_swhammer/splits.txt b/config/GZLP01/rels/d_a_obj_swhammer/splits.txt index 925102215..0b8a35c7e 100644 --- a/config/GZLP01/rels/d_a_obj_swhammer/splits.txt +++ b/config/GZLP01/rels/d_a_obj_swhammer/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_swheavy/splits.txt b/config/GZLP01/rels/d_a_obj_swheavy/splits.txt index 5c24f13af..085c6f2d1 100644 --- a/config/GZLP01/rels/d_a_obj_swheavy/splits.txt +++ b/config/GZLP01/rels/d_a_obj_swheavy/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_swlight/splits.txt b/config/GZLP01/rels/d_a_obj_swlight/splits.txt index 4a23b0dcf..34aebc799 100644 --- a/config/GZLP01/rels/d_a_obj_swlight/splits.txt +++ b/config/GZLP01/rels/d_a_obj_swlight/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_swpush/splits.txt b/config/GZLP01/rels/d_a_obj_swpush/splits.txt index b83cc0468..923b7fe64 100644 --- a/config/GZLP01/rels/d_a_obj_swpush/splits.txt +++ b/config/GZLP01/rels/d_a_obj_swpush/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_table/splits.txt b/config/GZLP01/rels/d_a_obj_table/splits.txt index 6c05082cc..7af6df723 100644 --- a/config/GZLP01/rels/d_a_obj_table/splits.txt +++ b/config/GZLP01/rels/d_a_obj_table/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_tapestry/splits.txt b/config/GZLP01/rels/d_a_obj_tapestry/splits.txt index 3deb3e96e..131ed19d2 100644 --- a/config/GZLP01/rels/d_a_obj_tapestry/splits.txt +++ b/config/GZLP01/rels/d_a_obj_tapestry/splits.txt @@ -1,9 +1,9 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 - .data type:data align:32 + .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:32 REL/executor.c: diff --git a/config/GZLP01/rels/d_a_obj_tenmado/splits.txt b/config/GZLP01/rels/d_a_obj_tenmado/splits.txt index 9572958f4..ba9a36ced 100644 --- a/config/GZLP01/rels/d_a_obj_tenmado/splits.txt +++ b/config/GZLP01/rels/d_a_obj_tenmado/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_tide/splits.txt b/config/GZLP01/rels/d_a_obj_tide/splits.txt index 02488033a..2daa11c88 100644 --- a/config/GZLP01/rels/d_a_obj_tide/splits.txt +++ b/config/GZLP01/rels/d_a_obj_tide/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_timer/splits.txt b/config/GZLP01/rels/d_a_obj_timer/splits.txt index 162441ebd..647947195 100644 --- a/config/GZLP01/rels/d_a_obj_timer/splits.txt +++ b/config/GZLP01/rels/d_a_obj_timer/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_tntrap/splits.txt b/config/GZLP01/rels/d_a_obj_tntrap/splits.txt index 31738ad92..e6b1a38b8 100644 --- a/config/GZLP01/rels/d_a_obj_tntrap/splits.txt +++ b/config/GZLP01/rels/d_a_obj_tntrap/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_toripost/splits.txt b/config/GZLP01/rels/d_a_obj_toripost/splits.txt index 23378de59..ab0b5fa96 100644 --- a/config/GZLP01/rels/d_a_obj_toripost/splits.txt +++ b/config/GZLP01/rels/d_a_obj_toripost/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_tousekiki/splits.txt b/config/GZLP01/rels/d_a_obj_tousekiki/splits.txt index 7642eb287..28e76fef3 100644 --- a/config/GZLP01/rels/d_a_obj_tousekiki/splits.txt +++ b/config/GZLP01/rels/d_a_obj_tousekiki/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_tower/splits.txt b/config/GZLP01/rels/d_a_obj_tower/splits.txt index c18147823..e9774e152 100644 --- a/config/GZLP01/rels/d_a_obj_tower/splits.txt +++ b/config/GZLP01/rels/d_a_obj_tower/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_trap/splits.txt b/config/GZLP01/rels/d_a_obj_trap/splits.txt index 72dd3b381..9466b08b4 100644 --- a/config/GZLP01/rels/d_a_obj_trap/splits.txt +++ b/config/GZLP01/rels/d_a_obj_trap/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_tribox/splits.txt b/config/GZLP01/rels/d_a_obj_tribox/splits.txt index 9cd873c37..2dc8e9b47 100644 --- a/config/GZLP01/rels/d_a_obj_tribox/splits.txt +++ b/config/GZLP01/rels/d_a_obj_tribox/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_try/splits.txt b/config/GZLP01/rels/d_a_obj_try/splits.txt index a99398cc5..db8e88ad9 100644 --- a/config/GZLP01/rels/d_a_obj_try/splits.txt +++ b/config/GZLP01/rels/d_a_obj_try/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_usovmc/splits.txt b/config/GZLP01/rels/d_a_obj_usovmc/splits.txt index c03bd0d06..dcd8057ac 100644 --- a/config/GZLP01/rels/d_a_obj_usovmc/splits.txt +++ b/config/GZLP01/rels/d_a_obj_usovmc/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_vfan/splits.txt b/config/GZLP01/rels/d_a_obj_vfan/splits.txt index 994239961..262293af5 100644 --- a/config/GZLP01/rels/d_a_obj_vfan/splits.txt +++ b/config/GZLP01/rels/d_a_obj_vfan/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_vgnfd/splits.txt b/config/GZLP01/rels/d_a_obj_vgnfd/splits.txt index 70e0bde83..645d58ba7 100644 --- a/config/GZLP01/rels/d_a_obj_vgnfd/splits.txt +++ b/config/GZLP01/rels/d_a_obj_vgnfd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_vmc/splits.txt b/config/GZLP01/rels/d_a_obj_vmc/splits.txt index baa6c27e0..4666406ab 100644 --- a/config/GZLP01/rels/d_a_obj_vmc/splits.txt +++ b/config/GZLP01/rels/d_a_obj_vmc/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_vmsdz/splits.txt b/config/GZLP01/rels/d_a_obj_vmsdz/splits.txt index addf58a39..5086217f4 100644 --- a/config/GZLP01/rels/d_a_obj_vmsdz/splits.txt +++ b/config/GZLP01/rels/d_a_obj_vmsdz/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_vmsms/splits.txt b/config/GZLP01/rels/d_a_obj_vmsms/splits.txt index efd64f5b7..5d13f5f29 100644 --- a/config/GZLP01/rels/d_a_obj_vmsms/splits.txt +++ b/config/GZLP01/rels/d_a_obj_vmsms/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_volcano/splits.txt b/config/GZLP01/rels/d_a_obj_volcano/splits.txt index e0701d70d..745557944 100644 --- a/config/GZLP01/rels/d_a_obj_volcano/splits.txt +++ b/config/GZLP01/rels/d_a_obj_volcano/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_vtil/splits.txt b/config/GZLP01/rels/d_a_obj_vtil/splits.txt index 22793da74..08cfb74e6 100644 --- a/config/GZLP01/rels/d_a_obj_vtil/splits.txt +++ b/config/GZLP01/rels/d_a_obj_vtil/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_vyasi/splits.txt b/config/GZLP01/rels/d_a_obj_vyasi/splits.txt index 96634597d..2c143aa9f 100644 --- a/config/GZLP01/rels/d_a_obj_vyasi/splits.txt +++ b/config/GZLP01/rels/d_a_obj_vyasi/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_warpt/splits.txt b/config/GZLP01/rels/d_a_obj_warpt/splits.txt index 68e5398df..6c6aea4ad 100644 --- a/config/GZLP01/rels/d_a_obj_warpt/splits.txt +++ b/config/GZLP01/rels/d_a_obj_warpt/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_obj_wood/splits.txt b/config/GZLP01/rels/d_a_obj_wood/splits.txt index 64face4c9..044b96423 100644 --- a/config/GZLP01/rels/d_a_obj_wood/splits.txt +++ b/config/GZLP01/rels/d_a_obj_wood/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLP01/rels/d_a_obj_xfuta/splits.txt b/config/GZLP01/rels/d_a_obj_xfuta/splits.txt index b0404b973..83102ba5c 100644 --- a/config/GZLP01/rels/d_a_obj_xfuta/splits.txt +++ b/config/GZLP01/rels/d_a_obj_xfuta/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_obj_zouK/splits.txt b/config/GZLP01/rels/d_a_obj_zouK/splits.txt index 0934d9119..c6200032d 100644 --- a/config/GZLP01/rels/d_a_obj_zouK/splits.txt +++ b/config/GZLP01/rels/d_a_obj_zouK/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_oq/splits.txt b/config/GZLP01/rels/d_a_oq/splits.txt index 4566cc113..40088469e 100644 --- a/config/GZLP01/rels/d_a_oq/splits.txt +++ b/config/GZLP01/rels/d_a_oq/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_oship/splits.txt b/config/GZLP01/rels/d_a_oship/splits.txt index 54b5ece69..675562e9c 100644 --- a/config/GZLP01/rels/d_a_oship/splits.txt +++ b/config/GZLP01/rels/d_a_oship/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_pedestal/splits.txt b/config/GZLP01/rels/d_a_pedestal/splits.txt index dfbb0f16a..48ce6b3b8 100644 --- a/config/GZLP01/rels/d_a_pedestal/splits.txt +++ b/config/GZLP01/rels/d_a_pedestal/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_ph/splits.txt b/config/GZLP01/rels/d_a_ph/splits.txt index f269945c4..95704ede1 100644 --- a/config/GZLP01/rels/d_a_ph/splits.txt +++ b/config/GZLP01/rels/d_a_ph/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_pirate_flag/splits.txt b/config/GZLP01/rels/d_a_pirate_flag/splits.txt index d5ee2db5c..573120401 100644 --- a/config/GZLP01/rels/d_a_pirate_flag/splits.txt +++ b/config/GZLP01/rels/d_a_pirate_flag/splits.txt @@ -1,8 +1,8 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 + .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/GZLP01/rels/d_a_pt/splits.txt b/config/GZLP01/rels/d_a_pt/splits.txt index 522f33fd7..22a7be65a 100644 --- a/config/GZLP01/rels/d_a_pt/splits.txt +++ b/config/GZLP01/rels/d_a_pt/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_pw/splits.txt b/config/GZLP01/rels/d_a_pw/splits.txt index a82ddbed8..8dbb20a89 100644 --- a/config/GZLP01/rels/d_a_pw/splits.txt +++ b/config/GZLP01/rels/d_a_pw/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_pz/splits.txt b/config/GZLP01/rels/d_a_pz/splits.txt index bed0987d3..68f2f2903 100644 --- a/config/GZLP01/rels/d_a_pz/splits.txt +++ b/config/GZLP01/rels/d_a_pz/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_race_item/splits.txt b/config/GZLP01/rels/d_a_race_item/splits.txt index 4636ccd79..aad6d6916 100644 --- a/config/GZLP01/rels/d_a_race_item/splits.txt +++ b/config/GZLP01/rels/d_a_race_item/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_rd/splits.txt b/config/GZLP01/rels/d_a_rd/splits.txt index c0b89de7d..97082fc2c 100644 --- a/config/GZLP01/rels/d_a_rd/splits.txt +++ b/config/GZLP01/rels/d_a_rd/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_rectangle/splits.txt b/config/GZLP01/rels/d_a_rectangle/splits.txt index 9861d3b4e..49d830ed4 100644 --- a/config/GZLP01/rels/d_a_rectangle/splits.txt +++ b/config/GZLP01/rels/d_a_rectangle/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLP01/rels/d_a_sail/splits.txt b/config/GZLP01/rels/d_a_sail/splits.txt index c6aa5122e..137a7f5c7 100644 --- a/config/GZLP01/rels/d_a_sail/splits.txt +++ b/config/GZLP01/rels/d_a_sail/splits.txt @@ -1,8 +1,8 @@ Sections: - .text type:code align:32 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 + .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/GZLP01/rels/d_a_saku/splits.txt b/config/GZLP01/rels/d_a_saku/splits.txt index d7f892497..633181c17 100644 --- a/config/GZLP01/rels/d_a_saku/splits.txt +++ b/config/GZLP01/rels/d_a_saku/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_salvage/splits.txt b/config/GZLP01/rels/d_a_salvage/splits.txt index aa695851b..1f2c14bb9 100644 --- a/config/GZLP01/rels/d_a_salvage/splits.txt +++ b/config/GZLP01/rels/d_a_salvage/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_salvage_tbox/splits.txt b/config/GZLP01/rels/d_a_salvage_tbox/splits.txt index 3135bb364..a9ac20d09 100644 --- a/config/GZLP01/rels/d_a_salvage_tbox/splits.txt +++ b/config/GZLP01/rels/d_a_salvage_tbox/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_sbox/splits.txt b/config/GZLP01/rels/d_a_sbox/splits.txt index f4d7afb00..9a9816224 100644 --- a/config/GZLP01/rels/d_a_sbox/splits.txt +++ b/config/GZLP01/rels/d_a_sbox/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_scene_change/splits.txt b/config/GZLP01/rels/d_a_scene_change/splits.txt index 72de0d3dd..0ad8fcad8 100644 --- a/config/GZLP01/rels/d_a_scene_change/splits.txt +++ b/config/GZLP01/rels/d_a_scene_change/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_seatag/splits.txt b/config/GZLP01/rels/d_a_seatag/splits.txt index 9e6142b5d..60f64536d 100644 --- a/config/GZLP01/rels/d_a_seatag/splits.txt +++ b/config/GZLP01/rels/d_a_seatag/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLP01/rels/d_a_shand/splits.txt b/config/GZLP01/rels/d_a_shand/splits.txt index dfa11fdab..0fb548ae9 100644 --- a/config/GZLP01/rels/d_a_shand/splits.txt +++ b/config/GZLP01/rels/d_a_shand/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_ship/splits.txt b/config/GZLP01/rels/d_a_ship/splits.txt index e542be40c..6fa714947 100644 --- a/config/GZLP01/rels/d_a_ship/splits.txt +++ b/config/GZLP01/rels/d_a_ship/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_shop_item/splits.txt b/config/GZLP01/rels/d_a_shop_item/splits.txt index 1a803c7af..13499e1f4 100644 --- a/config/GZLP01/rels/d_a_shop_item/splits.txt +++ b/config/GZLP01/rels/d_a_shop_item/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_shutter/splits.txt b/config/GZLP01/rels/d_a_shutter/splits.txt index 67eb0a5fd..dda4d024b 100644 --- a/config/GZLP01/rels/d_a_shutter/splits.txt +++ b/config/GZLP01/rels/d_a_shutter/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_shutter2/splits.txt b/config/GZLP01/rels/d_a_shutter2/splits.txt index ed55be209..06e8a62c6 100644 --- a/config/GZLP01/rels/d_a_shutter2/splits.txt +++ b/config/GZLP01/rels/d_a_shutter2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_sie_flag/splits.txt b/config/GZLP01/rels/d_a_sie_flag/splits.txt index e74487d57..7deb663c0 100644 --- a/config/GZLP01/rels/d_a_sie_flag/splits.txt +++ b/config/GZLP01/rels/d_a_sie_flag/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_sitem/splits.txt b/config/GZLP01/rels/d_a_sitem/splits.txt index 03dbcb5de..4070dabc9 100644 --- a/config/GZLP01/rels/d_a_sitem/splits.txt +++ b/config/GZLP01/rels/d_a_sitem/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_sk/splits.txt b/config/GZLP01/rels/d_a_sk/splits.txt index 507867c37..2f27166f0 100644 --- a/config/GZLP01/rels/d_a_sk/splits.txt +++ b/config/GZLP01/rels/d_a_sk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_sk2/splits.txt b/config/GZLP01/rels/d_a_sk2/splits.txt index b96314ee4..ea68e525f 100644 --- a/config/GZLP01/rels/d_a_sk2/splits.txt +++ b/config/GZLP01/rels/d_a_sk2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_spotbox/splits.txt b/config/GZLP01/rels/d_a_spotbox/splits.txt index 98bd808aa..333392152 100644 --- a/config/GZLP01/rels/d_a_spotbox/splits.txt +++ b/config/GZLP01/rels/d_a_spotbox/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_ss/splits.txt b/config/GZLP01/rels/d_a_ss/splits.txt index 2ae4a53e7..eac7bcfef 100644 --- a/config/GZLP01/rels/d_a_ss/splits.txt +++ b/config/GZLP01/rels/d_a_ss/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_ssk/splits.txt b/config/GZLP01/rels/d_a_ssk/splits.txt index 5ffdf5dac..10c766c04 100644 --- a/config/GZLP01/rels/d_a_ssk/splits.txt +++ b/config/GZLP01/rels/d_a_ssk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_sss/splits.txt b/config/GZLP01/rels/d_a_sss/splits.txt index 9c845dc78..4e6fb7a47 100644 --- a/config/GZLP01/rels/d_a_sss/splits.txt +++ b/config/GZLP01/rels/d_a_sss/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_st/splits.txt b/config/GZLP01/rels/d_a_st/splits.txt index 1ec1e652a..24185b134 100644 --- a/config/GZLP01/rels/d_a_st/splits.txt +++ b/config/GZLP01/rels/d_a_st/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_steam_tag/splits.txt b/config/GZLP01/rels/d_a_steam_tag/splits.txt index b0dbb1041..6a5e7e3f2 100644 --- a/config/GZLP01/rels/d_a_steam_tag/splits.txt +++ b/config/GZLP01/rels/d_a_steam_tag/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_stone/splits.txt b/config/GZLP01/rels/d_a_stone/splits.txt index 810433ecf..7ebb902bb 100644 --- a/config/GZLP01/rels/d_a_stone/splits.txt +++ b/config/GZLP01/rels/d_a_stone/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_stone2/splits.txt b/config/GZLP01/rels/d_a_stone2/splits.txt index 4aeae8bee..cf18bd219 100644 --- a/config/GZLP01/rels/d_a_stone2/splits.txt +++ b/config/GZLP01/rels/d_a_stone2/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_swattack/splits.txt b/config/GZLP01/rels/d_a_swattack/splits.txt index 455374a5e..bd24ca17e 100644 --- a/config/GZLP01/rels/d_a_swattack/splits.txt +++ b/config/GZLP01/rels/d_a_swattack/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_swc00/splits.txt b/config/GZLP01/rels/d_a_swc00/splits.txt index 7ec20623b..722e633ac 100644 --- a/config/GZLP01/rels/d_a_swc00/splits.txt +++ b/config/GZLP01/rels/d_a_swc00/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_swhit0/splits.txt b/config/GZLP01/rels/d_a_swhit0/splits.txt index b21e6242c..90e942180 100644 --- a/config/GZLP01/rels/d_a_swhit0/splits.txt +++ b/config/GZLP01/rels/d_a_swhit0/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_switem/splits.txt b/config/GZLP01/rels/d_a_switem/splits.txt index e2d5eae1d..d13fda743 100644 --- a/config/GZLP01/rels/d_a_switem/splits.txt +++ b/config/GZLP01/rels/d_a_switem/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_swpropeller/splits.txt b/config/GZLP01/rels/d_a_swpropeller/splits.txt index 1ee8ed310..85e9d4b6b 100644 --- a/config/GZLP01/rels/d_a_swpropeller/splits.txt +++ b/config/GZLP01/rels/d_a_swpropeller/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_swtact/splits.txt b/config/GZLP01/rels/d_a_swtact/splits.txt index f2d1e7e89..53509d155 100644 --- a/config/GZLP01/rels/d_a_swtact/splits.txt +++ b/config/GZLP01/rels/d_a_swtact/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_swtdoor/splits.txt b/config/GZLP01/rels/d_a_swtdoor/splits.txt index a0af862fa..bf64e4c6d 100644 --- a/config/GZLP01/rels/d_a_swtdoor/splits.txt +++ b/config/GZLP01/rels/d_a_swtdoor/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_syan/splits.txt b/config/GZLP01/rels/d_a_syan/splits.txt index debc91c38..41ca646ee 100644 --- a/config/GZLP01/rels/d_a_syan/splits.txt +++ b/config/GZLP01/rels/d_a_syan/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_tag_attention/splits.txt b/config/GZLP01/rels/d_a_tag_attention/splits.txt index dbedfae98..ed44af2ea 100644 --- a/config/GZLP01/rels/d_a_tag_attention/splits.txt +++ b/config/GZLP01/rels/d_a_tag_attention/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_tag_ba1/splits.txt b/config/GZLP01/rels/d_a_tag_ba1/splits.txt index 2df05842e..e91bcfec3 100644 --- a/config/GZLP01/rels/d_a_tag_ba1/splits.txt +++ b/config/GZLP01/rels/d_a_tag_ba1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_tag_etc/splits.txt b/config/GZLP01/rels/d_a_tag_etc/splits.txt index 0a075365d..3f5544c38 100644 --- a/config/GZLP01/rels/d_a_tag_etc/splits.txt +++ b/config/GZLP01/rels/d_a_tag_etc/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_tag_event/splits.txt b/config/GZLP01/rels/d_a_tag_event/splits.txt index 411f37521..747d7ab3d 100644 --- a/config/GZLP01/rels/d_a_tag_event/splits.txt +++ b/config/GZLP01/rels/d_a_tag_event/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_tag_evsw/splits.txt b/config/GZLP01/rels/d_a_tag_evsw/splits.txt index 595935f1d..ee538dc7d 100644 --- a/config/GZLP01/rels/d_a_tag_evsw/splits.txt +++ b/config/GZLP01/rels/d_a_tag_evsw/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLP01/rels/d_a_tag_ghostship/splits.txt b/config/GZLP01/rels/d_a_tag_ghostship/splits.txt index 831d0c883..127ff83d0 100644 --- a/config/GZLP01/rels/d_a_tag_ghostship/splits.txt +++ b/config/GZLP01/rels/d_a_tag_ghostship/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_tag_hint/splits.txt b/config/GZLP01/rels/d_a_tag_hint/splits.txt index 4066e4d66..49ad4ac21 100644 --- a/config/GZLP01/rels/d_a_tag_hint/splits.txt +++ b/config/GZLP01/rels/d_a_tag_hint/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_tag_island/splits.txt b/config/GZLP01/rels/d_a_tag_island/splits.txt index 89d248737..6e503339d 100644 --- a/config/GZLP01/rels/d_a_tag_island/splits.txt +++ b/config/GZLP01/rels/d_a_tag_island/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_tag_kb_item/splits.txt b/config/GZLP01/rels/d_a_tag_kb_item/splits.txt index b01664e53..7575f4523 100644 --- a/config/GZLP01/rels/d_a_tag_kb_item/splits.txt +++ b/config/GZLP01/rels/d_a_tag_kb_item/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/config/GZLP01/rels/d_a_tag_kf1/splits.txt b/config/GZLP01/rels/d_a_tag_kf1/splits.txt index 3aa149339..3747b4b69 100644 --- a/config/GZLP01/rels/d_a_tag_kf1/splits.txt +++ b/config/GZLP01/rels/d_a_tag_kf1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_tag_kk1/splits.txt b/config/GZLP01/rels/d_a_tag_kk1/splits.txt index eba5a5f7c..04659fbf9 100644 --- a/config/GZLP01/rels/d_a_tag_kk1/splits.txt +++ b/config/GZLP01/rels/d_a_tag_kk1/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_tag_light/splits.txt b/config/GZLP01/rels/d_a_tag_light/splits.txt index d4cec52cc..2de02f16d 100644 --- a/config/GZLP01/rels/d_a_tag_light/splits.txt +++ b/config/GZLP01/rels/d_a_tag_light/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_tag_md_cb/splits.txt b/config/GZLP01/rels/d_a_tag_md_cb/splits.txt index a1bd3efc1..cdb738901 100644 --- a/config/GZLP01/rels/d_a_tag_md_cb/splits.txt +++ b/config/GZLP01/rels/d_a_tag_md_cb/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_tag_mk/splits.txt b/config/GZLP01/rels/d_a_tag_mk/splits.txt index eeafc56e2..db06c888b 100644 --- a/config/GZLP01/rels/d_a_tag_mk/splits.txt +++ b/config/GZLP01/rels/d_a_tag_mk/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_tag_msg/splits.txt b/config/GZLP01/rels/d_a_tag_msg/splits.txt index 4858ddedc..b07192406 100644 --- a/config/GZLP01/rels/d_a_tag_msg/splits.txt +++ b/config/GZLP01/rels/d_a_tag_msg/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_tag_photo/splits.txt b/config/GZLP01/rels/d_a_tag_photo/splits.txt index 8690a7453..ace17f65c 100644 --- a/config/GZLP01/rels/d_a_tag_photo/splits.txt +++ b/config/GZLP01/rels/d_a_tag_photo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_tag_ret/splits.txt b/config/GZLP01/rels/d_a_tag_ret/splits.txt index e10cf0ae4..b6795f41e 100644 --- a/config/GZLP01/rels/d_a_tag_ret/splits.txt +++ b/config/GZLP01/rels/d_a_tag_ret/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_tag_so/splits.txt b/config/GZLP01/rels/d_a_tag_so/splits.txt index 7e3b45494..6ebc9a084 100644 --- a/config/GZLP01/rels/d_a_tag_so/splits.txt +++ b/config/GZLP01/rels/d_a_tag_so/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_tag_volcano/splits.txt b/config/GZLP01/rels/d_a_tag_volcano/splits.txt index 3bce29db5..ac13a4ddd 100644 --- a/config/GZLP01/rels/d_a_tag_volcano/splits.txt +++ b/config/GZLP01/rels/d_a_tag_volcano/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_tag_waterlevel/splits.txt b/config/GZLP01/rels/d_a_tag_waterlevel/splits.txt index 7687a0330..60a50339f 100644 --- a/config/GZLP01/rels/d_a_tag_waterlevel/splits.txt +++ b/config/GZLP01/rels/d_a_tag_waterlevel/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_tama/splits.txt b/config/GZLP01/rels/d_a_tama/splits.txt index 1b9570598..6daff981c 100644 --- a/config/GZLP01/rels/d_a_tama/splits.txt +++ b/config/GZLP01/rels/d_a_tama/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_tbox/splits.txt b/config/GZLP01/rels/d_a_tbox/splits.txt index 1ffb792f5..e8d0386f9 100644 --- a/config/GZLP01/rels/d_a_tbox/splits.txt +++ b/config/GZLP01/rels/d_a_tbox/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_title/splits.txt b/config/GZLP01/rels/d_a_title/splits.txt index c0fe6d134..0fbe95f38 100644 --- a/config/GZLP01/rels/d_a_title/splits.txt +++ b/config/GZLP01/rels/d_a_title/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_tn/splits.txt b/config/GZLP01/rels/d_a_tn/splits.txt index 8f4da0995..d3b1e8e5e 100644 --- a/config/GZLP01/rels/d_a_tn/splits.txt +++ b/config/GZLP01/rels/d_a_tn/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_toge/splits.txt b/config/GZLP01/rels/d_a_toge/splits.txt index 10d5a187a..fac2071dd 100644 --- a/config/GZLP01/rels/d_a_toge/splits.txt +++ b/config/GZLP01/rels/d_a_toge/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_tori_flag/splits.txt b/config/GZLP01/rels/d_a_tori_flag/splits.txt index 141a10d84..33a0be5bf 100644 --- a/config/GZLP01/rels/d_a_tori_flag/splits.txt +++ b/config/GZLP01/rels/d_a_tori_flag/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_tornado/splits.txt b/config/GZLP01/rels/d_a_tornado/splits.txt index 1e0669b6c..74ac8cc0a 100644 --- a/config/GZLP01/rels/d_a_tornado/splits.txt +++ b/config/GZLP01/rels/d_a_tornado/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_tpota/splits.txt b/config/GZLP01/rels/d_a_tpota/splits.txt index fb7b612e1..d07844f9b 100644 --- a/config/GZLP01/rels/d_a_tpota/splits.txt +++ b/config/GZLP01/rels/d_a_tpota/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_tsubo/splits.txt b/config/GZLP01/rels/d_a_tsubo/splits.txt index e3a6b1330..67c3f2827 100644 --- a/config/GZLP01/rels/d_a_tsubo/splits.txt +++ b/config/GZLP01/rels/d_a_tsubo/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_wall/splits.txt b/config/GZLP01/rels/d_a_wall/splits.txt index 358fb984c..980c80ad2 100644 --- a/config/GZLP01/rels/d_a_wall/splits.txt +++ b/config/GZLP01/rels/d_a_wall/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_warpdm20/splits.txt b/config/GZLP01/rels/d_a_warpdm20/splits.txt index 527f4db6d..82ac666cc 100644 --- a/config/GZLP01/rels/d_a_warpdm20/splits.txt +++ b/config/GZLP01/rels/d_a_warpdm20/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_warpf/splits.txt b/config/GZLP01/rels/d_a_warpf/splits.txt index 3ad65e7c9..00cd27f11 100644 --- a/config/GZLP01/rels/d_a_warpf/splits.txt +++ b/config/GZLP01/rels/d_a_warpf/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_warpfout/splits.txt b/config/GZLP01/rels/d_a_warpfout/splits.txt index f81a22996..707285ca7 100644 --- a/config/GZLP01/rels/d_a_warpfout/splits.txt +++ b/config/GZLP01/rels/d_a_warpfout/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_warpgn/splits.txt b/config/GZLP01/rels/d_a_warpgn/splits.txt index 169c1b079..1eaf2677c 100644 --- a/config/GZLP01/rels/d_a_warpgn/splits.txt +++ b/config/GZLP01/rels/d_a_warpgn/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_warphr/splits.txt b/config/GZLP01/rels/d_a_warphr/splits.txt index 88d396803..65a57e73b 100644 --- a/config/GZLP01/rels/d_a_warphr/splits.txt +++ b/config/GZLP01/rels/d_a_warphr/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_warpls/splits.txt b/config/GZLP01/rels/d_a_warpls/splits.txt index 33d5bd744..ecd7c0e52 100644 --- a/config/GZLP01/rels/d_a_warpls/splits.txt +++ b/config/GZLP01/rels/d_a_warpls/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_warpmj/splits.txt b/config/GZLP01/rels/d_a_warpmj/splits.txt index 64799112f..e1e35eea6 100644 --- a/config/GZLP01/rels/d_a_warpmj/splits.txt +++ b/config/GZLP01/rels/d_a_warpmj/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_waterfall/splits.txt b/config/GZLP01/rels/d_a_waterfall/splits.txt index 7291a9d98..9fa7b3d8e 100644 --- a/config/GZLP01/rels/d_a_waterfall/splits.txt +++ b/config/GZLP01/rels/d_a_waterfall/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_wbird/splits.txt b/config/GZLP01/rels/d_a_wbird/splits.txt index 68f4b40a9..e285d74d5 100644 --- a/config/GZLP01/rels/d_a_wbird/splits.txt +++ b/config/GZLP01/rels/d_a_wbird/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_wind_tag/splits.txt b/config/GZLP01/rels/d_a_wind_tag/splits.txt index 8d35ac8ea..1028c5920 100644 --- a/config/GZLP01/rels/d_a_wind_tag/splits.txt +++ b/config/GZLP01/rels/d_a_wind_tag/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_windmill/splits.txt b/config/GZLP01/rels/d_a_windmill/splits.txt index cafe8ee36..b6ba72edc 100644 --- a/config/GZLP01/rels/d_a_windmill/splits.txt +++ b/config/GZLP01/rels/d_a_windmill/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_wz/splits.txt b/config/GZLP01/rels/d_a_wz/splits.txt index 1807db71c..15106da50 100644 --- a/config/GZLP01/rels/d_a_wz/splits.txt +++ b/config/GZLP01/rels/d_a_wz/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_ygcwp/splits.txt b/config/GZLP01/rels/d_a_ygcwp/splits.txt index 98f7ccfa9..bd9bba315 100644 --- a/config/GZLP01/rels/d_a_ygcwp/splits.txt +++ b/config/GZLP01/rels/d_a_ygcwp/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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 diff --git a/config/GZLP01/rels/d_a_ykgr/splits.txt b/config/GZLP01/rels/d_a_ykgr/splits.txt index 5e9300059..9385ceab8 100644 --- a/config/GZLP01/rels/d_a_ykgr/splits.txt +++ b/config/GZLP01/rels/d_a_ykgr/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/d_a_yougan/splits.txt b/config/GZLP01/rels/d_a_yougan/splits.txt index 9b1824411..aad239a0e 100644 --- a/config/GZLP01/rels/d_a_yougan/splits.txt +++ b/config/GZLP01/rels/d_a_yougan/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .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/GZLP01/rels/f_pc_profile_lst/splits.txt b/config/GZLP01/rels/f_pc_profile_lst/splits.txt index fe345e049..f7a3ab343 100644 --- a/config/GZLP01/rels/f_pc_profile_lst/splits.txt +++ b/config/GZLP01/rels/f_pc_profile_lst/splits.txt @@ -1,7 +1,7 @@ Sections: - .text type:code align:8 - .ctors type:rodata align:8 - .dtors type:rodata align:8 + .text type:code align:4 + .ctors type:rodata align:4 + .dtors type:rodata align:4 .data type:data align:8 REL/executor.c: diff --git a/configure.py b/configure.py index 8c0b18f6d..e8f9e275b 100644 --- a/configure.py +++ b/configure.py @@ -120,7 +120,7 @@ if not is_windows(): # Tool versions config.compilers_tag = "1" -config.dtk_tag = "v0.5.2" +config.dtk_tag = "v0.5.4" config.sjiswrap_tag = "v1.1.0" config.wibo_tag = "0.5.1" @@ -169,6 +169,14 @@ cflags_runtime = [ "-inline deferred,auto", ] +# Dolphin library flags +cflags_dolphin = [ + *cflags_base, + "-use_lmw_stmw on", + "-str reuse,pool,readonly", + "-inline auto", +] + # Framework flags cflags_framework = [ *cflags_base, @@ -190,11 +198,11 @@ cflags_rel = [ # Helper function for single-object RELs -def Rel(status, rel_name, cpp_name): +def Rel(status, rel_name, cpp_name, extra_cflags=[]): return { "lib": rel_name, "mw_version": "GC/1.3.2", - "cflags": cflags_rel, + "cflags": cflags_rel + extra_cflags, "host": True, "objects": [ Object(status, cpp_name), @@ -203,8 +211,8 @@ def Rel(status, rel_name, cpp_name): # Helper function for actor RELs -def ActorRel(status, rel_name): - return Rel(status, rel_name, f"d/actor/{rel_name}.cpp") +def ActorRel(status, rel_name, extra_cflags=[]): + return Rel(status, rel_name, f"d/actor/{rel_name}.cpp", extra_cflags=extra_cflags) # Helper function for JSystem libraries @@ -222,8 +230,8 @@ def JSystemLib(lib_name, objects): def DolphinLib(lib_name, objects): return { "lib": lib_name, - "mw_version": "GC/1.3.2", - "cflags": cflags_runtime, # TODO check + "mw_version": "GC/1.2.5n", + "cflags": cflags_dolphin, # TODO check "host": False, "objects": objects, } @@ -249,7 +257,7 @@ config.libs = [ Object(NonMatching, "m_Do/m_Do_graphic.cpp"), Object(Matching, "m_Do/m_Do_machine.cpp"), Object(NonMatching, "m_Do/m_Do_mtx.cpp"), - Object(NonMatching, "m_Do/m_Do_ext.cpp"), + Object(NonMatching, "m_Do/m_Do_ext.cpp", extra_cflags=["-sym off"]), Object(NonMatching, "m_Do/m_Do_lib.cpp"), Object(Matching, "m_Do/m_Do_hostIO.cpp"), Object(Matching, "m_Do/m_Do_Reset.cpp"), @@ -364,7 +372,7 @@ config.libs = [ Object(NonMatching, "d/d_path.cpp"), Object(NonMatching, "d/d_drawlist.cpp"), Object(Matching, "d/d_kankyo_data.cpp"), - Object(NonMatching, "d/d_kankyo_wether.cpp"), + Object(Matching, "d/d_kankyo_wether.cpp"), Object(NonMatching, "d/d_kankyo_rain.cpp"), Object(Matching, "d/d_kankyo_demo.cpp"), Object(NonMatching, "d/d_detect.cpp"), @@ -406,7 +414,7 @@ config.libs = [ Object(NonMatching, "d/d_snap.cpp"), Object(Matching, "d/d_point_wind.cpp"), Object(NonMatching, "d/actor/d_a_agb.cpp"), - Object(NonMatching, "d/actor/d_a_arrow.cpp"), + Object(Matching, "d/actor/d_a_arrow.cpp", cflags=[*cflags_framework, "-sym off"]), Object(NonMatching, "d/actor/d_a_bg.cpp"), Object(NonMatching, "d/actor/d_a_bomb.cpp"), Object(NonMatching, "d/actor/d_a_bomb2.cpp"), @@ -421,7 +429,7 @@ config.libs = [ Object(NonMatching, "d/actor/d_a_ib.cpp"), Object(NonMatching, "d/actor/d_a_item.cpp"), Object(Matching, "d/actor/d_a_itembase.cpp"), - Object(NonMatching, "d/actor/d_a_nh.cpp"), + Object(Matching, "d/actor/d_a_nh.cpp"), Object(NonMatching, "d/actor/d_a_npc_fa1.cpp"), Object(NonMatching, "d/actor/d_a_obj_search.cpp"), Object(NonMatching, "d/actor/d_a_player.cpp"), @@ -722,11 +730,11 @@ config.libs = [ "gba", [ Object(NonMatching, "dolphin/gba/GBA.c"), - Object(NonMatching, "dolphin/gba/GBAGetProcessStatus.c"), + Object(Matching, "dolphin/gba/GBAGetProcessStatus.c"), Object(NonMatching, "dolphin/gba/GBAJoyBoot.c"), - Object(NonMatching, "dolphin/gba/GBARead.c"), - Object(NonMatching, "dolphin/gba/GBAWrite.c"), - Object(NonMatching, "dolphin/gba/GBAXfer.c"), + Object(Matching, "dolphin/gba/GBARead.c"), + Object(Matching, "dolphin/gba/GBAWrite.c"), + Object(Matching, "dolphin/gba/GBAXfer.c"), ], ), JSystemLib( @@ -765,7 +773,7 @@ config.libs = [ Object(Matching, "JSystem/JKernel/JKRAramHeap.cpp"), Object(Matching, "JSystem/JKernel/JKRAramBlock.cpp"), Object(Matching, "JSystem/JKernel/JKRAramPiece.cpp"), - Object(NonMatching, "JSystem/JKernel/JKRAramStream.cpp"), + Object(Matching, "JSystem/JKernel/JKRAramStream.cpp"), Object(Matching, "JSystem/JKernel/JKRFileLoader.cpp"), Object(Matching, "JSystem/JKernel/JKRFileFinder.cpp"), Object(Matching, "JSystem/JKernel/JKRFileCache.cpp"), @@ -802,14 +810,14 @@ config.libs = [ JSystemLib( "JUtility", [ - Object(NonMatching, "JSystem/JUtility/JUTCacheFont.cpp"), + Object(Matching, "JSystem/JUtility/JUTCacheFont.cpp"), Object(Matching, "JSystem/JUtility/JUTResource.cpp"), Object(Matching, "JSystem/JUtility/JUTTexture.cpp"), Object(Matching, "JSystem/JUtility/JUTPalette.cpp"), Object(Matching, "JSystem/JUtility/JUTNameTab.cpp"), Object(Matching, "JSystem/JUtility/JUTGraphFifo.cpp"), Object(Matching, "JSystem/JUtility/JUTFont.cpp"), - Object(NonMatching, "JSystem/JUtility/JUTResFont.cpp"), + Object(Matching, "JSystem/JUtility/JUTResFont.cpp"), Object(Matching, "JSystem/JUtility/JUTDbPrint.cpp"), Object(NonMatching, "JSystem/JUtility/JUTGamePad.cpp"), Object(NonMatching, "JSystem/JUtility/JUTException.cpp"), @@ -852,9 +860,9 @@ config.libs = [ Object(Matching, "JSystem/J3DGraphBase/J3DVertex.cpp"), Object(NonMatching, "JSystem/J3DGraphBase/J3DTransform.cpp"), Object(Matching, "JSystem/J3DGraphBase/J3DPacket.cpp"), - Object(NonMatching, "JSystem/J3DGraphBase/J3DShapeMtx.cpp"), + Object(Matching, "JSystem/J3DGraphBase/J3DShapeMtx.cpp"), Object(Matching, "JSystem/J3DGraphBase/J3DShape.cpp"), - Object(NonMatching, "JSystem/J3DGraphBase/J3DMaterial.cpp"), + Object(Matching, "JSystem/J3DGraphBase/J3DMaterial.cpp"), Object(NonMatching, "JSystem/J3DGraphBase/J3DMatBlock.cpp"), Object(NonMatching, "JSystem/J3DGraphBase/J3DTevs.cpp"), Object(Matching, "JSystem/J3DGraphBase/J3DDrawBuffer.cpp"), @@ -863,14 +871,14 @@ config.libs = [ JSystemLib( "J3DGraphAnimator", [ - Object(NonMatching, "JSystem/J3DGraphAnimator/J3DModelData.cpp"), + Object(Matching, "JSystem/J3DGraphAnimator/J3DModelData.cpp"), Object(NonMatching, "JSystem/J3DGraphAnimator/J3DModel.cpp"), Object(NonMatching, "JSystem/J3DGraphAnimator/J3DAnimation.cpp"), Object(NonMatching, "JSystem/J3DGraphAnimator/J3DMaterialAnm.cpp"), Object(NonMatching, "JSystem/J3DGraphAnimator/J3DVisibility.cpp"), Object(NonMatching, "JSystem/J3DGraphAnimator/J3DCluster.cpp"), Object(NonMatching, "JSystem/J3DGraphAnimator/J3DJoint.cpp"), - Object(NonMatching, "JSystem/J3DGraphAnimator/J3DNode.cpp"), + Object(Matching, "JSystem/J3DGraphAnimator/J3DNode.cpp"), Object(NonMatching, "JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp"), ], ), @@ -1229,9 +1237,9 @@ config.libs = [ ActorRel(NonMatching, "d_a_kytag01"), ActorRel(NonMatching, "d_a_kytag02"), ActorRel(NonMatching, "d_a_kytag03"), - ActorRel(NonMatching, "d_a_kytag04"), + ActorRel(Matching, "d_a_kytag04"), ActorRel(NonMatching, "d_a_kytag05"), - ActorRel(NonMatching, "d_a_kytag06"), + ActorRel(Matching, "d_a_kytag06"), ActorRel(NonMatching, "d_a_kytag07"), ActorRel(NonMatching, "d_a_lamp"), ActorRel(NonMatching, "d_a_lod_bg"), @@ -1242,7 +1250,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_msw"), ActorRel(NonMatching, "d_a_mtoge"), ActorRel(NonMatching, "d_a_obj_AjavW"), - ActorRel(NonMatching, "d_a_obj_Ygush00"), + ActorRel(Matching, "d_a_obj_Ygush00", extra_cflags=["-sym off"]), ActorRel(NonMatching, "d_a_obj_akabe"), ActorRel(NonMatching, "d_a_obj_barrel"), ActorRel(NonMatching, "d_a_obj_barrel2"), @@ -1284,7 +1292,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_pirate_flag"), ActorRel(NonMatching, "d_a_race_item"), ActorRel(NonMatching, "d_a_rd"), - ActorRel(Matching, "d_a_rectangle"), + ActorRel(Matching, "d_a_rectangle"), ActorRel(NonMatching, "d_a_salvage"), ActorRel(NonMatching, "d_a_sbox"), ActorRel(NonMatching, "d_a_sk"), @@ -1427,7 +1435,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_lstair"), ActorRel(NonMatching, "d_a_machine"), ActorRel(NonMatching, "d_a_mant"), - ActorRel(NonMatching, "d_a_mbdoor"), + ActorRel(Matching, "d_a_mbdoor"), ActorRel(NonMatching, "d_a_mgameboard"), ActorRel(NonMatching, "d_a_mmusic"), ActorRel(NonMatching, "d_a_mo2"), @@ -1594,7 +1602,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_tag_etc"), ActorRel(NonMatching, "d_a_tag_island"), ActorRel(NonMatching, "d_a_tag_kf1"), - ActorRel(NonMatching, "d_a_tag_ret"), + ActorRel(Matching, "d_a_tag_ret", extra_cflags=["-sym off"]), ActorRel(NonMatching, "d_a_tag_volcano"), ActorRel(NonMatching, "d_a_title"), ActorRel(NonMatching, "d_a_tn"), diff --git a/include/JSystem/J3DGraphAnimator/J3DAnimation.h b/include/JSystem/J3DGraphAnimator/J3DAnimation.h index 8b4ec14ea..dd1aacaca 100644 --- a/include/JSystem/J3DGraphAnimator/J3DAnimation.h +++ b/include/JSystem/J3DGraphAnimator/J3DAnimation.h @@ -281,10 +281,8 @@ STATIC_ASSERT(sizeof(J3DAnmColorFullData) == 0x34); class J3DAnmBase { public: J3DAnmBase(s16 i_frameMax) { - mAttribute = 0; - field_0x5 = 0; - mFrameMax = i_frameMax; mFrame = 0.0f; + mFrameMax = i_frameMax; } virtual ~J3DAnmBase(); @@ -303,7 +301,12 @@ private: class J3DAnmTransform : public J3DAnmBase { public: - J3DAnmTransform(s16, f32*, s16*, f32*); + J3DAnmTransform(s16 i_frameMax, f32* p1, s16* p2, f32* p3) : J3DAnmBase(i_frameMax) { + field_0x10 = p2; + field_0x14 = p3; + field_0x18 = 0; + field_0xc = p1; + } virtual ~J3DAnmTransform(); virtual s32 getKind() const; @@ -313,17 +316,17 @@ private: /* 0x0C */ f32* field_0xc; /* 0x10 */ s16* field_0x10; /* 0x14 */ f32* field_0x14; - /* 0x18 */ s16 field_0x18; - /* 0x1A */ s16 field_0x1a; - /* 0x1C */ s16 field_0x1c; - /* 0x1E */ s16 field_0x1e; -}; // Size: 0x20 + /* 0x18 */ s32 field_0x18; + /* 0x1C */ s16 field_0x1a; + /* 0x1E */ s16 field_0x1c; + /* 0x20 */ s16 field_0x1e; +}; // Size: 0x22 class J3DAnmTransformKey : public J3DAnmTransform { public: J3DAnmTransformKey() : J3DAnmTransform(0, NULL, NULL, NULL) { - field_0x20 = 0; field_0x24 = 0; + field_0x28 = 0; } void calcTransform(f32, u16, J3DTransformInfo*) const; @@ -333,9 +336,9 @@ public: virtual void getTransform(u16, J3DTransformInfo*) const; private: - /* 0x20 */ int field_0x20; /* 0x24 */ int field_0x24; -}; // Size: 0x28 + /* 0x28 */ int field_0x28; +}; // Size: 0x2C class J3DAnmTransformFull : public J3DAnmTransform { public: diff --git a/include/JSystem/J3DGraphAnimator/J3DJoint.h b/include/JSystem/J3DGraphAnimator/J3DJoint.h index 742a0888e..90d73f795 100644 --- a/include/JSystem/J3DGraphAnimator/J3DJoint.h +++ b/include/JSystem/J3DGraphAnimator/J3DJoint.h @@ -1,8 +1,9 @@ #ifndef J3DJOINT_H #define J3DJOINT_H -#include "JSystem/J3DGraphBase/J3DTransform.h" #include "JSystem/J3DGraphAnimator/J3DNode.h" +#include "JSystem/J3DGraphBase/J3DSys.h" +#include "JSystem/J3DGraphBase/J3DTransform.h" class J3DAnmTransform; class J3DJoint; @@ -11,45 +12,117 @@ class J3DMtxBuffer; class J3DMtxCalc { public: - static void setMtxBuffer(J3DMtxBuffer*); + virtual void init(const Vec&, const Mtx&) {} + virtual void recursiveCalc(J3DNode*) {} + virtual void calcTransform(u16, const J3DTransformInfo&) {} + virtual void calc(u16) {} - virtual ~J3DMtxCalc(); - virtual void init(Vec const& param_0, const Mtx&) = 0; - virtual void recursiveCalc(J3DNode *); - virtual void calc() = 0; - virtual void calcTransform(u16, J3DTransformInfo const &) = 0; + void initAnm() { + for (int i = 0; i < 4; i++) { + mOne[i] = 0; + mTwo[i] = 0.0f; + } + } + void setAnmTransform(J3DAnmTransform* mAnmTransform); - static J3DMtxBuffer* getMtxBuffer() { return mMtxBuffer; } - static J3DJoint* getJoint() { return mJoint; } - static void setJoint(J3DJoint* joint) { mJoint = joint; } - - static J3DMtxBuffer* mMtxBuffer; - static J3DJoint* mJoint; -}; // Size: 0x4 - -class J3DMtxCalcNoAnmBase : public J3DMtxCalc { public: - virtual ~J3DMtxCalcNoAnmBase(); + u32 mOne[4]; + f32 mTwo[4]; }; -template -class J3DMtxCalcNoAnm : public J3DMtxCalcNoAnmBase, public A, public B { +class J3DMtxCalcAnm : public virtual J3DMtxCalc { public: - J3DMtxCalcNoAnm() {} - virtual ~J3DMtxCalcNoAnm() {} - virtual void init(Vec const& param_0, f32 const (¶m_1)[3][4]); - virtual void calc(); + J3DMtxCalcAnm(J3DAnmTransform* mAnmTransform) : J3DMtxCalc() { setAnmTransform(mAnmTransform); } + virtual ~J3DMtxCalcAnm() { initAnm(); } + virtual void calc(u16); +}; + +class J3DMtxCalcBasic : public virtual J3DMtxCalc { +private: + Mtx mBackupMtx; + Vec mBackupS; + Vec mBackupParentS; + +public: + J3DMtxCalcBasic(); + virtual ~J3DMtxCalcBasic() {} + virtual void init(const Vec& vec, const Mtx& mtx); + virtual void recursiveCalc(J3DNode*); + virtual void calcTransform(u16, const J3DTransformInfo&); + virtual void calc(u16); + + Mtx& getBackupMtx() { return mBackupMtx; } + Vec& getBackupS() { return mBackupS; } + Vec& getBackupParentS() { return mBackupParentS; } + + void setBackupS(const Vec& vec) { mBackupS = vec; } + void setBackupParentS(const Vec& vec) { mBackupParentS = vec; } +}; + +class J3DMtxCalcSoftimage : public J3DMtxCalcBasic { +public: + J3DMtxCalcSoftimage() : J3DMtxCalc() {} + virtual ~J3DMtxCalcSoftimage(); + virtual void init(const Vec& vec, const Mtx& mtx); + virtual void calcTransform(u16, const J3DTransformInfo&); +}; + +class J3DMtxCalcMaya : public J3DMtxCalcBasic { +public: + J3DMtxCalcMaya() : J3DMtxCalcBasic() {} + virtual ~J3DMtxCalcMaya() {} + virtual void init(const Vec& vec, const Mtx& mtx) { + // TODO: This breaks some TUs by adding extra data ({0x3F800000, 0x3F800000, 0x3F800000}) + // J3DSys::mParentS = (Vec){1.0f, 1.0f, 1.0f}; + J3DSys::mCurrentS = vec; + J3DSys::mCurrentMtx[0][0] = mtx[0][0] * J3DSys::mCurrentS.x; + J3DSys::mCurrentMtx[0][1] = mtx[0][1] * J3DSys::mCurrentS.y; + J3DSys::mCurrentMtx[0][2] = mtx[0][2] * J3DSys::mCurrentS.z; + J3DSys::mCurrentMtx[0][3] = mtx[0][3]; + J3DSys::mCurrentMtx[1][0] = mtx[1][0] * J3DSys::mCurrentS.x; + J3DSys::mCurrentMtx[1][1] = mtx[1][1] * J3DSys::mCurrentS.y; + J3DSys::mCurrentMtx[1][2] = mtx[1][2] * J3DSys::mCurrentS.z; + J3DSys::mCurrentMtx[1][3] = mtx[1][3]; + J3DSys::mCurrentMtx[2][0] = mtx[2][0] * J3DSys::mCurrentS.x; + J3DSys::mCurrentMtx[2][1] = mtx[2][1] * J3DSys::mCurrentS.y; + J3DSys::mCurrentMtx[2][2] = mtx[2][2] * J3DSys::mCurrentS.z; + J3DSys::mCurrentMtx[2][3] = mtx[2][3]; + } + virtual void calcTransform(u16, const J3DTransformInfo&); +}; + +class J3DMtxCalcMayaAnm : public J3DMtxCalcMaya, public J3DMtxCalcAnm { +public: + J3DMtxCalcMayaAnm(J3DAnmTransform* pAnmTransform) + : J3DMtxCalcMaya(), J3DMtxCalcAnm(pAnmTransform) {} + virtual ~J3DMtxCalcMayaAnm() {} + virtual void calc(u16 v) { J3DMtxCalcAnm::calc(v); } +}; + +enum J3DJointMtxType { + J3DJntMtxType_Normal, + J3DJntMtxType_BBoard, + J3DJntMtxType_YBBoard, + J3DJntMtxType_Multi, }; class J3DJoint : public J3DNode { public: - J3DJoint(); - void entryIn(); - void recursiveCalc(); + void initialize(); void addMesh(J3DMaterial*); + void calcIn(); + void calcOut(); + void entryIn(); + u32 getType() const { return 'NJNT'; } + void recursiveCalc(); + + J3DJoint(); + ~J3DJoint() {} J3DMaterial* getMesh() { return mMesh; } u16 getJntNo() const { return mJntNo; } + u8 getKind() const { return mKind; } + u8 getMtxType() const { return getKind() >> 4; } u8 getScaleCompensate() const { return mScaleCompensate; } void setCurrentMtxCalc(J3DMtxCalc* pMtxCalc) { mCurrentMtxCalc = pMtxCalc; } J3DTransformInfo& getTransformInfo() { return mTransformInfo; } @@ -67,7 +140,7 @@ private: friend struct J3DJointFactory; friend class J3DJointTree; - /* 0x14 */ u16 mJntNo; + /* 0x18 */ u16 mJntNo; /* 0x1A */ u8 mKind; /* 0x1B */ u8 mScaleCompensate; /* 0x1C */ J3DTransformInfo mTransformInfo; @@ -77,26 +150,6 @@ private: /* 0x58 */ J3DMtxCalc* mMtxCalc; /* 0x5C */ J3DMtxCalc* mOldMtxCalc; /* 0x60 */ J3DMaterial* mMesh; -}; // Size: 0x54 - -struct J3DMtxCalcJ3DSysInitMaya { - static void init(Vec const&, f32 const (&)[3][4]); -}; - -struct J3DMtxCalcJ3DSysInitBasic { - static void init(Vec const&, f32 const (&)[3][4]); -}; - -struct J3DMtxCalcCalcTransformSoftimage { - static void calcTransform(J3DTransformInfo const&); -}; - -struct J3DMtxCalcCalcTransformMaya { - static void calcTransform(J3DTransformInfo const&); -}; - -struct J3DMtxCalcCalcTransformBasic { - static void calcTransform(J3DTransformInfo const&); -}; +}; // Size: 0x64 #endif /* J3DJOINT_H */ diff --git a/include/JSystem/J3DGraphAnimator/J3DJointTree.h b/include/JSystem/J3DGraphAnimator/J3DJointTree.h index dee523852..f8ff9cbac 100644 --- a/include/JSystem/J3DGraphAnimator/J3DJointTree.h +++ b/include/JSystem/J3DGraphAnimator/J3DJointTree.h @@ -10,6 +10,8 @@ class JUTNameTab; struct J3DModelHierarchy { /* 0x0 */ u16 mType; /* 0x2 */ u16 mValue; + + inline u16 getValue() const { return mValue; } }; class J3DMaterialTable; diff --git a/include/JSystem/J3DGraphAnimator/J3DMaterialAnm.h b/include/JSystem/J3DGraphAnimator/J3DMaterialAnm.h index fd986b8c0..89f43ac6a 100644 --- a/include/JSystem/J3DGraphAnimator/J3DMaterialAnm.h +++ b/include/JSystem/J3DGraphAnimator/J3DMaterialAnm.h @@ -9,24 +9,29 @@ typedef struct _GXColorS10 GXColorS10; class J3DMatColorAnm { public: ~J3DMatColorAnm() {} - J3DMatColorAnm() {} - J3DMatColorAnm(J3DAnmColor * pAnm, u16 materialIdx) { + J3DMatColorAnm() { + mAnmColor = NULL; + mAnmIndex = 0; + } + J3DMatColorAnm(J3DAnmColor* pAnm, u16 anmIdx) { mAnmColor = pAnm; - mMaterialIdx = materialIdx; + mAnmIndex = anmIdx; } void operator=(J3DMatColorAnm const& other) { mAnmColor = other.mAnmColor; - mMaterialIdx = other.mMaterialIdx; + mAnmIndex = other.mAnmIndex; mAnmFlag = other.mAnmFlag; } + void setAnmIndex(u16 index) { mAnmIndex = index; } void setAnmFlag(bool flag) { mAnmFlag = flag; } bool getAnmFlag() const { return mAnmFlag; } - void calc(_GXColor* pColor) const { mAnmColor->getColor(mMaterialIdx, pColor); } + void setAnmColor(J3DAnmColor* anmColor) { mAnmColor = anmColor; } + void calc(_GXColor* pColor) const { mAnmColor->getColor(mAnmIndex, pColor); } private: - /* 0x0 */ u16 mMaterialIdx; + /* 0x0 */ u16 mAnmIndex; /* 0x2 */ u16 mAnmFlag; /* 0x4 */ J3DAnmColor* mAnmColor; }; // Size: 0x8 @@ -34,21 +39,26 @@ private: class J3DTexNoAnm { public: ~J3DTexNoAnm() {}; - J3DTexNoAnm() {}; - virtual void calc(u16* param_0) const { mAnmTexPattern->getTexNo(field_0x4, param_0); } + J3DTexNoAnm() { + mAnmTexPattern = NULL; + mAnmIndex = 0; + }; + virtual void calc(u16* param_0) const { mAnmTexPattern->getTexNo(mAnmIndex, param_0); } void operator=(J3DTexNoAnm const& other) { mAnmTexPattern = other.mAnmTexPattern; - field_0x4 = other.field_0x4; + mAnmIndex = other.mAnmIndex; mAnmFlag = other.mAnmFlag; } + void setAnmIndex(u16 index) { mAnmIndex = index; } void setAnmFlag(bool flag) { mAnmFlag = flag; } bool getAnmFlag() const { return mAnmFlag; } J3DAnmTexPattern* getAnmTexPattern() { return mAnmTexPattern; } + void setAnmTexPattern(J3DAnmTexPattern* pattern) { mAnmTexPattern = pattern; } private: - /* 0x4 */ u16 field_0x4; + /* 0x4 */ u16 mAnmIndex; /* 0x6 */ u16 mAnmFlag; /* 0x8 */ J3DAnmTexPattern* mAnmTexPattern; }; // Size: 0xC @@ -56,26 +66,31 @@ private: class J3DTexMtxAnm { public: ~J3DTexMtxAnm() {} - J3DTexMtxAnm() {} - J3DTexMtxAnm(J3DAnmTextureSRTKey * pAnm, u16 materialIdx) { + J3DTexMtxAnm() { + mAnmIndex = 0; + mAnmTransform = NULL; + } + J3DTexMtxAnm(J3DAnmTextureSRTKey * pAnm, u16 anmIdx) { mAnmTransform = pAnm; - mMaterialIdx = materialIdx; + mAnmIndex = anmIdx; } void operator=(J3DTexMtxAnm const& other) { mAnmTransform = other.mAnmTransform; - mMaterialIdx = other.mMaterialIdx; + mAnmIndex = other.mAnmIndex; mAnmFlag = other.mAnmFlag; } - void setAnmFlag(bool flag) { mAnmFlag = flag; } - void calc(J3DTextureSRTInfo* pSRTInfo) const { - mAnmTransform->getTransform(mMaterialIdx, pSRTInfo); - } + void setAnmIndex(u16 index) { mAnmIndex = index; } bool getAnmFlag() const { return mAnmFlag; } + void setAnmFlag(bool flag) { mAnmFlag = flag; } + void setAnmTransform(J3DAnmTextureSRTKey* transform) { mAnmTransform = transform; } + void calc(J3DTextureSRTInfo* pSRTInfo) const { + mAnmTransform->getTransform(mAnmIndex, pSRTInfo); + } private: - /* 0x0 */ u16 mMaterialIdx; + /* 0x0 */ u16 mAnmIndex; /* 0x2 */ u16 mAnmFlag; /* 0x4 */ J3DAnmTextureSRTKey* mAnmTransform; }; // Size: 0x8 @@ -83,24 +98,29 @@ private: class J3DTevKColorAnm { public: ~J3DTevKColorAnm() {} - J3DTevKColorAnm() {} - J3DTevKColorAnm(J3DAnmTevRegKey * pAnm, u16 materialIdx) { + J3DTevKColorAnm() { + mAnmTevReg = NULL; + mAnmIndex = 0; + } + J3DTevKColorAnm(J3DAnmTevRegKey * pAnm, u16 anmIdx) { mAnmTevReg = pAnm; - mMaterialIdx = materialIdx; + mAnmIndex = anmIdx; } void operator=(J3DTevKColorAnm const& other) { mAnmTevReg = other.mAnmTevReg; - mMaterialIdx = other.mMaterialIdx; + mAnmIndex = other.mAnmIndex; mAnmFlag = other.mAnmFlag; } + void setAnmIndex(u16 index) { mAnmIndex = index; } void setAnmFlag(bool flag) { mAnmFlag = flag; } bool getAnmFlag() const { return mAnmFlag; } - void calc(_GXColor* pColor) const { mAnmTevReg->getTevKonstReg(mMaterialIdx, pColor); } + void setAnmTevReg(J3DAnmTevRegKey* tevReg) { mAnmTevReg = tevReg; } + void calc(_GXColor* pColor) const { mAnmTevReg->getTevKonstReg(mAnmIndex, pColor); } private: - /* 0x0 */ u16 mMaterialIdx; + /* 0x0 */ u16 mAnmIndex; /* 0x2 */ u16 mAnmFlag; /* 0x4 */ J3DAnmTevRegKey* mAnmTevReg; }; // Size: 0x8 @@ -108,24 +128,29 @@ private: class J3DTevColorAnm { public: ~J3DTevColorAnm() {} - J3DTevColorAnm() {} - J3DTevColorAnm(J3DAnmTevRegKey * pAnm, u16 materialIdx) { + J3DTevColorAnm() { + mAnmTevReg = NULL; + mAnmIndex = 0; + } + J3DTevColorAnm(J3DAnmTevRegKey * pAnm, u16 anmIdx) { mAnmTevReg = pAnm; - mMaterialIdx = materialIdx; + mAnmIndex = anmIdx; } void operator=(J3DTevColorAnm const& other) { mAnmTevReg = other.mAnmTevReg; - mMaterialIdx = other.mMaterialIdx; + mAnmIndex = other.mAnmIndex; mAnmFlag = other.mAnmFlag; } + void setAnmIndex(u16 index) { mAnmIndex = index; } void setAnmFlag(bool flag) { mAnmFlag = flag; } bool getAnmFlag() const { return mAnmFlag; } - void calc(_GXColorS10* pColor) const { mAnmTevReg->getTevColorReg(mMaterialIdx, pColor); } + void setAnmTevReg(J3DAnmTevRegKey* tevReg) { mAnmTevReg = tevReg; } + void calc(_GXColorS10* pColor) const { mAnmTevReg->getTevColorReg(mAnmIndex, pColor); } private: - /* 0x0 */ u16 mMaterialIdx; + /* 0x0 */ u16 mAnmIndex; /* 0x2 */ u16 mAnmFlag; /* 0x4 */ J3DAnmTevRegKey* mAnmTevReg; }; // Size: 0x8 diff --git a/include/JSystem/J3DGraphAnimator/J3DMaterialAttach.h b/include/JSystem/J3DGraphAnimator/J3DMaterialAttach.h index 38b5c7e22..4d95d6075 100644 --- a/include/JSystem/J3DGraphAnimator/J3DMaterialAttach.h +++ b/include/JSystem/J3DGraphAnimator/J3DMaterialAttach.h @@ -35,7 +35,7 @@ public: virtual ~J3DMaterialTable(); - J3DMaterial* getMaterialNodePointer(u16 idx) const { return mMaterialNodePointer[idx]; } + J3DMaterial* getMaterialNodePointer(const u16 idx) const { return mMaterialNodePointer[idx]; } J3DTexture* getTexture() const { return mTexture; } JUTNameTab* getTextureName() const { return mTextureName; } @@ -45,6 +45,7 @@ public: JUTNameTab* getMaterialName() const { return mMaterialName; } u16 getMaterialNum() const { return mMaterialNum; } + bool isLocked() const { return field_0x20 == 1; } private: friend class J3DJointTree; @@ -57,6 +58,7 @@ private: /* 0x14 */ u32 field_0x14; /* 0x18 */ J3DTexture* mTexture; /* 0x1C */ JUTNameTab* mTextureName; -}; // Size: 0x20 + /* 0x20 */ u16 field_0x20; +}; // Size: 0x24 #endif /* J3DMATERIALATTACH_H */ diff --git a/include/JSystem/J3DGraphAnimator/J3DModel.h b/include/JSystem/J3DGraphAnimator/J3DModel.h index 91808ae62..691bd4c87 100644 --- a/include/JSystem/J3DGraphAnimator/J3DModel.h +++ b/include/JSystem/J3DGraphAnimator/J3DModel.h @@ -30,13 +30,21 @@ struct J3DUnkCalc2 { typedef void (*J3DCalcCallBack)(J3DModel*, u32 timing); +class J3DAnmVisibilityFull; class J3DMatPacket; class J3DShapePacket; class J3DVisibilityManager { public: + J3DVisibilityManager(J3DAnmVisibilityFull* visibility) { + mAnmVisibility = visibility; + field_0x8 = 1; + } virtual ~J3DVisibilityManager(); virtual void setVisibility(J3DModelData*); + + /* 0x04 */ J3DAnmVisibilityFull* mAnmVisibility; + /* 0x08 */ int field_0x8; }; class J3DUnkCallBack { @@ -66,6 +74,8 @@ public: void calcDrawMtx(); void prepareShapePackets(); MtxP getAnmMtx(int idx) { return mpNodeMtx[idx]; } + void setAnmMtx(int idx, Mtx mtx) { MTXCopy(mtx, mpNodeMtx[idx]); } + MtxP getWeightAnmMtx(int idx) { return mpWeightEnvMtx[idx]; } s32 setNoUseDrawMtx(); s32 createSingleDrawMtx(J3DModelData*); @@ -76,7 +86,6 @@ public: virtual void entry(); virtual void calc(); virtual void calcMaterial(); - virtual void calcDiffTexMtx(); virtual void viewCalc(); virtual ~J3DModel(); @@ -105,18 +114,25 @@ public: u32 getMtxCalcMode() const { return mFlags & 0x03; } u32* getCurrentViewNoPtr() { return &mCurrentViewNo; } u8* getScaleFlagArray() const { return mpScaleFlagArr; } + u8 getScaleFlag(u32 idx) const { return mpScaleFlagArr[idx]; } + void setScaleFlag(int idx, u8 param_1) { mpScaleFlagArr[idx] = param_1; } + u8 getEnvScaleFlag(u32 idx) const { return mpEvlpScaleFlagArr[idx]; } J3DVertexBuffer* getVertexBuffer() const { return (J3DVertexBuffer*)&mVertexBuffer; } J3DMatPacket* getMatPacket(u16 idx) const { return &mpMatPacket[idx]; } J3DShapePacket* getShapePacket(u16 idx) const { return &mpShapePacket[idx]; } Mtx** getDrawMtxPtrPtr() const { return mpDrawMtxBuf[1]; } Mtx* getDrawMtxPtr() const { return mpDrawMtxBuf[1][mCurrentViewNo]; } + Mtx& getDrawMtx(u32 idx) const { return getDrawMtxPtr()[idx]; } Mtx33** getNrmMtxPtrPtr() const { return mpNrmMtxBuf[1]; } Mtx33* getNrmMtxPtr() const { return mpNrmMtxBuf[1][mCurrentViewNo]; } - Mtx33*** getBumpMtxPtrPtr() const { return mpBumpMtxArr[1]; } + Mtx33& getNrmMtx(u32 idx) const { return getNrmMtxPtr()[idx]; } + Mtx33** getBumpMtxPtrPtr(u32 idx) const { return mpBumpMtxArr[1][idx]; } + Mtx33* getBumpMtxPtr(u32 idx) const { return mpBumpMtxArr[1][idx][mCurrentViewNo]; } void setBaseScale(const Vec& scale) { mBaseScale = scale; } void setUserArea(void* area) { mUserArea = area; } void* getUserArea() const { return mUserArea; } Vec* getBaseScale() { return &mBaseScale; } + void setVisibilityManager(J3DVisibilityManager* manager) { mpVisibilityManager = manager; } void setAnmMtx(int jntNo, Mtx mtx) { MTXCopy(mtx, mpNodeMtx[jntNo]); diff --git a/include/JSystem/J3DGraphAnimator/J3DModelData.h b/include/JSystem/J3DGraphAnimator/J3DModelData.h index bbf3da2ae..755634155 100644 --- a/include/JSystem/J3DGraphAnimator/J3DModelData.h +++ b/include/JSystem/J3DGraphAnimator/J3DModelData.h @@ -55,6 +55,8 @@ public: JUTNameTab* getTextureName() const { return mMaterialTable.getTextureName(); } void setTexture(J3DTexture* pTexture) { mMaterialTable.setTexture(pTexture); } void setTextureName(JUTNameTab* pTextureName) { mMaterialTable.setTextureName(pTextureName); } + bool isLocked() { return mMaterialTable.isLocked(); } + u16 getDrawFullWgtMtxNum() const { return mJointTree.getDrawFullWgtMtxNum(); } u16 getWEvlpMtxNum() const { return mJointTree.getWEvlpMtxNum(); } u16* getWEvlpMixMtxIndex() const { return mJointTree.getWEvlpMixIndex(); } f32* getWEvlpMixWeight() const { return mJointTree.getWEvlpMixWeight(); } @@ -92,7 +94,7 @@ private: /* 0x0E */ u16 mbHasBillboard; /* 0x10 */ J3DJointTree mJointTree; /* 0x58 */ J3DMaterialTable mMaterialTable; - /* 0x78 */ J3DShapeTable mShapeTable; + /* 0x7C */ J3DShapeTable mShapeTable; /* 0x84 */ J3DVertexData mVertexData; /* 0xE0 */ JUTNameTab * mName; }; // Size: 0xE4 diff --git a/include/JSystem/J3DGraphAnimator/J3DMtxBuffer.h b/include/JSystem/J3DGraphAnimator/J3DMtxBuffer.h deleted file mode 100644 index 1b791fc63..000000000 --- a/include/JSystem/J3DGraphAnimator/J3DMtxBuffer.h +++ /dev/null @@ -1,81 +0,0 @@ -#ifndef J3DMTXBUFFER_H -#define J3DMTXBUFFER_H - -#include "JSystem/J3DGraphAnimator/J3DModelData.h" -#include "dolphin/types.h" - -class J3DModelData; - -class J3DMtxBuffer { -public: - J3DMtxBuffer() { initialize(); } - - void initialize(); - s32 create(J3DModelData*, u32); - s32 createAnmMtx(J3DModelData*); - s32 createWeightEnvelopeMtx(J3DModelData*); - s32 setNoUseDrawMtx(); - s32 createDoubleDrawMtx(J3DModelData*, u32); - s32 createBumpMtxArray(J3DModelData*, u32); - void calcWeightEnvelopeMtx(); - void calcDrawMtx(u32, Vec const&, f32 const (&)[3][4]); - void calcNrmMtx(); - void calcBBoardMtx(); - - MtxP getAnmMtx(int idx) const { return mpAnmMtx[idx]; } - void setAnmMtx(int i, Mtx m) { MTXCopy(m, (MtxP)mpAnmMtx[i]); } - MtxP getWeightAnmMtx(int idx) const { return mpWeightEvlpMtx[idx]; } - - void setScaleFlag(int idx, u8 flag) { mpScaleFlagArr[idx] = flag; } - u32* getCurrentViewNoPtr() { return &mCurrentViewNo; } - u8* getScaleFlagArray() const { return mpScaleFlagArr; } - u8 getScaleFlag(int idx) const { return mpScaleFlagArr[idx]; } - u8 getEnvScaleFlag(int idx) const { return mpEvlpScaleFlagArr[idx]; } - Mtx** getDrawMtxPtrPtr() const { return mpDrawMtxArr[1]; } - Mtx* getDrawMtxPtr() const { return mpDrawMtxArr[1][mCurrentViewNo]; } - Mtx* getDrawMtx(u16 idx) const { return &mpDrawMtxArr[1][mCurrentViewNo][idx]; } - Mtx33** getNrmMtxPtrPtr() const { return mpNrmMtxArr[1]; } - Mtx33* getNrmMtxPtr() const { return mpNrmMtxArr[1][mCurrentViewNo]; } - Mtx33* getNrmMtx(u16 idx) const { return &mpNrmMtxArr[1][mCurrentViewNo][idx]; } - Mtx33*** getBumpMtxPtrPtr() const { return mpBumpMtxArr[1]; } - Mtx33* getBumpMtxPtr(int idx) const { return mpBumpMtxArr[1][idx][mCurrentViewNo]; } - J3DJointTree* getJointTree() const { return mJointTree; } - - void swapDrawMtx() { - Mtx* tmp = mpDrawMtxArr[0][mCurrentViewNo]; - mpDrawMtxArr[0][mCurrentViewNo] = mpDrawMtxArr[1][mCurrentViewNo]; - mpDrawMtxArr[1][mCurrentViewNo] = tmp; - } - - void swapNrmMtx() { - Mtx33* tmp = mpNrmMtxArr[0][mCurrentViewNo]; - mpNrmMtxArr[0][mCurrentViewNo] = mpNrmMtxArr[1][mCurrentViewNo]; - mpNrmMtxArr[1][mCurrentViewNo] = tmp; - } - - static Mtx sNoUseDrawMtx; - static Mtx33 sNoUseNrmMtx; - static Mtx* sNoUseDrawMtxPtr; - static Mtx33* sNoUseNrmMtxPtr; - -private: - /* 0x00 */ J3DJointTree* mJointTree; - /* 0x04 */ u8* mpScaleFlagArr; - /* 0x08 */ u8* mpEvlpScaleFlagArr; - /* 0x0C */ Mtx* mpAnmMtx; - /* 0x10 */ Mtx* mpWeightEvlpMtx; - /* 0x14 */ Mtx** mpDrawMtxArr[2]; - /* 0x1C */ Mtx33** mpNrmMtxArr[2]; - /* 0x28 */ Mtx33*** mpBumpMtxArr[2]; - /* 0x2C */ u32 mFlags; - /* 0x30 */ u32 mCurrentViewNo; - /* 0x34 */ Mtx* mpUserAnmMtx; - -public: - virtual ~J3DMtxBuffer(); -}; - -void J3DCalcViewBaseMtx(f32 (*param_0)[4], Vec const& param_1, f32 const (¶m_2)[3][4], - f32 (*param_3)[4]); - -#endif /* J3DMTXBUFFER_H */ diff --git a/include/JSystem/J3DGraphAnimator/J3DNode.h b/include/JSystem/J3DGraphAnimator/J3DNode.h index ec61c56f1..ec8a783d4 100644 --- a/include/JSystem/J3DGraphAnimator/J3DNode.h +++ b/include/JSystem/J3DGraphAnimator/J3DNode.h @@ -4,14 +4,15 @@ #include "dolphin/mtx/mtx.h" class J3DNode; +class J3DModelData; typedef int (*J3DNodeCallBack)(J3DNode*, int); class J3DNode { public: - virtual void init(Vec const& param_0, Mtx*); + virtual void init(J3DModelData*) {} virtual void entryIn(); - virtual void calcIn(); - virtual void calcOut(); + virtual void calcIn() {} + virtual void calcOut() {} virtual u32 getType() const; virtual ~J3DNode(); diff --git a/include/JSystem/J3DGraphAnimator/J3DShapeTable.h b/include/JSystem/J3DGraphAnimator/J3DShapeTable.h index e67c58717..3be962b9a 100644 --- a/include/JSystem/J3DGraphAnimator/J3DShapeTable.h +++ b/include/JSystem/J3DGraphAnimator/J3DShapeTable.h @@ -17,9 +17,8 @@ public: J3DShape* getShapeNodePointer(u16 idx) const { return mShapeNodePointer[idx]; } private: - /* 0x0 */ void *field_0x0; - /* 0x4 */ u16 mShapeNum; - /* 0x8 */ J3DShape** mShapeNodePointer; -}; // Size: 0x0C + /* 0x0 */ u16 mShapeNum; + /* 0x4 */ J3DShape** mShapeNodePointer; +}; // Size: 0x08 #endif /* J3DSHAPETABLE_H */ diff --git a/include/JSystem/J3DGraphAnimator/J3DSkinDeform.h b/include/JSystem/J3DGraphAnimator/J3DSkinDeform.h index 48e7746eb..7e7a1f720 100644 --- a/include/JSystem/J3DGraphAnimator/J3DSkinDeform.h +++ b/include/JSystem/J3DGraphAnimator/J3DSkinDeform.h @@ -2,10 +2,11 @@ #define J3DSKINDEFORM_H #include "JSystem/J3DGraphAnimator/J3DCluster.h" -#include "JSystem/J3DGraphAnimator/J3DMtxBuffer.h" #include "JSystem/J3DGraphBase/J3DTransform.h" #include "dolphin/types.h" +class J3DModelData; +class J3DVertexBuffer; class J3DModel; class J3DAnmCluster; @@ -51,13 +52,13 @@ public: void initSkinInfo(J3DModelData*); int initMtxIndexArray(J3DModelData*); void changeFastSkinDL(J3DModelData*); - void calcNrmMtx(J3DMtxBuffer*); + // void calcNrmMtx(J3DMtxBuffer*); void transformVtxPosNrm(J3DModelData*); - void calcAnmInvJointMtx(J3DMtxBuffer*); - void deformFastVtxPos_F32(J3DVertexBuffer*, J3DMtxBuffer*) const; - void deformFastVtxNrm_F32(J3DVertexBuffer*, J3DMtxBuffer*) const; - void deformVtxPos_F32(J3DVertexBuffer*, J3DMtxBuffer*) const; - void deformVtxPos_S16(J3DVertexBuffer*, J3DMtxBuffer*) const; + // void calcAnmInvJointMtx(J3DMtxBuffer*); + // void deformFastVtxPos_F32(J3DVertexBuffer*, J3DMtxBuffer*) const; + // void deformFastVtxNrm_F32(J3DVertexBuffer*, J3DMtxBuffer*) const; + // void deformVtxPos_F32(J3DVertexBuffer*, J3DMtxBuffer*) const; + // void deformVtxPos_S16(J3DVertexBuffer*, J3DMtxBuffer*) const; void deformVtxNrm_F32(J3DVertexBuffer*) const; void deformVtxNrm_S16(J3DVertexBuffer*) const; void setNrmMtx(int i, MtxP mtx) { diff --git a/include/JSystem/J3DGraphBase/J3DGD.h b/include/JSystem/J3DGraphBase/J3DGD.h index 254aa8962..27e38e889 100644 --- a/include/JSystem/J3DGraphBase/J3DGD.h +++ b/include/JSystem/J3DGraphBase/J3DGD.h @@ -9,7 +9,7 @@ inline void J3DGDWrite_u8(u8 param) { } inline void J3DGDWrite_u16(u16 param) { - __GDWrite((param & 0xffff) >> 8); + __GDWrite((param >> 8) & 0xff); __GDWrite(param & 0xff); } @@ -20,15 +20,53 @@ inline void J3DGDWrite_u32(u32 param) { __GDWrite(param & 0xff); } -inline void J3DGDWriteXFCmd(u16 param_1, u32 param_2) { +inline void J3DGDWrite_f32(f32 param) { + u32 tmp = *(u32*)¶m; + J3DGDWrite_u32(tmp); +} + +inline void J3DGDWriteBPCmd(u32 param_1) { + J3DGDWrite_u8(0x61); + J3DGDWrite_u32(param_1); +} + +inline void J3DGDWriteXFCmd(u16 cmd, u32 param) { J3DGDWrite_u8(0x10); J3DGDWrite_u16(0); - J3DGDWrite_u16(param_1); - J3DGDWrite_u32(param_2); + J3DGDWrite_u16(cmd); + J3DGDWrite_u32(param); +} + +inline void J3DGDWriteXFCmdHdr(u16 cmd, u8 len) { + J3DGDWrite_u8(0x10); + J3DGDWrite_u16(len - 1); + J3DGDWrite_u16(cmd); } void J3DGDSetGenMode(u8 texGenNum, u8 colorChanNum, u8 tevStageNum, u8 IndTexStageNum, _GXCullMode cullMode); void J3DGDSetGenMode_3Param(u8 texGenNum, u8 tevStageNum, u8 indTexStageNum); +void J3DGDSetIndTexStageNum(u32); +void J3DGDSetLightAttn(_GXLightID, f32, f32, f32, f32, f32, f32); +void J3DGDSetLightColor(GXLightID, GXColor); +void J3DGDSetLightPos(GXLightID, f32, f32, f32); +void J3DGDSetLightDir(GXLightID, f32, f32, f32); +void J3DGDSetVtxAttrFmtv(GXVtxFmt, GXVtxAttrFmtList*, bool); +void J3DGDSetTexCoordGen(GXTexGenType, GXTexGenSrc); +void J3DGDSetTexCoordScale2(GXTexCoordID, u16, u8, u8, u16, u8, u8); +void J3DGDSetTexLookupMode(GXTexMapID, GXTexWrapMode, GXTexWrapMode, GXTexFilter, GXTexFilter, f32, f32, f32, u8, u8, GXAnisotropy); +void J3DGDSetTexImgAttr(GXTexMapID, u16, u16, GXTexFmt); +void J3DGDSetTexImgPtr(GXTexMapID, void*); +void J3DGDSetTexImgPtrRaw(GXTexMapID, u32); +void J3DGDSetTexTlut(GXTexMapID, u32, GXTlutFmt); +void J3DGDLoadTlut(void*, u32, GXTlutSize); +void J3DGDSetIndTexMtx(GXIndTexMtxID, Mtx23, s8); +void J3DGDSetIndTexCoordScale(GXIndTexStageID, GXIndTexScale, GXIndTexScale, GXIndTexScale, GXIndTexScale); +void J3DGDSetIndTexOrder(u32, GXTexCoordID, GXTexMapID, GXTexCoordID, GXTexMapID, GXTexCoordID, GXTexMapID, GXTexCoordID, GXTexMapID); +void J3DGDSetTevOrder(GXTevStageID, GXTexCoordID, GXTexMapID, GXChannelID, GXTexCoordID, GXTexMapID, GXChannelID); +void J3DGDSetTevKColor(GXTevKColorID, GXColor); +void J3DGDSetTevColorS10(GXTevRegID, GXColorS10); +void J3DGDSetFog(GXFogType, f32, f32, f32, f32, GXColor); +void J3DGDSetFogRangeAdj(u8, u16, GXFogAdjTable*); static inline void J3DFifoLoadIndx(u8 cmd, u16 indx, u16 addr) { GFX_FIFO(u8) = cmd; @@ -44,4 +82,46 @@ inline void J3DGDSetNumTexGens(u8 numTexGens) { J3DGDWriteXFCmd(0x103f, numTexGens); } +inline void J3DGDSetAlphaCompare(GXCompare cmp0, u8 ref0, GXAlphaOp op, GXCompare cmp1, u8 ref1) { + J3DGDWriteBPCmd(ref0 | ref1 << 8 | cmp0 << 16 | cmp1 << 19 | op << 22 | 0xF3 << 24); +} + +inline void J3DGDSetBlendMode(GXBlendMode mode, GXBlendFactor srcFactor, GXBlendFactor dstFactor, GXLogicOp logicOp) { + J3DGDWriteBPCmd(0xFE001FE3); + J3DGDWriteBPCmd( + (mode == GX_BM_BLEND || mode == GX_BM_SUBTRACT) << 0 | + (mode == GX_BM_LOGIC) << 1 | + dstFactor << 5 | + srcFactor << 8 | + (mode == GX_BM_SUBTRACT) << 11 | + logicOp << 12 | + 0x41 << 24); +} + +inline void J3DGDSetBlendMode(GXBlendMode mode, GXBlendFactor srcFactor, GXBlendFactor dstFactor, GXLogicOp logicOp, u8 ditherEnable) { + J3DGDWriteBPCmd(0xFE001FE7); + J3DGDWriteBPCmd( + u32(mode == GX_BM_BLEND || mode == GX_BM_SUBTRACT) << 0 | + (mode == GX_BM_LOGIC) << 1 | + ditherEnable << 2 | + dstFactor << 5 | + srcFactor << 8 | + (mode == GX_BM_SUBTRACT) << 11 | + logicOp << 12 | + 0x41 << 24); +} + +inline void J3DGDSetZMode(u8 compareEnable, GXCompare func, u8 writeEnable) { + J3DGDWriteBPCmd(compareEnable | func << 1 | writeEnable << 4 | 0x40 << 24); +} + +inline void J3DGDSetZCompLoc(u32 compLocEnable) { + J3DGDWriteBPCmd(0xFE000040); + J3DGDWriteBPCmd(compLocEnable << 6 | 0x43 << 24); +} + +inline void J3DGDSetTevKonstantSel_SwapModeTable(GXTevStageID stage, GXTevKColorSel colorSel1, GXTevKAlphaSel alphaSel1, GXTevKColorSel colorSel2, GXTevKAlphaSel alphaSel2, GXTevColorChan chan1, GXTevColorChan chan2) { + J3DGDWriteBPCmd((stage / 2 + 0xf6) << 24 | (chan1 | chan2 << 2 | colorSel1 << 4 | alphaSel1 << 9 | colorSel2 << 14 | alphaSel2 << 19) & 0x00FFFFFF); +} + #endif /* J3DGD_H */ diff --git a/include/JSystem/J3DGraphBase/J3DMatBlock.h b/include/JSystem/J3DGraphBase/J3DMatBlock.h index 886b82a7b..d99cf2e52 100644 --- a/include/JSystem/J3DGraphBase/J3DMatBlock.h +++ b/include/JSystem/J3DGraphBase/J3DMatBlock.h @@ -1,61 +1,71 @@ #ifndef J3DMATBLOCK_H #define J3DMATBLOCK_H +#include "JSystem/J3DGraphBase/J3DGD.h" #include "JSystem/J3DGraphBase/J3DStruct.h" #include "JSystem/J3DGraphBase/J3DTevs.h" #include "JSystem/J3DGraphBase/J3DTexture.h" -#include "dolphin/types.h" +#include "dolphin/gx/GXEnum.h" -struct J3DGXColorS10 : public GXColorS10 { +struct J3DGXColorS10 { J3DGXColorS10() {} -}; - -struct J3DGXColor : public GXColor { - J3DGXColor() {} -}; - -struct J3DNBTScale : public J3DNBTScaleInfo { - J3DNBTScale() {} - J3DNBTScale(J3DNBTScaleInfo const& info) { - mbHasScale = info.mbHasScale; - mScale = info.mScale; + J3DGXColorS10(J3DGXColorS10& other) { mColor = other.mColor; } + J3DGXColorS10& operator=(const J3DGXColorS10& other) { + mColor = other.mColor; + return *this; } - Vec* getScale() { return &mScale; } + J3DGXColorS10& operator=(const GXColorS10& color) { + mColor = color; + return *this; + } + + GXColorS10 mColor; }; -extern const J3DNBTScaleInfo j3dDefaultNBTScaleInfo; +struct J3DGXColor { + J3DGXColor() {} + J3DGXColor(J3DGXColor& other) { mColor = other.mColor; } + J3DGXColor& operator=(const J3DGXColor& other) { + mColor = other.mColor; + return *this; + } + J3DGXColor& operator=(const GXColor& color) { + mColor = color; + return *this; + } + + GXColor mColor; +}; class J3DTexGenBlock { public: - virtual void reset(J3DTexGenBlock*); + virtual void reset(J3DTexGenBlock*) {} virtual void calc(f32 const (*)[4]) = 0; virtual void load() = 0; virtual void patch() = 0; virtual void diff(u32) = 0; virtual void diffTexMtx() = 0; virtual void diffTexGen() = 0; - virtual s32 countDLSize(); + virtual s32 countDLSize() { return 0; } virtual u32 getType() = 0; - virtual void setTexGenNum(u32 const*); - virtual void setTexGenNum(u32); - virtual u32 getTexGenNum() const; - virtual void setTexCoord(u32, J3DTexCoord const*); - virtual J3DTexCoord* getTexCoord(u32); - virtual void setTexMtx(u32, J3DTexMtx*); - virtual J3DTexMtx* getTexMtx(u32); - virtual void setNBTScale(J3DNBTScale const*); - virtual void setNBTScale(J3DNBTScale); - virtual J3DNBTScale* getNBTScale(); - virtual u32 getTexMtxOffset() const; - virtual void setTexMtxOffset(u32); - virtual ~J3DTexGenBlock(); + virtual void setTexGenNum(u32 const*) {} + virtual void setTexGenNum(u32) {} + virtual u32 getTexGenNum() const { return 0; } + virtual void setTexCoord(u32, J3DTexCoord const*) {} + virtual J3DTexCoord* getTexCoord(u32) { return NULL; } + virtual void setTexMtx(u32, J3DTexMtx*) {} + virtual J3DTexMtx* getTexMtx(u32) { return NULL; } + virtual void setNBTScale(J3DNBTScale const*) {} + virtual void setNBTScale(J3DNBTScale) {} + virtual J3DNBTScale* getNBTScale() { return NULL; } + virtual u32 getTexMtxOffset() const { return 0; } + virtual void setTexMtxOffset(u32) {} + virtual ~J3DTexGenBlock() {} }; class J3DTexGenBlockPatched : public J3DTexGenBlock { public: - J3DTexGenBlockPatched() { - initialize(); - } + J3DTexGenBlockPatched() { initialize(); } void initialize(); virtual void reset(J3DTexGenBlock*); @@ -63,128 +73,124 @@ public: virtual void calcWithoutViewMtx(f32 const (*)[4]); virtual void calcPostTexMtx(f32 const (*)[4]); virtual void calcPostTexMtxWithoutViewMtx(f32 const (*)[4]); - virtual void load(); + virtual void load() {} virtual void patch(); virtual void diff(u32); virtual void diffTexMtx(); virtual void diffTexGen(); virtual s32 countDLSize(); - virtual u32 getType(); - virtual void setTexGenNum(u32 const*); - virtual void setTexGenNum(u32); - virtual u32 getTexGenNum() const; - virtual void setTexCoord(u32, J3DTexCoord const*); - virtual J3DTexCoord* getTexCoord(u32); - virtual void setTexMtx(u32, J3DTexMtx*); - virtual J3DTexMtx* getTexMtx(u32); - virtual u32 getTexMtxOffset() const; - virtual void setTexMtxOffset(u32); - virtual ~J3DTexGenBlockPatched(); + virtual u32 getType() { return 'TGPT'; } + virtual void setTexGenNum(u32 const* pNum) { mTexGenNum = *pNum; } + virtual void setTexGenNum(u32 num) { mTexGenNum = num; } + virtual u32 getTexGenNum() const { return mTexGenNum; } + virtual void setTexCoord(u32 i, J3DTexCoord const* pCoord) { mTexCoord[i] = *pCoord; } + virtual J3DTexCoord* getTexCoord(u32 i) { return &mTexCoord[i]; } + virtual void setTexMtx(u32 i, J3DTexMtx* pMtx) { mTexMtx[i] = pMtx; } + virtual J3DTexMtx* getTexMtx(u32 i) { return mTexMtx[i]; } + virtual u32 getTexMtxOffset() const { return mTexMtxOffset; } + virtual void setTexMtxOffset(u32 offs) { mTexMtxOffset = offs; } + virtual ~J3DTexGenBlockPatched() {} protected: /* 0x04 */ u32 mTexGenNum; /* 0x08 */ J3DTexCoord mTexCoord[8]; - /* 0x38 */ J3DTexMtx* mTexMtx[8]; - /* 0x58 */ u32 mTexMtxOffset; -}; // Size: 0x5C + /* 0x28 */ J3DTexMtx* mTexMtx[8]; + /* 0x48 */ u32 mTexMtxOffset; +}; // Size: 0x4C class J3DTexGenBlockBasic : public J3DTexGenBlockPatched { public: - J3DTexGenBlockBasic() : mNBTScale(j3dDefaultNBTScaleInfo) { - initialize(); - } + J3DTexGenBlockBasic() : mNBTScale(j3dDefaultNBTScaleInfo) { initialize(); } void initialize(); virtual void reset(J3DTexGenBlock*); virtual void load(); virtual void patch(); virtual s32 countDLSize(); - virtual u32 getType(); - virtual void setNBTScale(J3DNBTScale const*); - virtual void setNBTScale(J3DNBTScale); - virtual J3DNBTScale* getNBTScale(); - virtual ~J3DTexGenBlockBasic(); + virtual u32 getType() { return 'TGBC'; } + virtual void setNBTScale(J3DNBTScale const* pScale) { mNBTScale = *pScale; } + virtual void setNBTScale(J3DNBTScale scale) { mNBTScale = scale; } + virtual J3DNBTScale* getNBTScale() { return &mNBTScale; } + virtual ~J3DTexGenBlockBasic() {} private: - /* 0x5C */ J3DNBTScale mNBTScale; -}; // Size: 0x6C + /* 0x4C */ J3DNBTScale mNBTScale; +}; // Size: 0x5C class J3DTexGenBlock4 : public J3DTexGenBlockPatched { public: - J3DTexGenBlock4() : mNBTScale(j3dDefaultNBTScaleInfo) { - initialize(); - } + J3DTexGenBlock4() : mNBTScale(j3dDefaultNBTScaleInfo) { initialize(); } void initialize(); virtual void reset(J3DTexGenBlock*); virtual void load(); virtual void patch(); virtual s32 countDLSize(); - virtual u32 getType(); - virtual void setNBTScale(J3DNBTScale const*); - virtual void setNBTScale(J3DNBTScale); - virtual J3DNBTScale* getNBTScale(); - virtual ~J3DTexGenBlock4(); + virtual u32 getType() { return 'TGB4'; } + virtual void setNBTScale(J3DNBTScale const* pScale) { mNBTScale = *pScale; } + virtual void setNBTScale(J3DNBTScale scale) { mNBTScale = scale; } + virtual J3DNBTScale* getNBTScale() { return &mNBTScale; } + virtual ~J3DTexGenBlock4() {} private: - /* 0x5C */ J3DNBTScale mNBTScale; -}; // Size: 0x6C + /* 0x4C */ J3DNBTScale mNBTScale; +}; // Size: 0x5C class J3DTevBlock { public: - virtual void reset(J3DTevBlock*); - virtual void load(); + virtual void reset(J3DTevBlock*) {} + virtual void load() {} virtual void diff(u32); - virtual void diffTexNo(); - virtual void diffTevReg(); - virtual void diffTexCoordScale(); - virtual void diffTevStage(); - virtual void diffTevStageIndirect(); - virtual void patch(); - virtual void patchTexNo(); - virtual void patchTevReg(); - virtual void patchTexNoAndTexCoordScale(); + virtual void diffTexNo() {} + virtual void diffTevReg() {} + virtual void diffTexCoordScale() {} + virtual void diffTevStage() {} + virtual void diffTevStageIndirect() {} + virtual void patch() {} + virtual void patchTexNo() {} + virtual void patchTevReg() {} + virtual void patchTexNoAndTexCoordScale() {} virtual void ptrToIndex() = 0; virtual void indexToPtr() = 0; virtual u32 getType() = 0; - virtual s32 countDLSize(); - virtual void setTexNo(u32, u16 const*); - virtual void setTexNo(u32, u16); - virtual u16 getTexNo(u32) const; - virtual void setTevOrder(u32, J3DTevOrder const*); - virtual void setTevOrder(u32, J3DTevOrder); - virtual J3DTevOrder* getTevOrder(u32); + virtual s32 countDLSize() { return 0; } + virtual void setTexNo(u32, u16 const*) {} + virtual void setTexNo(u32, u16) {} + virtual u16 getTexNo(u32) const { return -1; } + virtual void setTevOrder(u32, J3DTevOrder const*) {} + virtual void setTevOrder(u32, J3DTevOrder) {} + virtual J3DTevOrder* getTevOrder(u32) { return NULL; } virtual void setTevColor(u32, J3DGXColorS10 const*); - virtual void setTevColor(u32, J3DGXColorS10); - virtual _GXColorS10* getTevColor(u32); + virtual void setTevColor(u32, J3DGXColorS10) {} + virtual J3DGXColorS10* getTevColor(u32) { return NULL; } virtual void setTevKColor(u32, J3DGXColor const*); - virtual void setTevKColor(u32, J3DGXColor); - virtual _GXColor* getTevKColor(u32); - virtual void setTevKColorSel(u32, u8 const*); - virtual void setTevKColorSel(u32, u8); - virtual u8 getTevKColorSel(u32); - virtual void setTevKAlphaSel(u32, u8 const*); - virtual void setTevKAlphaSel(u32, u8); - virtual u8 getTevKAlphaSel(u32); - virtual void setTevStageNum(u8 const*); - virtual void setTevStageNum(u8); - virtual u8 getTevStageNum() const; - virtual void setTevStage(u32, J3DTevStage const*); - virtual void setTevStage(u32, J3DTevStage); - virtual J3DTevStage * getTevStage(u32); - virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo const*); - virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo); - virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable const*); - virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable); - virtual J3DTevSwapModeTable * getTevSwapModeTable(u32); - virtual void setIndTevStage(u32, J3DIndTevStage const*); - virtual void setIndTevStage(u32, J3DIndTevStage); - virtual J3DIndTevStage * getIndTevStage(u32); - virtual u32 getTexNoOffset() const; - virtual u32 getTevRegOffset() const; - virtual void setTexNoOffset(u32); - virtual void setTevRegOffset(u32); - virtual ~J3DTevBlock(); + virtual void setTevKColor(u32, J3DGXColor) {} + virtual J3DGXColor* getTevKColor(u32) { return NULL; } + virtual void setTevKColorSel(u32 i, const u8* pNum) {} + virtual void setTevKColorSel(u32, u8) {} + virtual u8 getTevKColorSel(u32) { return 0; } + virtual void setTevKAlphaSel(u32 i, const u8* pNum) {} + virtual void setTevKAlphaSel(u32, u8) {} + virtual u8 getTevKAlphaSel(u32) { return 0; } + virtual void setTevStageNum(u8 const*) {} + virtual void setTevStageNum(u8) {} + virtual u8 getTevStageNum() const { return 1; } + virtual void setTevStage(u32, J3DTevStage const*) {} + virtual void setTevStage(u32, J3DTevStage) {} + virtual J3DTevStage* getTevStage(u32) { return NULL; } + virtual void setTevSwapModeInfo(u32 i, const J3DTevSwapModeInfo* pInfo) {} + virtual void setTevSwapModeInfo(u32 i, J3DTevSwapModeInfo info) {} + virtual void setTevSwapModeTable(u32 i, const J3DTevSwapModeTable* pTable) {} + virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable) {} + virtual J3DTevSwapModeTable* getTevSwapModeTable(u32) { return NULL; } + virtual void setIndTevStage(u32, J3DIndTevStage const*) {} + virtual void setIndTevStage(u32, J3DIndTevStage) {} + virtual J3DIndTevStage* getIndTevStage(u32) { return NULL; } + virtual u32 getTexNoOffset() const { return 0; } + virtual u32 getTevRegOffset() const { return 0; } + virtual void setTexNoOffset(u32 offs) { mTexNoOffset = offs; } + virtual void setTevRegOffset(u32 offs) {} + virtual ~J3DTevBlock() {} protected: void indexToPtr_private(u32); @@ -194,13 +200,11 @@ protected: class J3DTevBlockPatched : public J3DTevBlock { public: - J3DTevBlockPatched() { - initialize(); - } + J3DTevBlockPatched() { initialize(); } void initialize(); virtual void reset(J3DTevBlock*); - virtual void load(); + virtual void load() {} virtual void diffTexNo(); virtual void diffTevReg(); virtual void diffTexCoordScale(); @@ -211,45 +215,46 @@ public: virtual void patchTevReg(); virtual void patchTexNoAndTexCoordScale(); virtual void ptrToIndex(); - virtual void indexToPtr(); - virtual u32 getType(); + virtual void indexToPtr() { return indexToPtr_private(mTexNoOffset); } + virtual u32 getType() { return 'TVPT'; } virtual s32 countDLSize(); - virtual void setTexNo(u32, u16 const*); - virtual void setTexNo(u32, u16); - virtual u16 getTexNo(u32) const; - virtual void setTevOrder(u32, J3DTevOrder const*); - virtual void setTevOrder(u32, J3DTevOrder); - virtual J3DTevOrder* getTevOrder(u32); - virtual void setTevColor(u32, J3DGXColorS10 const*); - virtual void setTevColor(u32, J3DGXColorS10); - virtual GXColorS10* getTevColor(u32); - virtual void setTevKColor(u32, J3DGXColor const*); - virtual void setTevKColor(u32, J3DGXColor); - virtual GXColor* getTevKColor(u32); - virtual void setTevKColorSel(u32, u8 const*); - virtual void setTevKColorSel(u32, u8); - virtual u8 getTevKColorSel(u32); - virtual void setTevStageNum(u8 const*); - virtual void setTevStageNum(u8); - virtual u8 getTevStageNum() const; - virtual void setTevStage(u32, J3DTevStage const*); - virtual void setTevStage(u32, J3DTevStage); - virtual J3DTevStage * getTevStage(u32); - virtual void setIndTevStage(u32, J3DIndTevStage const*); - virtual void setIndTevStage(u32, J3DIndTevStage); - virtual J3DIndTevStage * getIndTevStage(u32); - virtual u32 getTexNoOffset() const; - virtual u32 getTevRegOffset() const; - virtual void setTevRegOffset(u32); - virtual ~J3DTevBlockPatched(); + virtual void setTevStageNum(const u8* pNum) { mTevStageNum = *pNum; } + virtual void setTevStageNum(u8 num) { mTevStageNum = num; } + virtual u8 getTevStageNum() const { return mTevStageNum; } + virtual void setTexNo(u32 i, const u16* pNo) { mTexNo[i] = *pNo; } + virtual void setTexNo(u32 i, u16 no) { mTexNo[i] = no; } + virtual u16 getTexNo(u32 i) const { return mTexNo[i]; } + virtual void setTevOrder(u32 i, const J3DTevOrder* pOrder) { mTevOrder[i] = *pOrder; } + virtual void setTevOrder(u32 i, J3DTevOrder order) { mTevOrder[i] = order; } + virtual J3DTevOrder* getTevOrder(u32 i) { return &mTevOrder[i]; } + virtual void setTevStage(u32 i, const J3DTevStage* pStage) { mTevStage[i] = *pStage; } + virtual void setTevStage(u32 i, J3DTevStage stage) { mTevStage[i] = stage; } + virtual J3DTevStage* getTevStage(u32 i) { return &mTevStage[i]; } + virtual void setIndTevStage(u32 i, const J3DIndTevStage* pStage) { mIndTevStage[i] = *pStage; } + virtual void setIndTevStage(u32 i, J3DIndTevStage stage) { mIndTevStage[i] = stage; } + virtual J3DIndTevStage* getIndTevStage(u32 i) { return &mIndTevStage[i]; } + virtual void setTevColor(u32 i, const J3DGXColorS10* pColor) { mTevColor[i] = *pColor; } + virtual void setTevColor(u32 i, J3DGXColorS10 color) { mTevColor[i] = color; } + virtual J3DGXColorS10* getTevColor(u32 i) { return &mTevColor[i]; } + virtual void setTevKColor(u32 i, const J3DGXColor* pColor) { mTevKColor[i] = *pColor; } + virtual void setTevKColor(u32 i, J3DGXColor color) { mTevKColor[i] = color; } + virtual J3DGXColor* getTevKColor(u32 i) { return &mTevKColor[i]; } + virtual void setTevKColorSel(u32 i, const u8* pSel) { mTevKColorSel[i] = *pSel; } + virtual void setTevKColorSel(u32 i, u8 sel) { mTevKColorSel[i] = sel; } + virtual u8 getTevKColorSel(u32 i) { return mTevKColorSel[i]; } + virtual u32 getTexNoOffset() const { return mTexNoOffset; } + virtual u32 getTevRegOffset() const { return mTevRegOffset; } + + virtual void setTevRegOffset(u32 offs) { mTevRegOffset = offs; } + virtual ~J3DTevBlockPatched() {} private: /* 0x08 */ u16 mTexNo[8]; /* 0x18 */ J3DTevOrder mTevOrder[8]; /* 0x38 */ J3DTevStage mTevStage[8]; /* 0x78 */ J3DIndTevStage mIndTevStage[8]; - /* 0x98 */ GXColorS10 mTevColor[4]; - /* 0xB8 */ GXColor mTevKColor[4]; + /* 0x98 */ J3DGXColorS10 mTevColor[4]; + /* 0xB8 */ J3DGXColor mTevKColor[4]; /* 0xC8 */ u8 mTevKColorSel[8]; /* 0xD0 */ u8 mTevStageNum; /* 0xD4 */ u32 mTevRegOffset; @@ -261,9 +266,7 @@ class J3DTevBlockNull : public J3DTevBlock { class J3DTevBlock4 : public J3DTevBlock { public: - J3DTevBlock4() { - initialize(); - } + J3DTevBlock4() { initialize(); } void initialize(); virtual void reset(J3DTevBlock*); @@ -277,54 +280,58 @@ public: virtual void patchTexNo(); virtual void patchTevReg(); virtual void patchTexNoAndTexCoordScale(); - virtual void ptrToIndex(); - virtual void indexToPtr(); - virtual u32 getType(); + virtual void ptrToIndex() {} + virtual void indexToPtr() { return indexToPtr_private(mTexNoOffset); } + virtual u32 getType() { return 'TVB4'; } virtual s32 countDLSize(); - virtual void setTexNo(u32, u16 const*); - virtual void setTexNo(u32, u16); - virtual u16 getTexNo(u32) const; - virtual void setTevOrder(u32, J3DTevOrder const*); - virtual void setTevOrder(u32, J3DTevOrder); - virtual J3DTevOrder* getTevOrder(u32); - virtual void setTevColor(u32, J3DGXColorS10 const*); - virtual void setTevColor(u32, J3DGXColorS10); - virtual GXColorS10* getTevColor(u32); - virtual void setTevKColor(u32, J3DGXColor const*); - virtual void setTevKColor(u32, J3DGXColor); - virtual GXColor* getTevKColor(u32); - virtual void setTevKColorSel(u32, u8 const*); - virtual void setTevKColorSel(u32, u8); - virtual u8 getTevKColorSel(u32); - virtual void setTevKAlphaSel(u32, u8 const*); - virtual void setTevKAlphaSel(u32, u8); - virtual u8 getTevKAlphaSel(u32); - virtual void setTevStageNum(u8 const*); - virtual void setTevStageNum(u8); - virtual u8 getTevStageNum() const; - virtual void setTevStage(u32, J3DTevStage const*); - virtual void setTevStage(u32, J3DTevStage); - virtual J3DTevStage * getTevStage(u32); - virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo const*); - virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo); - virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable const*); - virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable); - virtual J3DTevSwapModeTable * getTevSwapModeTable(u32); - virtual void setIndTevStage(u32, J3DIndTevStage const*); - virtual void setIndTevStage(u32, J3DIndTevStage); - virtual J3DIndTevStage * getIndTevStage(u32); - virtual u32 getTexNoOffset() const; - virtual u32 getTevRegOffset() const; - virtual void setTevRegOffset(u32); - virtual ~J3DTevBlock4(); + virtual void setTexNo(u32 i, const u16* pNo) { mTexNo[i] = *pNo; } + virtual void setTexNo(u32 i, u16 no) { mTexNo[i] = no; } + virtual u16 getTexNo(u32 i) const { return mTexNo[i]; } + virtual void setTevOrder(u32 i, const J3DTevOrder* pOrder) { mTevOrder[i] = *pOrder; } + virtual void setTevOrder(u32 i, J3DTevOrder order) { mTevOrder[i] = order; } + virtual J3DTevOrder* getTevOrder(u32 i) { return &mTevOrder[i]; } + virtual void setTevColor(u32 i, const J3DGXColorS10* pColor) { mTevColor[i] = *pColor; } + virtual void setTevColor(u32 i, J3DGXColorS10 color) { mTevColor[i] = color; } + virtual J3DGXColorS10* getTevColor(u32 i) { return &mTevColor[i]; } + virtual void setTevKColor(u32 i, const J3DGXColor* pColor) { mTevKColor[i] = *pColor; } + virtual void setTevKColor(u32 i, J3DGXColor color) { mTevKColor[i] = color; } + virtual J3DGXColor* getTevKColor(u32 i) { return &mTevKColor[i]; } + virtual void setTevKColorSel(u32 i, const u8* pNum) { mTevKColorSel[i] = *pNum; } + virtual void setTevKColorSel(u32 i, u8 num) { mTevKColorSel[i] = num; } + virtual u8 getTevKColorSel(u32 i) { return mTevKColorSel[i]; } + virtual void setTevKAlphaSel(u32 i, const u8* pNum) { mTevKAlphaSel[i] = *pNum; } + virtual void setTevKAlphaSel(u32 i, u8 num) { mTevKAlphaSel[i] = num; } + virtual u8 getTevKAlphaSel(u32 i) { return mTevKAlphaSel[i]; } + virtual void setTevStageNum(const u8* pNum) { mTevStageNum = *pNum; } + virtual void setTevStageNum(u8 num) { mTevStageNum = num; } + virtual u8 getTevStageNum() const { return mTevStageNum; } + virtual void setTevStage(u32 i, const J3DTevStage* pStage) { mTevStage[i] = *pStage; } + virtual void setTevStage(u32 i, J3DTevStage stage) { mTevStage[i] = stage; } + virtual J3DTevStage* getTevStage(u32 i) { return &mTevStage[i]; } + virtual void setTevSwapModeInfo(u32 i, const J3DTevSwapModeInfo* pInfo) { mTevStage[i].setTevSwapModeInfo(*pInfo); } + virtual void setTevSwapModeInfo(u32 i, J3DTevSwapModeInfo info) { mTevStage[i].setTevSwapModeInfo(info); } + virtual void setTevSwapModeTable(u32 i, const J3DTevSwapModeTable* pTable) { + mTevSwapModeTable[i] = *pTable; + } + virtual void setTevSwapModeTable(u32 i, J3DTevSwapModeTable table) { + mTevSwapModeTable[i] = table; + } + virtual J3DTevSwapModeTable* getTevSwapModeTable(u32 i) { return &mTevSwapModeTable[i]; } + virtual void setIndTevStage(u32 i, const J3DIndTevStage* pStage) { mIndTevStage[i] = *pStage; } + virtual void setIndTevStage(u32 i, J3DIndTevStage stage) { mIndTevStage[i] = stage; } + virtual J3DIndTevStage* getIndTevStage(u32 i) { return &mIndTevStage[i]; } + virtual u32 getTexNoOffset() const { return mTexNoOffset; } + virtual u32 getTevRegOffset() const { return mTevRegOffset; } + virtual void setTevRegOffset(u32 offs) { mTevRegOffset = offs; } + virtual ~J3DTevBlock4() {} private: /* 0x08 */ u16 mTexNo[4]; /* 0x10 */ J3DTevOrder mTevOrder[4]; /* 0x20 */ u8 mTevStageNum; /* 0x21 */ J3DTevStage mTevStage[4]; - /* 0x42 */ GXColorS10 mTevColor[4]; - /* 0x62 */ GXColor mTevKColor[4]; + /* 0x42 */ J3DGXColorS10 mTevColor[4]; + /* 0x62 */ J3DGXColor mTevKColor[4]; /* 0x72 */ u8 mTevKColorSel[4]; /* 0x76 */ u8 mTevKAlphaSel[4]; /* 0x7A */ J3DTevSwapModeTable mTevSwapModeTable[4]; @@ -334,9 +341,7 @@ private: class J3DTevBlock2 : public J3DTevBlock { public: - J3DTevBlock2() { - initialize(); - } + J3DTevBlock2() { initialize(); } void initialize(); virtual void reset(J3DTevBlock*); @@ -350,54 +355,58 @@ public: virtual void patchTexNo(); virtual void patchTevReg(); virtual void patchTexNoAndTexCoordScale(); - virtual void ptrToIndex(); - virtual void indexToPtr(); - virtual u32 getType(); + virtual void ptrToIndex() {} + virtual void indexToPtr() { return indexToPtr_private(mTexNoOffset); } + virtual u32 getType() { return 'TVB2'; } virtual s32 countDLSize(); - virtual void setTexNo(u32, u16 const*); - virtual void setTexNo(u32, u16); - virtual u16 getTexNo(u32) const; - virtual void setTevOrder(u32, J3DTevOrder const*); - virtual void setTevOrder(u32, J3DTevOrder); - virtual J3DTevOrder* getTevOrder(u32); - virtual void setTevColor(u32, J3DGXColorS10 const*); - virtual void setTevColor(u32, J3DGXColorS10); - virtual GXColorS10* getTevColor(u32); - virtual void setTevKColor(u32, J3DGXColor const*); - virtual void setTevKColor(u32, J3DGXColor); - virtual GXColor* getTevKColor(u32); - virtual void setTevKColorSel(u32, u8 const*); - virtual void setTevKColorSel(u32, u8); - virtual u8 getTevKColorSel(u32); - virtual void setTevKAlphaSel(u32, u8 const*); - virtual void setTevKAlphaSel(u32, u8); - virtual u8 getTevKAlphaSel(u32); - virtual void setTevStageNum(u8 const*); - virtual void setTevStageNum(u8); - virtual u8 getTevStageNum() const; - virtual void setTevStage(u32, J3DTevStage const*); - virtual void setTevStage(u32, J3DTevStage); - virtual J3DTevStage * getTevStage(u32); - virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo const*); - virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo); - virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable const*); - virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable); - virtual J3DTevSwapModeTable * getTevSwapModeTable(u32); - virtual void setIndTevStage(u32, J3DIndTevStage const*); - virtual void setIndTevStage(u32, J3DIndTevStage); - virtual J3DIndTevStage * getIndTevStage(u32); - virtual u32 getTexNoOffset() const; - virtual u32 getTevRegOffset() const; - virtual void setTevRegOffset(u32); - virtual ~J3DTevBlock2(); + virtual void setTexNo(u32 i, const u16* pNo) { mTexNo[i] = *pNo; } + virtual void setTexNo(u32 i, u16 no) { mTexNo[i] = no; } + virtual u16 getTexNo(u32 i) const { return mTexNo[i]; } + virtual void setTevOrder(u32 i, const J3DTevOrder* pOrder) { mTevOrder[i] = *pOrder; } + virtual void setTevOrder(u32 i, J3DTevOrder order) { mTevOrder[i] = order; } + virtual J3DTevOrder* getTevOrder(u32 i) { return &mTevOrder[i]; } + virtual void setTevColor(u32 i, const J3DGXColorS10* pColor) { mTevColor[i] = *pColor; } + virtual void setTevColor(u32 i, J3DGXColorS10 color) { mTevColor[i] = color; } + virtual J3DGXColorS10* getTevColor(u32 i) { return &mTevColor[i]; } + virtual void setTevKColor(u32 i, const J3DGXColor* pColor) { mTevKColor[i] = *pColor; } + virtual void setTevKColor(u32 i, J3DGXColor color) { mTevKColor[i] = color; } + virtual J3DGXColor* getTevKColor(u32 i) { return &mTevKColor[i]; } + virtual void setTevKColorSel(u32 i, const u8* pNum) { mTevKColorSel[i] = *pNum; } + virtual void setTevKColorSel(u32 i, u8 num) { mTevKColorSel[i] = num; } + virtual u8 getTevKColorSel(u32 i) { return mTevKColorSel[i]; } + virtual void setTevKAlphaSel(u32 i, const u8* pNum) { mTevKAlphaSel[i] = *pNum; } + virtual void setTevKAlphaSel(u32 i, u8 num) { mTevKAlphaSel[i] = num; } + virtual u8 getTevKAlphaSel(u32 i) { return mTevKAlphaSel[i]; } + virtual void setTevStageNum(const u8* pNum) { mTevStageNum = *pNum; } + virtual void setTevStageNum(u8 num) { mTevStageNum = num; } + virtual u8 getTevStageNum() const { return mTevStageNum; } + virtual void setTevStage(u32 i, const J3DTevStage* pStage) { mTevStage[i] = *pStage; } + virtual void setTevStage(u32 i, J3DTevStage stage) { mTevStage[i] = stage; } + virtual J3DTevStage* getTevStage(u32 i) { return &mTevStage[i]; } + virtual void setTevSwapModeInfo(u32 i, const J3DTevSwapModeInfo* pInfo) { mTevStage[i].setTevSwapModeInfo(*pInfo); } + virtual void setTevSwapModeInfo(u32 i, J3DTevSwapModeInfo info) { mTevStage[i].setTevSwapModeInfo(info); } + virtual void setTevSwapModeTable(u32 i, const J3DTevSwapModeTable* pTable) { + mTevSwapModeTable[i] = *pTable; + } + virtual void setTevSwapModeTable(u32 i, J3DTevSwapModeTable table) { + mTevSwapModeTable[i] = table; + } + virtual J3DTevSwapModeTable* getTevSwapModeTable(u32 i) { return &mTevSwapModeTable[i]; } + virtual void setIndTevStage(u32 i, const J3DIndTevStage* pStage) { mIndTevStage[i] = *pStage; } + virtual void setIndTevStage(u32 i, J3DIndTevStage stage) { mIndTevStage[i] = stage; } + virtual J3DIndTevStage* getIndTevStage(u32 i) { return &mIndTevStage[i]; } + virtual u32 getTexNoOffset() const { return mTexNoOffset; } + virtual u32 getTevRegOffset() const { return mTevRegOffset; } + virtual void setTevRegOffset(u32 offs) { mTevRegOffset = offs; } + virtual ~J3DTevBlock2() {} private: /* 0x08 */ u16 mTexNo[2]; /* 0x0C */ J3DTevOrder mTevOrder[2]; - /* 0x14 */ GXColorS10 mTevColor[4]; + /* 0x14 */ J3DGXColorS10 mTevColor[4]; /* 0x34 */ u8 mTevStageNum; /* 0x35 */ J3DTevStage mTevStage[2]; - /* 0x45 */ GXColor mTevKColor[4]; + /* 0x45 */ J3DGXColor mTevKColor[4]; /* 0x55 */ u8 mTevKColorSel[2]; /* 0x57 */ u8 mTevKAlphaSel[2]; /* 0x59 */ J3DTevSwapModeTable mTevSwapModeTable[4]; @@ -407,9 +416,7 @@ private: class J3DTevBlock16 : public J3DTevBlock { public: - J3DTevBlock16() { - initialize(); - } + J3DTevBlock16() { initialize(); } void initialize(); virtual void reset(J3DTevBlock*); @@ -424,53 +431,57 @@ public: virtual void patchTevReg(); virtual void patchTexNoAndTexCoordScale(); virtual void ptrToIndex(); - virtual void indexToPtr(); - virtual u32 getType(); + virtual void indexToPtr() { return indexToPtr_private(mTexNoOffset); } + virtual u32 getType() { return 'TV16'; } virtual s32 countDLSize(); - virtual void setTexNo(u32, u16 const*); - virtual void setTexNo(u32, u16); - virtual u16 getTexNo(u32) const; - virtual void setTevOrder(u32, J3DTevOrder const*); - virtual void setTevOrder(u32, J3DTevOrder); - virtual J3DTevOrder* getTevOrder(u32); - virtual void setTevColor(u32, J3DGXColorS10 const*); - virtual void setTevColor(u32, J3DGXColorS10); - virtual GXColorS10* getTevColor(u32); - virtual void setTevKColor(u32, J3DGXColor const*); - virtual void setTevKColor(u32, J3DGXColor); - virtual GXColor* getTevKColor(u32); - virtual void setTevKColorSel(u32, u8 const*); - virtual void setTevKColorSel(u32, u8); - virtual u8 getTevKColorSel(u32); - virtual void setTevKAlphaSel(u32, u8 const*); - virtual void setTevKAlphaSel(u32, u8); - virtual u8 getTevKAlphaSel(u32); - virtual void setTevStageNum(u8); - virtual void setTevStageNum(u8 const*); - virtual u8 getTevStageNum() const; - virtual void setTevStage(u32, J3DTevStage const*); - virtual void setTevStage(u32, J3DTevStage); - virtual J3DTevStage * getTevStage(u32); - virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo const*); - virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo); - virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable const*); - virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable); - virtual J3DTevSwapModeTable * getTevSwapModeTable(u32); - virtual void setIndTevStage(u32, J3DIndTevStage const*); - virtual void setIndTevStage(u32, J3DIndTevStage); - virtual J3DIndTevStage * getIndTevStage(u32); - virtual u32 getTexNoOffset() const; - virtual u32 getTevRegOffset() const; - virtual void setTevRegOffset(u32); - virtual ~J3DTevBlock16(); + virtual void setTexNo(u32 i, const u16* pNo) { mTexNo[i] = *pNo; } + virtual void setTexNo(u32 i, u16 no) { mTexNo[i] = no; } + virtual u16 getTexNo(u32 i) const { return mTexNo[i]; } + virtual void setTevOrder(u32 i, const J3DTevOrder* pOrder) { mTevOrder[i] = *pOrder; } + virtual void setTevOrder(u32 i, J3DTevOrder order) { mTevOrder[i] = order; } + virtual J3DTevOrder* getTevOrder(u32 i) { return &mTevOrder[i]; } + virtual void setTevColor(u32 i, const J3DGXColorS10* pColor) { mTevColor[i] = *pColor; } + virtual void setTevColor(u32 i, J3DGXColorS10 color) { mTevColor[i] = color; } + virtual J3DGXColorS10* getTevColor(u32 i) { return &mTevColor[i]; } + virtual void setTevKColor(u32 i, const J3DGXColor* pColor) { mTevKColor[i] = *pColor; } + virtual void setTevKColor(u32 i, J3DGXColor color) { mTevKColor[i] = color; } + virtual J3DGXColor* getTevKColor(u32 i) { return &mTevKColor[i]; } + virtual void setTevKColorSel(u32 i, const u8* pNum) { mTevKColorSel[i] = *pNum; } + virtual void setTevKColorSel(u32 i, u8 num) { mTevKColorSel[i] = num; } + virtual u8 getTevKColorSel(u32 i) { return mTevKColorSel[i]; } + virtual void setTevKAlphaSel(u32 i, const u8* pNum) { mTevKAlphaSel[i] = *pNum; } + virtual void setTevKAlphaSel(u32 i, u8 num) { mTevKAlphaSel[i] = num; } + virtual u8 getTevKAlphaSel(u32 i) { return mTevKAlphaSel[i]; } + virtual void setTevStageNum(const u8* pNum) { mTevStageNum = *pNum; } + virtual void setTevStageNum(u8 num) { mTevStageNum = num; } + virtual u8 getTevStageNum() const { return mTevStageNum; } + virtual void setTevStage(u32 i, const J3DTevStage* pStage) { mTevStage[i] = *pStage; } + virtual void setTevStage(u32 i, J3DTevStage stage) { mTevStage[i] = stage; } + virtual J3DTevStage* getTevStage(u32 i) { return &mTevStage[i]; } + virtual void setTevSwapModeInfo(u32 i, const J3DTevSwapModeInfo* pInfo) { mTevStage[i].setTevSwapModeInfo(*pInfo); } + virtual void setTevSwapModeInfo(u32 i, J3DTevSwapModeInfo info) { mTevStage[i].setTevSwapModeInfo(info); } + virtual void setTevSwapModeTable(u32 i, const J3DTevSwapModeTable* pTable) { + mTevSwapModeTable[i] = *pTable; + } + virtual void setTevSwapModeTable(u32 i, J3DTevSwapModeTable table) { + mTevSwapModeTable[i] = table; + } + virtual J3DTevSwapModeTable* getTevSwapModeTable(u32 i) { return &mTevSwapModeTable[i]; } + virtual void setIndTevStage(u32 i, const J3DIndTevStage* pStage) { mIndTevStage[i] = *pStage; } + virtual void setIndTevStage(u32 i, J3DIndTevStage stage) { mIndTevStage[i] = stage; } + virtual J3DIndTevStage* getIndTevStage(u32 i) { return &mIndTevStage[i]; } + virtual u32 getTexNoOffset() const { return mTexNoOffset; } + virtual u32 getTevRegOffset() const { return mTevRegOffset; } + virtual void setTevRegOffset(u32 offs) { mTevRegOffset = offs; } + virtual ~J3DTevBlock16() {} -private: + // private: /* 0x008 */ u16 mTexNo[8]; /* 0x018 */ J3DTevOrder mTevOrder[16]; /* 0x058 */ u8 mTevStageNum; /* 0x059 */ J3DTevStage mTevStage[16]; - /* 0x0DA */ GXColorS10 mTevColor[4]; - /* 0x0FA */ GXColor mTevKColor[4]; + /* 0x0DA */ J3DGXColorS10 mTevColor[4]; + /* 0x0FA */ J3DGXColor mTevKColor[4]; /* 0x10A */ u8 mTevKColorSel[16]; /* 0x11A */ u8 mTevKAlphaSel[16]; /* 0x12A */ J3DTevSwapModeTable mTevSwapModeTable[4]; @@ -478,11 +489,12 @@ private: /* 0x170 */ u32 mTevRegOffset; }; // Size: 0x174 +STATIC_ASSERT(offsetof(J3DTevBlock16, mTexNo) == 0x008); +STATIC_ASSERT(offsetof(J3DTevBlock16, mTevStage) == 0x059); + class J3DTevBlock1 : public J3DTevBlock { public: - J3DTevBlock1() { - initialize(); - } + J3DTevBlock1() { initialize(); } void initialize(); virtual void reset(J3DTevBlock*); @@ -496,27 +508,27 @@ public: virtual void patchTexNo(); virtual void patchTevReg(); virtual void patchTexNoAndTexCoordScale(); - virtual void ptrToIndex(); - virtual void indexToPtr(); - virtual u32 getType(); + virtual void ptrToIndex() {} + virtual void indexToPtr() { return indexToPtr_private(mTexNoOffset); } + virtual u32 getType() { return 'TVB1'; } virtual s32 countDLSize(); - virtual void setTexNo(u32, u16 const*); - virtual void setTexNo(u32, u16); - virtual u16 getTexNo(u32) const; - virtual void setTevOrder(u32, J3DTevOrder const*); - virtual void setTevOrder(u32, J3DTevOrder); - virtual J3DTevOrder* getTevOrder(u32); - virtual void setTevStageNum(u8 const*); - virtual void setTevStageNum(u8); - virtual u8 getTevStageNum() const; - virtual void setTevStage(u32, J3DTevStage const*); - virtual void setTevStage(u32, J3DTevStage); - virtual J3DTevStage * getTevStage(u32); - virtual void setIndTevStage(u32, J3DIndTevStage const*); - virtual void setIndTevStage(u32, J3DIndTevStage); - virtual J3DIndTevStage * getIndTevStage(u32); - virtual u32 getTexNoOffset() const; - virtual ~J3DTevBlock1(); + virtual void setTexNo(u32 i, const u16* pNo) { mTexNo[i] = *pNo; } + virtual void setTexNo(u32 i, u16 no) { mTexNo[i] = no; } + virtual u16 getTexNo(u32 i) const { return mTexNo[i]; } + virtual void setTevOrder(u32 i, const J3DTevOrder* pOrder) { mTevOrder[i] = *pOrder; } + virtual void setTevOrder(u32 i, J3DTevOrder order) { mTevOrder[i] = order; } + virtual J3DTevOrder* getTevOrder(u32 i) { return &mTevOrder[i]; } + virtual void setTevStageNum(const u8* pNum) {} + virtual void setTevStageNum(u8 num) {} + virtual u8 getTevStageNum() const { return 1; } + virtual void setTevStage(u32 i, const J3DTevStage* pStage) { mTevStage[i] = *pStage; } + virtual void setTevStage(u32 i, J3DTevStage stage) { mTevStage[i] = stage; } + virtual J3DTevStage* getTevStage(u32 i) { return &mTevStage[i]; } + virtual void setIndTevStage(u32 i, const J3DIndTevStage* pStage) { mIndTevStage[i] = *pStage; } + virtual void setIndTevStage(u32 i, J3DIndTevStage stage) { mIndTevStage[i] = stage; } + virtual J3DIndTevStage* getIndTevStage(u32 i) { return &mIndTevStage[i]; } + virtual u32 getTexNoOffset() const { return mTexNoOffset; } + virtual ~J3DTevBlock1() {} private: /* 0x08 */ u16 mTexNo[1]; @@ -525,27 +537,27 @@ private: /* 0x18 */ J3DIndTevStage mIndTevStage[1]; }; // Size: 0x1C -extern const u16 j3dDefaultZModeID; - inline u16 calcZModeID(u8 param_0, u8 param_1, u8 param_2) { return (param_1 * 2) + (param_0 * 0x10) + param_2; } -struct J3DZModeInfo { - /* 0x0 */ u8 field_0x0; - /* 0x1 */ u8 field_0x1; - /* 0x2 */ u8 field_0x2; -}; +extern u8 j3dZModeTable[96]; extern J3DZModeInfo j3dZModeTable[2]; struct J3DZMode { - J3DZMode() { - mZModeID = j3dDefaultZModeID; - } + J3DZMode() { mZModeID = j3dDefaultZModeID; } + + u8 getCompareEnaable() const { return j3dZModeTable[mZModeID * 3]; } + u8 getFunc() const { return j3dZModeTable[mZModeID * 3 + 1]; } + u8 getUpdateEnable() const { return j3dZModeTable[mZModeID * 3 + 2]; } void setZModeInfo(const J3DZModeInfo& info) { - mZModeID = calcZModeID(info.field_0x0, info.field_0x1, info.field_0x2); + mZModeID = calcZModeID(info.mCompareEnable, info.mFunc, info.mUpdateEnable); + } + + void load() { + J3DGDSetZMode(getCompareEnaable(), GXCompare(getFunc()), getUpdateEnable()); } void setCompareEnable(u8 i_compare) { @@ -559,18 +571,16 @@ struct J3DZMode { /* 0x0 */ u16 mZModeID; }; -struct J3DBlendInfo { - /* 0x0 */ u8 mType; - /* 0x1 */ u8 mSrcFactor; - /* 0x2 */ u8 mDstFactor; - /* 0x3 */ u8 mOp; -}; - -extern const J3DBlendInfo j3dDefaultBlendInfo; - struct J3DBlend : public J3DBlendInfo { - J3DBlend() { - *(J3DBlendInfo*)this = j3dDefaultBlendInfo; + J3DBlend() { *(J3DBlendInfo*)this = j3dDefaultBlendInfo; } + + GXBlendMode getBlendMode() const { return (GXBlendMode)mBlendMode; } + GXBlendFactor getSrcFactor() const { return (GXBlendFactor)mSrcFactor; } + GXBlendFactor getDstFactor() const { return (GXBlendFactor)mDstFactor; } + GXLogicOp getLogicOp() const { return (GXLogicOp)mLogicOp; } + + void load(u8 ditherEnable) { + J3DGDSetBlendMode(getBlendMode(), getSrcFactor(), getDstFactor(), getLogicOp(), ditherEnable); } void setType(u8 i_type) { @@ -589,10 +599,13 @@ struct J3DBlend : public J3DBlendInfo { extern const J3DFogInfo j3dDefaultFogInfo; struct J3DFog : public J3DFogInfo { - J3DFog() { - *getFogInfo() = j3dDefaultFogInfo; - } + J3DFog() { *getFogInfo() = j3dDefaultFogInfo; } J3DFogInfo* getFogInfo() { return (J3DFogInfo*)this; } + + void load() { + J3DGDSetFog(GXFogType(mType), mStartZ, mEndZ, mNearZ, mFarZ, mColor); + J3DGDSetFogRangeAdj(mAdjEnable, mCenter, (GXFogAdjTable*)mFogAdjTable); + } }; struct J3DAlphaCompInfo { @@ -606,96 +619,97 @@ struct J3DAlphaCompInfo { /* 0x7 */ u8 field_0x7; }; -extern const u16 j3dDefaultAlphaCmpID; - inline u32 calcAlphaCmpID(u32 param_1, u32 param_2, u32 param_3) { return ((param_1 & 0xff) << 5) + ((param_2 & 0xff) << 3) + (param_3 & 0xff); } +extern u8 j3dAlphaCmpTable[768]; + struct J3DAlphaComp { J3DAlphaComp() { - field_0x0 = j3dDefaultAlphaCmpID; + mAlphaCmpID = j3dDefaultAlphaCmpID; mRef0 = 0; mRef1 = 0; } - void setAlphaCompInfo(const J3DAlphaCompInfo& param_1) { - mRef0 = param_1.field_0x1; - mRef1 = param_1.field_0x4; - u32 p1_mref1 = param_1.mRef1; - field_0x0 = calcAlphaCmpID(param_1.field_0x0, param_1.mRef0, p1_mref1); + GXCompare getComp0() const { return GXCompare(j3dAlphaCmpTable[mAlphaCmpID * 3]); } + GXAlphaOp getOp() const { return GXAlphaOp(j3dAlphaCmpTable[mAlphaCmpID * 3 + 1]); } + GXCompare getComp1() const { return GXCompare(j3dAlphaCmpTable[mAlphaCmpID * 3 + 2]); } + u8 getRef0() const { return mRef0; } + u8 getRef1() const { return mRef1; } - // this matches for `dKy_bg_MAxx_proc` but causes `addWarpMaterial` to fail, - // while the above matches for `addWarpMaterial` but causes `dKy_bg_MAxx_proc` to fail? - // field_0x0 = calcAlphaCmpID(param_1.field_0x0, param_1.mRef0, param_1.mRef1); + void setAlphaCompInfo(const J3DAlphaCompInfo& info) { + // mAlphaCmpID = calcAlphaCmpID(param_1, param_1.mRef0, param_1.mRef1); } - /* 0x00 */ u16 field_0x0; + void load() { + J3DGDSetAlphaCompare(getComp0(), getRef0(), getOp(), getComp1(), getRef1()); + } + + /* 0x00 */ u16 mAlphaCmpID; /* 0x02 */ u8 mRef0; /* 0x03 */ u8 mRef1; }; // Size: 0x4 class J3DPEBlock { public: - virtual void reset(J3DPEBlock*); + virtual void reset(J3DPEBlock*) {} virtual void load() = 0; - virtual void patch(); - virtual void diff(u32); - virtual void diffFog(); - virtual void diffBlend(); - virtual s32 countDLSize(); + virtual void patch() {} + virtual void diff(u32) {} + virtual void diffFog() {} + virtual void diffBlend() {} + virtual s32 countDLSize() { return 0; } virtual u32 getType() = 0; - virtual void setFog(J3DFog*); - virtual J3DFog* getFog(); - virtual void setAlphaComp(J3DAlphaComp const*); - virtual void setAlphaComp(J3DAlphaComp); - virtual J3DAlphaComp* getAlphaComp(); - virtual void setBlend(J3DBlend const*); - virtual void setBlend(J3DBlend); - virtual J3DBlend* getBlend(); - virtual void setZMode(J3DZMode const*); - virtual void setZMode(J3DZMode); - virtual J3DZMode* getZMode(); - virtual void setZCompLoc(u8 const*); - virtual void setZCompLoc(u8); - virtual u8 getZCompLoc() const; - virtual void setDither(u8 const*); - virtual void setDither(u8); - virtual u8 getDither() const; - virtual u32 getFogOffset() const; - virtual void setFogOffset(u32); - virtual ~J3DPEBlock(); + virtual void setFog(J3DFog*) {} + virtual J3DFog* getFog() { return NULL; } + virtual void setAlphaComp(J3DAlphaComp const*) {} + virtual void setAlphaComp(J3DAlphaComp) {} + virtual J3DAlphaComp* getAlphaComp() { return NULL; } + virtual void setBlend(J3DBlend const*) {} + virtual void setBlend(J3DBlend) {} + virtual J3DBlend* getBlend() { return NULL; } + virtual void setZMode(J3DZMode const*) {} + virtual void setZMode(J3DZMode) {} + virtual J3DZMode* getZMode() { return NULL; } + virtual void setZCompLoc(u8 const*) {} + virtual void setZCompLoc(u8) {} + virtual u8 getZCompLoc() const { return 0; } + virtual void setDither(u8 const*) {} + virtual void setDither(u8) {} + virtual u8 getDither() const { return 0; } + virtual u32 getFogOffset() const { return 0; } + virtual void setFogOffset(u32) {} + virtual ~J3DPEBlock() {} }; class J3DPEBlockXlu : public J3DPEBlock { public: virtual void load(); virtual s32 countDLSize(); - virtual u32 getType(); - virtual ~J3DPEBlockXlu(); + virtual u32 getType() { return 'PEXL'; } + virtual ~J3DPEBlockXlu() {} }; class J3DPEBlockTexEdge : public J3DPEBlock { public: virtual void load(); virtual s32 countDLSize(); - virtual u32 getType(); - virtual ~J3DPEBlockTexEdge(); + virtual u32 getType() { return 'PEED'; } + virtual ~J3DPEBlockTexEdge() {} }; class J3DPEBlockOpa : public J3DPEBlock { public: virtual void load(); virtual s32 countDLSize(); - virtual u32 getType(); - virtual ~J3DPEBlockOpa(); + virtual u32 getType() { return 'PEOP'; } + virtual ~J3DPEBlockOpa() {} }; class J3DPEBlockFull : public J3DPEBlock { public: - J3DPEBlockFull() { - initialize(); - } + J3DPEBlockFull() { initialize(); } void initialize(); virtual void reset(J3DPEBlock*); @@ -705,30 +719,30 @@ public: virtual void diffFog(); virtual void diffBlend(); virtual s32 countDLSize(); - virtual u32 getType(); - virtual void setFog(J3DFog*); - virtual J3DFog* getFog(); - virtual void setAlphaComp(J3DAlphaComp const*); - virtual void setAlphaComp(J3DAlphaComp); - virtual J3DAlphaComp* getAlphaComp(); - virtual void setBlend(J3DBlend const*); - virtual void setBlend(J3DBlend); - virtual J3DBlend* getBlend(); - virtual void setZMode(J3DZMode const*); - virtual void setZMode(J3DZMode); - virtual J3DZMode* getZMode(); - virtual void setZCompLoc(u8 const*); - virtual void setZCompLoc(u8); - virtual u8 getZCompLoc() const; - virtual void setDither(u8 const*); - virtual void setDither(u8); - virtual u8 getDither() const; - virtual u32 getFogOffset() const; - virtual void setFogOffset(u32); - virtual ~J3DPEBlockFull(); + virtual u32 getType() { return 'PEFL'; } + virtual void setFog(J3DFog* pFog) { mFog = pFog; } + virtual J3DFog* getFog() { return mFog; } + virtual void setAlphaComp(const J3DAlphaComp* pAlphaComp) { mAlphaComp = *pAlphaComp; } + virtual void setAlphaComp(J3DAlphaComp alphaComp) { mAlphaComp = alphaComp; } + virtual J3DAlphaComp* getAlphaComp() { return &mAlphaComp; } + virtual void setBlend(const J3DBlend* pBlend) { mBlend = *pBlend; } + virtual void setBlend(J3DBlend blend) { mBlend = blend; } + virtual J3DBlend* getBlend() { return &mBlend; } + virtual void setZMode(const J3DZMode* pZMode) { mZMode = *pZMode; } + virtual void setZMode(J3DZMode zMode) { mZMode = zMode; } + virtual J3DZMode* getZMode() { return &mZMode; } + virtual void setZCompLoc(const u8* pZCompLoc) { mZCompLoc = *pZCompLoc; } + virtual void setZCompLoc(u8 zCompLoc) { mZCompLoc = zCompLoc; } + virtual u8 getZCompLoc() const { return mZCompLoc; } + virtual void setDither(const u8* pDither) { mDither = *pDither; } + virtual void setDither(u8 dither) { mDither = dither; } + virtual u8 getDither() const { return mDither; } + virtual u32 getFogOffset() const { return mFogOffset; } + virtual void setFogOffset(u32 offs) { mFogOffset = offs; } + virtual ~J3DPEBlockFull() {} private: - /* 0x04 */ J3DFog * mFog; + /* 0x04 */ J3DFog* mFog; /* 0x08 */ J3DAlphaComp mAlphaComp; /* 0x0C */ J3DBlend mBlend; /* 0x10 */ J3DZMode mZMode; @@ -739,33 +753,34 @@ private: class J3DPEBlockFogOff : public J3DPEBlock { public: - J3DPEBlockFogOff() { - initialize(); - } + J3DPEBlockFogOff() { initialize(); } void initialize(); virtual void reset(J3DPEBlock*); virtual void load(); - virtual void diff(u32); + virtual void diff(u32 flag) { + if ((flag & 0x20000000) != 0) + diffBlend(); + } virtual void diffBlend(); virtual s32 countDLSize(); - virtual u32 getType(); - virtual void setAlphaComp(J3DAlphaComp const*); - virtual void setAlphaComp(J3DAlphaComp); - virtual J3DAlphaComp* getAlphaComp(); - virtual void setBlend(J3DBlend const*); - virtual void setBlend(J3DBlend); - virtual J3DBlend* getBlend(); - virtual void setZMode(J3DZMode const*); - virtual void setZMode(J3DZMode); - virtual J3DZMode* getZMode(); - virtual void setZCompLoc(u8 const*); - virtual void setZCompLoc(u8); - virtual u8 getZCompLoc() const; - virtual void setDither(u8 const*); - virtual void setDither(u8); - virtual u8 getDither() const; - virtual ~J3DPEBlockFogOff(); + virtual u32 getType() { return 'PEFG'; } + virtual void setAlphaComp(const J3DAlphaComp* pAlphaComp) { mAlphaComp = *pAlphaComp; } + virtual void setAlphaComp(J3DAlphaComp alphaComp) { mAlphaComp = alphaComp; } + virtual J3DAlphaComp* getAlphaComp() { return &mAlphaComp; } + virtual void setBlend(const J3DBlend* pBlend) { mBlend = *pBlend; } + virtual void setBlend(J3DBlend blend) { mBlend = blend; } + virtual J3DBlend* getBlend() { return &mBlend; } + virtual void setZMode(const J3DZMode* pZMode) { mZMode = *pZMode; } + virtual void setZMode(J3DZMode zMode) { mZMode = zMode; } + virtual J3DZMode* getZMode() { return &mZMode; } + virtual void setZCompLoc(const u8* pZCompLoc) { mZCompLoc = *pZCompLoc; } + virtual void setZCompLoc(u8 zCompLoc) { mZCompLoc = zCompLoc; } + virtual u8 getZCompLoc() const { return mZCompLoc; } + virtual void setDither(const u8* pDither) { mDither = *pDither; } + virtual void setDither(u8 dither) { mDither = dither; } + virtual u8 getDither() const { return mDither; } + virtual ~J3DPEBlockFogOff() {} private: /* 0x04 */ J3DAlphaComp mAlphaComp; @@ -775,76 +790,73 @@ private: /* 0x0F */ u8 mDither; }; // Size: 0x10 -struct J3DIndTexCoordScale { - ~J3DIndTexCoordScale(); - J3DIndTexCoordScale(); +struct J3DIndTexCoordScale : public J3DIndTexCoordScaleInfo { + J3DIndTexCoordScale() { *(J3DIndTexCoordScaleInfo*)this = j3dDefaultIndTexCoordScaleInfo; } + ~J3DIndTexCoordScale() {} - /* 0x0 */ u8 mScaleS __attribute__((aligned(4))); - /* 0x1 */ u8 mScaleT; + u8 getScaleS() { return mScaleS; } + u8 getScaleT() { return mScaleT; } }; -struct J3DIndTexMtx { - ~J3DIndTexMtx(); - J3DIndTexMtx(); +struct J3DIndTexMtx : public J3DIndTexMtxInfo { + J3DIndTexMtx() {*(J3DIndTexMtxInfo*)this = j3dDefaultIndTexMtxInfo; } + ~J3DIndTexMtx() {} - /* 0x00 */ Mtx23 mOffsetMtx; - /* 0x18 */ u8 mScaleExp; + void load(u32 param_1) { + J3DGDSetIndTexMtx(GXIndTexMtxID(param_1 + 1), mOffsetMtx, mScaleExp); + } }; // Size: 0x1C -struct J3DIndTexOrder { - J3DIndTexOrder(); +struct J3DIndTexOrder : public J3DIndTexOrderInfo { + J3DIndTexOrder() { *(J3DIndTexOrderInfo*) this = j3dDefaultIndTexOrderNull; } - /* 0x0 */ u8 mMap; - /* 0x1 */ u8 mCoord; - /* 0x2 */ u8 field_0x2; - /* 0x3 */ u8 field_0x3; + u8 getCoord() const { return mCoord; } + u8 getMap() const { return mMap; } }; class J3DIndBlock { public: - virtual void reset(J3DIndBlock*); + virtual void reset(J3DIndBlock*) {} virtual void diff(u32) = 0; virtual void load() = 0; - virtual s32 countDLSize(); + virtual s32 countDLSize() { return 0; } virtual u32 getType() = 0; - virtual void setIndTexStageNum(u8); - virtual u8 getIndTexStageNum() const; - virtual void setIndTexOrder(u32, J3DIndTexOrder); - virtual void setIndTexOrder(u32, J3DIndTexOrder const*); - virtual J3DIndTexOrder * getIndTexOrder(u32); - virtual void setIndTexMtx(u32, J3DIndTexMtx const*); - virtual void setIndTexMtx(u32, J3DIndTexMtx); - virtual J3DIndTexMtx * getIndTexMtx(u32); - virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale); - virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale const*); - virtual J3DIndTexCoordScale * getIndTexCoordScale(u32); + virtual void setIndTexStageNum(u8) {} + virtual u8 getIndTexStageNum() const { return 0; } + virtual void setIndTexOrder(u32, J3DIndTexOrder) {} + virtual void setIndTexOrder(u32, J3DIndTexOrder const*) {} + virtual J3DIndTexOrder* getIndTexOrder(u32) { return NULL; } + virtual void setIndTexMtx(u32, J3DIndTexMtx const*) {} + virtual void setIndTexMtx(u32, J3DIndTexMtx) {} + virtual J3DIndTexMtx* getIndTexMtx(u32) { return NULL; } + virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale const*) {} + virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale) {} + virtual J3DIndTexCoordScale* getIndTexCoordScale(u32) { return NULL; } virtual ~J3DIndBlock() {} }; class J3DIndBlockFull : public J3DIndBlock { public: - J3DIndBlockFull() { - initialize(); - } + J3DIndBlockFull() { initialize(); } void initialize(); - virtual void reset(J3DIndBlock*); virtual void diff(u32); + virtual void reset(J3DIndBlock*); virtual void load(); virtual s32 countDLSize(); - virtual u32 getType(); - virtual void setIndTexStageNum(u8); - virtual u8 getIndTexStageNum() const; - virtual void setIndTexOrder(u32, J3DIndTexOrder); - virtual void setIndTexOrder(u32, J3DIndTexOrder const*); - virtual J3DIndTexOrder * getIndTexOrder(u32); - virtual void setIndTexMtx(u32, J3DIndTexMtx const*); - virtual void setIndTexMtx(u32, J3DIndTexMtx); - virtual J3DIndTexMtx * getIndTexMtx(u32); - virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale const*); - virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale); - virtual J3DIndTexCoordScale * getIndTexCoordScale(u32); - virtual ~J3DIndBlockFull(); + virtual u32 getType() { return 'IBLF'; } + virtual void setIndTexStageNum(u8 num) { mIndTexStageNum = num; } + virtual u8 getIndTexStageNum() const { return mIndTexStageNum; } + virtual void setIndTexOrder(u32 i, J3DIndTexOrder const* pOrder) { mIndTexOrder[i] = *pOrder; } + virtual void setIndTexOrder(u32 i, J3DIndTexOrder order) { mIndTexOrder[i] = order; } + virtual J3DIndTexOrder* getIndTexOrder(u32 i) { return &mIndTexOrder[i]; } + virtual void setIndTexMtx(u32 i, J3DIndTexMtx const* pMtx) { mIndTexMtx[i] = *pMtx; } + virtual void setIndTexMtx(u32 i, J3DIndTexMtx mtx) { mIndTexMtx[i] = mtx; } + virtual J3DIndTexMtx* getIndTexMtx(u32 i) { return &mIndTexMtx[i]; } + virtual void setIndTexCoordScale(u32 i, J3DIndTexCoordScale const* pScale) { mIndTexCoordScale[i] = *pScale; } + virtual void setIndTexCoordScale(u32 i, J3DIndTexCoordScale scale) { mIndTexCoordScale[i] = scale; } + virtual J3DIndTexCoordScale* getIndTexCoordScale(u32 i) { return &mIndTexCoordScale[i]; } + virtual ~J3DIndBlockFull() {} private: /* 0x04 */ u8 mIndTexStageNum; @@ -855,78 +867,110 @@ private: class J3DIndBlockNull : public J3DIndBlock { public: - virtual void reset(J3DIndBlock*); - virtual void diff(u32); - virtual void load(); - virtual u32 getType(); - virtual ~J3DIndBlockNull(); + virtual void diff(u32) {} + virtual void load() {} + virtual void reset(J3DIndBlock*) {} + virtual u32 getType() { return 'IBLN'; } + virtual ~J3DIndBlockNull() {} }; -struct J3DColorChanInfo { - /* 0x0 */ u8 field_0x0; - /* 0x1 */ u8 field_0x1; - /* 0x2 */ u8 field_0x2; - /* 0x3 */ u8 field_0x3; - /* 0x4 */ u8 field_0x4; - /* 0x5 */ u8 field_0x5; -}; +inline u16 calcColorChanID(u16 param_0, u8 param_1, u8 param_2, u8 param_3, u8 param_4, u8 param_5) { + u32 r31 = 0; + r31 = r31 & ~0x0002 | param_0 << 1; + r31 = r31 & ~0x0001 | param_1; + r31 = r31 & ~0x0040 | param_5 << 6; + r31 = r31 & ~0x0004 | bool(param_2 & 0x01) << 2; + r31 = r31 & ~0x0008 | bool(param_2 & 0x02) << 3; + r31 = r31 & ~0x0010 | bool(param_2 & 0x04) << 4; + r31 = r31 & ~0x0020 | bool(param_2 & 0x08) << 5; + r31 = r31 & ~0x0800 | bool(param_2 & 0x10) << 11; + r31 = r31 & ~0x1000 | bool(param_2 & 0x20) << 12; + r31 = r31 & ~0x2000 | bool(param_2 & 0x40) << 13; + r31 = r31 & ~0x4000 | bool(param_2 & 0x80) << 14; + r31 = r31 & ~0x0180 | (param_4 == 0 ? 0 : param_3) << 7; + r31 = r31 & ~0x0200 | (param_4 != 2) << 9; + r31 = r31 & ~0x0400 | (param_4 != 0) << 10; + return r31; +} + +inline u32 setChanCtrlMacro(u8 enable, GXColorSrc ambSrc, GXColorSrc matSrc, u32 lightMask, GXDiffuseFn diffuseFn, GXAttnFn attnFn) { + return + matSrc | + enable << 1 | + (lightMask & 0x0f) << 2 | + ambSrc << 6 | + ((attnFn == GX_AF_SPEC) ? GX_DF_NONE : diffuseFn) << 7 | + (attnFn != GX_AF_NONE) << 9 | + (attnFn != GX_AF_SPEC) << 10 | + (lightMask >> 4 & 0x0f) << 11; +} struct J3DColorChan { - J3DColorChan(); - u8 getLightMask() { return (((mColorChanID & 0x7800) >> 7) | (mColorChanID & 0x3c) >> 2); } + J3DColorChan() { setColorChanInfo(j3dDefaultColorChanInfo); } + GXAttnFn getAttnFn(); + GXDiffuseFn getDiffuseFn() { return GXDiffuseFn(mChanCtrl >> 7 & 3); } + u8 getLightMask() { return ((mChanCtrl >> 2 & 0x0f) | (mChanCtrl >> 11 & 0x0f) << 4); } void setLightMask(u8 param_1) { - mColorChanID = (mColorChanID & ~0x3c) | ((param_1 & 0xf) << 2); - mColorChanID = (mColorChanID & ~0x7800) | ((param_1 & 0xf0) << 7); + mChanCtrl = (mChanCtrl & ~0x3c) | ((param_1 & 0x0f) << 2); + mChanCtrl = (mChanCtrl & ~0x7800) | ((param_1 & 0xf0) << 7); + } + GXColorSrc getMatSrc() { return GXColorSrc(mChanCtrl >> 0 & 0x01); } + GXColorSrc getAmbSrc() { return GXColorSrc(mChanCtrl >> 6 & 0x01); } + u8 getEnable() { return !!(mChanCtrl & 0x02); } + void setColorChanInfo(const J3DColorChanInfo& info) { + u8 r30 = info.field_0x5 == 0xFFFF ? 0 : info.field_0x5; + mChanCtrl = calcColorChanID(info.field_0x0, info.field_0x1, info.field_0x2, info.field_0x3, info.field_0x4, r30); + } + void load() { + J3DGDWrite_u32(setChanCtrlMacro(getEnable(), getAmbSrc(), getMatSrc(), getLightMask(), getDiffuseFn(), getAttnFn())); } - /* 0x0 */ u16 mColorChanID; + /* 0x0 */ u16 mChanCtrl; }; class J3DColorBlock { public: - virtual void load(); - virtual void reset(J3DColorBlock*); - virtual void patch(); - virtual void patchMatColor(); - virtual void patchLight(); - virtual void diff(u32); - virtual void diffMatColor(); - virtual void diffLight(); - virtual s32 countDLSize(); + virtual void load() {} + virtual void reset(J3DColorBlock*) {} + virtual void patch() {} + virtual void patchMatColor() {} + virtual void patchLight() {} + virtual void diff(u32) {} + virtual void diffMatColor() {} + virtual void diffLight() {} + virtual s32 countDLSize() { return 0; } virtual u32 getType() = 0; - virtual void setMatColor(u32, J3DGXColor const*); - virtual void setMatColor(u32, J3DGXColor); - virtual GXColor* getMatColor(u32); - virtual void setAmbColor(u32, J3DGXColor const*); - virtual void setAmbColor(u32, J3DGXColor); - virtual GXColor* getAmbColor(u32); - virtual void setColorChanNum(u8); - virtual void setColorChanNum(u8 const*); - virtual u8 getColorChanNum() const; - virtual void setColorChan(u32, J3DColorChan const&); - virtual void setColorChan(u32, J3DColorChan const*); - virtual J3DColorChan* getColorChan(u32); - virtual void setLight(u32, J3DLightObj*); - virtual J3DLightObj* getLight(u32); - virtual void setCullMode(u8 const*); - virtual void setCullMode(u8); - virtual u8 getCullMode() const; - virtual u32 getMatColorOffset() const; - virtual u32 getColorChanOffset() const; - virtual void setMatColorOffset(u32); - virtual void setColorChanOffset(u32); - virtual ~J3DColorBlock(); + virtual void setMatColor(u32, J3DGXColor const*) {} + virtual void setMatColor(u32, J3DGXColor) {} + virtual J3DGXColor* getMatColor(u32) { return NULL; } + virtual void setAmbColor(u32, J3DGXColor const*) {} + virtual void setAmbColor(u32, J3DGXColor) {} + virtual J3DGXColor* getAmbColor(u32) { return NULL; } + virtual void setColorChanNum(u8) {} + virtual void setColorChanNum(u8 const*) {} + virtual u8 getColorChanNum() const { return 0; } + virtual void setColorChan(u32, J3DColorChan const&) {} + virtual void setColorChan(u32, J3DColorChan const*) {} + virtual J3DColorChan* getColorChan(u32) { return NULL; } + virtual void setLight(u32, J3DLightObj*) {} + virtual J3DLightObj* getLight(u32) { return NULL; } + virtual void setCullMode(u8 const*) {} + virtual void setCullMode(u8) {} + virtual u8 getCullMode() const { return 2; } + virtual u32 getMatColorOffset() const { return 0; } + virtual u32 getColorChanOffset() const { return 0; } + virtual void setMatColorOffset(u32) {} + virtual void setColorChanOffset(u32) {} + virtual ~J3DColorBlock() {} }; class J3DColorBlockLightOn : public J3DColorBlock { public: - J3DColorBlockLightOn() { - initialize(); - } + J3DColorBlockLightOn() { initialize(); } void initialize(); - virtual void load(); virtual void reset(J3DColorBlock*); + virtual void load(); virtual void patch(); virtual void patchMatColor(); virtual void patchLight(); @@ -934,33 +978,33 @@ public: virtual void diffMatColor(); virtual void diffLight(); virtual s32 countDLSize(); - virtual u32 getType(); - virtual void setMatColor(u32, J3DGXColor const*); - virtual void setMatColor(u32, J3DGXColor); - virtual GXColor* getMatColor(u32); - virtual void setAmbColor(u32, J3DGXColor const*); - virtual void setAmbColor(u32, J3DGXColor); - virtual GXColor* getAmbColor(u32); - virtual void setColorChanNum(u8); - virtual void setColorChanNum(u8 const*); - virtual u8 getColorChanNum() const; - virtual void setColorChan(u32, J3DColorChan const&); - virtual void setColorChan(u32, J3DColorChan const*); - virtual J3DColorChan* getColorChan(u32); - virtual void setLight(u32, J3DLightObj*); - virtual J3DLightObj* getLight(u32); - virtual void setCullMode(u8 const*); - virtual void setCullMode(u8); - virtual u8 getCullMode() const; - virtual u32 getMatColorOffset() const; - virtual u32 getColorChanOffset() const; - virtual void setMatColorOffset(u32); - virtual void setColorChanOffset(u32); - virtual ~J3DColorBlockLightOn(); + virtual u32 getType() { return 'CLON'; } + virtual void setMatColor(u32 i, J3DGXColor const* pColor) { mMatColor[i] = *pColor; } + virtual void setMatColor(u32 i, J3DGXColor color) { mMatColor[i] = color; } + virtual J3DGXColor* getMatColor(u32 i) { return &mMatColor[i]; } + virtual void setAmbColor(u32 i, J3DGXColor const* pColor) { mAmbColor[i] = *pColor; } + virtual void setAmbColor(u32 i, J3DGXColor color) { mAmbColor[i] = color; } + virtual J3DGXColor* getAmbColor(u32 i) { return &mAmbColor[i]; } + virtual void setColorChanNum(u8 num) { mColorChanNum = num; } + virtual void setColorChanNum(u8 const* pNum) { mColorChanNum = *pNum; } + virtual u8 getColorChanNum() const { return mColorChanNum; } + virtual void setColorChan(u32 i, J3DColorChan const& chan) { mColorChan[i] = chan; } + virtual void setColorChan(u32 i, J3DColorChan const* pChan) { mColorChan[i] = *pChan; } + virtual J3DColorChan* getColorChan(u32 i) { return &mColorChan[i]; } + virtual void setLight(u32 i, J3DLightObj* pLight) { mLight[i] = pLight; } + virtual J3DLightObj* getLight(u32 i) { return mLight[i]; } + virtual void setCullMode(u8 const* pMode) { mCullMode = *pMode; } + virtual void setCullMode(u8 mode) { mCullMode = mode; } + virtual u8 getCullMode() const { return mCullMode; } + virtual u32 getMatColorOffset() const { return mMatColorOffset; } + virtual u32 getColorChanOffset() const { return mColorChanOffset; } + virtual void setMatColorOffset(u32 offs) { mMatColorOffset = offs; } + virtual void setColorChanOffset(u32 offs) { mColorChanOffset = offs; } + virtual ~J3DColorBlockLightOn() {} private: - /* 0x04 */ GXColor mMatColor[2]; - /* 0x0C */ GXColor mAmbColor[2]; + /* 0x04 */ J3DGXColor mMatColor[2]; + /* 0x0C */ J3DGXColor mAmbColor[2]; /* 0x14 */ u8 mColorChanNum; /* 0x16 */ J3DColorChan mColorChan[4]; /* 0x20 */ J3DLightObj* mLight[8]; @@ -971,9 +1015,7 @@ private: class J3DColorBlockLightOff : public J3DColorBlock { public: - J3DColorBlockLightOff() { - initialize(); - } + J3DColorBlockLightOff() { initialize(); } void initialize(); virtual void load(); @@ -985,27 +1027,27 @@ public: virtual void diffMatColor(); virtual void diffLight(); virtual s32 countDLSize(); - virtual u32 getType(); - virtual void setMatColor(u32, J3DGXColor const*); - virtual void setMatColor(u32, J3DGXColor); - virtual GXColor* getMatColor(u32); - virtual void setColorChanNum(u8); - virtual void setColorChanNum(u8 const*); - virtual u8 getColorChanNum() const; - virtual void setColorChan(u32, J3DColorChan const&); - virtual void setColorChan(u32, J3DColorChan const*); - virtual J3DColorChan* getColorChan(u32); - virtual void setCullMode(u8 const*); - virtual void setCullMode(u8); - virtual u8 getCullMode() const; - virtual u32 getMatColorOffset() const; - virtual u32 getColorChanOffset() const; - virtual void setMatColorOffset(u32); - virtual void setColorChanOffset(u32); - virtual ~J3DColorBlockLightOff(); + virtual u32 getType() { return 'CLOF'; } + virtual void setMatColor(u32 i, J3DGXColor const* pColor) { mMatColor[i] = *pColor; } + virtual void setMatColor(u32 i, J3DGXColor color) { mMatColor[i] = color; } + virtual J3DGXColor* getMatColor(u32 i) { return &mMatColor[i]; } + virtual void setColorChanNum(u8 num) { mColorChanNum = num; } + virtual void setColorChanNum(u8 const* pNum) { mColorChanNum = *pNum;} + virtual u8 getColorChanNum() const { return mColorChanNum; } + virtual void setColorChan(u32 i, J3DColorChan const& chan) { mColorChan[i] = chan; } + virtual void setColorChan(u32 i, J3DColorChan const* pChan) { mColorChan[i] = *pChan; } + virtual J3DColorChan* getColorChan(u32 i) { return &mColorChan[i]; } + virtual void setCullMode(u8 const* pMode) { mCullMode = *pMode;} + virtual void setCullMode(u8 mode ) { mCullMode = mode; } + virtual u8 getCullMode() const { return mCullMode; } + virtual u32 getMatColorOffset() const { return mMatColorOffset; } + virtual u32 getColorChanOffset() const { return mColorChanOffset; } + virtual void setMatColorOffset(u32 offs) { mMatColorOffset = offs; } + virtual void setColorChanOffset(u32 offs) { mColorChanOffset = offs; } + virtual ~J3DColorBlockLightOff() {} protected: - /* 0x04 */ GXColor mMatColor[2]; + /* 0x04 */ J3DGXColor mMatColor[2]; /* 0x0C */ u8 mColorChanNum; /* 0x0E */ J3DColorChan mColorChan[4]; /* 0x16 */ u8 mCullMode; @@ -1013,24 +1055,26 @@ protected: /* 0x1C */ u32 mColorChanOffset; }; // Size: 0x20 +extern int SizeOfJ3DColorBlockLightOffLoad; + class J3DColorBlockAmbientOn : public J3DColorBlockLightOff { public: - J3DColorBlockAmbientOn() { - initialize(); - } + J3DColorBlockAmbientOn() { initialize(); } void initialize(); - virtual void load(); virtual void reset(J3DColorBlock*); + virtual void load(); virtual s32 countDLSize(); - virtual u32 getType(); - virtual void setAmbColor(u32, J3DGXColor const*); - virtual void setAmbColor(u32, J3DGXColor); - virtual GXColor* getAmbColor(u32); - virtual ~J3DColorBlockAmbientOn(); + virtual u32 getType() { return 'CLAB'; } + virtual void setAmbColor(u32 i, J3DGXColor const* pColor) { mAmbColor[i] = *pColor; } + virtual void setAmbColor(u32 i, J3DGXColor color) { mAmbColor[i] = color; } + virtual J3DGXColor* getAmbColor(u32 i) { return &mAmbColor[i]; } + virtual ~J3DColorBlockAmbientOn() {} protected: - /* 0x20 */ GXColor mAmbColor[2]; + /* 0x20 */ J3DGXColor mAmbColor[2]; }; // Size: 0x28 +extern int SizeOfJ3DColorBlockAmbientOnLoad; + #endif /* J3DMATBLOCK_H */ diff --git a/include/JSystem/J3DGraphBase/J3DMaterial.h b/include/JSystem/J3DGraphBase/J3DMaterial.h index bedcac040..239936e89 100644 --- a/include/JSystem/J3DGraphBase/J3DMaterial.h +++ b/include/JSystem/J3DGraphBase/J3DMaterial.h @@ -43,6 +43,8 @@ public: J3DMaterial* getNext() const { return mNext; } J3DShape* getShape() const { return mShape; } + u32 getMaterialMode() { return mMaterialMode; } + void setMaterialMode(u32 mode) { mMaterialMode = mode; } J3DTevBlock* getTevBlock() const { return mTevBlock; } J3DColorBlock* getColorBlock() const { return mColorBlock; } J3DTexGenBlock* getTexGenBlock() const { return mTexGenBlock; } @@ -59,8 +61,8 @@ public: } J3DNBTScale* getNBTScale() const { return mTexGenBlock->getNBTScale(); } u16 getTexNo(u32 idx) const { return mTevBlock->getTexNo(idx); } - GXColor* getTevKColor(u32 param_0) { return mTevBlock->getTevKColor(param_0); } - GXColorS10* getTevColor(u32 param_0) { return mTevBlock->getTevColor(param_0); } + J3DGXColor* getTevKColor(u32 param_0) { return mTevBlock->getTevKColor(param_0); } + J3DGXColorS10* getTevColor(u32 param_0) { return mTevBlock->getTevColor(param_0); } J3DFog* getFog() { return mPEBlock->getFog(); } J3DTexMtx* getTexMtx(u32 idx) { return mTexGenBlock->getTexMtx(idx); } u16 getIndex() { return mIndex; } diff --git a/include/JSystem/J3DGraphBase/J3DPacket.h b/include/JSystem/J3DGraphBase/J3DPacket.h index 71156fbe8..9a76e957c 100644 --- a/include/JSystem/J3DGraphBase/J3DPacket.h +++ b/include/JSystem/J3DGraphBase/J3DPacket.h @@ -170,6 +170,8 @@ public: void setDrawMtx(Mtx** pDrawMtx) { mpDrawMtx = pDrawMtx; } void setNrmMtx(Mtx33** pNrmMtx) { mpNrmMtx = pNrmMtx; } void setBaseMtxPtr(Mtx* pMtx) { mpBaseMtxPtr = pMtx; } + void setScaleFlagArray(u8* pScaleFlagArray) { mpScaleFlagArray = pScaleFlagArray; } + void setCurrentViewNoPtr(u32* pCurrentViewNo) { mpCurrentViewNo = pCurrentViewNo; } J3DShape* getShape() const { return mpShape; } J3DModel* getModel() const { return mpModel; } diff --git a/include/JSystem/J3DGraphBase/J3DShape.h b/include/JSystem/J3DGraphBase/J3DShape.h index a4a95716d..1346f0ae1 100644 --- a/include/JSystem/J3DGraphBase/J3DShape.h +++ b/include/JSystem/J3DGraphBase/J3DShape.h @@ -42,10 +42,9 @@ public: GFX_FIFO(u32) = getMtxIdxRegB(); } - void setCurrentTexMtx(u8 param_1, u8 param_2, u8 param_3, u8 param_4, - u8 param_5, u8 param_6, u8 param_7, u8 param_8) { - mMtxIdxRegA = ((param_1 & 0xff) << 6) | (param_2 << 0xc)| (param_3 << 0x12) | (param_4 << 0x18); - mMtxIdxRegB = (param_5) | param_6 << 6 | param_7 << 0xc | param_8 << 0x12; + void setCurrentTexMtx(u8 t0, u8 t1, u8 t2, u8 t3, u8 t4, u8 t5, u8 t6, u8 t7) { + mMtxIdxRegA = t0 << 6 | t1 << 12 | t2 << 18 | t3 << 24; + mMtxIdxRegB = t4 << 0 | t5 << 6 | t6 << 12 | t7 << 18; } }; diff --git a/include/JSystem/J3DGraphBase/J3DShapeMtx.h b/include/JSystem/J3DGraphBase/J3DShapeMtx.h index 70b82b365..eb5ba9f17 100644 --- a/include/JSystem/J3DGraphBase/J3DShapeMtx.h +++ b/include/JSystem/J3DGraphBase/J3DShapeMtx.h @@ -40,9 +40,9 @@ public: void loadMtxIndx_PNCPU(int, u16) const; virtual ~J3DShapeMtx() {} - virtual u32 getType() const; - virtual u32 getUseMtxNum() const; - virtual u32 getUseMtxIndex(u16) const; + virtual u32 getType() const { return 'SMTX'; } + virtual u32 getUseMtxNum() const { return 1; } + virtual u32 getUseMtxIndex(u16) const { return mUseMtxIndex; } virtual void load() const; virtual void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]); @@ -65,7 +65,7 @@ public: J3DShapeMtxImm(u16 useMtxIndex) : J3DShapeMtx(useMtxIndex) {} virtual ~J3DShapeMtxImm() {} - virtual u32 getType() const; + virtual u32 getType() const { return 'SMIM'; } virtual void load() const; virtual void loadNrmMtx(int, u16) const; @@ -83,15 +83,15 @@ public: J3DShapeMtxMultiImm(u16 useMtxIndex) : J3DShapeMtxImm(useMtxIndex) {} virtual ~J3DShapeMtxMultiImm() {} - virtual u32 getType() const; - virtual u32 getUseMtxNum() const; - virtual u32 getUseMtxIndex(u16) const; + virtual u32 getType() const { return 'SMMI'; } + virtual u32 getUseMtxNum() const { return mUseMtxNum; } + virtual u32 getUseMtxIndex(u16 i) const { return mUseMtxIndexTable[i]; } virtual void load() const; virtual void loadNrmMtx(int, u16) const; private: - /* 0x6 */ u16 mUseMtxNum; - /* 0x8 */ u16* mUseMtxIndexTable; + /* 0x8 */ u16 mUseMtxNum; + /* 0xC */ u16* mUseMtxIndexTable; }; class J3DShapeMtxConcatView : public J3DShapeMtxImm { @@ -101,9 +101,9 @@ public: J3DShapeMtxConcatView(u16 useMtxIndex) : J3DShapeMtxImm(useMtxIndex) {} virtual ~J3DShapeMtxConcatView() {} - virtual u32 getType() const; + virtual u32 getType() const { return 'SMCV'; } virtual void load() const; - virtual void loadNrmMtx(int, u16) const; + virtual void loadNrmMtx(int, u16) const {} virtual void loadNrmMtx(int, u16, f32 (*)[4]) const; void loadMtxConcatView_PNGP(int, u16) const; @@ -121,7 +121,7 @@ public: J3DShapeMtxBBoardImm(u16 useMtxIndex) : J3DShapeMtxImm(useMtxIndex) {} virtual ~J3DShapeMtxBBoardImm() {} - virtual u32 getType() const; + virtual u32 getType() const { return 'SMBB'; } virtual void load() const; }; @@ -130,21 +130,21 @@ public: J3DShapeMtxYBBoardImm(u16 useMtxIndex) : J3DShapeMtxImm(useMtxIndex) {} virtual ~J3DShapeMtxYBBoardImm() {} - virtual u32 getType() const; + virtual u32 getType() const { return 'SMYB'; } virtual void load() const; }; -class J3DShapeMtxYBBoardConcatView : public J3DShapeMtxConcatView { +class J3DShapeMtxYBBoardConcatView : public J3DShapeMtxYBBoardImm { public: - J3DShapeMtxYBBoardConcatView(u16 useMtxIndex) : J3DShapeMtxConcatView(useMtxIndex) {} + J3DShapeMtxYBBoardConcatView(u16 useMtxIndex) : J3DShapeMtxYBBoardImm(useMtxIndex) {} virtual ~J3DShapeMtxYBBoardConcatView() {} virtual void load() const; }; -class J3DShapeMtxBBoardConcatView : public J3DShapeMtxConcatView { +class J3DShapeMtxBBoardConcatView : public J3DShapeMtxBBoardImm { public: - J3DShapeMtxBBoardConcatView(u16 useMtxIndex) : J3DShapeMtxConcatView(useMtxIndex) {} + J3DShapeMtxBBoardConcatView(u16 useMtxIndex) : J3DShapeMtxBBoardImm(useMtxIndex) {} virtual ~J3DShapeMtxBBoardConcatView() {} virtual void load() const; @@ -156,15 +156,15 @@ public: : J3DShapeMtx(useMtxIndex), mUseMtxNum(useMtxNum), mUseMtxIndexTable(useMtxIndexTable) {} virtual ~J3DShapeMtxMulti() {} - virtual u32 getType() const; - virtual u32 getUseMtxNum() const; - virtual u32 getUseMtxIndex(u16) const; + virtual u32 getType() const { return 'SMML'; } + virtual u32 getUseMtxNum() const { return mUseMtxNum; } + virtual u32 getUseMtxIndex(u16 i) const { return mUseMtxIndexTable[i]; } virtual void load() const; virtual void calcNBTScale(Vec const&, Mtx33*, Mtx33*); private: - /* 0x6 */ u16 mUseMtxNum; - /* 0x8 */ u16* mUseMtxIndexTable; + /* 0x8 */ u16 mUseMtxNum; + /* 0xC */ u16* mUseMtxIndexTable; }; class J3DShapeMtxMultiConcatView : public J3DShapeMtxConcatView { @@ -174,16 +174,16 @@ public: mUseMtxIndexTable(useMtxIndexTable) {} virtual ~J3DShapeMtxMultiConcatView() {} - virtual u32 getType() const; - virtual u32 getUseMtxNum() const; - virtual u32 getUseMtxIndex(u16) const; + virtual u32 getType() const { return 'SMMI'; } + virtual u32 getUseMtxNum() const { return mUseMtxNum; } + virtual u32 getUseMtxIndex(u16 i) const { return mUseMtxIndexTable[i]; } virtual void load() const; - virtual void loadNrmMtx(int, u16) const; + virtual void loadNrmMtx(int, u16) const {} virtual void loadNrmMtx(int, u16, f32 (*)[4]) const; private: - /* 0x6 */ u16 mUseMtxNum; - /* 0x8 */ u16* mUseMtxIndexTable; + /* 0x8 */ u16 mUseMtxNum; + /* 0xC */ u16* mUseMtxIndexTable; }; #endif /* J3DSHAPEMTX_H */ diff --git a/include/JSystem/J3DGraphBase/J3DStruct.h b/include/JSystem/J3DGraphBase/J3DStruct.h index 4b2988a12..9232eccc2 100644 --- a/include/JSystem/J3DGraphBase/J3DStruct.h +++ b/include/JSystem/J3DGraphBase/J3DStruct.h @@ -8,7 +8,7 @@ class J3DLightInfo { public: - /* 803256C4 */ void operator=(J3DLightInfo const&); + void operator=(J3DLightInfo const&); /* 0x00 */ Vec mLightPosition; /* 0x0C */ Vec mLightDirection; @@ -17,23 +17,6 @@ public: /* 0x28 */ Vec mDistAtten; }; // Size = 0x34 -extern "C" extern J3DLightInfo const j3dDefaultLightInfo; - -class J3DLightObj { -public: - /* 80018C0C */ J3DLightObj() { mInfo = j3dDefaultLightInfo; } - /* 80323590 */ void load(u32) const; - - J3DLightInfo& getLightInfo() { return mInfo; } - J3DLightObj& operator=(J3DLightObj const& other) { - mInfo = other.mInfo; - return *this; - } - - /* 0x00 */ J3DLightInfo mInfo; - /* 0x34 */ u8 field_0x34[64]; -}; // Size = 0x74 - struct J3DTextureSRTInfo { /* 0x00 */ f32 mScaleX; /* 0x04 */ f32 mScaleY; @@ -42,23 +25,71 @@ struct J3DTextureSRTInfo { /* 0x10 */ f32 mTranslationY; }; // Size: 0x14 +enum J3DTexMtxMode { + J3DTexMtxMode_None, + J3DTexMtxMode_EnvmapBasic, + J3DTexMtxMode_ProjmapBasic, + J3DTexMtxMode_ViewProjmapBasic, + J3DTexMtxMode_Unknown4, + J3DTexMtxMode_Unknown5, + J3DTexMtxMode_EnvmapOld, + J3DTexMtxMode_Envmap, + J3DTexMtxMode_Projmap, + J3DTexMtxMode_ViewProjmap, + J3DTexMtxMode_EnvmapOldEffectMtx, + J3DTexMtxMode_EnvmapEffectMtx, +}; + struct J3DTexMtxInfo { - /* 80325718 */ void operator=(J3DTexMtxInfo const&); - /* 80325794 */ void setEffectMtx(Mtx); + void operator=(J3DTexMtxInfo const& other) { + for (int i = 0; i < 4; i++) { + for (int j = 0; j < 4; j++) { + mEffectMtx[i][j] = other.mEffectMtx[i][j]; + } + } + mCenter = other.mCenter; + mProjection = other.mProjection; + mInfo = other.mInfo; + mSRT = other.mSRT; + } + void setEffectMtx(Mtx); /* 0x00 */ u8 mProjection; - /* 0x01 */ s8 mInfo; + /* 0x01 */ u8 mInfo; + /* 0x02 */ u8 padding[2]; /* 0x04 */ Vec mCenter; /* 0x10 */ J3DTextureSRTInfo mSRT; - /* 0x24 */ Mtx44 mEffectMtx; + /* 0x24 */ Mtx44 mEffectMtx; }; // Size: 0x64 struct J3DIndTexMtxInfo { - /* 0x00 */ Mtx23 field_0x0; - /* 0x18 */ u8 field_0x18; + void operator=(const J3DIndTexMtxInfo& other) { + for (int i = 0; i < 2; i++) { + for (int j = 0; j < 3; j++) { + mOffsetMtx[i][j] = other.mOffsetMtx[i][j]; + } + } + mScaleExp = other.mScaleExp; + } + /* 0x00 */ Mtx23 mOffsetMtx; + /* 0x18 */ u8 mScaleExp; }; // Size: 0x1C struct J3DFogInfo { + void operator=(const J3DFogInfo& other) { + mType = other.mType; + mAdjEnable = other.mAdjEnable; + mCenter = other.mCenter; + mStartZ = other.mStartZ; + mEndZ = other.mEndZ; + mNearZ = other.mNearZ; + mFarZ = other.mFarZ; + mColor = other.mColor; + for (int i = 0; i < 10; i++) { + mFogAdjTable[i] = other.mFogAdjTable[i]; + } + } + /* 0x00 */ u8 mType; /* 0x01 */ u8 mAdjEnable; /* 0x02 */ u16 mCenter; @@ -77,4 +108,113 @@ struct J3DNBTScaleInfo { inline void operator=(const J3DNBTScaleInfo & other) { mbHasScale = other.mbHasScale; mScale = other.mScale; } }; // Size: 0x10 +struct J3DIndTexOrderInfo { + void operator=(const J3DIndTexOrderInfo& other) { + mCoord = other.mCoord; + mMap = other.mMap; + } + + /* 0x0 */ u8 mCoord; + /* 0x1 */ u8 mMap; + /* 0x2 */ u8 field_0x2; + /* 0x3 */ u8 field_0x3; +}; + +struct J3DTevSwapModeInfo { + /* 0x0 */ u8 field_0x0; + /* 0x1 */ u8 field_0x1; +}; + +struct J3DTevSwapModeTableInfo { + /* 0x0 */ u8 field_0x0; + /* 0x1 */ u8 field_0x1; + /* 0x2 */ u8 field_0x2; + /* 0x3 */ u8 field_0x3; +}; + +struct J3DTevStageInfo { + /* 0x0 */ u8 field_0x0; + /* 0x1 */ u8 field_0x1; + /* 0x2 */ u8 field_0x2; + /* 0x3 */ u8 field_0x3; + /* 0x4 */ u8 field_0x4; + /* 0x5 */ u8 field_0x5; + /* 0x6 */ u8 field_0x6; + /* 0x7 */ u8 field_0x7; + /* 0x8 */ u8 field_0x8; + /* 0x9 */ u8 field_0x9; + /* 0xA */ u8 field_0xa; + /* 0xB */ u8 field_0xb; + /* 0xC */ u8 field_0xc; + /* 0xD */ u8 field_0xd; + /* 0xE */ u8 field_0xe; + /* 0xF */ u8 field_0xf; + /* 0x10 */ u8 field_0x10; + /* 0x11 */ u8 field_0x11; + /* 0x12 */ u8 field_0x12; + /* 0x13 */ u8 field_0x13; +}; + +struct J3DIndTevStageInfo { + /* 0x0 */ u8 mIndStage; + /* 0x1 */ u8 mIndFormat; + /* 0x2 */ u8 mBiasSel; + /* 0x3 */ u8 mMtxSel; + /* 0x4 */ u8 mWrapS; + /* 0x5 */ u8 mWrapT; + /* 0x6 */ u8 mPrev; + /* 0x7 */ u8 mLod; + /* 0x8 */ u8 mAlphaSel; +}; + +struct J3DTexCoordInfo { + /* 0x0 */ u8 mTexGenType __attribute__((aligned(4))); + /* 0x1 */ u8 mTexGenSrc; + /* 0x2 */ u8 mTexGenMtx; +}; + +struct J3DIndTexCoordScaleInfo { + void operator=(const J3DIndTexCoordScaleInfo& other) { + mScaleS = other.mScaleS; + mScaleT = other.mScaleT; + } + + /* 0x0 */ u8 mScaleS; + /* 0x1 */ u8 mScaleT; + /* 0x2 */ u8 field_0x2; + /* 0x3 */ u8 field_0x3; +}; + +struct J3DBlendInfo { + /* 0x0 */ u8 mBlendMode; + /* 0x1 */ u8 mSrcFactor; + /* 0x2 */ u8 mDstFactor; + /* 0x3 */ u8 mLogicOp; +}; + +struct J3DTevOrderInfo { + /* 0x0 */ u8 mTexCoord __attribute__((aligned(2))); + /* 0x1 */ u8 mTexMap; + /* 0x2 */ u8 mColorChan; +}; + +struct J3DColorChanInfo { + /* 0x0 */ u8 field_0x0; + /* 0x1 */ u8 field_0x1; + /* 0x2 */ u8 field_0x2; + /* 0x3 */ u8 field_0x3; + /* 0x4 */ u8 field_0x4; + /* 0x5 */ u8 field_0x5; + /* 0x6 */ u8 field_0x6; + /* 0x7 */ u8 field_0x7; +}; + +struct J3DZModeInfo { + /* 0x0 */ u8 mCompareEnable; + /* 0x1 */ u8 mFunc; + /* 0x2 */ u8 mUpdateEnable; +}; + +STATIC_ASSERT(sizeof(J3DTevStageInfo) == 0x14); + #endif /* J3DSTRUCT_H */ diff --git a/include/JSystem/J3DGraphBase/J3DSys.h b/include/JSystem/J3DGraphBase/J3DSys.h index f94b4da65..5bec60c12 100644 --- a/include/JSystem/J3DGraphBase/J3DSys.h +++ b/include/JSystem/J3DGraphBase/J3DSys.h @@ -23,6 +23,13 @@ class J3DShape; class J3DDrawBuffer; class J3DTexture; +struct J3DTexCoordScaleInfo { + /* 0x0 */ u16 field_0x00; + /* 0x2 */ u16 field_0x02; + /* 0x4 */ u16 field_0x04; + /* 0x6 */ u16 field_0x06; +}; + enum J3DSysFlag { J3DSysFlag_SkinPosCpu = 0x00000004, J3DSysFlag_SkinNrmCpu = 0x00000008, @@ -95,12 +102,12 @@ public: void setViewMtx(Mtx m) { MTXCopy(m, mViewMtx); } J3DModel* getModel() { return mModel; } - Vec& getNBTScale() { return *mNBTScale; } + Vec* getNBTScale() { return mNBTScale; } static Mtx mCurrentMtx; static Vec mCurrentS; static Vec mParentS; - static u16 sTexCoordScaleTable[32]; + static J3DTexCoordScaleInfo sTexCoordScaleTable[8]; /* 0x000 */ Mtx mViewMtx; /* 0x030 */ J3DMtxCalc* mCurrentMtxCalc; diff --git a/include/JSystem/J3DGraphBase/J3DTevs.h b/include/JSystem/J3DGraphBase/J3DTevs.h index 0905c36c0..fbb3d6c94 100644 --- a/include/JSystem/J3DGraphBase/J3DTevs.h +++ b/include/JSystem/J3DGraphBase/J3DTevs.h @@ -1,66 +1,158 @@ #ifndef J3DTEVS_H #define J3DTEVS_H -#include "dolphin/types.h" +#include "JSystem/J3DGraphBase/J3DGD.h" +#include "JSystem/J3DGraphBase/J3DStruct.h" + +extern u8 j3dTevSwapTableTable[1024]; + +extern const J3DLightInfo j3dDefaultLightInfo; +extern const J3DTexCoordInfo j3dDefaultTexCoordInfo[8]; +extern const J3DTexMtxInfo j3dDefaultTexMtxInfo; +extern const J3DIndTexMtxInfo j3dDefaultIndTexMtxInfo; +extern const J3DTevStageInfo j3dDefaultTevStageInfo; +extern const J3DIndTevStageInfo j3dDefaultIndTevStageInfo; +extern const J3DFogInfo j3dDefaultFogInfo; +extern const J3DNBTScaleInfo j3dDefaultNBTScaleInfo; + +extern const GXColor j3dDefaultColInfo; +extern const GXColor j3dDefaultAmbInfo; +extern const u8 j3dDefaultColorChanNum; +extern const J3DTevOrderInfo j3dDefaultTevOrderInfoNull; +extern const J3DIndTexOrderInfo j3dDefaultIndTexOrderNull; +extern const GXColorS10 j3dDefaultTevColor; +extern const J3DIndTexCoordScaleInfo j3dDefaultIndTexCoordScaleInfo; +extern const GXColor j3dDefaultTevKColor; +extern const J3DTevSwapModeInfo j3dDefaultTevSwapMode; +extern const J3DTevSwapModeTableInfo j3dDefaultTevSwapModeTable; +extern const J3DBlendInfo j3dDefaultBlendInfo; +extern const J3DColorChanInfo j3dDefaultColorChanInfo; +extern const u8 j3dDefaultTevSwapTableID; +extern const u16 j3dDefaultAlphaCmpID; +extern const u16 j3dDefaultZModeID; + +struct J3DTevStage { + J3DTevStage() { + setTevStageInfo(j3dDefaultTevStageInfo); + setTevSwapModeInfo(j3dDefaultTevSwapMode); + } + J3DTevStage(const J3DTevStageInfo& info) { + setTevStageInfo(info); + setTevSwapModeInfo(j3dDefaultTevSwapMode); + } + J3DTevStage& operator=(const J3DTevStage& other) { + this->field_0x1 = other.field_0x1; + this->field_0x2 = other.field_0x2; + this->field_0x3 = other.field_0x3; + this->field_0x5 = other.field_0x5; + this->field_0x6 = other.field_0x6; + this->mTevSwapModeInfo = other.mTevSwapModeInfo; + return *this; + } + + void setTexSel(u8 param_0) { mTevSwapModeInfo = mTevSwapModeInfo & ~0x0C | param_0 << 2; } + void setRasSel(u8 param_0) { mTevSwapModeInfo = mTevSwapModeInfo & ~0x03 | param_0; } + void setTevSwapModeInfo(const J3DTevSwapModeInfo& info) { + setTexSel(info.field_0x1); + setRasSel(info.field_0x0); + } + + void setTevStageInfo(const J3DTevStageInfo&); + + void load(u32) const { + J3DGDWriteBPCmd(*(u32*)&field_0x0); + J3DGDWriteBPCmd(*(u32*)&field_0x4); + } -struct J3DTevStageInfo { /* 0x0 */ u8 field_0x0; /* 0x1 */ u8 field_0x1; - /* 0x2 */ u8 field_0x2; + /* 0x1 */ u8 field_0x2; /* 0x3 */ u8 field_0x3; /* 0x4 */ u8 field_0x4; /* 0x5 */ u8 field_0x5; /* 0x6 */ u8 field_0x6; - /* 0x7 */ u8 field_0x7; -}; - -struct J3DTevStage : public J3DTevStageInfo { - J3DTevStage(); - void setTevStageInfo(J3DTevStageInfo const&); - J3DTevStage(J3DTevStageInfo const&); -}; - -struct J3DIndTevStageInfo { - /* 0x0 */ u8 mIndStage; - /* 0x1 */ u8 mIndFormat; - /* 0x2 */ u8 mBiasSel; - /* 0x3 */ u8 mMtxSel; - /* 0x4 */ u8 mWrapS; - /* 0x5 */ u8 mWrapT; - /* 0x6 */ u8 mPrev; - /* 0x7 */ u8 mLod; - /* 0x8 */ u8 mAlphaSel; + /* 0x7 */ u8 mTevSwapModeInfo; }; struct J3DIndTevStage { - J3DIndTevStage(); + J3DIndTevStage() { + mInfo = 0; + setIndTevStageInfo(j3dDefaultIndTevStageInfo); + } + + void setIndStage(u8 stage) { mInfo = mInfo & ~0x03 | stage; } + void setIndFormat(u8 format) { mInfo = mInfo & ~0x0C | format << 2; } + void setBiasSel(u8 sel) { mInfo = mInfo & ~0x70 | sel << 4; } + void setAlphaSel(u8 sel) { mInfo = mInfo & ~0x0180 | sel << 7; } + void setMtxSel(u8 sel) { mInfo = mInfo & ~0x1E00 | sel << 9; } + void setWrapS(u8 wrap) { mInfo = mInfo & ~0xE000 | wrap << 13; } + void setWrapT(u8 wrap) { mInfo = mInfo & ~0x070000 | wrap << 16; } + void setLod(u8 lod) { mInfo = mInfo & ~0x080000 | lod << 19; } + void setPrev(u8 prev) { mInfo = mInfo & ~0x100000 | prev << 20; } + + void setIndTevStageInfo(const J3DIndTevStageInfo& info) { + setIndStage(info.mIndStage); + setIndFormat(info.mIndFormat); + setBiasSel(info.mBiasSel); + setMtxSel(info.mMtxSel); + setWrapS(info.mWrapS); + setWrapT(info.mWrapT); + setPrev(info.mPrev); + setLod(info.mLod); + setAlphaSel(info.mAlphaSel); + } + + void load(u32 param_1) { + J3DGDWriteBPCmd(mInfo | (param_1 + 16) << 24); + } /* 0x0 */ u32 mInfo; }; -struct J3DTevOrderInfo { - /* 0x0 */ u8 mTexCoord __attribute__((aligned(2))); - /* 0x1 */ u8 mTexMap; - /* 0x2 */ u8 mColorChan; -}; - struct J3DTevOrder : public J3DTevOrderInfo { - J3DTevOrder(); + J3DTevOrder() { *(J3DTevOrderInfo*)this = j3dDefaultTevOrderInfoNull; } + J3DTevOrderInfo& getTevOrderInfo() { return *this; } u8 getTexMap() { return mTexMap; } }; struct J3DTevSwapModeTable { - J3DTevSwapModeTable(); + J3DTevSwapModeTable() { field_0x0 = j3dDefaultTevSwapTableID; } + + u8 getR() { return j3dTevSwapTableTable[field_0x0 * 4]; } + u8 getG() { return j3dTevSwapTableTable[field_0x0 * 4 + 1]; } + u8 getB() { return j3dTevSwapTableTable[field_0x0 * 4 + 2]; } + u8 getA() { return j3dTevSwapTableTable[field_0x0 * 4 + 3]; } /* 0x0 */ u8 field_0x0; }; // Size: 0x1 -struct J3DTevSwapModeInfo { - /* 0x0 */ u8 field_0x0; +class J3DLightObj { +public: + J3DLightObj() { mInfo = j3dDefaultLightInfo; } + void load(u32) const; + + J3DLightInfo& getLightInfo() { return mInfo; } + J3DLightObj& operator=(J3DLightObj const& other) { + mInfo = other.mInfo; + return *this; + } + + /* 0x00 */ J3DLightInfo mInfo; + /* 0x34 */ u8 field_0x34[64]; +}; // Size = 0x74 + +struct J3DNBTScale : public J3DNBTScaleInfo { + J3DNBTScale() {} + J3DNBTScale(J3DNBTScaleInfo const& info) { + mbHasScale = info.mbHasScale; + mScale = info.mScale; + } + Vec* getScale() { return &mScale; } }; -struct J3DNBTScale; +class J3DTexCoord; +void loadTexCoordGens(u32, J3DTexCoord*); void loadNBTScale(J3DNBTScale& param_0); #endif /* J3DTEVS_H */ diff --git a/include/JSystem/J3DGraphBase/J3DTexture.h b/include/JSystem/J3DGraphBase/J3DTexture.h index 46840e139..42b9a8535 100644 --- a/include/JSystem/J3DGraphBase/J3DTexture.h +++ b/include/JSystem/J3DGraphBase/J3DTexture.h @@ -1,11 +1,33 @@ #ifndef J3DTEXTURE_H #define J3DTEXTURE_H +#include "JSystem/J3DGraphBase/J3DGD.h" #include "JSystem/J3DGraphBase/J3DStruct.h" +#include "JSystem/J3DGraphBase/J3DTevs.h" #include "JSystem/JUtility/JUTTexture.h" #include "dolphin/mtx/mtx.h" #include "dolphin/types.h" +inline void J3DGDLoadTexMtxImm(Mtx pMtx, u32 i, GXTexMtxType mType) { + u16 cmd = i * 4; + u8 len = mType == GX_MTX2x4 ? 8 : 12; + J3DGDWriteXFCmdHdr(cmd, len); + J3DGDWrite_f32(pMtx[0][0]); + J3DGDWrite_f32(pMtx[0][1]); + J3DGDWrite_f32(pMtx[0][2]); + J3DGDWrite_f32(pMtx[0][3]); + J3DGDWrite_f32(pMtx[1][0]); + J3DGDWrite_f32(pMtx[1][1]); + J3DGDWrite_f32(pMtx[1][2]); + J3DGDWrite_f32(pMtx[1][3]); + if (mType == GX_MTX3x4) { + J3DGDWrite_f32(pMtx[2][0]); + J3DGDWrite_f32(pMtx[2][1]); + J3DGDWrite_f32(pMtx[2][2]); + J3DGDWrite_f32(pMtx[2][3]); + } +} + class J3DTexture { private: /* 0x0 */ u16 mNum; @@ -28,11 +50,16 @@ public: class J3DTexMtx { public: + J3DTexMtx() { mTexMtxInfo = j3dDefaultTexMtxInfo; } J3DTexMtx(const J3DTexMtxInfo& info) { mTexMtxInfo = info; } - void load(u32) const; - void calc(f32 const (*)[4]); + ~J3DTexMtx() {} + void load(u32 i) const { + GDOverflowCheck(53); + J3DGDLoadTexMtxImm((Mtx&)mMtx, i * 3 + 30, (GXTexMtxType)mTexMtxInfo.mProjection); + }; + void calc(); void calcTexMtx(f32 const (*)[4]); void calcPostTexMtx(f32 const (*)[4]); void loadTexMtx(u32) const; @@ -41,42 +68,22 @@ public: J3DTexMtxInfo& getTexMtxInfo() { return mTexMtxInfo; } Mtx& getMtx() { return mMtx; } void setEffectMtx(Mtx effectMtx) { mTexMtxInfo.setEffectMtx(effectMtx); } + Mtx& getViewMtx() { return mViewMtx; } + void setViewMtx(const Mtx viewMtx) { MTXCopy(viewMtx, mViewMtx); } private: /* 0x00 */ J3DTexMtxInfo mTexMtxInfo; /* 0x64 */ Mtx mMtx; -}; // Size: 0x94 - -struct J3DTexCoordInfo { - /* 0x0 */ u8 mTexGenType; - /* 0x1 */ u8 mTexGenSrc; - /* 0x2 */ u8 mTexGenMtx; -}; + /* 0x94 */ Mtx mViewMtx; +}; // Size: 0xc4 struct J3DTexCoord : public J3DTexCoordInfo { - J3DTexCoord(); - - void setTexCoordInfo(J3DTexCoordInfo *param_1) { - *(J3DTexCoordInfo*)this = *param_1; - } - - u8 getTexGenMtx() { return mTexGenMtx & 0xff; } - u16 getTexMtxReg() { return mTexMtxReg & 0xff; } + J3DTexCoord() { *(J3DTexCoordInfo*)this = j3dDefaultTexCoordInfo[0]; } + u8 getTexGenType() { return mTexGenType; } + u8 getTexGenSrc() { return mTexGenSrc; } + u32 getTexGenMtx() { return mTexGenMtx & 0xFF; } void setTexGenMtx(u8 v) { mTexGenMtx = v; } - - void resetTexMtxReg() { - mTexMtxReg = mTexGenMtx; - } - - /* 0x4 */ u8 mTexMtxReg; -}; // Size: 0x6 - -struct J3DDefaultTexCoordInfo { - /* 0x0 */ u8 mTexGenType; - /* 0x1 */ u8 mTexGenSrc; - /* 0x2 */ u8 mTexGenMtx; - /* 0x3 */ u8 pad; -}; +}; // Size: 0x4 #endif /* J3DTEXTURE_H */ diff --git a/include/JSystem/J3DGraphBase/J3DTransform.h b/include/JSystem/J3DGraphBase/J3DTransform.h index 10a7c9605..384e91190 100644 --- a/include/JSystem/J3DGraphBase/J3DTransform.h +++ b/include/JSystem/J3DGraphBase/J3DTransform.h @@ -4,6 +4,8 @@ #include "JSystem/JGeometry.h" #include "dolphin/mtx/mtxvec.h" +struct J3DTextureSRTInfo; + struct J3DTransformInfo { /* 0x00 */ JGeometry::TVec3 mScale; /* 0x0C */ JGeometry::TVec3 mRotation; @@ -15,13 +17,22 @@ extern Vec const j3dDefaultScale; extern Mtx const j3dDefaultMtx; extern f32 PSMulUnit01[2]; +void J3DGQRSetup7(u32 param_0, u32 param_1, u32 param_2, u32 param_3); +f32 J3DCalcZValue(MtxP m, Vec v); +void J3DCalcBBoardMtx(Mtx); +void J3DCalcYBBoardMtx(Mtx); +void J3DPSCalcInverseTranspose(f32 (*param_0)[4], f32 (*param_1)[3]); void J3DGetTranslateRotateMtx(J3DTransformInfo const&, Mtx); void J3DGetTranslateRotateMtx(s16, s16, s16, f32, f32, f32, Mtx); -void J3DPSCalcInverseTranspose(f32 (*param_0)[4], f32 (*param_1)[3]); -void J3DGQRSetup7(u32 param_0, u32 param_1, u32 param_2, u32 param_3); - -void J3DPSMtx33Copy(register Mtx3P src, register Mtx3P dst); -void J3DPSMtx33CopyFrom34(register MtxP src, register Mtx3P dst); +void J3DGetTextureMtx(const J3DTextureSRTInfo&, Vec, f32(*)[4]); +void J3DGetTextureMtxOld(const J3DTextureSRTInfo&, Vec, f32(*)[4]); +void J3DGetTextureMtxMaya(const J3DTextureSRTInfo&, f32(*)[4]); +void J3DGetTextureMtxMayaOld(const J3DTextureSRTInfo&, f32(*)[4]); +void J3DScaleNrmMtx(Mtx, const Vec&); +void J3DScaleNrmMtx33(Mtx33, const Vec&); +void J3DMtxProjConcat(f32(*)[4], f32(*)[4], f32(*)[4]); +void J3DPSMtx33Copy(Mtx3P src, Mtx3P dst); +void J3DPSMtx33CopyFrom34(MtxP src, Mtx3P dst); // regalloc issues inline void J3DPSMulMtxVec(register MtxP mtx, register Vec* vec, register Vec* dst) { @@ -190,6 +201,4 @@ inline void J3DPSMulMtxVec(register Mtx3P mtx, register SVec* vec, register SVec } } -f32 J3DCalcZValue(register MtxP m, register Vec v); - #endif /* J3DTRANSFORM_H */ diff --git a/include/JSystem/J3DGraphBase/J3DVertex.h b/include/JSystem/J3DGraphBase/J3DVertex.h index f6252a53d..74b4c9836 100644 --- a/include/JSystem/J3DGraphBase/J3DVertex.h +++ b/include/JSystem/J3DGraphBase/J3DVertex.h @@ -11,7 +11,7 @@ class J3DAnmVtxColor; class J3DVertexBuffer; struct J3DVtxColorCalc { - /* 8032E180 */ void calc(J3DModel*); + void calc(J3DModel*); virtual void calc(J3DVertexBuffer*); /* 0x0 */ void* vtable; // inlined vtable? diff --git a/include/JSystem/J3DGraphLoader/J3DClusterLoader.h b/include/JSystem/J3DGraphLoader/J3DClusterLoader.h index 35a79ddbb..bfe8d1df7 100644 --- a/include/JSystem/J3DGraphLoader/J3DClusterLoader.h +++ b/include/JSystem/J3DGraphLoader/J3DClusterLoader.h @@ -3,7 +3,7 @@ struct J3DClusterLoaderDataBase { - /* 80334130 */ static void* load(void const*); + static void* load(void const*); }; #endif /* J3DCLUSTERLOADER_H */ diff --git a/include/JSystem/J3DGraphLoader/J3DJointFactory.h b/include/JSystem/J3DGraphLoader/J3DJointFactory.h index 2c7653b26..cd90b029c 100644 --- a/include/JSystem/J3DGraphLoader/J3DJointFactory.h +++ b/include/JSystem/J3DGraphLoader/J3DJointFactory.h @@ -29,8 +29,8 @@ struct J3DJointBlock { }; struct J3DJointFactory { - /* 80337178 */ J3DJointFactory(J3DJointBlock const&); - /* 803371D0 */ J3DJoint* create(int); + J3DJointFactory(J3DJointBlock const&); + J3DJoint* create(int); J3DJointInitData* mJointInitData; u16* mIndexTable; diff --git a/include/JSystem/J3DGraphLoader/J3DShapeFactory.h b/include/JSystem/J3DGraphLoader/J3DShapeFactory.h index 63df90923..f32c860da 100644 --- a/include/JSystem/J3DGraphLoader/J3DShapeFactory.h +++ b/include/JSystem/J3DGraphLoader/J3DShapeFactory.h @@ -49,14 +49,14 @@ struct J3DShapeBlock { }; struct J3DShapeFactory { - /* 80337350 */ J3DShapeFactory(J3DShapeBlock const&); - /* 80337400 */ J3DShape* create(int, u32, GXVtxDescList*); - /* 803375BC */ J3DShapeMtx* newShapeMtx(u32, int, int) const; - /* 8033784C */ J3DShapeDraw* newShapeDraw(int, int) const; - /* 803378D8 */ void allocVcdVatCmdBuffer(u32); - /* 80337944 */ s32 calcSize(int, u32); - /* 803379D8 */ s32 calcSizeVcdVatCmdBuffer(u32); - /* 803379E8 */ s32 calcSizeShapeMtx(u32, int, int) const; + J3DShapeFactory(J3DShapeBlock const&); + J3DShape* create(int, u32, GXVtxDescList*); + J3DShapeMtx* newShapeMtx(u32, int, int) const; + J3DShapeDraw* newShapeDraw(int, int) const; + void allocVcdVatCmdBuffer(u32); + s32 calcSize(int, u32); + s32 calcSizeVcdVatCmdBuffer(u32); + s32 calcSizeShapeMtx(u32, int, int) const; /* 0x00 */ J3DShapeInitData* mShapeInitData; /* 0x04 */ u16* mIndexTable; diff --git a/include/JSystem/J3DU/J3DUMotion.h b/include/JSystem/J3DU/J3DUMotion.h new file mode 100644 index 000000000..ca815357f --- /dev/null +++ b/include/JSystem/J3DU/J3DUMotion.h @@ -0,0 +1,4 @@ +#ifndef J3DUMOTION_H +#define J3DUMOTION_H + +#endif /* J3DUMOTION_H */ diff --git a/include/JSystem/JGeometry.h b/include/JSystem/JGeometry.h index ac4857ec3..a8afb2d56 100644 --- a/include/JSystem/JGeometry.h +++ b/include/JSystem/JGeometry.h @@ -151,10 +151,10 @@ struct TVec3 { return C_VECSquareMag((Vec*)&x); } - void normalize() { + f32 normalize() { f32 sq = squared(); if (sq <= FLT_EPSILON * 32.0f) { - return; + return 0.0f; } f32 norm; if (sq <= 0.0f) { @@ -162,14 +162,15 @@ struct TVec3 { } else { norm = fsqrt_step(sq); } - scale(norm); + scale(1.0f / norm); + return norm; } - void normalize(const TVec3& other) { + f32 normalize(const TVec3& other) { f32 sq = other.squared(); if (sq <= FLT_EPSILON * 32.0f) { zero(); - return; + return 0.0f; } f32 norm; if (sq <= 0.0f) { @@ -177,7 +178,8 @@ struct TVec3 { } else { norm = fsqrt_step(sq); } - scale(norm, other); + scale(1.0f / norm, other); + return norm; } f32 length() const { @@ -249,7 +251,7 @@ struct TVec3 { void cross(const TVec3& a, const TVec3& b) { VECCrossProduct(a, b, *this); } - + void setLength(f32 len) { f32 sq = squared(); if (sq <= FLT_EPSILON * 32.0f) { diff --git a/include/JSystem/JKernel/JKRAram.h b/include/JSystem/JKernel/JKRAram.h index a9f2564e4..f211a8a5a 100644 --- a/include/JSystem/JKernel/JKRAram.h +++ b/include/JSystem/JKernel/JKRAram.h @@ -69,7 +69,7 @@ private: static JSUList sAramCommandList; }; -inline void* JKRAllocFromAram(u32 size, JKRAramHeap::EAllocMode allocMode) { +inline JKRAramBlock* JKRAllocFromAram(u32 size, JKRAramHeap::EAllocMode allocMode) { return JKRAram::getAramHeap()->alloc(size, allocMode); } @@ -77,9 +77,9 @@ inline void JKRFreeToAram(JKRAramBlock* block) { JKRAram::getAramHeap()->free(block); } -inline void JKRAramToMainRam(u32 p1, u8* p2, u32 p3, JKRExpandSwitch p4, u32 p5, JKRHeap* p6, +inline u8* JKRAramToMainRam(u32 p1, u8* p2, u32 p3, JKRExpandSwitch p4, u32 p5, JKRHeap* p6, int p7, u32* p8) { - JKRAram::aramToMainRam(p1, p2, p3, p4, p5, p6, p7, p8); + return JKRAram::aramToMainRam(p1, p2, p3, p4, p5, p6, p7, p8); } inline JKRAramBlock *JKRMainRamToAram(u8 *buf, u32 bufSize, u32 alignedSize, JKRExpandSwitch expandSwitch, u32 fileSize, JKRHeap *heap, int id) { diff --git a/include/JSystem/JMath/JMath.h b/include/JSystem/JMath/JMath.h index fac4d5b42..4de6b86aa 100644 --- a/include/JSystem/JMath/JMath.h +++ b/include/JSystem/JMath/JMath.h @@ -118,4 +118,6 @@ inline void gekko_ps_copy16(register void* dst, register const void* src) { }; // namespace JMath +f32 JMAHermiteInterpolation(f32, f32, f32, f32, f32, f32, f32); + #endif /* JMATH_H */ diff --git a/include/JSystem/JParticle/JPADraw.h b/include/JSystem/JParticle/JPADraw.h index 505b8566d..384f829d5 100644 --- a/include/JSystem/JParticle/JPADraw.h +++ b/include/JSystem/JParticle/JPADraw.h @@ -11,6 +11,8 @@ class JPAExtraShapeArc; class JPASweepShapeArc; class JPAExTexShapeArc; class JPATextureResource; +class JPABaseEmitter; +class JPABaseParticle; class JPADraw; class JPADrawExecEmitterVisitor; diff --git a/include/JSystem/JParticle/JPAEmitter.h b/include/JSystem/JParticle/JPAEmitter.h index 6af995f34..6e94f97ba 100644 --- a/include/JSystem/JParticle/JPAEmitter.h +++ b/include/JSystem/JParticle/JPAEmitter.h @@ -28,7 +28,7 @@ template class JPACallBackBase { public: JPACallBackBase() {} - virtual ~JPACallBackBase(); + virtual ~JPACallBackBase() {} virtual void init(JPABaseEmitter*); virtual void execute(JPABaseEmitter*); @@ -36,6 +36,17 @@ public: virtual void draw(JPABaseEmitter*); }; +template +class JPACallBackBase2 { +public: + JPACallBackBase2() {} + virtual ~JPACallBackBase2() {} + + virtual void init(JPABaseEmitter*, JPABaseParticle*); + virtual void execute(JPABaseEmitter*, JPABaseParticle*); + virtual void draw(JPABaseEmitter*, JPABaseParticle*); +}; + class JPABaseEmitter { public: typedef void (JPABaseEmitter::*VolumeFunc)(); @@ -73,6 +84,12 @@ public: void setGlobalRTMatrix(MtxP mtx) { JPASetRMtxTVecfromMtx(mtx, mGlobalRotation, mGlobalTranslation); } + void setGlobalTranslation(f32 x, f32 y, f32 z) { mGlobalTranslation.set(x, y, z); } + void setGlobalParticleScale(const JGeometry::TVec3& scale) { + mGlobalScale.set(scale); + mGlobalScale2D.set(scale); + } + void setMaxFrame(s32 maxFrame) { mMaxFrame = maxFrame; } void setVolumeSweep(float i_volSweep) { mVolumeSweep = i_volSweep; } void setLifeTime(s16 i_lifeTime) { mLifeTime = i_lifeTime; } @@ -138,7 +155,7 @@ public: /* 0x194 */ JSUPtrList* mpPtclVacList; /* 0x198 */ JPADataBlockLinkInfo* mpDataLinkInfo; /* 0x19C */ JPACallBackBase* mpEmitterCallBack; - /* 0x1A0 */ JPACallBackBase2* mpParticleCallBack; + /* 0x1A0 */ JPACallBackBase2* mpParticleCallBack; /* 0x1A4 */ JMath::TRandom_fast_ mRandomSeed; /* 0x1A8 */ Mtx mGlobalRotation; /* 0x1D8 */ JGeometry::TVec3 mGlobalScale; diff --git a/include/JSystem/JParticle/JPAMath.h b/include/JSystem/JParticle/JPAMath.h index 93bf3b3f8..51d4fbe59 100644 --- a/include/JSystem/JParticle/JPAMath.h +++ b/include/JSystem/JParticle/JPAMath.h @@ -4,13 +4,13 @@ #include "JSystem/JGeometry.h" #include "dolphin/types.h" -void JPAGetYZRotateMtx(short, short, float(*)[4]); -void JPAGetXYZRotateMtx(short, short, short, float(*)[4]); -void JPAGetDirMtx(const JGeometry::TVec3&, float(*)[4]); -void JPASetSVecfromMtx(float(*)[4], JGeometry::TVec3&); -void JPASetRMtxTVecfromMtx(float(*)[4], float(*)[4], JGeometry::TVec3&); -void JPASetRMtxSTVecfromMtx(float(*)[4], float(*)[4], JGeometry::TVec3&, JGeometry::TVec3&); -void JPAGetKeyFrameValue(float, unsigned short, const float*); -void JPAGetUnitVec(short, short, JGeometry::TVec3&); +void JPAGetYZRotateMtx(s16, s16, f32(*)[4]); +void JPAGetXYZRotateMtx(s16, s16, s16, f32(*)[4]); +void JPAGetDirMtx(const JGeometry::TVec3&, f32(*)[4]); +void JPASetSVecfromMtx(f32(*)[4], JGeometry::TVec3&); +void JPASetRMtxTVecfromMtx(f32(*)[4], f32(*)[4], JGeometry::TVec3&); +void JPASetRMtxSTVecfromMtx(f32(*)[4], f32(*)[4], JGeometry::TVec3&, JGeometry::TVec3&); +f32 JPAGetKeyFrameValue(f32, u16, const f32*); +void JPAGetUnitVec(s16, s16, JGeometry::TVec3&); #endif /* JPAMATH_H */ diff --git a/include/JSystem/JParticle/JPAParticle.h b/include/JSystem/JParticle/JPAParticle.h index b06450367..123b4d6b9 100644 --- a/include/JSystem/JParticle/JPAParticle.h +++ b/include/JSystem/JParticle/JPAParticle.h @@ -2,6 +2,7 @@ #define JPAPARTICLE_H #include "JSystem/JSupport/JSUList.h" +#include "JSystem/JParticle/JPAEmitter.h" #include "SSystem/SComponent/c_xyz.h" #include "dolphin/gx/GXStruct.h" @@ -13,7 +14,6 @@ class JPAEmitterManager; class JPAParticleCallBack; class JPAResourceManager; struct JPAEmitterWorkData; -struct JPACallBackBase2; class JPABaseParticle { public: @@ -58,7 +58,7 @@ public: /* 0xC2 */ s16 mRotateSpeed; /* 0xC4 */ u8 field_0xC4[0xC6 - 0xC4]; /* 0xC6 */ u16 mTexIdx; - /* 0xC8 */ JPACallBackBase2* mpCallBack2; + /* 0xC8 */ JPACallBackBase2* mpCallBack2; /* 0xCC */ u32 mFlags; }; diff --git a/include/JSystem/JSupport/JSUFileStream.h b/include/JSystem/JSupport/JSUFileStream.h index 5fd0fbc16..b1432df07 100644 --- a/include/JSystem/JSupport/JSUFileStream.h +++ b/include/JSystem/JSupport/JSUFileStream.h @@ -10,11 +10,11 @@ public: virtual ~JSUFileInputStream() {} // TODO: fix return values - /* 802DC638 */ JSUFileInputStream(JKRFile*); - /* 802DC67C */ u32 readData(void*, s32); - /* 802DC74C */ s32 seekPos(s32, JSUStreamSeekFrom); - /* 802DC82C */ s32 getLength() const; - /* 802DC85C */ s32 getPosition() const; + JSUFileInputStream(JKRFile*); + u32 readData(void*, s32); + s32 seekPos(s32, JSUStreamSeekFrom); + s32 getLength() const; + s32 getPosition() const; private: /* 0x08 */ JKRFile* mFile; diff --git a/include/JSystem/JSupport/JSUMemoryStream.h b/include/JSystem/JSupport/JSUMemoryStream.h index fe1eb57b4..de5135ed4 100644 --- a/include/JSystem/JSupport/JSUMemoryStream.h +++ b/include/JSystem/JSupport/JSUMemoryStream.h @@ -7,12 +7,12 @@ class JSUMemoryInputStream : public JSURandomInputStream { public: JSUMemoryInputStream(const void* res, u32 size) { setBuffer(res, size); } - /* 802552B8 */ virtual ~JSUMemoryInputStream() {} - /* 802DC520 */ void setBuffer(void const*, s32); - /* 802DC534 */ u32 readData(void*, s32); - /* 802DC5AC */ s32 seekPos(s32, JSUStreamSeekFrom); - /* 802DC628 */ s32 getLength() const; - /* 802DC630 */ s32 getPosition() const; + virtual ~JSUMemoryInputStream() {} + void setBuffer(void const*, s32); + u32 readData(void*, s32); + s32 seekPos(s32, JSUStreamSeekFrom); + s32 getLength() const; + s32 getPosition() const; private: /* 0x08 */ const void* mBuffer; diff --git a/include/JSystem/JUtility/JUTAssert.h b/include/JSystem/JUtility/JUTAssert.h index 73910d909..d1f509e7d 100644 --- a/include/JSystem/JUtility/JUTAssert.h +++ b/include/JSystem/JUtility/JUTAssert.h @@ -10,6 +10,10 @@ OSPanic(__FILE__, LINE, "Halt"); \ } +#define JUT_PANIC(LINE) \ + JUTAssertion::showAssert(JUTAssertion::getSDevice(), __FILE__, LINE, "0"); \ + OSPanic(__FILE__, LINE, "Halt"); + #define JUT_WARN(LINE, ...) \ JUTAssertion::setWarningMessage_f(JUTAssertion::getSDevice(), __FILE__, LINE, __VA_ARGS__); \ diff --git a/include/JSystem/JUtility/JUTCacheFont.h b/include/JSystem/JUtility/JUTCacheFont.h index 4d39bae82..84a5d9fbd 100644 --- a/include/JSystem/JUtility/JUTCacheFont.h +++ b/include/JSystem/JUtility/JUTCacheFont.h @@ -11,48 +11,49 @@ public: struct TGlyphCacheInfo { /* 0x0 */ TGlyphCacheInfo* mPrev; /* 0x4 */ TGlyphCacheInfo* mNext; - }; - - struct TCachePage { - /* 0x00 */ u8 field_0x0[8]; - /* 0x08 */ s16 field_0x8; + /* 0x08 */ u16 field_0x8; /* 0x0A */ u16 field_0xa; - /* 0x0C */ u8 field_0xc[4]; - /* 0x10 */ u8* field_0x10; - /* 0x14 */ u16 field_0x14; + /* 0x0C */ u16 field_0xc; + /* 0x0E */ u16 field_0xe; + /* 0x10 */ u32 field_0x10; + /* 0x14 */ u16 mTexFormat; /* 0x16 */ u16 field_0x16; /* 0x18 */ u16 field_0x18; - /* 0x1A */ u16 field_0x1a; - /* 0x1C */ u16 field_0x1c; + /* 0x1A */ u16 mWidth; + /* 0x1C */ u16 mHeight; /* 0x1E */ u16 field_0x1e; - }; // Size: 0x20 + }; + + struct TCachePage : TGlyphCacheInfo { + /* 0x20 */ GXTexObj mTexObj; + }; // Size: 0x40 enum EPagingType { PAGE_TYPE_0, PAGE_TYPE_1, }; - /* 802DD188 */ JUTCacheFont(ResFONT const*, u32, JKRHeap*); - /* 802DD29C */ void deleteMemBlocks_CacheFont(); - /* 802DD320 */ void initialize_state(); - /* 802DD35C */ int getMemorySize(ResFONT const*, u16*, u32*, u16*, u32*, u16*, u32*, u32*); - /* 802DD4EC */ int initiate(ResFONT const*, void*, u32, JKRHeap*); - /* 802DD54C */ bool internal_initiate(ResFONT const*, void*, u32, JKRHeap*); - /* 802DD650 */ bool allocArea(void*, u32, JKRHeap*); - /* 802DD804 */ bool allocArray(JKRHeap*); - /* 802DDB0C */ void determineBlankPage(); - /* 802DDBBC */ void getGlyphFromAram(JUTCacheFont::TGlyphCacheInfo*, JUTCacheFont::TCachePage*, - int*, int*); - /* 802DDD98 */ void loadCache_char_subroutine(int*, bool); - /* 802DDEE0 */ void invalidiateAllCache(); - /* 802DDF68 */ void unlink(JUTCacheFont::TGlyphCacheInfo*); - /* 802DDFAC */ void prepend(JUTCacheFont::TGlyphCacheInfo*); + JUTCacheFont(ResFONT const*, u32, JKRHeap*); + void deleteMemBlocks_CacheFont(); + void initialize_state(); + int getMemorySize(ResFONT const*, u16*, u32*, u16*, u32*, u16*, u32*, u32*); + int initiate(ResFONT const*, void*, u32, JKRHeap*); + bool internal_initiate(ResFONT const*, void*, u32, JKRHeap*); + bool allocArea(void*, u32, JKRHeap*); + bool allocArray(JKRHeap*); + TGlyphCacheInfo* determineBlankPage(); + void getGlyphFromAram(TGlyphCacheInfo*, TCachePage*, int*, int*); + TCachePage* loadCache_char_subroutine(int*, bool); + void invalidiateAllCache(); + void unlink(TGlyphCacheInfo*); + void prepend(TGlyphCacheInfo*); - /* 802DD208 */ virtual ~JUTCacheFont(); - /* 802DDCE4 */ virtual void loadImage(int, _GXTexMapID); - /* 802DD8EC */ virtual void setBlock(); + virtual ~JUTCacheFont(); + virtual void loadImage(int, _GXTexMapID); + virtual void setBlock(); void setPagingType(EPagingType type) { mPagingType = type; } + GXTexObj* getTexObj(void* buffer) { return &((TCachePage*)buffer)->mTexObj; } static u32 calcCacheSize(u32 param_0, int param_1) { return (ALIGN_NEXT(param_0, 0x20) + 0x40) * param_1; } @@ -70,7 +71,7 @@ private: /* 0x98 */ u32 mCachePage; /* 0x9C */ TGlyphCacheInfo* field_0x9c; /* 0xA0 */ TGlyphCacheInfo* field_0xa0; - /* 0xA4 */ void* field_0xa4; + /* 0xA4 */ TGlyphCacheInfo* field_0xa4; /* 0xA8 */ u32 field_0xa8; /* 0xAC */ JKRAramBlock* field_0xac; /* 0xB0 */ u8 field_0xb0; diff --git a/include/JSystem/JUtility/JUTDbPrint.h b/include/JSystem/JUtility/JUTDbPrint.h index d4b683065..a9f97df1c 100644 --- a/include/JSystem/JUtility/JUTDbPrint.h +++ b/include/JSystem/JUtility/JUTDbPrint.h @@ -17,13 +17,13 @@ struct unk_print { class JUTDbPrint { public: - /* 802E0148 */ JUTDbPrint(JUTFont*, JKRHeap*); - /* 802E0190 */ static JUTDbPrint* start(JUTFont*, JKRHeap*); - /* 802E0204 */ JUTFont* changeFont(JUTFont*); - /* 802E021C */ void enter(int, int, int, char const*, int); - /* 802E02DC */ void flush(int, int, int, int); - /* 802E02A4 */ void flush(); - /* 802E0440 */ void drawString(int, int, int, u8 const*); + JUTDbPrint(JUTFont*, JKRHeap*); + static JUTDbPrint* start(JUTFont*, JKRHeap*); + JUTFont* changeFont(JUTFont*); + void enter(int, int, int, char const*, int); + void flush(int, int, int, int); + void flush(); + void drawString(int, int, int, u8 const*); static JUTDbPrint* getManager() { return sDebugPrint; } diff --git a/include/JSystem/JUtility/JUTDirectPrint.h b/include/JSystem/JUtility/JUTDirectPrint.h index 805f2a237..9753ba2d0 100644 --- a/include/JSystem/JUtility/JUTDirectPrint.h +++ b/include/JSystem/JUtility/JUTDirectPrint.h @@ -12,20 +12,20 @@ namespace std { class JUTDirectPrint { private: - /* 802E41E8 */ JUTDirectPrint(); + JUTDirectPrint(); public: - /* 802E4288 */ void erase(int, int, int, int); - /* 802E431C */ void drawChar(int, int, int); - /* 802E456C */ void changeFrameBuffer(void*, u16, u16); + void erase(int, int, int, int); + void drawChar(int, int, int); + void changeFrameBuffer(void*, u16, u16); /* -------- */ void print(u16, u16, char const*, ...); - /* 802E45A4 */ void printSub(u16, u16, char const*, std::__tag_va_List*, bool); - /* 802E46D8 */ void drawString(u16, u16, char*); - /* 802E4708 */ void drawString_f(u16, u16, char const*, ...); - /* 802E47C8 */ void setCharColor(u8, u8, u8); - /* 802E4798 */ void setCharColor(JUtility::TColor); + void printSub(u16, u16, char const*, std::__tag_va_List*, bool); + void drawString(u16, u16, char*); + void drawString_f(u16, u16, char const*, ...); + void setCharColor(u8, u8, u8); + void setCharColor(JUtility::TColor); - /* 802E4240 */ static JUTDirectPrint* start(); + static JUTDirectPrint* start(); void* getFrameBuffer() { return field_0x00; } bool isActive() const { return field_0x00 != 0; } diff --git a/include/JSystem/JUtility/JUTException.h b/include/JSystem/JUtility/JUTException.h index f2f9b5aaf..ba98b0270 100644 --- a/include/JSystem/JUtility/JUTException.h +++ b/include/JSystem/JUtility/JUTException.h @@ -15,7 +15,7 @@ class JUTDirectPrint; class JUTExternalFB { public: - /* 802E40CC */ JUTExternalFB(_GXRenderModeObj*, GXGamma, void*, u32); + JUTExternalFB(_GXRenderModeObj*, GXGamma, void*, u32); private: /* 0x00 */ _GXRenderModeObj* mRenderMode; @@ -55,39 +55,39 @@ public: /* 0x14 */ }; - /* 802E1D5C */ JUTException(JUTDirectPrint*); - /* 802E40EC */ virtual ~JUTException() {}; + JUTException(JUTDirectPrint*); + virtual ~JUTException() {}; - /* 802E22C4 */ void showFloatSub(int, f32); - /* 802E2454 */ void showFloat(OSContext*); - /* 802E26B0 */ void showStack(OSContext*); - /* 802E27B0 */ void showMainInfo(u16, OSContext*, u32, u32); - /* 802E2A84 */ void showGPR(OSContext*); - /* 802E2B44 */ bool showMapInfo_subroutine(u32, bool); - /* 802E2CA0 */ void showGPRMap(OSContext*); - /* 802E2DAC */ void showSRR0Map(OSContext*); - /* 802E2E70 */ void printDebugInfo(JUTException::EInfoPage, OSError, OSContext*, u32, u32); - /* 802E2F18 */ bool isEnablePad() const; - /* 802E2F54 */ bool readPad(u32*, u32*); - /* 802E34C0 */ void printContext(u16, OSContext*, u32, u32); - /* 802E3A08 */ void createFB(); + void showFloatSub(int, f32); + void showFloat(OSContext*); + void showStack(OSContext*); + void showMainInfo(u16, OSContext*, u32, u32); + void showGPR(OSContext*); + bool showMapInfo_subroutine(u32, bool); + void showGPRMap(OSContext*); + void showSRR0Map(OSContext*); + void printDebugInfo(JUTException::EInfoPage, OSError, OSContext*, u32, u32); + bool isEnablePad() const; + bool readPad(u32*, u32*); + void printContext(u16, OSContext*, u32, u32); + void createFB(); - /* 802E1EA8 */ /* vt[03] */ virtual void* run(); + /* vt[03] */ virtual void* run(); - /* 802E1E40 */ static JUTException* create(JUTDirectPrint*); - /* 802E1FCC */ static void errorHandler(OSError, OSContext*, u32, u32); - /* 802E20C0 */ static void panic_f_va(char const*, int, char const*, va_list); - /* 802E21FC */ static void panic_f(char const*, int, char const*, ...); - /* 802E227C */ static void setFPException(u32); - /* 802E2578 */ static bool searchPartialModule(u32, u32*, u32*, u32*, u32*); - /* 802E3AEC */ static OSErrorHandler setPreUserCallback(OSErrorHandler); - /* 802E3AFC */ static OSErrorHandler setPostUserCallback(OSErrorHandler); - /* 802E3B0C */ static void appendMapFile(char const*); - /* 802E3BA0 */ static bool queryMapAddress(char*, u32, s32, u32*, u32*, char*, u32, bool, bool); - /* 802E3C90 */ static bool queryMapAddress_single(char*, u32, s32, u32*, u32*, char*, u32, bool, + static JUTException* create(JUTDirectPrint*); + static void errorHandler(OSError, OSContext*, u32, u32); + static void panic_f_va(char const*, int, char const*, va_list); + static void panic_f(char const*, int, char const*, ...); + static void setFPException(u32); + static bool searchPartialModule(u32, u32*, u32*, u32*, u32*); + static OSErrorHandler setPreUserCallback(OSErrorHandler); + static OSErrorHandler setPostUserCallback(OSErrorHandler); + static void appendMapFile(char const*); + static bool queryMapAddress(char*, u32, s32, u32*, u32*, char*, u32, bool, bool); + static bool queryMapAddress_single(char*, u32, s32, u32*, u32*, char*, u32, bool, bool); - /* 802E3FEC */ static void createConsole(void*, u32); - /* 802E3980 */ static void waitTime(s32); + static void createConsole(void*, u32); + static void waitTime(s32); static JUTException* getManager() { return sErrorManager; } static JUTConsole* getConsole() { return sConsole; } diff --git a/include/JSystem/JUtility/JUTFader.h b/include/JSystem/JUtility/JUTFader.h index 1bdd62d2b..67398c761 100644 --- a/include/JSystem/JUtility/JUTFader.h +++ b/include/JSystem/JUtility/JUTFader.h @@ -11,14 +11,14 @@ public: UNKSTATUS_0 = 0, }; - /* 802E5530 */ JUTFader(int, int, int, int, JUtility::TColor); - /* 802E55DC */ void control(); - /* 802E57D0 */ void setStatus(JUTFader::EStatus, int); + JUTFader(int, int, int, int, JUtility::TColor); + void control(); + void setStatus(JUTFader::EStatus, int); - /* 802E5840 */ virtual ~JUTFader() {}; - /* 802E576C */ virtual bool startFadeIn(int); - /* 802E579C */ virtual bool startFadeOut(int); - /* 802E56DC */ virtual void draw(); + virtual ~JUTFader() {}; + virtual bool startFadeIn(int); + virtual bool startFadeOut(int); + virtual void draw(); s32 getStatus() const { return mStatus; } void setColor(JUtility::TColor& color) { mColor.set(color); } diff --git a/include/JSystem/JUtility/JUTFont.h b/include/JSystem/JUtility/JUTFont.h index e91b9ed3a..17ab59ee8 100644 --- a/include/JSystem/JUtility/JUTFont.h +++ b/include/JSystem/JUtility/JUTFont.h @@ -80,7 +80,7 @@ public: /* 0x30 */ virtual int getCellWidth() const; /* 0x34 */ virtual s32 getCellHeight() const; /* 0x38 */ virtual int getFontType() const = 0; - /* 0x3C */ virtual const ResFONT* getResFont() = 0; + /* 0x3C */ virtual const ResFONT* getResFont() const = 0; /* 0x40 */ virtual bool isLeadByte(int a1) const = 0; static bool isLeadByte_1Byte(int b); diff --git a/include/JSystem/JUtility/JUTProcBar.h b/include/JSystem/JUtility/JUTProcBar.h index 99d94e11e..c67d5c5fa 100644 --- a/include/JSystem/JUtility/JUTProcBar.h +++ b/include/JSystem/JUtility/JUTProcBar.h @@ -10,7 +10,7 @@ class JUTProcBar { public: class CTime { public: - /* 802E7340 */ CTime() { clear(); } + CTime() { clear(); } void clear() { mCost = 0; @@ -67,17 +67,17 @@ public: void setUserPosition(int userPos) { mUserPosition = userPos; } }; - /* 802E5888 */ JUTProcBar(); - /* 802E599C */ ~JUTProcBar(); - /* 802E59E0 */ static JUTProcBar* create(); - /* 802E5A28 */ static void destroy(); - /* 802E5A60 */ static void clear(); - /* 802E5B30 */ void bar_subroutine(int, int, int, int, int, int, int, JUtility::TColor, + JUTProcBar(); + ~JUTProcBar(); + static JUTProcBar* create(); + static void destroy(); + static void clear(); + void bar_subroutine(int, int, int, int, int, int, int, JUtility::TColor, JUtility::TColor); - /* 802E5CC4 */ void adjustMeterLength(u32, f32*, f32, f32, int*); - /* 802E5E08 */ void draw(); - /* 802E5E3C */ void drawProcessBar(); - /* 802E6FA0 */ void drawHeapBar(); + void adjustMeterLength(u32, f32*, f32, f32, int*); + void draw(); + void drawProcessBar(); + void drawHeapBar(); void cpuStart() { mCpu.start(255, 129, 30); } void cpuEnd() { mCpu.end(); } diff --git a/include/JSystem/JUtility/JUTResFont.h b/include/JSystem/JUtility/JUTResFont.h index 34f23ff0b..f6b3d7d69 100644 --- a/include/JSystem/JUtility/JUTResFont.h +++ b/include/JSystem/JUtility/JUTResFont.h @@ -23,7 +23,7 @@ public: virtual int getCellWidth() const; virtual s32 getCellHeight() const; virtual int getFontType() const { return mInfoBlock->fontType; } - virtual const ResFONT* getResFont() { return mResFont; } + virtual const ResFONT* getResFont() const { return mResFont; } virtual bool isLeadByte(int) const; virtual void loadImage(int, _GXTexMapID); virtual void setBlock(); @@ -44,7 +44,8 @@ public: initialize_state(); } - static IsLeadByte_func const saoAboutEncoding_[3]; + static const int suAboutEncoding_ = 3; + static IsLeadByte_func const saoAboutEncoding_[suAboutEncoding_]; /* 0x1C */ int mWidth; /* 0x20 */ int mHeight; @@ -61,7 +62,7 @@ public: /* 0x64 */ u16 mMapBlockNum; /* 0x66 */ u16 field_0x66; /* 0x68 */ u16 mMaxCode; - /* 0x6C */ IsLeadByte_func* mIsLeadByte; + /* 0x6C */ const IsLeadByte_func* mIsLeadByte; }; #endif /* JUTRESFONT_H */ diff --git a/include/JSystem/JUtility/JUTVideo.h b/include/JSystem/JUtility/JUTVideo.h index 1cf622b51..416b2b6f6 100644 --- a/include/JSystem/JUtility/JUTVideo.h +++ b/include/JSystem/JUtility/JUTVideo.h @@ -16,16 +16,16 @@ public: virtual ~JUTVideo(); // TODO: return types not confirmed - /* 802E4C54 */ static JUTVideo* createManager(GXRenderModeObj const*); - /* 802E4CAC */ static void destroyManager(); - /* 802E5088 */ static void drawDoneStart(); - /* 802E50B0 */ static void dummyNoDrawWait(); - /* 802E5198 */ void setRenderMode(GXRenderModeObj const*); - /* 802E5210 */ void waitRetraceIfNeed(); + static JUTVideo* createManager(GXRenderModeObj const*); + static void destroyManager(); + static void drawDoneStart(); + static void dummyNoDrawWait(); + void setRenderMode(GXRenderModeObj const*); + void waitRetraceIfNeed(); - /* 802E4E50 */ static void preRetraceProc(u32); - /* 802E5144 */ static void postRetraceProc(u32); - /* 802E50BC */ static void drawDoneCallback(); + static void preRetraceProc(u32); + static void postRetraceProc(u32); + static void drawDoneCallback(); u16 getFbWidth() const { return mRenderObj->fb_width; } u16 getEfbHeight() const { return mRenderObj->efb_height; } diff --git a/include/JSystem/JUtility/JUTXfb.h b/include/JSystem/JUtility/JUTXfb.h index 6ceeb6a0c..37c9e71b6 100644 --- a/include/JSystem/JUtility/JUTXfb.h +++ b/include/JSystem/JUtility/JUTXfb.h @@ -15,14 +15,14 @@ public: UNK_3 = 3, }; - /* 802E5214 */ void clearIndex(); - /* 802E5228 */ void common_init(int); - /* 802E5260 */ JUTXfb(_GXRenderModeObj const*, JKRHeap*, JUTXfb::EXfbNumber); - /* 802E5308 */ ~JUTXfb(); - /* 802E5378 */ void delXfb(int); - /* 802E53B8 */ static JUTXfb* createManager(const _GXRenderModeObj*, JKRHeap*, JUTXfb::EXfbNumber); - /* 802E5424 */ static void destroyManager(); - /* 802E5454 */ void initiate(u16, u16, JKRHeap*, JUTXfb::EXfbNumber); + void clearIndex(); + void common_init(int); + JUTXfb(_GXRenderModeObj const*, JKRHeap*, JUTXfb::EXfbNumber); + ~JUTXfb(); + void delXfb(int); + static JUTXfb* createManager(const _GXRenderModeObj*, JKRHeap*, JUTXfb::EXfbNumber); + static void destroyManager(); + void initiate(u16, u16, JKRHeap*, JUTXfb::EXfbNumber); s32 getBufferNum() const { return mBufferNum; } s16 getDrawnXfbIndex() const { return mDrawnXfbIndex; } diff --git a/include/SSystem/SComponent/c_cc_d.h b/include/SSystem/SComponent/c_cc_d.h index 6c1ff3403..e962f94da 100644 --- a/include/SSystem/SComponent/c_cc_d.h +++ b/include/SSystem/SComponent/c_cc_d.h @@ -23,13 +23,23 @@ class cCcD_CylAttr; class cCcD_SphAttr; enum cCcD_ObjAtType { - /* 0x00000002 */ AT_TYPE_SWORD = (1 << 1), - /* 0x00000020 */ AT_TYPE_BOMB = (1 << 5), - /* 0x00000040 */ AT_TYPE_BOOMERANG = (1 << 6), - /* 0x00004000 */ AT_TYPE_NORMAL_ARROW = (1 << 14), - /* 0x00040000 */ AT_TYPE_FIRE_ARROW = (1 << 18), - /* 0x00080000 */ AT_TYPE_ICE_ARROW = (1 << 19), - /* 0x00100000 */ AT_TYPE_LIGHT_ARROW = (1 << 20), + /* 0x00000002 */ AT_TYPE_SWORD = (1 << 1), + /* 0x00000020 */ AT_TYPE_BOMB = (1 << 5), + /* 0x00000040 */ AT_TYPE_BOOMERANG = (1 << 6), + /* 0x00000080 */ AT_TYPE_BOKO_STICK = (1 << 7), + /* 0x00000100 */ AT_TYPE_WATER = (1 << 8), + /* 0x00000200 */ AT_TYPE_FIRE = (1 << 9), + /* 0x00000400 */ AT_TYPE_MACHETE = (1 << 10), + /* 0x00004000 */ AT_TYPE_NORMAL_ARROW = (1 << 14), + /* 0x00010000 */ AT_TYPE_SKULL_HAMMER = (1 << 16), + /* 0x00040000 */ AT_TYPE_FIRE_ARROW = (1 << 18), + /* 0x00080000 */ AT_TYPE_ICE_ARROW = (1 << 19), + /* 0x00100000 */ AT_TYPE_LIGHT_ARROW = (1 << 20), + /* 0x00200000 */ AT_TYPE_LEAF_WIND = (1 << 21), + /* 0x01000000 */ AT_TYPE_STALFOS_MACE = (1 << 24), + /* 0x04000000 */ AT_TYPE_DARKNUT_SWORD = (1 << 26), + /* 0x08000000 */ AT_TYPE_GRAPPLING_HOOK = (1 << 27), + /* 0x10000000 */ AT_TYPE_MOBLIN_SPEAR = (1 << 28), }; class cCcD_ShapeAttr { @@ -78,6 +88,10 @@ public: STATIC_ASSERT(0x20 == sizeof(cCcD_ShapeAttr)); +struct cCcD_SrcCylAttr { + cM3dGCylS mCyl; +}; + struct cCcD_SrcTriAttr { cM3dGTriS mTri; }; @@ -156,6 +170,10 @@ class cCcD_SphAttr : public cCcD_ShapeAttr, public cM3dGSph { public: cCcD_SphAttr() {} + inline void Set(const cCcD_SrcSphAttr& src) { + cM3dGSph::Set(src.mSph); + } + virtual ~cCcD_SphAttr() {} virtual const cXyz& GetCoCP() const { return mCenter; } virtual cXyz& GetCoCP() { return mCenter; } @@ -187,6 +205,10 @@ STATIC_ASSERT(0x34 == sizeof(cCcD_SphAttr)); class cCcD_CylAttr : public cCcD_ShapeAttr, public cM3dGCyl { public: cCcD_CylAttr() {} + inline void Set(const cCcD_SrcCylAttr& src) { + cM3dGCyl::Set(src.mCyl); + } + virtual ~cCcD_CylAttr() {} virtual const cXyz& GetCoCP() const { return mCenter; } virtual bool CrossAtTg(cCcD_SphAttr const&, cXyz*) const; @@ -366,7 +388,7 @@ public: virtual ~cCcD_ObjAt() {} void SetHit(cCcD_Obj*); void Set(cCcD_SrcObjAt const&); - void ClrHit() { ClrObj(); } + void ClrHit() { ClrRPrm(1); ClrObj(); } int GetType() const { return mType; } u32 GetGrp() const { return MskSPrm(0x1E); } bool ChkSet() const { return MskSPrm(1); } @@ -391,7 +413,7 @@ public: virtual ~cCcD_ObjTg() {} void Set(cCcD_SrcObjTg const&); void SetGrp(u32); - void ClrHit(); + void ClrHit() { ClrRPrm(1); ClrObj(); } void SetHit(cCcD_Obj*); int GetType() const { return mType; } void SetType(u32 type) { mType = type; } @@ -410,7 +432,7 @@ class cCcD_ObjCo : public cCcD_ObjCommonBase { public: virtual ~cCcD_ObjCo() {} void SetHit(cCcD_Obj*); - void ClrHit(); + void ClrHit() { ClrRPrm(1); ClrObj(); } void SetIGrp(u32); void SetVsGrp(u32); u32 GetGrp() const { return MskSPrm(0x1E); } @@ -515,6 +537,7 @@ public: cCcD_DivideInfo& GetDivideInfo() { return mDivideInfo; } cCcD_DivideInfo* GetPDivideInfo() { return &mDivideInfo; } int ChkBsRevHit() const { return mFlags & 2; } + void OnBsRevHit() { mFlags |= 2; } private: /* 0x040 */ int mFlags; @@ -527,7 +550,7 @@ STATIC_ASSERT(0x50 == sizeof(cCcD_Obj)); class cCcD_GObjInf : public cCcD_Obj { public: cCcD_GObjInf() {} - virtual ~cCcD_GObjInf() {} + virtual ~cCcD_GObjInf(); virtual void ClrAtHit() { mObjAt.ClrHit(); } virtual void ClrTgHit() { mObjTg.ClrHit(); } virtual void ClrCoHit() { mObjCo.ClrHit(); } diff --git a/include/SSystem/SComponent/c_data_tbl.h b/include/SSystem/SComponent/c_data_tbl.h index 386e189dc..42dbf3bba 100644 --- a/include/SSystem/SComponent/c_data_tbl.h +++ b/include/SSystem/SComponent/c_data_tbl.h @@ -41,8 +41,9 @@ public: u8 GetInf(int row, int col) const; void Set(u32 fmtNum, char **pFmt, u32 nameNum, char **pName, u8* pData); + + int GetNameIndex(const char* pName, int start) const { return mName.GetIndex(pName, start); } -private: cDT_Format mFmt; cDT_Name mName; cDT_DataSrc mSrc; diff --git a/include/SSystem/SComponent/c_lib.h b/include/SSystem/SComponent/c_lib.h index 093db9c12..cb88e36af 100644 --- a/include/SSystem/SComponent/c_lib.h +++ b/include/SSystem/SComponent/c_lib.h @@ -86,16 +86,16 @@ inline T cLib_maxLimit(T val, T max) { } template -T cLib_calcTimer(T* value) { - if (*value != 0) { - *value = *value - 1; - } - return *value; +T cLib_getRndValue(T min, T range) { + return (T)(min + cM_rndF((f32)range)); } template -T cLib_getRndValue(T min, T range) { - return (T)(min + cM_rndF((f32)range)); +T cLib_calcTimer(T* value) { + if ((s32)*value != 0) { + *value = *value - 1; + } + return *value; } void MtxInit(void); diff --git a/include/SSystem/SComponent/c_m3d.h b/include/SSystem/SComponent/c_m3d.h index 58bb9f192..b50854945 100644 --- a/include/SSystem/SComponent/c_m3d.h +++ b/include/SSystem/SComponent/c_m3d.h @@ -3,6 +3,7 @@ #include "MSL_C/math.h" #include "dolphin/types.h" +#include "dolphin/mtx/vec.h" class cM3dGAab; class cM3dGCps; @@ -19,40 +20,38 @@ struct Vec; extern f32 G_CM3D_F_ABS_MIN; -static void cM3d_InDivPos1(const Vec*, const Vec*, f32, Vec*); +void cM3d_InDivPos1(const Vec*, const Vec*, f32, Vec*); void cM3d_InDivPos2(const Vec*, const Vec*, f32, Vec*); f32 cM3d_Len2dSq(f32, f32, f32, f32); bool cM3d_Len2dSqPntAndSegLine(f32, f32, f32, f32, f32, f32, f32*, f32*, f32*); bool cM3d_Len3dSqPntAndSegLine(const cM3dGLin*, const Vec*, Vec*, f32*); f32 cM3d_SignedLenPlaAndPos(const cM3dGPla*, const Vec*); f32 cM3d_VectorProduct2d(f32, f32, f32, f32, f32, f32); -void cM3d_VectorProduct(const cXyz*, const cXyz*, const cXyz*, cXyz*); void cM3d_CalcPla(const Vec*, const Vec*, const Vec*, Vec*, f32*); bool cM3d_Cross_AabAab(const cM3dGAab*, const cM3dGAab*); bool cM3d_Cross_AabCyl(const cM3dGAab*, const cM3dGCyl*); bool cM3d_Cross_AabSph(const cM3dGAab*, const cM3dGSph*); -static int cM3d_Check_LinLin(const cM3dGLin*, const cM3dGLin*, f32*, f32*); -static bool cM3d_CrossInfLineVsInfPlane_proc(f32, f32, const Vec*, const Vec*, Vec*); +int cM3d_Check_LinLin(const cM3dGLin*, const cM3dGLin*, f32*, f32*); bool cM3d_Cross_LinPla(const cM3dGLin*, const cM3dGPla*, Vec*, bool, bool); bool cM3d_Cross_MinMaxBoxLine(const Vec*, const Vec*, const Vec*, const Vec*); -static bool cM3d_InclusionCheckPosIn3PosBox3d(const Vec*, const Vec*, const Vec*, const Vec*, f32); -static bool cM3d_InclusionCheckPosIn3PosBox2d(f32, f32, f32, f32, f32, f32, f32, f32, f32); -static bool cM3d_CrossX_Tri(const cM3dGTri*, const Vec*, f32); -static bool cM3d_CrossX_Tri(const cM3dGTri*, const Vec*); -static bool cM3d_CrossX_LinTri_proc(const cM3dGTri*, const Vec*); +bool cM3d_InclusionCheckPosIn3PosBox3d(const Vec*, const Vec*, const Vec*, const Vec*, f32); +bool cM3d_InclusionCheckPosIn3PosBox2d(f32, f32, f32, f32, f32, f32, f32, f32, f32); +bool cM3d_CrossX_Tri(const cM3dGTri*, const Vec*, f32); +bool cM3d_CrossX_Tri(const cM3dGTri*, const Vec*); +bool cM3d_CrossX_LinTri_proc(const cM3dGTri*, const Vec*); bool cM3d_CrossY_Tri(const cM3dGTri*, const Vec*); -static bool cM3d_CrossY_LinTri_proc(const cM3dGTri*, const Vec*); +bool cM3d_CrossY_LinTri_proc(const cM3dGTri*, const Vec*); bool cM3d_CrossY_Tri(const Vec&, const Vec&, const Vec&, const cM3dGPla&, const Vec*); bool cM3d_CrossY_Tri_Front(const Vec&, const Vec&, const Vec&, const Vec*); -static bool cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, f32*); -static bool cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, f32); -static bool cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, const cM3d_Range*, f32*); -static bool cM3d_CrossZ_Tri(const cM3dGTri*, const Vec*, f32); -static bool cM3d_CrossZ_Tri(const cM3dGTri*, const Vec*); -static bool cM3d_CrossZ_LinTri_proc(const cM3dGTri*, const Vec*); +bool cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, f32*); +bool cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, f32); +bool cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, const cM3d_Range*, f32*); +bool cM3d_CrossZ_Tri(const cM3dGTri*, const Vec*, f32); +bool cM3d_CrossZ_Tri(const cM3dGTri*, const Vec*); +bool cM3d_CrossZ_LinTri_proc(const cM3dGTri*, const Vec*); bool cM3d_Cross_LinTri(const cM3dGLin*, const cM3dGTri*, Vec*, bool, bool); -static bool cM3d_Cross_LinTri_Easy(const cM3dGTri*, const Vec*); -static bool cM3d_Cross_SphPnt(const cM3dGSph*, const Vec*); +bool cM3d_Cross_LinTri_Easy(const cM3dGTri*, const Vec*); +bool cM3d_Cross_SphPnt(const cM3dGSph*, const Vec*); bool cM3d_Cross_LinSph(const cM3dGLin*, const cM3dGSph*, Vec*); int cM3d_Cross_LinSph_CrossPos(const cM3dGSph&, const cM3dGLin&, Vec*, Vec*); bool cM3d_Cross_CylSph(const cM3dGCyl*, const cM3dGSph*, f32*); @@ -60,7 +59,7 @@ bool cM3d_Cross_CylSph(const cM3dGCyl*, const cM3dGSph*, Vec*, f32*); bool cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, f32*); bool cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, f32*, f32*); bool cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, Vec*); -static void cM3d_CalcSphVsTriCrossPoint(const cM3dGSph*, const cM3dGTri*, Vec*); +void cM3d_CalcSphVsTriCrossPoint(const cM3dGSph*, const cM3dGTri*, Vec*); bool cM3d_Cross_SphTri(const cM3dGSph*, const cM3dGTri*, Vec*); inline bool cM3d_Cross_SphTri(const cM3dGSph* param_0, const cM3dGTri* param_1) { return cM3d_Cross_SphTri(param_0, param_1, NULL); @@ -69,18 +68,18 @@ bool cM3d_Cross_CylCyl(const cM3dGCyl*, const cM3dGCyl*, f32*); bool cM3d_Cross_CylCyl(const cM3dGCyl*, const cM3dGCyl*, Vec*); bool cM3d_Cross_CylTri(const cM3dGCyl*, const cM3dGTri*, Vec*); int cM3d_Cross_CylLin(const cM3dGCyl*, const cM3dGLin*, Vec*, Vec*); -static int cM3d_Cross_CylPntPnt(const cM3dGCyl*, const Vec*, const Vec*, Vec*, Vec*); -static bool cM3d_Cross_CylPnt(const cM3dGCyl*, const Vec*); +int cM3d_Cross_CylPntPnt(const cM3dGCyl*, const Vec*, const Vec*, Vec*, Vec*); +bool cM3d_Cross_CylPnt(const cM3dGCyl*, const Vec*); bool cM3d_Cross_CpsCps(const cM3dGCps&, const cM3dGCps&, Vec*); bool cM3d_Cross_CpsCyl(const cM3dGCps&, const cM3dGCyl&, Vec*); -static bool cM3d_Cross_CpsSph_CrossPos(const cM3dGCps&, const cM3dGSph&, const Vec&, Vec*); +bool cM3d_Cross_CpsSph_CrossPos(const cM3dGCps&, const cM3dGSph&, const Vec&, Vec*); bool cM3d_Cross_CpsSph(const cM3dGCps&, const cM3dGSph&, Vec*); bool cM3d_Cross_TriTri(const cM3dGTri&, const cM3dGTri&, Vec*); bool cM3d_Cross_CpsTri(const cM3dGCps&, cM3dGTri, Vec*); void cM3d_CalcVecAngle(const Vec&, short*, short*); void cM3d_CalcVecZAngle(const Vec&, csXyz*); -static void cM3d_PlaneCrossLineProcWork(f32, f32, f32, f32, f32, f32, f32, f32*, f32*); -static int cM3d_2PlaneCrossLine(const cM3dGPla&, const cM3dGPla&, cM3dGLin*); +void cM3d_PlaneCrossLineProcWork(f32, f32, f32, f32, f32, f32, f32, f32*, f32*); +int cM3d_2PlaneCrossLine(const cM3dGPla&, const cM3dGPla&, cM3dGLin*); bool cM3d_3PlaneCrossPos(const cM3dGPla&, const cM3dGPla&, const cM3dGPla&, Vec*); f32 cM3d_lineVsPosSuisenCross(const cM3dGLin*, const Vec*, Vec*); f32 cM3d_lineVsPosSuisenCross(const Vec&, const Vec&, const Vec&, Vec*); @@ -95,4 +94,25 @@ inline bool cM3d_IsZero_inverted(f32 param_0) { return !(fabsf(param_0) < G_CM3D_F_ABS_MIN); } -#endif \ No newline at end of file +inline void cM3d_VectorProduct(const Vec* p01, const Vec* p02, Vec* pDst) { + VECCrossProduct(p01, p02, pDst); +} + +inline void cM3d_VectorProduct(const Vec* p0, const Vec* p1, const Vec* p2, Vec* pDst) { + Vec v01, v02; + VECSubtract(p1, p0, &v01); + VECSubtract(p2, p0, &v02); + VECCrossProduct(&v01, &v02, pDst); +} + +inline bool cM3d_CrossInfLineVsInfPlane_proc(f32 a, f32 b, const Vec* pA, const Vec* pB, Vec* pDst) { + if (cM3d_IsZero(a - b)) { + *pDst = *pB; + return false; + } else { + cM3d_InDivPos2(pA, pB, a / (a - b), pDst); + return true; + } +} + +#endif diff --git a/include/SSystem/SComponent/c_m3d_g_cps.h b/include/SSystem/SComponent/c_m3d_g_cps.h index 510ef3869..835ce46dd 100644 --- a/include/SSystem/SComponent/c_m3d_g_cps.h +++ b/include/SSystem/SComponent/c_m3d_g_cps.h @@ -18,7 +18,10 @@ public: cM3dGCps(void) {} virtual ~cM3dGCps(void) {} void Set(const cXyz&, const cXyz&, f32); - void Set(const cM3dGCpsS&); + void Set(const cM3dGCpsS& src) { + SetStartEnd(src.mStart, src.mEnd); + SetR(src.mRadius); + } void SetCps(const cM3dGCps&); bool Cross(cM3dGCps const* other, cXyz* xyz) const { return cM3d_Cross_CpsCps(*this, *other, xyz); diff --git a/include/SSystem/SComponent/c_m3d_g_cyl.h b/include/SSystem/SComponent/c_m3d_g_cyl.h index ab37e2465..0b68b5d2b 100644 --- a/include/SSystem/SComponent/c_m3d_g_cyl.h +++ b/include/SSystem/SComponent/c_m3d_g_cyl.h @@ -25,6 +25,11 @@ public: void SetC(const cXyz& pos); void SetH(f32 h); void SetR(f32 r); + inline void Set(const cM3dGCylS & src) { + SetC(src.mCenter); + SetR(src.mRadius); + SetH(src.mHeight); + } bool cross(const cM3dGSph*, cXyz*) const; bool cross(const cM3dGCyl*, cXyz*) const; bool cross(const cM3dGSph*, f32*) const; diff --git a/include/SSystem/SComponent/c_m3d_g_lin.h b/include/SSystem/SComponent/c_m3d_g_lin.h index 1b780b078..94d7683dd 100644 --- a/include/SSystem/SComponent/c_m3d_g_lin.h +++ b/include/SSystem/SComponent/c_m3d_g_lin.h @@ -19,14 +19,18 @@ public: mStart = start; mEnd = end; } - void SetStartEnd(const Vec&, const Vec&); + void SetStartEnd(const Vec& start, const Vec& end) { + mStart = start; + mEnd = end; + } void CalcPos(Vec*, f32) const; void CalcVec(Vec* pOut) const { VECSubtract(&this->mEnd, &this->mStart, pOut); } void SetEnd(const cXyz&); - const cXyz& GetStartP(void) const { return mStart; } - cXyz& GetStartP(void) { return mStart; } - const cXyz& GetEndP(void) const { return mEnd; } - cXyz& GetEndP(void) { return mEnd; } + const cXyz& GetStartP() const { return mStart; } + cXyz& GetStartP() { return mStart; } + cXyz& GetStart() { return mStart; } + const cXyz& GetEndP() const { return mEnd; } + cXyz& GetEndP() { return mEnd; } cXyz& GetEnd() { return mEnd; } }; // Size = 0x1C diff --git a/include/SSystem/SComponent/c_m3d_g_pla.h b/include/SSystem/SComponent/c_m3d_g_pla.h index 97e388730..e83ff7d35 100644 --- a/include/SSystem/SComponent/c_m3d_g_pla.h +++ b/include/SSystem/SComponent/c_m3d_g_pla.h @@ -2,6 +2,7 @@ #define C_M3D_G_PLA_H_ #include "SSystem/SComponent/c_xyz.h" +#include "dolphin/mtx/vec.h" // Plane with a normal class cM3dGPla { @@ -13,6 +14,10 @@ public: cM3dGPla() {} void CalcAngleXz(short* pAngleX, short* pAngleY) const; void SetupNP0(const Vec&, const Vec&); + f32 getPlaneFunc(const Vec *p) const { + return mD + VECDotProduct(&mNormal, p); + } + const cXyz * GetNP() const { return &mNormal; } virtual ~cM3dGPla() {} }; diff --git a/include/SSystem/SComponent/c_m3d_g_sph.h b/include/SSystem/SComponent/c_m3d_g_sph.h index 50073b578..462928b0c 100644 --- a/include/SSystem/SComponent/c_m3d_g_sph.h +++ b/include/SSystem/SComponent/c_m3d_g_sph.h @@ -23,10 +23,14 @@ public: virtual ~cM3dGSph() {} void SetC(const cXyz&); void SetR(f32); + void Set(const cM3dGSphS & src) { + SetC(src.mCenter); + SetR(src.mRadius); + } bool cross(const cM3dGSph*, cXyz*) const; bool cross(const cM3dGCyl*, cXyz*) const; bool cross(const cM3dGSph*, f32*) const; - const cXyz& GetC(void) const { return mCenter; } + const cXyz& GetC() const { return mCenter; } const cXyz* GetCP() const { return &mCenter; } const f32 GetR(void) const { return mRadius; } f32 GetCX(void) const { return mCenter.x; } diff --git a/include/SSystem/SComponent/c_node.h b/include/SSystem/SComponent/c_node.h index c7be81e4f..317dfded3 100644 --- a/include/SSystem/SComponent/c_node.h +++ b/include/SSystem/SComponent/c_node.h @@ -3,9 +3,9 @@ typedef struct node_class { - struct node_class* mpPrevNode; - void* mpData; - struct node_class* mpNextNode; + /* 0x00 */ struct node_class* mpPrevNode; + /* 0x04 */ void* mpData; + /* 0x08 */ struct node_class* mpNextNode; } node_class; void cNd_Join(node_class* pA, node_class* pB); diff --git a/include/SSystem/SComponent/c_tag.h b/include/SSystem/SComponent/c_tag.h index 4c536cd7c..e2dbf41db 100644 --- a/include/SSystem/SComponent/c_tag.h +++ b/include/SSystem/SComponent/c_tag.h @@ -8,9 +8,9 @@ typedef struct node_list_class node_list_class; typedef struct node_lists_tree_class node_lists_tree_class; typedef struct create_tag_class { - node_class mpNode; - void* mpTagData; - s8 mbIsUse; + /* 0x00 */ node_class mpNode; + /* 0x0C */ void* mpTagData; + /* 0x10 */ s8 mbIsUse; } create_tag_class; int cTg_IsUse(create_tag_class* pTag); diff --git a/include/c/c_damagereaction.h b/include/c/c_damagereaction.h new file mode 100644 index 000000000..acb36885a --- /dev/null +++ b/include/c/c_damagereaction.h @@ -0,0 +1,202 @@ +#ifndef C_DAMAGEREACTION_H +#define C_DAMAGEREACTION_H + +#include "d/d_cc_d.h" +#include "d/d_bg_s_acch.h" +#include "d/d_kankyo.h" +#include "d/d_particle.h" +#include "f_op/f_op_actor.h" +#include "m_Do/m_Do_ext.h" + +struct enemyice { +public: + /* 0x000 */ fopAc_ac_c* mpActor; + /* 0x004 */ s16 mTotalNumFramesToRemainFrozen; + /* 0x006 */ u8 mNumFramesDyingToLightArrowsSoFar; + /* 0x007 */ u8 m007[0x008 - 0x007]; + /* 0x008 */ f32 mYOffset; + /* 0x00C */ u8 m00C; + /* 0x00D */ u8 mState; + /* 0x00E */ s16 mNumFramesLeftToRemainFrozen; + /* 0x010 */ s16 m010; + /* 0x012 */ s16 m012; + /* 0x014 */ s16 m014; + /* 0x016 */ u8 m016[0x018 - 0x016]; + /* 0x018 */ cXyz m018; + /* 0x024 */ f32 m024; + /* 0x028 */ f32 m028; + /* 0x02C */ f32 m02C; + /* 0x030 */ dCcD_Stts mStts; + /* 0x06C */ dCcD_Cyl mCyl; + /* 0x19C */ f32 mCylHeight; + /* 0x1A0 */ f32 mWallRadius; + /* 0x1A4 */ f32 mScaleXZ; + /* 0x1A8 */ f32 mScaleY; + /* 0x1AC */ f32 m1AC; + /* 0x1B0 */ u8 m1B0; + /* 0x1B1 */ u8 mDeathSwitch; + /* 0x1B2 */ u8 m1B2[0x1B4 - 0x1B2]; + /* 0x1B4 */ dBgS_AcchCir mBgAcchCir; + /* 0x1F4 */ dBgS_ObjAcch mBgAcch; +}; +STATIC_ASSERT(sizeof(enemyice) == 0x3B8); + +struct enemyfire { +public: + /* 0x000 */ fopAc_ac_c* mpActor; + /* 0x004 */ s16 m004; + /* 0x006 */ u8 m006; + /* 0x007 */ u8 m007[0x008 - 0x007]; + /* 0x008 */ s16 m008; + /* 0x00A */ u8 m00A[0x00C - 0x00A]; + /* 0x00C */ mDoExt_McaMorf* mpMcaMorf; + /* 0x010 */ u8 m010[10]; + /* 0x01A */ u8 m01A[0x01C - 0x01A]; + /* 0x01C */ f32 m01C[10]; + /* 0x044 */ u8 m044[0x080 - 0x044]; + /* 0x080 */ cXyz m080; + /* 0x08C */ f32 m08C; + /* 0x090 */ f32 m090; + /* 0x094 */ f32 m094; + /* 0x098 */ f32 m098; + /* 0x09C */ u8 m09C[0x09D - 0x09C]; + /* 0x09D */ char m09D; + /* 0x09E */ u8 m09E[0x0A0 - 0x09E]; + /* 0x0A0 */ dCcD_Stts mStts; + /* 0x0DC */ dCcD_Sph mSph; + /* 0x208 */ LIGHT_INFLUENCE mLight; +}; +STATIC_ASSERT(sizeof(enemyfire) == 0x228); + +struct damagereaction { +public: + enum EnemyType { + TYPE_MOBLIN = 1, + TYPE_BOKOBLIN = 2, + TYPE_DARKNUT = 3, + }; + + /* 0x000 */ fopEn_enemy_c* mpEnemy; + /* 0x004 */ s16 m004; + /* 0x006 */ s16 mState; + /* 0x008 */ u16 mEnemyType; + /* 0x00A */ u8 m00A[0x00C - 0x00A]; + /* 0x00C */ int mTimer; + /* 0x010 */ csXyz m010[20]; + /* 0x088 */ csXyz m088[20]; + /* 0x100 */ cXyz m100[20]; + /* 0x1F0 */ cXyz m1F0[20]; + /* 0x2E0 */ cXyz m2E0[20]; + /* 0x3D0 */ u8 m3D0[0x410 - 0x3D0]; + /* 0x410 */ int m410; + /* 0x414 */ u8 m414[0x418 - 0x414]; + /* 0x418 */ int m418; + /* 0x41C */ u8 m41C[0x420 - 0x41C]; + /* 0x420 */ int m420; + /* 0x424 */ int m424; + /* 0x428 */ f32 m428; + /* 0x42C */ cXyz m42C; + /* 0x438 */ int m438; + /* 0x43C */ u8 m43C[0x440 - 0x43C]; + /* 0x440 */ s16 m440; + /* 0x442 */ s16 m442; + /* 0x444 */ s16 m444; + /* 0x446 */ u8 m446[0x448 - 0x446]; + /* 0x448 */ s16 m448; + /* 0x44A */ u8 m44A[0x44C - 0x44A]; + /* 0x44C */ cXyz m44C; + /* 0x458 */ cXyz m458; + /* 0x464 */ u8 m464[0x468 - 0x464]; + /* 0x468 */ f32 m468; + /* 0x46C */ f32 m46C; + /* 0x470 */ f32 m470; + /* 0x474 */ f32 m474; + /* 0x478 */ f32 m478; + /* 0x47C */ int m47C; + /* 0x480 */ s16 m480; + /* 0x482 */ s16 m482; + /* 0x484 */ s16 m484; + /* 0x486 */ s16 m486; + /* 0x488 */ s16 m488; + /* 0x48A */ s16 m48A; + /* 0x48C */ csXyz m48C; + /* 0x492 */ u8 m492[0x496 - 0x492]; + /* 0x496 */ s16 m496; + /* 0x498 */ s16 m498; + /* 0x49A */ s16 m49A; + /* 0x49C */ s16 m49C; + /* 0x49E */ s16 m49E; + /* 0x4A0 */ s16 m4A0; + /* 0x4A2 */ s16 m4A2; + /* 0x4A4 */ s16 m4A4; + /* 0x4A6 */ s16 m4A6; + /* 0x4A8 */ s16 m4A8; + /* 0x4AA */ s16 m4AA; + /* 0x4AC */ s16 m4AC; + /* 0x4AE */ s16 m4AE; + /* 0x4B0 */ s16 m4B0; + /* 0x4B2 */ s16 m4B2; + /* 0x4B4 */ s16 m4B4; + /* 0x4B6 */ s16 m4B6; + /* 0x4B8 */ s16 m4B8; + /* 0x4BA */ s16 m4BA; + /* 0x4BC */ s16 m4BC; + /* 0x4BE */ s16 m4BE; + /* 0x4C0 */ s16 m4C0; + /* 0x4C2 */ u8 m4C2[0x4C8 - 0x4C2]; + /* 0x4C8 */ s16 m4C8[3]; + /* 0x4CE */ s16 mInvincibleTimer; + /* 0x4D0 */ s16 m4D0; + /* 0x4D2 */ u8 m4D2[0x4D4 - 0x4D2]; + /* 0x4D4 */ f32 m4D4; + /* 0x4D8 */ u8 m4D8[0x4DC - 0x4D8]; + /* 0x4DC */ dBgS_AcchCir mAcchCir; + /* 0x51C */ dBgS_Acch mAcch; + /* 0x6E0 */ int m6E0; + /* 0x6E4 */ f32 mSpawnY; + /* 0x6E8 */ cXyz m6E8; + /* 0x6F4 */ cXyz m6F4[2]; + /* 0x70C */ u8 m70C; + /* 0x70D */ u8 m70D; + /* 0x70E */ u8 m70E; + /* 0x70F */ u8 m70F[0x710 - 0x70F]; + /* 0x710 */ u8 m710; + /* 0x711 */ u8 m711[0x712 - 0x711]; + /* 0x712 */ u8 m712; + /* 0x713 */ u8 m713; + /* 0x714 */ u8 m714[0x71E - 0x714]; + /* 0x71E */ s16 m71E; + /* 0x720 */ f32 mMaxFallDistance; + /* 0x724 */ dCcD_Stts mStts; + /* 0x760 */ cXyz mParticlePos; + /* 0x76C */ csXyz mParticleAngle; + /* 0x772 */ u8 m772[0x774 - 0x772]; + /* 0x774 */ dPa_smokeEcallBack mParticleCallBack; + /* 0x794 */ s16 m794; + /* 0x796 */ u8 m796[0x7A0 - 0x796]; + /* 0x7A0 */ cXyz m7A0; + /* 0x7AC */ u8 m7AC[0x7AE - 0x7AC]; + /* 0x7AE */ s16 m7AE; + /* 0x7B0 */ u8 m7B0[0x7B2 - 0x7B0]; + /* 0x7B2 */ s16 m7B2; + /* 0x7B4 */ u8 m7B4[0x7B8 - 0x7B4]; + /* 0x7B8 */ int m7B8; +}; +// STATIC_ASSERT(sizeof(damagereaction) == 0x7BC); + +void ice_bg_check(enemyice*); +BOOL enemy_ice(enemyice*); +void enemy_fire(enemyfire*); +void enemy_fire_remove(enemyfire*); +void enemy_piyo_set(fopAc_ac_c*); +void wall_angle_get(fopAc_ac_c*, short); +void dr_body_bg_check(damagereaction*); +void dr_joint_bg_check(damagereaction*); +void kado_check(damagereaction*); +void hang_ang_get(damagereaction*); +void dr_damage_set(damagereaction*); +void dr_damage_anime(damagereaction*); +void dr_matrix_set(damagereaction*); +void damage_reaction(damagereaction*); + +#endif /* C_DAMAGEREACTION_H */ diff --git a/include/d/actor/d_a_arrow.h b/include/d/actor/d_a_arrow.h index e766313ce..fc5baef28 100644 --- a/include/d/actor/d_a_arrow.h +++ b/include/d/actor/d_a_arrow.h @@ -33,9 +33,9 @@ public: void arrowShooting(); void arrowUseMp(); void ShieldReflect(); - void check_water_in(); + bool check_water_in(); BOOL changeArrowMp(); - void changeArrowType(); + daArrow_c* changeArrowType(); void changeArrowTypeNotReady(); void setRoomInfo(); void setKeepMatrix(); @@ -79,7 +79,7 @@ public: /* 0x360 */ dCcD_Stts mStts; /* 0x39C */ dCcD_Cps mCps; /* 0x4D4 */ dCcD_Sph mSph; - /* 0x600 */ u8 field_0x600[0x601 - 0x600]; + /* 0x600 */ bool field_0x600; /* 0x601 */ u8 mArrowType; /* 0x602 */ s16 field_0x602; /* 0x604 */ s16 field_0x604; @@ -111,7 +111,7 @@ public: /* 0x6A0 */ s32 field_0x6a0; /* 0x6A4 */ s32 mInWaterTimer; /* 0x6A8 */ cXyz field_0x6a8; - /* 0x6B4 */ u8 field_0x6B4[0x6E4 - 0x6B4]; + /* 0x6B4 */ Mtx field_0x6b4; /* 0x6E4 */ u8 field_0x6e4; /* 0x6E5 */ u8 field_0x6E5[0x6E6 - 0x6E5]; /* 0x6E6 */ csXyz field_0x6e6; diff --git a/include/d/actor/d_a_item.h b/include/d/actor/d_a_item.h index 8627e8dda..12dfc2d45 100644 --- a/include/d/actor/d_a_item.h +++ b/include/d/actor/d_a_item.h @@ -3,17 +3,18 @@ #include "d/actor/d_a_itembase.h" #include "d/d_particle.h" +#include "f_pc/f_pc_manager.h" class daItem_c : public daItemBase_c { public: - daItem_c() : mPtclFollowCb(0, 0), mPtclSmokeCb(1) {} + typedef void (daItem_c::*daItem_c_ModeFunc)(); float getYOffset(); void set_mtx(); void set_mtx_base(J3DModel*, cXyz, csXyz); void CreateInit(); s32 _daItem_create(); - s32 _daItem_execute(); + BOOL _daItem_execute(); void mode_proc_call(); void execInitNormalDirection(); void execMainNormalDirection(); @@ -24,12 +25,12 @@ public: void execWaitMain(); void execWaitMainFromBoss(); void scaleAnimFromBossItem(); - s32 _daItem_draw(); + BOOL _daItem_draw(); void setTevStr(); - s32 _daItem_delete(); + BOOL _daItem_delete(); void itemGetExecute(); void itemDefaultRotateY(); - bool checkItemDisappear(); + BOOL checkItemDisappear(); void setItemTimer(int); BOOL checkPlayerGet(); void itemActionForRupee(); @@ -40,14 +41,14 @@ public: void itemActionForArrow(); void checkWall(); void set_bound_se(); - s32 checkGetItem(); - void timeCount(); + BOOL checkGetItem(); + BOOL timeCount(); void mode_wait_init(); void mode_water_init(); void mode_wait(); void mode_water(); void initAction(); - s32 _daItem_isdelete(); + BOOL _daItem_isdelete(); s32 checkControl(); s32 startControl(); @@ -58,29 +59,46 @@ public: s32 checkActionNow(); static dCcD_SrcCyl m_cyl_src; + static s32 m_timer_max; public: /* 0x63C */ cXyz mScaleTarget; /* 0x648 */ s32 mSwitchId; /* 0x64C */ s32 mActivationSwitch; - /* 0x650 */ f32 field3_0x650; - /* 0x654 */ u8 field4_0x654[0x658 - 0x654]; + /* 0x650 */ f32 field_0x650; + /* 0x654 */ s16 field_0x654; + /* 0x656 */ s16 field_0x656; /* 0x658 */ s16 mItemTimer; - /* 0x65A */ s16 field7_0x65a; - /* 0x65C */ s16 field8_0x65c; - /* 0x65E */ u8 field10_0x65e[0x667 - 0x65E]; - /* 0x667 */ u8 mUnknownParam; - /* 0x668 */ u8 mItemAction; + /* 0x65A */ s16 field_0x65a; + /* 0x65C */ s16 field_0x65c; + /* 0x65E */ s16 mExtraZRot; + /* 0x660 */ u8 field_0x660[0x667 - 0x660]; + /* 0x667 */ u8 mType; + /* 0x668 */ u8 mAction; /* 0x669 */ u8 mStatusFlags; /* 0x66A */ u8 mMode; /* 0x66B */ u8 mCurState; - /* 0x66C */ u8 field23_0x66c[0x674 - 0x66C]; + /* 0x66C */ u8 field_0x66c; + /* 0x66D */ u8 field_0x66D[0x670 - 0x66D]; + /* 0x670 */ u32 mDemoItemBsPcId; /* 0x674 */ dPa_rippleEcallBack mPtclRippleCb; /* 0x688 */ dPa_followEcallBack mPtclFollowCb; /* 0x69C */ dPa_smokeEcallBack mPtclSmokeCb; /* 0x6BC */ JPABaseEmitter* mpParticleEmitter; + + // TODO add enums for type, action, state, and status flags + // state 7 is probably "about to start an item get demo" }; STATIC_ASSERT(sizeof(daItem_c) == 0x6C0); +namespace daItem_prm { + inline u32 getType(daItem_c* item) { return (fpcM_GetParam(item) & 0x03000000) >> 0x18; } + inline u32 getAction(daItem_c* item) { return (fpcM_GetParam(item) & 0xFC000000) >> 0x1A; } + inline u32 getItemNo(daItem_c* item) { return (fpcM_GetParam(item) & 0x000000FF) >> 0x00; } + inline u32 getItemBitNo(daItem_c* item) { return (fpcM_GetParam(item) & 0x0000FF00) >> 0x08; } + inline u32 getSwitchNo(daItem_c* item) { return (item->orig.angle.z & 0x00FF) >> 0; } + inline u32 getSwitchNo2(daItem_c* item) { return (fpcM_GetParam(item) & 0x00FF0000) >> 0x10; } +}; + #endif /* D_A_ITEM_H */ \ No newline at end of file diff --git a/include/d/actor/d_a_itembase.h b/include/d/actor/d_a_itembase.h index ecd34edbe..c6279c2ec 100644 --- a/include/d/actor/d_a_itembase.h +++ b/include/d/actor/d_a_itembase.h @@ -12,24 +12,25 @@ class mDoExt_brkAnm; class mDoExt_bckAnm; struct daItemBase_c_m_data { - /* 0x00 */ float mFieldItemGravity; - /* 0x04 */ float field1_0x4; - /* 0x08 */ float field2_0x8; - /* 0x0C */ float mScaleAnimSpeed; - /* 0x10 */ float field4_0x10; - /* 0x14 */ short field5_0x14; - /* 0x16 */ short mDuration; - /* 0x18 */ short field7_0x18; - /* 0x1A */ u8 field8_0x1a; - /* 0x1B */ u8 field9_0x1b; - /* 0x1C */ short mNumFramesPerFullSpin; - u8 temp1[0x1A]; + /* 0x00 */ f32 mFieldItemGravity; + /* 0x04 */ f32 field_0x04; + /* 0x08 */ f32 field_0x08; + /* 0x0C */ f32 mScaleAnimSpeed; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ s16 field_0x14; + /* 0x16 */ s16 mDuration; + /* 0x18 */ s16 field_0x18; + /* 0x1A */ u8 field_0x1A[0x1C - 0x1A]; + /* 0x1C */ s16 mNumFramesPerFullSpin; + /* 0x1E */ u8 field_0x1E[0x2A - 0x1E]; + /* 0x2A */ s16 mHeartMaxRandomZRot; + /* 0x2C */ u8 field_0x2C[0x38 - 0x2C]; /* 0x38 */ f32 mPickedUpInitialSpeedY; /* 0x3C */ f32 mPickedUpGravity; - /* 0x40 */ short field45_0x40; - /* 0x42 */ short field47_0x42; - u8 temp2[0x4]; - /* 0x48 */ float mVelocityScale; + /* 0x40 */ s16 field_0x40; + /* 0x42 */ s16 field_0x42; + /* 0x44 */ void* field_0x44; + /* 0x48 */ f32 mVelocityScale; }; STATIC_ASSERT(sizeof(daItemBase_c_m_data) == 0x4C); diff --git a/include/d/actor/d_a_player.h b/include/d/actor/d_a_player.h index d7c9ef6aa..cf38b693c 100644 --- a/include/d/actor/d_a_player.h +++ b/include/d/actor/d_a_player.h @@ -93,6 +93,8 @@ public: s16 getBodyAngleX() { return mBodyAngle.x; } s16 getBodyAngleY() { return mBodyAngle.y; } + void changeDemoMoveAngle(s16 angle) { mDemo.setMoveAngle(angle); } + u8 getCutType() const { return mAttackState; } void onPlayerNoDraw() { field_0x29c |= 0x8000000; } void offPlayerNoDraw() { field_0x29c &= ~0x8000000; } @@ -102,7 +104,7 @@ public: virtual void getGroundY() = 0; virtual void getTactMusic() const; virtual void getTactTimerCancel() const; - virtual void checkPlayerGuard() const; + virtual BOOL checkPlayerGuard() const; virtual void getGrabMissActor(); virtual u32 checkPlayerFly() const; virtual void checkFrontRoll() const; @@ -139,7 +141,7 @@ public: void getLeftHandPos() const; void getRopeJumpLand() const; void checkRopeForceEnd() const; - cXyz getHeadTopPos() const; + cXyz getHeadTopPos() const { return mHeadTopPos; } void changePlayer(fopAc_ac_c*); void objWindHitCheck(dCcD_Cyl*); void setDoButtonQuake(); diff --git a/include/d/actor/d_a_player_link.h b/include/d/actor/d_a_player_link.h index 85d714f61..876314968 100644 --- a/include/d/actor/d_a_player_link.h +++ b/include/d/actor/d_a_player_link.h @@ -97,11 +97,6 @@ public: /* 0x0 */ u8 field_0x0[0x28]; }; -class dPa_cutTurnEcallBack_c { -public: - /* 0x0 */ u8 field_0x0[0x10]; -}; - class daPy_waterDropEcallBack_c { public: void execute(JPABaseEmitter*); @@ -490,7 +485,7 @@ public: void setDamageEmitter(); void endFlameDamageEmitter(); void endDamageEmitter(); - void setItemWaterEffect(fopAc_ac_c*, int, int); + static u32 setItemWaterEffect(fopAc_ac_c*, int, int); void getDemoLookActor(); void setTinkleCeiverModel(); void setTalismanModel(); @@ -1010,7 +1005,7 @@ public: virtual void getGroundY(); virtual void getTactMusic() const; virtual void getTactTimerCancel() const; - virtual void checkPlayerGuard() const; + virtual BOOL checkPlayerGuard() const; virtual void getGrabMissActor(); virtual u32 checkPlayerFly() const; virtual void checkFrontRoll() const; diff --git a/include/d/d_attention.h b/include/d/d_attention.h index c34dbbf7e..0c66ecc35 100644 --- a/include/d/d_attention.h +++ b/include/d/d_attention.h @@ -107,7 +107,7 @@ public: class dAttDraw_CallBack_c : public mDoExt_McaMorfCallBack1_c { public: - /* 80070178 */ virtual void execute(u16, J3DTransformInfo*); + virtual void execute(u16, J3DTransformInfo*); }; class daPy_lk_c; diff --git a/include/d/d_bg_s.h b/include/d/d_bg_s.h index db8171b31..90f832aa1 100644 --- a/include/d/d_bg_s.h +++ b/include/d/d_bg_s.h @@ -52,7 +52,10 @@ public: public: cBgS() {} - bool GetTriPla(cBgS_PolyInfo&) const; + cM3dGPla* GetTriPla(cBgS_PolyInfo&) const; + cM3dGPla* i_GetTriPla(cBgS_PolyInfo& polyInfo) const { + return GetTriPla(polyInfo.GetBgIndex(), polyInfo.GetPolyIndex()); + } bool Regist(cBgW*, u32, void*); int Release(cBgW*); bool LineCross(cBgS_LinChk*); @@ -101,8 +104,8 @@ public: void GetLinkNo(cBgS_PolyInfo&); int GetWallCode(cBgS_PolyInfo&); int GetSpecialCode(cBgS_PolyInfo&); - void GetAttributeCodeDirect(cBgS_PolyInfo&); - void GetAttributeCode(cBgS_PolyInfo&); + s32 GetAttributeCodeDirect(cBgS_PolyInfo&); + s32 GetAttributeCode(cBgS_PolyInfo&); void GetGroundCode(cBgS_PolyInfo&); void GetPolyId2(int, int, int, u32, u32); int GetCamMoveBG(cBgS_PolyInfo&); diff --git a/include/d/d_bg_s_acch.h b/include/d/d_bg_s_acch.h index a1125fd00..214961edd 100644 --- a/include/d/d_bg_s_acch.h +++ b/include/d/d_bg_s_acch.h @@ -33,7 +33,7 @@ public: void ClrWallHit(); void SetWallR(f32); void CalcWallRR(); - void SetWall(f32, f32); + void SetWall(f32 i_halfHeight, f32 i_radius); void SetWallHDirect(f32); virtual ~dBgS_AcchCir() {} @@ -73,40 +73,40 @@ public: /* 0x800000 */ LINE_DOWN = (1 << 23), }; - /* 800760A0 */ dBgS_Acch(); - /* 800761CC */ void Init(); - /* 80076288 */ void Set(fopAc_ac_c*, int, dBgS_AcchCir*); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 800762D8 */ void GroundCheckInit(dBgS&); - /* 80076350 */ void GroundCheck(dBgS&); - /* 8007654C */ void GroundRoofProc(dBgS&); - /* 80076624 */ void LineCheck(dBgS&); - /* 80076AAC */ void CrrPos(dBgS&); - /* 80076F84 */ f32 GetWallAllR(); - /* 80076FC0 */ void SetWallCir(); - /* 8007703C */ void CalcWallBmdCyl(); - /* 80077114 */ void SetGroundUpY(f32); - /* 80077128 */ f32 GetWallAllLowH(); - /* 80077178 */ f32 GetWallAllLowH_R(); - /* 800771E4 */ f32 GetSpeedY(); - /* 80077200 */ f32 GetWallAddY(Vec&); - /* 80077278 */ void SetNowActorInfo(int, void*, unsigned int); - /* 80077288 */ void SetWallPolyIndex(int, int); - /* 800772E8 */ void CalcMovePosWork(); - /* 8007732C */ void CalcWallRR(); - /* 80077388 */ void SetMoveBGOnly(); - /* 800773A4 */ void ClrMoveBGOnly(); - /* 800773C0 */ void SetGndThinCellingOff(); - /* 800773D0 */ void ClrGndThinCellingOff(); - /* 800773E0 */ bool ChkGndThinCellingOff(); - /* 800773EC */ void OnWallSort(); - /* 800773FC */ bool ChkWallSort(); - /* 80077408 */ bool ChkLineDown(); - /* 800D00D0 */ bool ChkRoofHit() const; - /* 800D00DC */ void ClrGroundHit(); - /* 80141404 */ bool ChkGroundHit() const; + dBgS_Acch(); + void Init(); + void Set(fopAc_ac_c*, int, dBgS_AcchCir*); + void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); + void GroundCheckInit(dBgS&); + void GroundCheck(dBgS&); + void GroundRoofProc(dBgS&); + void LineCheck(dBgS&); + void CrrPos(dBgS&); + f32 GetWallAllR(); + void SetWallCir(); + void CalcWallBmdCyl(); + void SetGroundUpY(f32); + f32 GetWallAllLowH(); + f32 GetWallAllLowH_R(); + f32 GetSpeedY(); + f32 GetWallAddY(Vec&); + void SetNowActorInfo(int, void*, unsigned int); + void SetWallPolyIndex(int, int); + void CalcMovePosWork(); + void CalcWallRR(); + void SetMoveBGOnly(); + void ClrMoveBGOnly(); + void SetGndThinCellingOff(); + void ClrGndThinCellingOff(); + bool ChkGndThinCellingOff(); + void OnWallSort(); + bool ChkWallSort(); + bool ChkLineDown(); + bool ChkRoofHit() const; + void ClrGroundHit(); + bool ChkGroundHit() const; - /* 80075F94 */ virtual ~dBgS_Acch(); + virtual ~dBgS_Acch(); cXyz* GetPos() { return pm_pos; } cXyz* GetOldPos() { return pm_old_pos; } @@ -196,7 +196,7 @@ class dBgS_LinkAcch : public dBgS_Acch { public: dBgS_LinkAcch() { SetLink(); } - /* 80140F30 */ virtual ~dBgS_LinkAcch() {} + virtual ~dBgS_LinkAcch() {} }; class dBgS_ObjAcch : public dBgS_Acch { @@ -205,7 +205,7 @@ public: SetObj(); } - /* 80BB336C */ virtual ~dBgS_ObjAcch() {} + virtual ~dBgS_ObjAcch() {} }; // Size: 0x1C4 #endif /* D_BG_D_BG_S_ACCH_H */ \ No newline at end of file diff --git a/include/d/d_bg_s_gnd_chk.h b/include/d/d_bg_s_gnd_chk.h index de2c971c1..59fc5205f 100644 --- a/include/d/d_bg_s_gnd_chk.h +++ b/include/d/d_bg_s_gnd_chk.h @@ -6,11 +6,11 @@ class dBgS_GndChk : public cBgS_GndChk, public dBgS_Chk { public: - /* 8007757C */ dBgS_GndChk() { + dBgS_GndChk() { SetPolyPassChk(GetPolyPassChkInfo()); SetGrpPassChk(GetGrpPassChkInfo()); } - /* 800775F0 */ virtual ~dBgS_GndChk() {} + virtual ~dBgS_GndChk() {} }; // Size: 0x54 STATIC_ASSERT(sizeof(dBgS_GndChk) == 0x54); @@ -18,33 +18,33 @@ STATIC_ASSERT(sizeof(dBgS_GndChk) == 0x54); class dBgS_LinkGndChk : public dBgS_GndChk { public: dBgS_LinkGndChk() { /* SetLink(); */ } - /* 80140EB8 */ virtual ~dBgS_LinkGndChk(); + virtual ~dBgS_LinkGndChk(); }; class dBgS_ObjGndChk : public dBgS_GndChk { public: dBgS_ObjGndChk() { SetObj(); } - /* 8001E020 */ virtual ~dBgS_ObjGndChk() {} + virtual ~dBgS_ObjGndChk() {} }; class dBgS_ObjGndChk_Wtr : public dBgS_ObjGndChk { public: - /* 80077678 */ dBgS_ObjGndChk_Wtr(); + dBgS_ObjGndChk_Wtr(); - /* 80077710 */ virtual ~dBgS_ObjGndChk_Wtr(); + virtual ~dBgS_ObjGndChk_Wtr(); }; class dBgS_ObjGndChk_Spl : public dBgS_ObjGndChk { public: - /* 800777B0 */ dBgS_ObjGndChk_Spl(); + dBgS_ObjGndChk_Spl(); - /* 80077848 */ virtual ~dBgS_ObjGndChk_Spl(); + virtual ~dBgS_ObjGndChk_Spl(); }; class dBgS_ObjGndChk_All : public dBgS_ObjGndChk { public: - /* 800778E8 */ virtual ~dBgS_ObjGndChk_All() {} + virtual ~dBgS_ObjGndChk_All() {} dBgS_ObjGndChk_All() { OnAll(); } }; @@ -53,14 +53,14 @@ class dBgS_CamGndChk : public dBgS_GndChk { public: dBgS_CamGndChk() { /* SetCam(); */ } - /* 80077988 */ virtual ~dBgS_CamGndChk(); + virtual ~dBgS_CamGndChk(); }; class dBgS_CamGndChk_Wtr : public dBgS_CamGndChk { public: - /* 80077A00 */ dBgS_CamGndChk_Wtr(); + dBgS_CamGndChk_Wtr(); - /* 80077A98 */ virtual ~dBgS_CamGndChk_Wtr(); + virtual ~dBgS_CamGndChk_Wtr(); }; #endif /* D_BG_D_BG_S_GND_CHK_H */ \ No newline at end of file diff --git a/include/d/d_bg_s_grp_pass_chk.h b/include/d/d_bg_s_grp_pass_chk.h index 703607fbe..eacc9b76a 100644 --- a/include/d/d_bg_s_grp_pass_chk.h +++ b/include/d/d_bg_s_grp_pass_chk.h @@ -15,9 +15,9 @@ public: LIGHT_GRP = 0x10, }; - /* 80077BA0 */ dBgS_GrpPassChk() { mGrp = NORMAL_GRP; } + dBgS_GrpPassChk() { mGrp = NORMAL_GRP; } - /* 80077BC4 */ virtual ~dBgS_GrpPassChk() {} + virtual ~dBgS_GrpPassChk() {} void OnNormalGrp() { mGrp |= NORMAL_GRP; } void OnWaterGrp() { mGrp |= WATER_GRP; } diff --git a/include/d/d_bg_s_lin_chk.h b/include/d/d_bg_s_lin_chk.h index 6f4d533e5..bb11892e2 100644 --- a/include/d/d_bg_s_lin_chk.h +++ b/include/d/d_bg_s_lin_chk.h @@ -8,13 +8,13 @@ class fopAc_ac_c; class dBgS_LinChk : public cBgS_LinChk, public dBgS_Chk { public: - /* 80077C68 */ dBgS_LinChk() { + dBgS_LinChk() { SetPolyPassChk(GetPolyPassChkInfo()); SetGrpPassChk(GetGrpPassChkInfo()); } - /* 80077D64 */ void Set(cXyz const* pi_start, cXyz const* pi_end, fopAc_ac_c const*); + void Set(cXyz* pi_start, cXyz* pi_end, fopAc_ac_c*); - /* 80077CDC */ virtual ~dBgS_LinChk() {} + virtual ~dBgS_LinChk() {} /* 0x00 cBgS_LinChk */; /* 0x58 dBgS_Chk */; @@ -22,62 +22,62 @@ public: class dBgS_LinkLinChk : public dBgS_LinChk { public: - /* 80078030 */ dBgS_LinkLinChk(); + dBgS_LinkLinChk(); - /* 8007808C */ virtual ~dBgS_LinkLinChk(); + virtual ~dBgS_LinkLinChk(); }; class dBgS_RopeLinChk : public dBgS_LinChk { public: - /* 8007838C */ dBgS_RopeLinChk(); + dBgS_RopeLinChk(); - /* 800783E8 */ virtual ~dBgS_RopeLinChk(); + virtual ~dBgS_RopeLinChk(); }; class dBgS_BoomerangLinChk : public dBgS_LinChk { public: - /* 800782B8 */ dBgS_BoomerangLinChk(); + dBgS_BoomerangLinChk(); - /* 80078314 */ virtual ~dBgS_BoomerangLinChk(); + virtual ~dBgS_BoomerangLinChk(); }; class dBgS_ArrowLinChk : public dBgS_LinChk { public: - /* 800781D8 */ dBgS_ArrowLinChk() { + dBgS_ArrowLinChk() { SetArrow(); // Don't check arrows OnYoganGrp(); // Check lava OnNormalGrp(); } - /* 80078240 */ virtual ~dBgS_ArrowLinChk() {} + virtual ~dBgS_ArrowLinChk() {} }; class dBgS_ObjLinChk : public dBgS_LinChk { public: - /* 80077F5C */ dBgS_ObjLinChk(); + dBgS_ObjLinChk(); - /* 80077FB8 */ virtual ~dBgS_ObjLinChk(); + virtual ~dBgS_ObjLinChk(); }; class dBgS_BombLinChk : public dBgS_LinChk { public: - /* 80078104 */ dBgS_BombLinChk(); + dBgS_BombLinChk(); - /* 80078160 */ virtual ~dBgS_BombLinChk(); + virtual ~dBgS_BombLinChk(); }; class dBgS_CamLinChk : public dBgS_LinChk { public: - /* 80077DA4 */ dBgS_CamLinChk(); + dBgS_CamLinChk(); - /* 80077E00 */ virtual ~dBgS_CamLinChk(); + virtual ~dBgS_CamLinChk(); }; class dBgS_CamLinChk_NorWtr : public dBgS_CamLinChk { public: - /* 80077E78 */ dBgS_CamLinChk_NorWtr(); + dBgS_CamLinChk_NorWtr(); - /* 80077EE4 */ virtual ~dBgS_CamLinChk_NorWtr(); + virtual ~dBgS_CamLinChk_NorWtr(); }; class dBgS_MirLightLinChk : public dBgS_LinChk { diff --git a/include/d/d_bg_s_roof_chk.h b/include/d/d_bg_s_roof_chk.h index fb234e054..e3e4affe3 100644 --- a/include/d/d_bg_s_roof_chk.h +++ b/include/d/d_bg_s_roof_chk.h @@ -7,11 +7,11 @@ class dBgS_RoofChk : public cBgS_PolyInfo, public cBgS_Chk, public dBgS_Chk { public: - /* 80078FF4 */ dBgS_RoofChk(); - /* 80079124 */ void Init(); - /* 800B146C */ void SetPos(cXyz const&); + dBgS_RoofChk(); + void Init(); + void SetPos(cXyz const&); - /* 80079090 */ virtual ~dBgS_RoofChk(); + virtual ~dBgS_RoofChk(); void i_SetPos(cXyz const& pos) { m_pos = pos; } cXyz* GetPosP() { return &m_pos; } @@ -25,7 +25,7 @@ STATIC_ASSERT(sizeof(dBgS_RoofChk) == 0x44); class dBgS_LinkRoofChk : public dBgS_RoofChk { public: dBgS_LinkRoofChk() { /* SetLink(); */ } - /* 80140E40 */ virtual ~dBgS_LinkRoofChk(); + virtual ~dBgS_LinkRoofChk(); }; #endif /* D_BG_D_BG_S_ROOF_CHK_H */ \ No newline at end of file diff --git a/include/d/d_bg_s_spl_grp_chk.h b/include/d/d_bg_s_spl_grp_chk.h index f9df12a96..cae1c1af0 100644 --- a/include/d/d_bg_s_spl_grp_chk.h +++ b/include/d/d_bg_s_spl_grp_chk.h @@ -13,11 +13,11 @@ public: /* 0x4 */ MOVE_BG_ONLY = 4 }; - /* 80078B90 */ void Set(cXyz&, f32); - /* 80078BB0 */ dBgS_SplGrpChk(); - /* 80078D0C */ void Init(); + void Set(cXyz&, f32); + dBgS_SplGrpChk(); + void Init(); - /* 80078C78 */ virtual ~dBgS_SplGrpChk(); + virtual ~dBgS_SplGrpChk(); void OffFind() { m_flags &= ~FIND; } void OffIn() { m_flags &= ~IN; } diff --git a/include/d/d_bg_s_wtr_chk.h b/include/d/d_bg_s_wtr_chk.h index 5069ae1a6..f9c210c27 100644 --- a/include/d/d_bg_s_wtr_chk.h +++ b/include/d/d_bg_s_wtr_chk.h @@ -5,9 +5,9 @@ class dBgS_WtrChk : public dBgS_SplGrpChk { public: - /* 80079164 */ dBgS_WtrChk(); + dBgS_WtrChk(); - /* 8001DF30 */ virtual ~dBgS_WtrChk(); + virtual ~dBgS_WtrChk(); }; // Size: 0x50 STATIC_ASSERT(sizeof(dBgS_WtrChk) == 0x50); diff --git a/include/d/d_bg_w.h b/include/d/d_bg_w.h index f65e266d4..ffcc5b48c 100644 --- a/include/d/d_bg_w.h +++ b/include/d/d_bg_w.h @@ -63,4 +63,6 @@ public: /* 0xBB */ u8 mRoomNo2; }; +dBgW* dBgW_NewSet(cBgD_t*, unsigned long, float(*)[3][4]); + #endif /* D_BG_W_H */ \ No newline at end of file diff --git a/include/d/d_cc_d.h b/include/d/d_cc_d.h index 40d8b8485..ac0ef47c1 100644 --- a/include/d/d_cc_d.h +++ b/include/d/d_cc_d.h @@ -15,7 +15,7 @@ enum dCcG_At_Spl {}; enum dCcG_Tg_Spl {}; struct dCcD_SrcGAtTgCoCommonBase { - /* 0x0 */ u32 mGFlag; + /* 0x0 */ u32 mSPrm; }; // Size: 0x4 struct dCcD_SrcGObjAt { @@ -57,7 +57,7 @@ struct dCcD_SrcTri { struct dCcD_SrcCyl { /* 0x00 */ dCcD_SrcGObjInf mObjInf; - /* 0x30 */ cM3dGCylS mCyl; + /* 0x30 */ cCcD_SrcCylAttr mCylAttr; }; // Size: 0x44 struct dCcD_SrcCps { @@ -68,12 +68,12 @@ struct dCcD_SrcCps { class dCcD_GStts : public cCcD_GStts { public: dCcD_GStts(); - virtual ~dCcD_GStts(); + virtual ~dCcD_GStts() {} void Ct(); void Move(); - void ClrAt() { mAt = 0; } - void ClrTg() { mTg = 0; } + void ClrAt() { mAtSpl = 0; } + void ClrTg() { mTgSpl = 0; } void SetAtApid(unsigned int id) { mAtApid = id; } void SetTgApid(unsigned int id) { mTgApid = id; } u8 GetRoomId() { return mRoomId; } @@ -82,15 +82,15 @@ public: unsigned int GetTgOldApid() { return mTgOldApid; } bool ChkNoActor() { return field_0x1C & 1; } bool ChkNoneActorPerfTblId() { return field_0x08 == 0xFFFF; } - dCcG_At_Spl GetAtSpl() { return (dCcG_At_Spl)mAt; } - void SetAtSpl(dCcG_At_Spl spl) { mAt = spl; } - dCcG_Tg_Spl GetTgSpl() { return (dCcG_Tg_Spl)mTg; } - void SetTgSpl(dCcG_Tg_Spl spl) { mTg = spl; } + dCcG_At_Spl GetAtSpl() { return (dCcG_At_Spl)mAtSpl; } + void SetAtSpl(dCcG_At_Spl spl) { mAtSpl = spl; } + dCcG_Tg_Spl GetTgSpl() { return (dCcG_Tg_Spl)mTgSpl; } + void SetTgSpl(dCcG_Tg_Spl spl) { mTgSpl = spl; } void OnNoActor() { field_0x1C |= 1; } // private: - /* 0x04 */ u8 mAt; - /* 0x05 */ u8 mTg; + /* 0x04 */ u8 mAtSpl; + /* 0x05 */ u8 mTgSpl; /* 0x06 */ u8 mRoomId; /* 0x08 */ u16 field_0x08; /* 0x0C */ int mAtApid; @@ -103,12 +103,20 @@ public: class dCcD_Stts : public cCcD_Stts, public dCcD_GStts { public: dCcD_Stts() {} - virtual cCcD_GStts* GetGStts(); + virtual cCcD_GStts* GetGStts() { + return (cCcD_GStts*)this; + } void Init(int, int, fopAc_ac_c*); virtual void Ct(); - virtual void ClrAt(); - virtual void ClrTg(); - virtual ~dCcD_Stts(); + virtual void ClrAt() { + cCcD_Stts::ClrAt(); + dCcD_GStts::ClrAt(); + } + virtual void ClrTg() { + cCcD_Stts::ClrTg(); + dCcD_GStts::ClrTg(); + } + virtual ~dCcD_Stts() {} }; // Size = 0x3C @@ -118,7 +126,7 @@ typedef void (*dCcD_HitCallback)(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_G // Attack/Defense/Correction Collider Common Base class dCcD_GAtTgCoCommonBase { public: - /* 0x00 */ u32 mGFlag; + /* 0x00 */ u32 mSPrm; /* 0x04 */ u32 mRPrm; /* 0x08 */ dCcD_HitCallback mHitCallback; /* 0x0C */ u32 mApid; @@ -136,21 +144,28 @@ public: void ct(); void SetHitApid(unsigned int); fopAc_ac_c* GetAc(); - void Set(dCcD_SrcGAtTgCoCommonBase const&); + void Set(dCcD_SrcGAtTgCoCommonBase const& base) { + mSPrm = base.mSPrm; + ClrEffCounter(); + } void SetEffCounterTimer(); - void SubtractEffCounter() { mEffCounter -= 1; } + void SubtractEffCounter() { + mEffCounter -= 1; + if (mEffCounter < 0) + mEffCounter = 0; + } bool ChkEffCounter() { return mEffCounter >= 0; } - virtual ~dCcD_GAtTgCoCommonBase(); + virtual ~dCcD_GAtTgCoCommonBase() {} void ClrEffCounter() { mEffCounter = 0; } - u32 GetGFlag() const { return mGFlag; } + u32 GetSPrm() const { return mSPrm; } u32 GetRPrm() const { return mRPrm; } - u32 MskSPrm(u32 mask) const { return mGFlag & mask; } + u32 MskSPrm(u32 mask) const { return mSPrm & mask; } u32 MskRPrm(u32 mask) const { return mRPrm & mask; } bool ChkSPrm(u32 mask) const { return MskSPrm(mask); } - void OnSPrm(u32 flag) { mGFlag |= flag; } + void OnSPrm(u32 flag) { mSPrm |= flag; } void OnRPrm(u32 flag) { mRPrm |= flag; } - void OffSPrm(u32 flag) { mGFlag &= ~flag; } + void OffSPrm(u32 flag) { mSPrm &= ~flag; } void OffRPrm(u32 flag) { mRPrm &= ~flag; } bool ChkRPrm(u32 flag) const { return MskRPrm(flag); } void SetHitCallback(dCcD_HitCallback callback) { mHitCallback = callback; } @@ -161,7 +176,7 @@ public: class dCcD_GObjAt : public dCcD_GAtTgCoCommonBase { public: void Set(dCcD_SrcGObjAt const&); - virtual ~dCcD_GObjAt(); + virtual ~dCcD_GObjAt() {} void SetVec(cXyz& vec) { mVec = vec; } cXyz& GetVec() { return mVec; } cXyz* GetVecP() { return &mVec; } @@ -192,7 +207,7 @@ public: class dCcD_GObjTg : public dCcD_GAtTgCoCommonBase { public: void Set(dCcD_SrcGObjTg const&); - virtual ~dCcD_GObjTg(); + virtual ~dCcD_GObjTg() {} void SetSe(u8 se) { mSe = se; } void SetVec(cXyz& vec) { mVec = vec; } cXyz& GetVec() { return mVec; } @@ -207,6 +222,7 @@ public: cXyz* GetVecP() { return &mVec; } void SetHitPos(cXyz& pos) { mHitPos = pos; } cXyz* GetHitPosP() { return &mHitPos; } + inline void ClrHit() { ClrActorInfo(); } private: /* 0x1C */ u8 mSe; @@ -222,8 +238,9 @@ private: // Correction (Co) Collider class dCcD_GObjCo : public dCcD_GAtTgCoCommonBase { public: - virtual ~dCcD_GObjCo(); + virtual ~dCcD_GObjCo() {} void Set(dCcD_SrcGObjCo const& pSrc) { dCcD_GAtTgCoCommonBase::Set(pSrc.mBase); } + void ClrHit() { ClrActorInfo(); } }; // Size = 0x1C ? // Object Info diff --git a/include/d/d_cc_mass_s.h b/include/d/d_cc_mass_s.h index 86dabb43d..3f8e1584d 100644 --- a/include/d/d_cc_mass_s.h +++ b/include/d/d_cc_mass_s.h @@ -67,15 +67,15 @@ public: public: dCcMassS_Mng(); virtual ~dCcMassS_Mng() {} - /* 800855E4 */ void Ct(); - /* 80085630 */ void SetAttr(f32 radius, f32 height, u8 param_2, u8 param_3); - /* 80085690 */ void Prepare(); - /* 800858AC */ u32 Chk(cXyz* p_xyz, fopAc_ac_c** p_actor, dCcMassS_HitInf* p_hitInf); - /* 80085CF0 */ void Clear(); - /* 80085D98 */ void Set(cCcD_Obj* p_obj, u8 priority); - /* 80085E6C */ void SetCam(cM3dGCps const& cps); - /* 80085EB0 */ u8 GetResultCam() const; - /* 80085EB8 */ void GetCamTopPos(Vec* p_out); + void Ct(); + void SetAttr(f32 radius, f32 height, u8 param_2, u8 param_3); + void Prepare(); + u32 Chk(cXyz* p_xyz, fopAc_ac_c** p_actor, dCcMassS_HitInf* p_hitInf); + void Clear(); + void Set(cCcD_Obj* p_obj, u8 priority); + void SetCam(cM3dGCps const& cps); + u8 GetResultCam() const; + void GetCamTopPos(Vec* p_out); }; STATIC_ASSERT(sizeof(dCcMassS_Mng) == 0x1A0); diff --git a/include/d/d_cc_s.h b/include/d/d_cc_s.h index 5b24cd12f..9041929a2 100644 --- a/include/d/d_cc_s.h +++ b/include/d/d_cc_s.h @@ -11,39 +11,39 @@ class dCcD_GStts; class dCcS : public cCcS { public: dCcS() {} - /* 80085ED4 */ void Ct(); - /* 80085F08 */ void Dt(); - /* 80085F28 */ bool ChkShieldFrontRange(cCcD_Obj*, cCcD_Obj*, int, cXyz const*); - /* 800860F8 */ bool ChkShield(cCcD_Obj*, cCcD_Obj*, dCcD_GObjInf*, dCcD_GObjInf*, cXyz const*); - /* 800861B0 */ void CalcTgPlusDmg(cCcD_Obj*, cCcD_Obj*, cCcD_Stts*, cCcD_Stts*); - /* 80086360 */ int GetRank(u8); - /* 8008685C */ void ProcAtTgHitmark(bool, bool, cCcD_Obj*, cCcD_Obj*, dCcD_GObjInf*, + void Ct(); + void Dt(); + bool ChkShieldFrontRange(cCcD_Obj*, cCcD_Obj*, int, cXyz const*); + bool ChkShield(cCcD_Obj*, cCcD_Obj*, dCcD_GObjInf*, dCcD_GObjInf*, cXyz const*); + void CalcTgPlusDmg(cCcD_Obj*, cCcD_Obj*, cCcD_Stts*, cCcD_Stts*); + int GetRank(u8); + void ProcAtTgHitmark(bool, bool, cCcD_Obj*, cCcD_Obj*, dCcD_GObjInf*, dCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, dCcD_GStts*, dCcD_GStts*, cXyz*, bool); - /* 80086D8C */ bool ChkCamera(cXyz&, cXyz&, f32, fopAc_ac_c*, fopAc_ac_c*, fopAc_ac_c*); - /* 80086FBC */ bool chkCameraPoint(cXyz const&, cCcD_ShapeAttr::Shape*, fopAc_ac_c*, + bool ChkCamera(cXyz&, cXyz&, f32, fopAc_ac_c*, fopAc_ac_c*, fopAc_ac_c*); + bool chkCameraPoint(cXyz const&, cCcD_ShapeAttr::Shape*, fopAc_ac_c*, fopAc_ac_c*); - /* 800872AC */ void DrawAfter(); - /* 800872B0 */ void Move(); - /* 800872D0 */ void Draw(); - /* 8008730C */ void MassClear(); - /* 80087330 */ int ChkAtTgMtrlHit(u8, u8); + void DrawAfter(); + void Move(); + void Draw(); + void MassClear(); + int ChkAtTgMtrlHit(u8, u8); - /* 8008640C */ virtual void SetPosCorrect(cCcD_Obj*, cXyz*, cCcD_Obj*, cXyz*, f32); - /* 80086240 */ virtual void SetCoGObjInf(bool, bool, cCcD_GObjInf*, cCcD_GObjInf*, cCcD_Stts*, + virtual void SetPosCorrect(cCcD_Obj*, cXyz*, cCcD_Obj*, cXyz*, f32); + virtual void SetCoGObjInf(bool, bool, cCcD_GObjInf*, cCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, cCcD_GStts*, cCcD_GStts*); - /* 80086AC0 */ virtual void SetAtTgGObjInf(bool, bool, cCcD_Obj*, cCcD_Obj*, cCcD_GObjInf*, + virtual void SetAtTgGObjInf(bool, bool, cCcD_Obj*, cCcD_Obj*, cCcD_GObjInf*, cCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, cCcD_GStts*, cCcD_GStts*, cXyz*); - /* 8008734C */ virtual bool ChkNoHitGAtTg(cCcD_GObjInf const*, cCcD_GObjInf const*, cCcD_GStts*, + virtual bool ChkNoHitGAtTg(cCcD_GObjInf const*, cCcD_GObjInf const*, cCcD_GStts*, cCcD_GStts*); - /* 800861B4 */ virtual bool ChkAtTgHitAfterCross(bool, bool, cCcD_GObjInf const*, + virtual bool ChkAtTgHitAfterCross(bool, bool, cCcD_GObjInf const*, cCcD_GObjInf const*, cCcD_Stts*, cCcD_Stts*, cCcD_GStts*, cCcD_GStts*); - /* 80086404 */ virtual bool ChkNoHitGCo(cCcD_Obj*, cCcD_Obj*); - /* 8002FF40 */ virtual ~dCcS() {} - /* 800872A8 */ virtual void MoveAfterCheck(); - /* 80086754 */ virtual void CalcParticleAngle(dCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, csXyz*); + virtual bool ChkNoHitGCo(cCcD_Obj*, cCcD_Obj*); + virtual ~dCcS() {} + virtual void MoveAfterCheck(); + virtual void CalcParticleAngle(dCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, csXyz*); void SetMass(cCcD_Obj* i_obj, u8 i_priority) { mMass_Mng.Set(i_obj, i_priority); } void PrepareMass() { mMass_Mng.Prepare(); } diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index 0f4ccdde4..ed42b0061 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -18,6 +18,7 @@ #include "d/d_wood.h" #include "d/d_demo.h" #include "d/d_timer.h" +#include "SSystem/SComponent/c_data_tbl.h" class JKRArchive; class JKRExpHeap; @@ -54,11 +55,42 @@ public: /* 0x10 */ u8 mTimerType; }; +class dADM_CharTbl : public cDT { +public: + /* 0x28 */ s32 mIndex_ARG; + /* 0x2C */ s32 mIndex_N_ITEM0; + /* 0x30 */ s32 mIndex_N_ITEM1; + /* 0x34 */ s32 mIndex_N_ITEM2; + /* 0x38 */ s32 mIndex_N_ITEM3; + /* 0x3C */ s32 mIndex_N_ITEM4; + /* 0x40 */ s32 mIndex_N_ITEM5; + /* 0x44 */ s32 mIndex_N_ITEM6; + /* 0x48 */ s32 mIndex_N_ITEM7; + /* 0x4C */ s32 mIndex_N_ITEM8; + /* 0x50 */ s32 mIndex_N_ITEM9; + /* 0x54 */ s32 mIndex_N_ITEM10; + /* 0x58 */ s32 mIndex_N_ITEM11; + /* 0x5C */ s32 mIndex_N_ITEM12; + /* 0x60 */ s32 mIndex_N_ITEM13; + /* 0x64 */ s32 mIndex_N_ITEM14; + /* 0x68 */ s32 mIndex_N_ITEM15; + /* 0x6C */ s32 mIndex_percent; + /* 0x70 */ s32 mIndex_ITEM0; + /* 0x74 */ s32 mIndex_ITEM1; + /* 0x78 */ s32 mIndex_ITEM2; + /* 0x7C */ s32 mIndex_ITEM3; + /* 0x80 */ s32 mIndex_ITEM4; + /* 0x84 */ s32 mIndex_ITEM5; + /* 0x88 */ s32 mIndex_ITEM6; + /* 0x8C */ s32 mIndex_ITEM7; +}; +STATIC_ASSERT(sizeof(dADM_CharTbl) == 0x90); + class dADM { public: /* 0x00 */ int mBlockCount; /* 0x04 */ void* mpData; - /* 0x08 */ u8 mCharTbl[0x90]; + /* 0x08 */ dADM_CharTbl mCharTbl; public: dADM(); @@ -193,9 +225,10 @@ public: s16 getItemMagicCount() { return mItemMagicCount; } void setItemMagicCount(s16 magic) { mItemMagicCount += magic; } - void setItemLifeCount(f32 num) { - mItemLifeCount += num; - } + void setItemLifeCount(f32 num) { mItemLifeCount += num; } + + s16 getItemArrowNumCount() { return mItemArrowNumCount; } + void setItemArrowNumCount(s16 num) { mItemArrowNumCount += num; } u8 checkMesgCancelButton() { return field_0x4949; } @@ -514,6 +547,18 @@ inline void dComIfGs_onEventBit(u16 id) { g_dComIfG_gameInfo.save.getEvent().onEventBit(id); } +inline void dComIfGs_offEventBit(u16 id) { + g_dComIfG_gameInfo.save.getEvent().offEventBit(id); +} + +inline void dComIfGs_onTmpBit(u16 id) { + g_dComIfG_gameInfo.save.getTmp().onEventBit(id); +} + +inline void dComIfGs_offTmpBit(u16 id) { + g_dComIfG_gameInfo.save.getTmp().offEventBit(id); +} + inline void dComIfGs_setRestartRoomParam(u32 i_param) { g_dComIfG_gameInfo.save.getRestart().setRoomParam(i_param); } @@ -557,6 +602,10 @@ inline void dComIfGs_onSaveTbox(int i_stageNo, int i_no) { void dComIfGs_onStageTbox(int i_stageNo, int i_no); BOOL dComIfGs_isStageTbox(int i_stageNo, int i_no); +inline void dComIfGs_onSaveSwitch(int i_stageNo, int i_no) { + g_dComIfG_gameInfo.save.getSavedata().getSave(i_stageNo).getBit().onSwitch(i_no); +} + BOOL dComIfGs_isStageBossEnemy(int i_stageNo); inline BOOL dComIfGs_isStageBossEnemy() { @@ -699,6 +748,22 @@ inline BOOL dComIfGs_isGetItem(int i_field, u8 i_item) { return g_dComIfG_gameInfo.save.getPlayer().getGetItem().isItem(i_field, i_item); } +inline BOOL dComIfGs_isGetItemBeast(u8 i_beast) { + return g_dComIfG_gameInfo.save.getPlayer().getGetBagItem().isBeast(i_beast); +} + +inline void dComIfGs_onGetItemBeast(u8 i_beast) { + g_dComIfG_gameInfo.save.getPlayer().getGetBagItem().onBeast(i_beast); +} + +inline BOOL dComIfGs_isGetItemBait(u8 i_bait) { + return g_dComIfG_gameInfo.save.getPlayer().getGetBagItem().isBait(i_bait); +} + +inline void dComIfGs_onGetItemBait(u8 i_bait) { + g_dComIfG_gameInfo.save.getPlayer().getGetBagItem().onBait(i_bait); +} + inline s16 dComIfGs_getWindY() { return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusB().getWindY(); } @@ -789,7 +854,7 @@ inline s8 dComIfGp_getStartStageLayer() { return g_dComIfG_gameInfo.play.getStartStageLayer(); } -inline s16 dComIfGp_getStartStagePoint() { +inline s32 dComIfGp_getStartStagePoint() { return g_dComIfG_gameInfo.play.getStartStagePoint(); } @@ -1121,6 +1186,14 @@ inline void dComIfGp_setItemMagicCount(s16 magic) { g_dComIfG_gameInfo.play.setItemMagicCount(magic); } +inline s16 dComIfGp_getItemArrowNumCount() { + return g_dComIfG_gameInfo.play.getItemArrowNumCount(); +} + +inline void dComIfGp_getItemArrowNumCount(s16 num) { + return g_dComIfG_gameInfo.play.setItemArrowNumCount(num); +} + inline u8 dComIfGp_checkMesgCancelButton() { return g_dComIfG_gameInfo.play.checkMesgCancelButton(); } @@ -1147,6 +1220,12 @@ inline u8 dComIfGp_getMiniGameType() { return g_dComIfG_gameInfo.play.mMiniGameType; } +inline dDlst_window_c * dComIfGp_getWindow(int idx) { return &g_dComIfG_gameInfo.play.mDlstWindow[idx]; } + +inline dADM_CharTbl* dComIfGp_CharTbl() { + return &g_dComIfG_gameInfo.play.mADM.mCharTbl; +} + /** * === EVENT ===*/ @@ -1258,6 +1337,14 @@ inline BOOL dComIfGp_evmng_startCheck(s16 eventID) { return dComIfGp_getEventManager().startCheck(eventID); } +inline BOOL dComIfGp_evmng_startCheck(const char* pName) { + return dComIfGp_getEventManager().startCheckOld(pName); +} + +inline BOOL dComIfGp_evmng_endCheck(const char* pName) { + return dComIfGp_getEventManager().endCheckOld(pName); +} + inline BOOL dComIfGp_evmng_endCheck(s16 eventID) { return dComIfGp_getEventManager().endCheck(eventID); } @@ -1290,8 +1377,8 @@ inline void dComIfGp_evmng_remove() { g_dComIfG_gameInfo.play.getEvtManager().remove(); } -inline void dComIfGp_evmng_setGoal(cXyz* i_goal) { - g_dComIfG_gameInfo.play.getEvtManager().setGoal(i_goal); +inline void dComIfGp_evmng_setGoal(cXyz* pos) { + g_dComIfG_gameInfo.play.getEvtManager().setGoal(pos); } /** @@ -1348,6 +1435,11 @@ inline void dComIfGd_setList() { g_dComIfG_gameInfo.drawlist.setXluList(); } +inline void dComIfGd_setListInvisisble() { + g_dComIfG_gameInfo.drawlist.setOpaListInvisible(); + g_dComIfG_gameInfo.drawlist.setXluListInvisible(); +} + inline void dComIfGd_setListMaskOff() { g_dComIfG_gameInfo.drawlist.setOpaListMaskOff(); g_dComIfG_gameInfo.drawlist.setXluListMaskOff(); @@ -1399,6 +1491,13 @@ inline MtxP dComIfGd_getViewRotMtx() { return dComIfGd_getView()->mViewMtxNoTrans; } +inline void dComIfGd_set2DOpa(dDlst_base_c* pBase) { g_dComIfG_gameInfo.drawlist.set2DOpa(pBase); } +inline void dComIfGd_set2DXlu(dDlst_base_c* pBase) { g_dComIfG_gameInfo.drawlist.set2DXlu(pBase); } + +inline void dComIfGd_setWindow(dDlst_window_c* pWindow) { g_dComIfG_gameInfo.drawlist.setWindow(pWindow); } +inline void dComIfGd_setViewPort(view_port_class* pViewPort) { g_dComIfG_gameInfo.drawlist.setViewPort(pViewPort); } +inline void dComIfGd_setView(view_class* pView) { g_dComIfG_gameInfo.drawlist.setView(pView); } + /** * === RESOURCE === */ @@ -1552,4 +1651,6 @@ inline void dComIfG_TimerDeleteRequest() { dComIfG_getTimerPtr()->deleteRequest(); } +int dComIfG_changeOpeningScene(scene_class* i_scene, s16 i_procName); + #endif /* D_COM_D_COM_INF_GAME_H */ diff --git a/include/d/d_demo.h b/include/d/d_demo.h index 2484031df..935acaa69 100644 --- a/include/d/d_demo.h +++ b/include/d/d_demo.h @@ -15,6 +15,34 @@ class fopAc_ac_c; class dDemo_actor_c /* : public JStage::TActor */ { public: void setActor(fopAc_ac_c*); + + bool checkEnable(u16 mask) { return mFlags & mask; } + csXyz* getRatate() { return &mRotation; } + + /* 0x00 */ u8 parent_placeholder[0x04 - 0x00]; + /* 0x04 */ u16 mFlags; + /* 0x06 */ u8 field_0x06[0x08 - 0x06]; + /* 0x08 */ cXyz mTranslation; + /* 0x14 */ cXyz mScaling; + /* 0x20 */ csXyz mRotation; + /* 0x26 */ u8 field_0x26[0x28 - 0x26]; + /* 0x28 */ u32 mShape; + /* 0x2C */ u32 mNextBckId; + /* 0x30 */ f32 mAnimationFrame; + /* 0x34 */ f32 mAnimationTransition; + /* 0x38 */ f32 mAnimationFrameMax; + /* 0x3C */ s32 mTexAnimation; + /* 0x40 */ f32 mTexAnimationFrame; + /* 0x44 */ void* mTexAnimationFrameMax; + /* 0x48 */ J3DModel* mpModel; + /* 0x4C */ u32 field_0x4c; + /* 0x50 */ void* field_0x50; + /* 0x54 */ u32 field_0x54; + /* 0x58 */ s32 mActorPcId; + /* 0x5C */ s32 mBckId; + /* 0x60 */ s32 mBtpId; + /* 0x64 */ s32 mBtkId; + /* 0x68 */ s32 mBrkId; }; class dDemo_object_c { @@ -64,4 +92,6 @@ public: /* 0xDC */ int mState; }; +void dDemo_setDemoData(fopAc_ac_c*, u8, mDoExt_McaMorf*, const char*, int, u16*, u32, s8); + #endif /* D_DEMO_H */ \ No newline at end of file diff --git a/include/d/d_drawlist.h b/include/d/d_drawlist.h index 7e876450f..8fad0ccf0 100644 --- a/include/d/d_drawlist.h +++ b/include/d/d_drawlist.h @@ -11,6 +11,7 @@ class ResTIMG; class dDlst_base_c { public: dDlst_base_c() {} + virtual ~dDlst_base_c(); virtual void draw(); }; @@ -208,14 +209,15 @@ public: void wipeIn(f32, GXColor&); void wipeIn(f32); void calcWipe(); - void set2DOpa(dDlst_base_c*); J3DDrawBuffer* getOpaListFilter() { return mpWetherFxBuffer; } void setXluDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, XLU_BUFFER); } void setOpaDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, OPA_BUFFER); } - void setOpaList() { setOpaDrawList(mpBufWorldOpa); } - void setXluList() { setXluDrawList(mpBufWorldXlu); } + void setOpaList() { setOpaDrawList(mpBufInvisibleModelOpa); } + void setXluList() { setXluDrawList(mpBufInvisibleModelXlu); } + void setOpaListInvisible() { setOpaDrawList(field_0x00030); } + void setXluListInvisible() { setXluDrawList(field_0x00034); } void setOpaListMaskOff() { setOpaDrawList(mpBufInvisibleModelMaskOffOpa); } void setXluListMaskOff() { setXluDrawList(mpBufInvisibleModelMaskOffXlu); } void setOpaListSky() { setOpaDrawList(mpBufSkyOpa); } @@ -235,6 +237,9 @@ public: entryZSortXluDrawList(mpBufInvisibleModelXlu, i_packet, param_1); } + void set2DOpa(dDlst_base_c* pList) { set(mp2DOpa, mp2DOpaEnd, pList); } + void set2DXlu(dDlst_base_c* pList) { set(mp2DXlu, mp2DXluEnd, pList); } + int setSimpleShadow(cXyz* param_0, f32 param_1, f32 param_2, cXyz* param_3, s16 param_4, f32 param_5, _GXTexObj* param_6) { return mShadowControl.setSimple(param_0, param_1, param_2, param_3, param_4, param_5, @@ -251,6 +256,10 @@ public: s32 getSpotModelNum() { return mpSpotModel->getNum(); } s32 getLightModelNum() { return mpLightModel->getNum(); } + void setWindow(dDlst_window_c* pWindow) { mpWindow = pWindow; } + void setViewPort(view_port_class* pViewPort) { mpViewPort = pViewPort; } + void setView(view_class* pView) { mpCamera = (camera_class*)pView; } + static void offWipe() { mWipe = false; } static bool mWipe; @@ -277,13 +286,13 @@ public: /* 0x00098 */ void* field_0x00098; /* 0x0009C */ dDlst_base_c* mp2DArr[64]; /* 0x0019C */ dDlst_base_c** mp2DOpa; - /* 0x001A0 */ dDlst_base_c*** mp2DOpaEnd; + /* 0x001A0 */ dDlst_base_c** mp2DOpaEnd; /* 0x001A4 */ u8 field_0x001A4[0x00224 - 0x001A4]; - /* 0x00224 */ dDlst_base_c** field_0x00224; - /* 0x00228 */ dDlst_base_c*** field_0x00228; - /* 0x0022C */ dDlst_window_c* field_0x0022c; - /* 0x00230 */ dDlst_window_c* field_0x00230; - /* 0x00234 */ camera_class* mpCamera; + /* 0x00224 */ dDlst_base_c** mp2DXlu; + /* 0x00228 */ dDlst_base_c** mp2DXluEnd; + /* 0x0022C */ dDlst_window_c* mpWindow; + /* 0x00230 */ view_port_class* mpViewPort; + /* 0x00234 */ camera_class* mpCamera; // should be view_class* /* 0x00238 */ u8 field_0x00238[0x00244 - 0x00238]; /* 0x00244 */ dDlst_alphaModel_c* mpAlphaModel; /* 0x00248 */ dDlst_alphaModel_c* mpSpotModel; diff --git a/include/d/d_item.h b/include/d/d_item.h index fdd8ecdfa..188ba322b 100644 --- a/include/d/d_item.h +++ b/include/d/d_item.h @@ -377,20 +377,20 @@ void item_getcheck_func_lithograph14(); void item_getcheck_func_lithograph15(); void item_getcheck_func_lithograph16(); void getRotenItemNumInBag(); -BOOL isDaizaItem(unsigned char); -BOOL isBomb(unsigned char); -void isArrow(unsigned char); -void isEmono(unsigned char); -void isEsa(unsigned char); -void isRupee(unsigned char); -void isLimitedItem(unsigned char); -void isNonSavedEmono(unsigned char); -BOOL isUseClothPacket(unsigned char); -void isTriforce(unsigned char); -void isHeart(unsigned char); -void getItemNoByLife(unsigned char); +BOOL isDaizaItem(u8); +BOOL isBomb(u8); +BOOL isArrow(u8); +BOOL isEmono(u8); +BOOL isEsa(u8); +BOOL isRupee(u8); +BOOL isLimitedItem(u8); +BOOL isNonSavedEmono(u8); +BOOL isUseClothPacket(u8); +BOOL isTriforce(u8); +BOOL isHeart(u8); +void getItemNoByLife(u8); void check_itemno(int); -void getEmonoItemFromLifeBallTable(unsigned short); -void getItemFromLifeBallTableWithoutEmono(unsigned short); +void getEmonoItemFromLifeBallTable(u16); +void getItemFromLifeBallTableWithoutEmono(u16); #endif /* D_ITEM_H */ \ No newline at end of file diff --git a/include/d/d_item_data.h b/include/d/d_item_data.h index a330605d2..6cd9975bf 100644 --- a/include/d/d_item_data.h +++ b/include/d/d_item_data.h @@ -299,7 +299,7 @@ struct dItem_data_item_info { /* 0x00 */ u8 mShadowSize; /* 0x01 */ u8 mCollisionH; // Cylinder Height /* 0x02 */ u8 mCollisionR; // Cylinder Radius - /* 0x03 */ u8 mFlag; + /* 0x03 */ u8 mFlag; // TODO enum }; STATIC_ASSERT(sizeof(dItem_data_item_info) == 0x4); diff --git a/include/d/d_jnt_hit.h b/include/d/d_jnt_hit.h index 2b7d7292d..cf5656b4f 100644 --- a/include/d/d_jnt_hit.h +++ b/include/d/d_jnt_hit.h @@ -3,18 +3,26 @@ #include "global.h" #include "SSystem/SComponent/c_xyz.h" +#include "SSystem/SComponent/c_sxyz.h" #include "JSystem/J3DGraphAnimator/J3DModel.h" struct __jnt_hit_data_c { public: - /* 0x0 */ s16 mJointIndex; - /* 0x2 */ s16 field_0x2; + /* 0x0 */ s16 field_0x0; + /* 0x2 */ s16 mJointIndex; /* 0x4 */ f32 field_0x4; /* 0x8 */ cXyz* field_0x8; }; class JntHit_c { public: + void CreateInit(); + void CylHitPosAngleOffset(cXyz*, csXyz*, cXyz*, csXyz*, cXyz, cXyz, f32); + void Cyl2HitPosAngleOffset(cXyz*, csXyz*, cXyz*, csXyz*, cXyz, cXyz, f32); + void SphHitPosAngleOffset(cXyz*, csXyz*, cXyz*, csXyz*, cXyz, f32); + void HitBufferUpdate(int*, cXyz*, int, csXyz*, cXyz*); + s32 searchJntHitPosAngleOffset(cXyz*, csXyz*, cXyz*, csXyz*); + J3DModel* getModel() { return mpModel; } /* 0x00 */ __jnt_hit_data_c* mpHitData; @@ -27,4 +35,12 @@ public: /* 0x1A */ u8 field_0x1A[0x20 - 0x1A]; }; +class JntHit_HIO_c { +public: + JntHit_HIO_c(); + virtual ~JntHit_HIO_c(); +}; + +JntHit_c* JntHit_create(J3DModel* model, __jnt_hit_data_c* jntHitData, s16 hitDataCount); + #endif /* D_JNT_HIT_H */ diff --git a/include/d/d_kankyo.h b/include/d/d_kankyo.h index b710fa477..947331784 100644 --- a/include/d/d_kankyo.h +++ b/include/d/d_kankyo.h @@ -1,7 +1,7 @@ #ifndef D_KANKYO_D_KANKYO_H #define D_KANKYO_D_KANKYO_H -#include "JSystem/J3DGraphBase/J3DStruct.h" +#include "JSystem/J3DGraphBase/J3DTevs.h" #include "SSystem/SComponent/c_xyz.h" #include "dolphin/gx/GX.h" #include "global.h" @@ -402,8 +402,10 @@ void dKy_vrbox_addcol_set(s16, s16, s16, f32); BOOL dKy_daynight_check(); void dKy_tevstr_init(dKy_tevstr_c*, s8, u8); void dKy_Sound_init(); +void dKy_change_colpat(u8 param_0); u8 dKy_pship_existense_chk(); void dKy_Itemgetcol_chg_move(); +void dKy_arrowcol_chg_on(cXyz*, int); void dKy_arrowcol_chg_move(); void dKy_setLight_init(); void GxXFog_set(); @@ -411,11 +413,6 @@ void dKy_set_vrboxsoracol_ratio(f32 ratio); void dKy_set_vrboxkumocol_ratio(f32 ratio); cXyz dKy_get_orion_pos(); cXyz dKy_get_hokuto_pos(); - -/* 80197AB8-80197FE4 .text dKankyo_DayProc__Fv */ -// supposed to be generated after sinit... -static void dKankyo_DayProc() { - /* Nonmatching */ -} +void dKy_DayProc(); #endif /* D_KANKYO_D_KANKYO_H */ diff --git a/include/d/d_kankyo_wether.h b/include/d/d_kankyo_wether.h index 529a76145..d39e0a2ef 100644 --- a/include/d/d_kankyo_wether.h +++ b/include/d/d_kankyo_wether.h @@ -3,6 +3,8 @@ #include "JSystem/J3DGraphBase/J3DPacket.h" #include "SSystem/SComponent/c_xyz.h" +#include "d/d_com_inf_game.h" +#include "d/d_kankyo.h" class JUTTexture; class JPABaseEmitter; @@ -120,6 +122,7 @@ public: /* 0x36D4 */ f32 field_0x36d4; /* 0x36D8 */ s16 mEffCount; /* 0x36DA */ s16 mTamariStart; + /* 0x36DC */ void *field_0x36dc; }; struct STAR_EFF { @@ -140,7 +143,7 @@ public: virtual void draw(); virtual ~dKankyo_star_Packet(); - /* 0x10 */ u8* field_0x10; + /* 0x10 */ u8* mpTexture; /* 0x14 */ STAR_EFF mStarEff[1]; /* 0x48 */ s16 mCount; }; @@ -149,7 +152,8 @@ struct POISON_EFF { POISON_EFF(); ~POISON_EFF(); - /* 0x0 */ u8 field_0x0[0x30]; + /* 0x00 */ u8 mStatus; + /* 0x01 */ u8 field_0x1[0x2F]; }; class dKankyo_poison_Packet : public J3DPacket { @@ -159,11 +163,11 @@ public: virtual void draw(); virtual ~dKankyo_poison_Packet(); - /* 0x0010 */ POISON_EFF mPoisonEff[1000]; + /* 0x0010 */ POISON_EFF mEff[1000]; /* 0xBB90 */ u8 field_0xbb90[0xBB9C - 0xBB90]; /* 0xBB9C */ cXyz field_0xbb9c; - /* 0xBBA8 */ u8 field_0xbba8[0xBBAC - 0xBBA8]; - /* 0xBBAC */ u8* field_0xbbac; + /* 0xBBA8 */ u32 mCount; + /* 0xBBAC */ u8* mpTexture; }; struct CLOUD_EFF { diff --git a/include/d/d_particle.h b/include/d/d_particle.h index 45a725f27..143dc2991 100644 --- a/include/d/d_particle.h +++ b/include/d/d_particle.h @@ -2,10 +2,12 @@ #define D_PARTICLE #include "JSystem/J3DGraphBase/J3DVertex.h" +#include "JSystem/J3DGraphAnimator/J3DAnimation.h" #include "JSystem/JGeometry.h" #include "JSystem/JParticle/JPAParticle.h" #include "JSystem/JParticle/JPAEmitter.h" #include "f_pc/f_pc_node.h" +#include "m_Do/m_Do_ext.h" class mDoDvdThd_toMainRam_c; class dPa_levelEcallBack; @@ -20,8 +22,8 @@ struct csXyz; class dPa_simpleData_c { public: - ~dPa_simpleData_c(); dPa_simpleData_c(); + ~dPa_simpleData_c() {} /* 0x00 */ Vec mPos; /* 0x0C */ GXColor mPrmColor; @@ -32,12 +34,13 @@ public: class dPa_levelEcallBack : public JPACallBackBase { public: virtual ~dPa_levelEcallBack() {} + virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8) {} }; class dPa_followEcallBack : public dPa_levelEcallBack { public: - dPa_followEcallBack(u8 = 0, u8 = 0); - virtual ~dPa_followEcallBack(); + dPa_followEcallBack(u8=0, u8=0); + virtual ~dPa_followEcallBack() {} virtual void execute(JPABaseEmitter*); virtual void draw(JPABaseEmitter*); @@ -47,6 +50,7 @@ public: void setRateOff(u8 i_rate) { field_0x11 = i_rate; } JPABaseEmitter* getEmitter() { return mpEmitter; } + void setRateOff(u8 param_0) { field_0x11 = param_0; } /* 0x04 */ JPABaseEmitter* mpEmitter; /* 0x08 */ u8 field_0x08[0x10 - 0x08]; @@ -60,10 +64,11 @@ STATIC_ASSERT(sizeof(dPa_followEcallBack) == 0x14); class dPa_smokeEcallBack : public dPa_followEcallBack { public: - dPa_smokeEcallBack(u8 = 1); - virtual ~dPa_smokeEcallBack(); - - virtual void execute(JPABaseEmitter*); + dPa_smokeEcallBack(u8=1); + dPa_smokeEcallBack(u8, u8, u8, u8); + dPa_smokeEcallBack(const _GXColor&, dKy_tevstr_c*, u8); + virtual ~dPa_smokeEcallBack() {} + virtual void draw(JPABaseEmitter*); virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); virtual void end(); @@ -77,10 +82,10 @@ public: STATIC_ASSERT(sizeof(dPa_smokeEcallBack) == 0x20); -class dPa_simpleEcallBack { +class dPa_simpleEcallBack : public JPACallBackBase { public: dPa_simpleEcallBack(); - ~dPa_simpleEcallBack(); + virtual ~dPa_simpleEcallBack() {} void executeAfter(JPABaseEmitter*); void draw(JPABaseEmitter*); @@ -88,7 +93,6 @@ public: void createEmitter(JPAEmitterManager*); void set(cXyz const*, u8, GXColor const&, GXColor const&, int); - /* 0x000 */ void* vtbl; /* 0x004 */ JPABaseEmitter* mpBaseEmitter; /* 0x008 */ u16 mResID; /* 0x00A */ u8 mGrpID; @@ -105,7 +109,7 @@ public: void executeAfter(JPABaseEmitter*); void draw(JPABaseEmitter*); - ~dPa_waveEcallBack(); + virtual ~dPa_waveEcallBack() {} /* 0x04 */ s16 mState; /* 0x06 */ s16 mFadeTimer; @@ -117,7 +121,7 @@ public: /* 0x1C */ cXyz mCollapsePos[2]; /* 0x34 */ cXyz* mpPos; /* 0x38 */ csXyz* mpRot; - /* 0x3C */ cXyz mRotMtx[3]; + // /* 0x3C */ cXyz mRotMtx[3]; /* 0x60 */ JPABaseEmitter* mpBaseEmitter; }; @@ -127,7 +131,7 @@ public: void remove(); void execute(JPABaseEmitter*); - ~dPa_splashEcallBack(); + virtual ~dPa_splashEcallBack() {} /* 0x04 */ s16 mState; /* 0x08 */ f32 mScaleTimer; @@ -145,12 +149,12 @@ public: void execute(JPABaseEmitter*); void draw(JPABaseEmitter*); - ~dPa_trackEcallBack(); + virtual ~dPa_trackEcallBack() {} /* 0x04 */ s16 mState; /* 0x08 */ f32 mBaseY; /* 0x0C */ f32 mMinY; - /* 0x10 */ cXyz mPos[3]; + // /* 0x10 */ cXyz mPos[3]; /* 0x34 */ cXyz* mpPos; /* 0x38 */ csXyz* mpRot; /* 0x3C */ f32 mExTransY; @@ -163,7 +167,7 @@ public: class dPa_rippleEcallBack : public dPa_levelEcallBack { public: dPa_rippleEcallBack() { mpBaseEmitter = NULL; } - ~dPa_rippleEcallBack(); + virtual ~dPa_rippleEcallBack() {} void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); void end(); @@ -176,6 +180,122 @@ public: /* 0x10 */ f32 mRate; }; +class dPa_modelEmitter_c { +public: + u8 temp[0xC]; + + dPa_modelEmitter_c(); + virtual ~dPa_modelEmitter_c() {} +}; + +class JKRSolidHeap; + +class dPa_J3DmodelEmitter_c : public dPa_modelEmitter_c { +public: + u8 temp2[4]; + JKRSolidHeap* mpHeap; + + dPa_J3DmodelEmitter_c(JPABaseEmitter*, J3DModelData*, dKy_tevstr_c&, J3DAnmTexPattern*, unsigned short, int); + virtual ~dPa_J3DmodelEmitter_c(); + + virtual void draw(); +}; + +class dPa_J3Dmodel_c { +public: + dPa_J3Dmodel_c(); +}; + +class dPa_smokePcallBack : public JPACallBackBase2 { +public: + dPa_smokePcallBack(); + virtual ~dPa_smokePcallBack() {} + + virtual void execute(JPABaseEmitter*, JPABaseParticle*); + virtual void draw(JPABaseEmitter*, JPABaseParticle*); +}; + +class dPa_selectTexEcallBack : public dPa_levelEcallBack { +public: + dPa_selectTexEcallBack(); + virtual ~dPa_selectTexEcallBack() {} + + virtual void draw(JPABaseEmitter*); + virtual void setup(JPABaseEmitter*, const cXyz*, const csXyz*, s8); +}; + +class dPa_windPcallBack : JPACallBackBase2 { +public: + dPa_windPcallBack(); + virtual ~dPa_windPcallBack() {} + + virtual void execute(JPABaseEmitter*, JPABaseParticle*); +}; + +class dPa_singleRippleEcallBack : public dPa_levelEcallBack { +public: + dPa_singleRippleEcallBack(); + virtual ~dPa_singleRippleEcallBack() {} + + virtual void execute(JPABaseEmitter*); + virtual void draw(JPABaseEmitter*); + virtual void setup(JPABaseEmitter*, const cXyz*, const csXyz*, s8); +}; + +class dPa_ripplePcallBack : JPACallBackBase2 { +public: + dPa_ripplePcallBack(); + virtual ~dPa_ripplePcallBack() {} + + virtual void execute(JPABaseEmitter*, JPABaseParticle*); + virtual void draw(JPABaseEmitter*, JPABaseParticle*); +}; + +class dPa_cutTurnEcallBack_c : public dPa_levelEcallBack { +public: + dPa_cutTurnEcallBack_c(); + virtual ~dPa_cutTurnEcallBack_c() {} + + virtual void executeAfter(JPABaseEmitter*); + virtual void setup(JPABaseEmitter*, const cXyz*, const csXyz*, s8); + void end(); +}; + +class dPa_stripesEcallBack : public dPa_levelEcallBack { +public: + dPa_stripesEcallBack(); + virtual ~dPa_stripesEcallBack() {} + + virtual void draw(JPABaseEmitter*); + virtual void setup(JPABaseEmitter*, const cXyz*, const csXyz*, s8); +}; + +class dPa_kageroEcallBack : public JPACallBackBase { +public: + dPa_kageroEcallBack(); + virtual ~dPa_kageroEcallBack() {} + + virtual void draw(JPABaseEmitter*); +}; + +class dPa_bombSmokeEcallBack : public dPa_levelEcallBack { +public: + dPa_bombSmokeEcallBack(); + virtual ~dPa_bombSmokeEcallBack() {} + + virtual void execute(JPABaseEmitter*); + virtual void setup(JPABaseEmitter*, const cXyz*, const csXyz*, s8); +}; + +class dPa_setColorEcallBack : public dPa_levelEcallBack { +public: + dPa_setColorEcallBack(); + virtual ~dPa_setColorEcallBack() {} + + virtual void draw(JPABaseEmitter*); + virtual void setup(JPABaseEmitter*, const cXyz*, const csXyz*, s8); +}; + class dPa_modelControl_c { public: dPa_modelControl_c(J3DModelData*); @@ -215,7 +335,7 @@ public: /* 0x78 */ void* field_0x78; /* 0x7C */ void* field_0x7c; /* 0x80 */ void* field_0x80; - /* 0x84 */ J3DVertexData mVertexData; + // /* 0x84 */ J3DVertexData mVertexData; }; class dPa_control_c { diff --git a/include/d/d_s_actor_data_mng.h b/include/d/d_s_actor_data_mng.h new file mode 100644 index 000000000..2fd49b731 --- /dev/null +++ b/include/d/d_s_actor_data_mng.h @@ -0,0 +1,31 @@ +#ifndef D_S_ACTOR_DATA_MNG +#define D_S_ACTOR_DATA_MNG + +#include "SSystem/SComponent/c_data_tbl.h" + +class dADM_CharTbl : public cDT { +public: + u32 mIndex_ARG; + u32 mIndex_N_ITEM[16]; + u32 mIndex_percent; + u32 mIndex_ITEM[8]; + + dADM_CharTbl(); + void SetData(u32, u32, u32, u32, u32, u32, u32); + void SetUpIndex(); + int GetNameIndex2(const char*, int) const; +}; + +class dADM { +public: + /* 0x00 */ s32 mBlockCount; + /* 0x04 */ void *mpData; + /* 0x08 */ dADM_CharTbl mCharTbl; + + dADM(); + virtual ~dADM(); + bool FindTag(u32, u32*, u32*); + void SetData(void*); +}; + +#endif diff --git a/include/d/d_save.h b/include/d/d_save.h index e1c838621..c75f0548f 100644 --- a/include/d/d_save.h +++ b/include/d/d_save.h @@ -6,7 +6,7 @@ class dSv_player_status_a_c { public: - /* 800589A8 */ void init(); + void init(); u8 getSelectEquip(int i_no) { return mSelectEquip[i_no]; } u8 getWalletSize() { return mWalletSize; } @@ -77,16 +77,16 @@ STATIC_ASSERT(sizeof(dSv_player_return_place_c) == 0xC); class dSv_player_item_c { public: - /* 80058C60 */ void init(); - /* 80058C7C */ void setBottleItemIn(u8, u8); - /* 80058E1C */ void setEmptyBottleItemIn(u8); - /* 80058E44 */ void setEmptyBottle(); - /* 800591B0 */ void setEquipBottleItemIn(u8); - /* 80058F74 */ void setEquipBottleItemIn(u8, u8); - /* 80059408 */ void setEquipBottleItemEmpty(); - /* 8005918C */ void setEquipBottleItemEmpty(u8); - /* 8005942C */ u8 checkBottle(u8); - /* 8005946C */ u8 checkEmptyBottle(); + void init(); + void setBottleItemIn(u8, u8); + void setEmptyBottleItemIn(u8); + void setEmptyBottle(); + void setEquipBottleItemIn(u8); + void setEquipBottleItemIn(u8, u8); + void setEquipBottleItemEmpty(); + void setEquipBottleItemEmpty(u8); + u8 checkBottle(u8); + u8 checkEmptyBottle(); u8 getItem(int i_idx) const { return mItems[i_idx]; } @@ -97,11 +97,11 @@ STATIC_ASSERT(sizeof(dSv_player_item_c) == 0x15); class dSv_player_get_item_c { public: - /* 800594A8 */ void init(); - /* 800594C4 */ void onItem(int, u8); - /* 8005955C */ BOOL isItem(int, u8); - /* 800595F8 */ void onBottleItem(u8); - /* 80059740 */ bool isBottleItem(u8); + void init(); + void onItem(int, u8); + BOOL isItem(int, u8); + void onBottleItem(u8); + bool isBottleItem(u8); /* 0x0 */ u8 mItemFlags[21]; }; // Size: 0x15 @@ -110,10 +110,10 @@ STATIC_ASSERT(sizeof(dSv_player_get_item_c) == 0x15); class dSv_player_item_record_c { public: - /* 80059848 */ void init(); - /* 8005987C */ void resetTimer(u16); - /* 80059894 */ void decTimer(); - /* 800598D0 */ u16 getTimer(); + void init(); + void resetTimer(u16); + void decTimer(); + u16 getTimer(); u32 getArrowNum() const { return mArrowNum; } u32 getBombNum() const { return mBombNum; } @@ -129,7 +129,7 @@ STATIC_ASSERT(sizeof(dSv_player_item_record_c) == 0x8); class dSv_player_item_max_c { public: - /* 800598D8 */ void init(); + void init(); u8 getArrowNum() const { return mArrowNum; } u8 getBombNum() const { return mBombNum; } @@ -144,24 +144,24 @@ STATIC_ASSERT(sizeof(dSv_player_item_max_c) == 0x8); class dSv_player_bag_item_c { public: - /* 80059908 */ void init(); - /* 80059968 */ void setBeastItem(u8); - /* 800599D8 */ void setBeastItemEmpty(u8); - /* 80059C30 */ bool checkBeastItem(u8); - /* 80059C60 */ void setBaitItemChange(u8); - /* 80059EB0 */ void setBaitItemChange(u8, u8); - /* 8005A1A4 */ void setBaitItemEmpty(u8); - /* 8005A0C8 */ void setBaitItemEmpty(); - /* 8005A248 */ void setBaitItem(u8); - /* 8005A2D0 */ u8 checkBaitItemEmpty(); - /* 8005A2F4 */ u8 checkBaitItem(u8); - /* 8005A584 */ void setReserveItemChange(u8, u8); - /* 8005A334 */ void setReserveItemChange(u8); - /* 8005A7C0 */ void setReserveItemEmpty(u8); - /* 8005A79C */ void setReserveItemEmpty(); - /* 8005A7E4 */ void setReserveItem(u8); - /* 8005A854 */ bool checkReserveItemEmpty(); - /* 8005A878 */ bool checkReserveItem(u8); + void init(); + void setBeastItem(u8); + void setBeastItemEmpty(u8); + bool checkBeastItem(u8); + void setBaitItemChange(u8); + void setBaitItemChange(u8, u8); + void setBaitItemEmpty(u8); + void setBaitItemEmpty(); + void setBaitItem(u8); + u8 checkBaitItemEmpty(); + u8 checkBaitItem(u8); + void setReserveItemChange(u8, u8); + void setReserveItemChange(u8); + void setReserveItemEmpty(u8); + void setReserveItemEmpty(); + void setReserveItem(u8); + bool checkReserveItemEmpty(); + bool checkReserveItem(u8); u8 getBeast(int i_idx) const { return mBeast[i_idx]; } u8 getBait(int i_idx) const { return mBait[i_idx]; } @@ -176,13 +176,13 @@ STATIC_ASSERT(sizeof(dSv_player_bag_item_c) == 0x18); class dSv_player_get_bag_item_c { public: - /* 8005A8B8 */ void init(); - /* 8005A8CC */ void onBeast(u8); - /* 8005A960 */ BOOL isBeast(u8); - /* 8005A9F8 */ void onBait(u8); - /* 8005AA8C */ BOOL isBait(u8); - /* 8005AB24 */ void onReserve(u8); - /* 8005ABB4 */ BOOL isReserve(u8); + void init(); + void onBeast(u8); + BOOL isBeast(u8); + void onBait(u8); + BOOL isBait(u8); + void onReserve(u8); + BOOL isReserve(u8); /* 0x0 */ u32 mReserveFlags; /* 0x4 */ u8 mBeastFlags; @@ -194,7 +194,7 @@ STATIC_ASSERT(sizeof(dSv_player_get_bag_item_c) == 0xC); class dSv_player_bag_item_record_c { public: - /* 8005AC48 */ void init(); + void init(); u8 getBeastNum(int i_idx) const { return mBeastNum[i_idx]; } u8 getBaitNum(int i_idx) const { return mBaitNum[i_idx]; } @@ -209,17 +209,17 @@ STATIC_ASSERT(sizeof(dSv_player_bag_item_record_c) == 0x18); class dSv_player_collect_c { public: - /* 8005ACA8 */ void init(); - /* 8005ACE0 */ void onCollect(int, u8); - /* 8005AD78 */ void offCollect(int, u8); - /* 8005AE10 */ BOOL isCollect(int, u8); - /* 8005AEAC */ void onTact(u8); - /* 8005AF40 */ BOOL isTact(u8); - /* 8005AFD8 */ void onTriforce(u8); - /* 8005B06C */ BOOL isTriforce(u8); - /* 8005B104 */ void onSymbol(u8); - /* 8005B198 */ BOOL isSymbol(u8); - /* 8005B230 */ int getTriforceNum(); + void init(); + void onCollect(int, u8); + void offCollect(int, u8); + BOOL isCollect(int, u8); + void onTact(u8); + BOOL isTact(u8); + void onTriforce(u8); + BOOL isTriforce(u8); + void onSymbol(u8); + BOOL isSymbol(u8); + int getTriforceNum(); /* 0x0 */ u8 field_0x0[8]; /* 0x8 */ u8 field_0x8; @@ -233,25 +233,25 @@ STATIC_ASSERT(sizeof(dSv_player_collect_c) == 0xD); class dSv_player_map_c { public: - /* 8005B290 */ void init(); - /* 8005B320 */ void onGetMap(int); - /* 8005B3CC */ BOOL isGetMap(int); - /* 8005B47C */ void onOpenMap(int); - /* 8005B528 */ void offOpenMap(int); - /* 8005B5D4 */ BOOL isOpenMap(int); - /* 8005B684 */ void onCompleteMap(int); - /* 8005B730 */ void offCompleteMap(int); - /* 8005B7DC */ BOOL isCompleteMap(int); - /* 8005B88C */ void onTriforce(int); - /* 8005B92C */ void offTriforce(int); - /* 8005B9CC */ BOOL isTriforce(int); - /* 8005BA70 */ int getCollectMapNum(); - /* 8005BAE8 */ void onFmapBit(int, u8); - /* 8005BB84 */ BOOL isFmapBit(int, u8); - /* 8005BC24 */ void onSaveArriveGrid(int); - /* 8005BCBC */ BOOL isSaveArriveGrid(int); - /* 8005BD54 */ void onSaveArriveGridForAgb(int); - /* 8005BDEC */ BOOL isSaveArriveGridForAgb(int); + void init(); + void onGetMap(int); + BOOL isGetMap(int); + void onOpenMap(int); + void offOpenMap(int); + BOOL isOpenMap(int); + void onCompleteMap(int); + void offCompleteMap(int); + BOOL isCompleteMap(int); + void onTriforce(int); + void offTriforce(int); + BOOL isTriforce(int); + int getCollectMapNum(); + void onFmapBit(int, u8); + BOOL isFmapBit(int, u8); + void onSaveArriveGrid(int); + BOOL isSaveArriveGrid(int); + void onSaveArriveGridForAgb(int); + BOOL isSaveArriveGridForAgb(int); /* 0x00 */ u32 field_0x0[4][4]; /* 0x40 */ u8 field_0x40[49]; @@ -264,7 +264,7 @@ STATIC_ASSERT(sizeof(dSv_player_map_c) == 0x84); class dSv_player_info_c { public: - /* 8005BE84 */ void init(); + void init(); const char* getPlayerName() const { return mPlayerName; } @@ -284,8 +284,8 @@ STATIC_ASSERT(sizeof(dSv_player_info_c) == 0x5C); class dSv_player_config_c { public: - /* 8005BF2C */ void init(); - /* 8005BFA4 */ s32 checkVibration(); + void init(); + s32 checkVibration(); u8 getVibration() const { return mVibration; } @@ -300,8 +300,8 @@ STATIC_ASSERT(sizeof(dSv_player_config_c) == 0x5); class dSv_player_priest_c { public: - /* 8005BFC8 */ void init(); - /* 8005BFD4 */ void set(u8, cXyz&, s16, s8); + void init(); + void set(u8, cXyz&, s16, s8); /* 0x0 */ cXyz field_0x0; /* 0xC */ s16 field_0xc; @@ -313,7 +313,7 @@ STATIC_ASSERT(sizeof(dSv_player_priest_c) == 0x10); class dSv_player_status_c_c { public: - /* 8005BFFC */ void init(); + void init(); /* 0x00 */ dSv_player_status_a_c mRecollectStatusA; /* 0x18 */ dSv_player_item_c mRecollectItem; @@ -328,7 +328,7 @@ STATIC_ASSERT(sizeof(dSv_player_status_c_c) == 0x70); class dSv_player_c { public: - /* 8005C000 */ void init(); + void init(); dSv_player_status_a_c& getPlayerStatusA() { return mPlayerStatusA; } dSv_player_status_a_c* getpPlayerStatusA() { return &mPlayerStatusA; } @@ -409,19 +409,19 @@ public: /* 0x7 */ STAGE_BOSS_ENEMY_2 = 7 }; - /* 8005C094 */ void init(); - /* 8005C0EC */ void onTbox(int); - /* 8005C188 */ BOOL isTbox(int); - /* 8005C228 */ void onSwitch(int); - /* 8005C2D4 */ void offSwitch(int); - /* 8005C380 */ BOOL isSwitch(int); - /* 8005C430 */ BOOL revSwitch(int); - /* 8005C4EC */ void onItem(int); - /* 8005C598 */ BOOL isItem(int); - /* 8005C648 */ void onVisitedRoom(int); - /* 8005C6F4 */ BOOL isVisitedRoom(int); - /* 8005C7A4 */ void onDungeonItem(int); - /* 8005C844 */ BOOL isDungeonItem(int); + void init(); + void onTbox(int); + BOOL isTbox(int); + void onSwitch(int); + void offSwitch(int); + BOOL isSwitch(int); + BOOL revSwitch(int); + void onItem(int); + BOOL isItem(int); + void onVisitedRoom(int); + BOOL isVisitedRoom(int); + void onDungeonItem(int); + BOOL isDungeonItem(int); u8 getKeyNum() { return mKeyNum; } void setKeyNum(u8 i_keyNum) { mKeyNum = i_keyNum; } @@ -449,9 +449,9 @@ STATIC_ASSERT(sizeof(dSv_memBit_c) == 0x24); class dSv_ocean_c { public: - /* 8005C8E8 */ void init(); - /* 8005C908 */ void onOceanSvBit(u8 i_grid, u16 i_bit); - /* 8005C9E8 */ BOOL isOceanSvBit(u8 i_grid, u16 i_bit); + void init(); + void onOceanSvBit(u8 i_grid, u16 i_bit); + BOOL isOceanSvBit(u8 i_grid, u16 i_bit); /* 0x0 */ u16 field_0x0[50]; }; @@ -460,12 +460,12 @@ STATIC_ASSERT(sizeof(dSv_ocean_c) == 0x64); class dSv_event_c { public: - /* 8005CACC */ void init(); - /* 8005CB04 */ void onEventBit(u16); - /* 8005CB1C */ void offEventBit(u16); - /* 8005CB34 */ BOOL isEventBit(u16); - /* 8005CB58 */ void setEventReg(u16, u8); - /* 8005CB7C */ u8 getEventReg(u16); + void init(); + void onEventBit(u16); + void offEventBit(u16); + BOOL isEventBit(u16); + void setEventReg(u16, u8); + u8 getEventReg(u16); /* 0x0 */ u8 mFlags[0x100]; }; // Size: 0x100 @@ -474,7 +474,7 @@ STATIC_ASSERT(sizeof(dSv_event_c) == 0x100); class dSv_reserve_c { public: - /* 8005CB94 */ void init(); + void init(); /* 0x0 */ u8 mReserve[0x50]; }; // Size: 0x50 @@ -482,7 +482,7 @@ public: class dSv_memory_c { public: dSv_memory_c() { init(); } - /* 8005CBB0 */ void init(); + void init(); dSv_memBit_c& getBit() { return mMembit; } const dSv_memBit_c& getBit() const { return mMembit; } @@ -494,11 +494,11 @@ STATIC_ASSERT(sizeof(dSv_memory_c) == 0x24); class dSv_danBit_c { public: - /* 8005CBD0 */ int init(s8); - /* 8005CC08 */ void onSwitch(int); - /* 8005CCB4 */ void offSwitch(int); - /* 8005CD60 */ BOOL isSwitch(int); - /* 8005CE10 */ BOOL revSwitch(int); + int init(s8); + void onSwitch(int); + void offSwitch(int); + BOOL isSwitch(int); + BOOL revSwitch(int); u8 getGbaRupeeCount() { return mGbaRupeeCount; } void incGbaRupeeCount() { mGbaRupeeCount++; } @@ -510,14 +510,14 @@ public: class dSv_zoneBit_c { public: - /* 8005CECC */ void init(); - /* 8005CEF4 */ void clearRoomSwitch(); - /* 8005CF00 */ void onSwitch(int); - /* 8005CFAC */ void offSwitch(int); - /* 8005D054 */ BOOL isSwitch(int); - /* 8005D100 */ BOOL revSwitch(int); - /* 8005D1B8 */ void onItem(int); - /* 8005D254 */ BOOL isItem(int); + void init(); + void clearRoomSwitch(); + void onSwitch(int); + void offSwitch(int); + BOOL isSwitch(int); + BOOL revSwitch(int); + void onItem(int); + BOOL isItem(int); static const int SWITCH_MAX = 48; @@ -527,9 +527,9 @@ public: class dSv_zoneActor_c { public: - /* 8005D2F4 */ void init(); - /* 8005D314 */ void on(int); - /* 8005D3BC */ BOOL is(int); + void init(); + void on(int); + BOOL is(int); static const int ACTOR_MAX = 512; @@ -539,7 +539,7 @@ public: class dSv_zone_c { public: dSv_zone_c() { mRoomNo = -1; } - /* 8005D468 */ void init(int); + void init(int); dSv_zoneBit_c& getZoneBit() { return mZoneBit; } const dSv_zoneBit_c& getBit() const { return mZoneBit; } @@ -555,9 +555,9 @@ public: class dSv_restart_c { public: - /* 8005D4A4 */ void setRoom(cXyz const&, s16, s8); - /* 8005D4C8 */ void setRestartOption(s8); - /* 8005D584 */ void setRestartOption(s8, cXyz*, s16, s8); + void setRoom(cXyz const&, s16, s8); + void setRestartOption(s8); + void setRestartOption(s8, cXyz*, s16, s8); void setRoomParam(u32 param) { mRestartParam = param; } void setStartPoint(s16 point) { mStartCode = point; } @@ -612,7 +612,7 @@ public: class dSv_save_c { public: - /* 8005D860 */ void init(); + void init(); dSv_player_c& getPlayer() { return mPlayer; } dSv_ocean_c& getOcean() { return mOcean; } @@ -656,6 +656,7 @@ public: dSv_ocean_c& getOcean() { return mSavedata.getOcean(); } dSv_event_c& getEvent() { return mSavedata.getEvent(); } dSv_restart_c& getRestart() { return mRestart; } + dSv_event_c& getTmp() { return mTmp; } dSv_turnRestart_c& getTurnRestart() { return mTurnRestart; } dSv_memory_c& getMemory() { return mMemory; } dSv_danBit_c& getDan() { return mDan; } diff --git a/include/d/d_snap.h b/include/d/d_snap.h index 13e6ce7de..1489dfa32 100644 --- a/include/d/d_snap.h +++ b/include/d/d_snap.h @@ -1,7 +1,23 @@ #ifndef D_SNAP_H #define D_SNAP_H -void dSnap_DebugDraw(); +#include "f_op/f_op_actor.h" + +class dSnap_Obj; + +void dSnap_PhotoIndex2TableIndex(int); +void dSnap_GetFigRoomId(int); +void dSnap_MatDl(); +void dSnap_AlphaClearDL(); +void dSnap_Create(); +void dSnap_ReleaseShutter(); void dSnap_Execute(); +void dSnap_GetResult(); +void dSnap_GetResultDetail(); +void dSnap_RegistSnapObj(dSnap_Obj&); +void dSnap_RegistFig(unsigned char, fopAc_ac_c*, float, float, float); +void dSnap_RegistFig(unsigned char, fopAc_ac_c*, const Vec&, short, float, float, float); +void dSnap_DebugDraw(); +void dSnap_Delete(); #endif /* D_SNAP_H */ \ No newline at end of file diff --git a/include/dolphin/dsp.h b/include/dolphin/dsp.h new file mode 100644 index 000000000..534ab88cd --- /dev/null +++ b/include/dolphin/dsp.h @@ -0,0 +1,70 @@ +#ifndef _DOLPHIN_DSP +#define _DOLPHIN_DSP + +#include "dolphin/os/OS.h" +#include "dolphin/types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define DSP_TASK_FLAG_CLEARALL 0x00000000 +#define DSP_TASK_FLAG_ATTACHED 0x00000001 +#define DSP_TASK_FLAG_CANCEL 0x00000002 + +#define DSP_TASK_STATE_INIT 0 +#define DSP_TASK_STATE_RUN 1 +#define DSP_TASK_STATE_YIELD 2 +#define DSP_TASK_STATE_DONE 3 + +typedef void (*DSPCallback)(void* task); + +typedef struct STRUCT_DSP_TASK { + vu32 state; + vu32 priority; + vu32 flags; + u16* iram_mmem_addr; + u32 iram_length; + u32 iram_addr; + + u16* dram_mmem_addr; + u32 dram_length; + u32 dram_addr; + + u16 dsp_init_vector; + u16 dsp_resume_vector; + + DSPCallback init_cb; + DSPCallback res_cb; + DSPCallback done_cb; + DSPCallback req_cb; + + struct STRUCT_DSP_TASK* next; + struct STRUCT_DSP_TASK* prev; + + OSTime t_context; + OSTime t_task; + +} DSPTaskInfo; + +void DSPInit(); +void DSPReset(); +void DSPHalt(); +void DSPSendMailToDSP(u32 mail); +u32 DSPCheckMailToDSP(); +u32 DSPCheckMailFromDSP(); +u32 DSPGetDMAStatus(); + +DSPTaskInfo* DSPAddTask(DSPTaskInfo* task); + +void __DSP_exec_task(DSPTaskInfo* curr, DSPTaskInfo* next); +void __DSP_boot_task(DSPTaskInfo* task); +void __DSP_remove_task(DSPTaskInfo* task); +void __DSP_add_task(DSPTaskInfo* task); +void __DSP_debug_printf(const char* fmt, ...); + +#ifdef __cplusplus +} +#endif + +#endif // _DOLPHIN_DSP \ No newline at end of file diff --git a/include/dolphin/gba/GBA.h b/include/dolphin/gba/GBA.h new file mode 100644 index 000000000..155ec3691 --- /dev/null +++ b/include/dolphin/gba/GBA.h @@ -0,0 +1,65 @@ +#ifndef _DOLPHIN_GBA +#define _DOLPHIN_GBA + +#include "dolphin/types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define GBA_CHAN0 0 +#define GBA_CHAN1 1 +#define GBA_CHAN2 2 +#define GBA_CHAN3 3 +#define GBA_MAX_CHAN 4 + +#define GBA_ALL_KEY_MASK 0x03ff +#define GBA_A_BUTTON 0x0001 +#define GBA_B_BUTTON 0x0002 +#define GBA_SELECT_BUTTON 0x0004 +#define GBA_START_BUTTON 0x0008 +#define GBA_R_KEY 0x0010 +#define GBA_L_KEY 0x0020 +#define GBA_U_KEY 0x0040 +#define GBA_D_KEY 0x0080 +#define GBA_R_BUTTON 0x0100 +#define GBA_L_BUTTON 0x0200 + +#define GBA_JSTAT_MASK 0x3a +#define GBA_JSTAT_FLAGS_SHIFT 4 +#define GBA_JSTAT_FLAGS_MASK 0x30 +#define GBA_JSTAT_PSF1 0x20 +#define GBA_JSTAT_PSF0 0x10 +#define GBA_JSTAT_SEND 0x08 +#define GBA_JSTAT_RECV 0x02 + +#define GBA_READY 0 +#define GBA_NOT_READY 1 +#define GBA_BUSY 2 +#define GBA_JOYBOOT_UNKNOWN_STATE 3 +#define GBA_JOYBOOT_ERR_INVALID 4 + +#define GBA_JOYBOOT_PROGRAM_SIZE_MAX 0x40000 + +#define GBA_JOYBOOT_BOOTPARAM_OFFSET 0xc8 +#define GBA_JOYBOOT_BOOTPARAM_SIZE 0x18 +typedef void (*GBACallback)(s32 chan, s32 ret); +void GBAInit(void); +s32 GBAGetStatus(s32 chan, u8* status); +s32 GBAGetStatusAsync(s32 chan, u8* status, GBACallback callback); +s32 GBAReset(s32 chan, u8* status); +s32 GBAResetAsync(s32 chan, u8* status, GBACallback callback); +s32 GBAGetProcessStatus(s32 chan, u8* percentp); +s32 GBARead(s32 chan, u8* dst, u8* status); +s32 GBAReadAsync(s32 chan, u8* dst, u8* status, GBACallback callback); +s32 GBAWrite(s32 chan, u8* src, u8* status); +s32 GBAWriteAsync(s32 chan, u8* src, u8* status, GBACallback callback); +s32 GBAJoyBoot(s32 chan, s32 palette_color, s32 palette_speed, u8* programp, s32 length, + u8* status); +s32 GBAJoyBootAsync(s32 chan, s32 palette_color, s32 palette_speed, u8* programp, s32 length, + u8* status, GBACallback callback); +#ifdef __cplusplus +} +#endif + +#endif // _DOLPHIN_GBA \ No newline at end of file diff --git a/include/dolphin/gba/GBAPriv.h b/include/dolphin/gba/GBAPriv.h new file mode 100644 index 000000000..5864df891 --- /dev/null +++ b/include/dolphin/gba/GBAPriv.h @@ -0,0 +1,80 @@ +#ifndef _DOLPHIN_GBAPRIV +#define _DOLPHIN_GBAPRIV + +#include "dolphin/types.h" + +#include "dolphin/dsp.h" +#include "dolphin/gba/GBA.h" +#include "dolphin/os/OS.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void (*GBATransferCallback)(s32 chan); + +typedef struct GBASecParam { + u8 readbuf[4]; + s32 paletteColor; + s32 paletteSpeed; + s32 length; + u32* out; + u8 _padding0[12]; + u32 keyA; + s32 keyB; + u8 _padding1[24]; +} GBASecParam; + +typedef struct GBABootInfo { + s32 paletteColor; + s32 paletteSpeed; + u8* programp; + s32 length; + u8* status; + GBACallback callback; + u8 readbuf[4]; + u8 writebuf[4]; + int i; + OSTick start; + OSTime begin; + int firstXfer; + int curOffset; + u32 crc; + u32 dummyWord[7]; + u32 keyA; + s32 keyB; + u32 initialCode; + int realLength; +} GBABootInfo; + +typedef struct GBAControl { + u8 output[5]; + u8 input[5]; + s32 outputBytes; + s32 inputBytes; + u8* status; + u8* ptr; + GBACallback callback; + s32 ret; + OSThreadQueue threadQueue; + OSTime delay; + GBATransferCallback proc; + GBABootInfo bootInfo; + DSPTaskInfo task; + GBASecParam* param; +} GBAControl; + +extern GBAControl __GBA[4]; +extern BOOL __GBAReset; + +void __GBAHandler(s32 chan, u32 error, OSContext* context); +void __GBASyncCallback(s32 chan, s32 ret); +s32 __GBASync(s32 chan); +OSTime __GBASetDelay(s32 chan, OSTime delay); +s32 __GBATransfer(s32 chan, s32 w1, s32 w2, GBATransferCallback callback); + +#ifdef __cplusplus +} +#endif + +#endif // _DOLPHIN_GBAPRIV \ No newline at end of file diff --git a/include/dolphin/gd/GDBase.h b/include/dolphin/gd/GDBase.h index 32fdeba3c..55e063ddb 100644 --- a/include/dolphin/gd/GDBase.h +++ b/include/dolphin/gd/GDBase.h @@ -7,7 +7,7 @@ extern "C" { #endif -typedef struct GDLObj { +typedef struct _GDLObj { /* 0x0 */ u8* start; /* 0x4 */ u32 length; /* 0x8 */ u8* ptr; @@ -16,18 +16,34 @@ typedef struct GDLObj { extern GDLObj* __GDCurrentDL; -inline void GDSetCurrent(GDLObj* obj) { - __GDCurrentDL = obj; -} +typedef void (*GDOverflowCallback)(void); + +void GDInitGDLObj(GDLObj*, u8*, u32); +void GDFlushCurrToMem(void); +void GDPadCurr32(void); +void GDOverflowed(void); +void GDSetVtxDescv(GXVtxDescList*); inline void __GDWrite(u8 data) { *__GDCurrentDL->ptr++ = data; } +inline void GDSetCurrent(GDLObj* obj) { + __GDCurrentDL = obj; +} + inline u32 GDGetGDLObjOffset(GDLObj* obj) { return (u32)(obj->ptr - obj->start); } +inline u8* GDGetCurrPointer() { + return __GDCurrentDL->ptr; +} + +inline s32 GDGetCurrOffset() { + return __GDCurrentDL->ptr - __GDCurrentDL->start; +} + inline void GDSetCurrOffset(s32 offs) { __GDCurrentDL->ptr = __GDCurrentDL->start + offs; } @@ -36,19 +52,35 @@ inline void GDAdvCurrOffset(s32 offs) { __GDCurrentDL->ptr += offs; } +/* Unused inline GDLObj* GDGetCurrent() { return __GDCurrentDL; +} */ + +inline void GDOverflowCheck(u32 len) { + if (__GDCurrentDL->ptr + len > __GDCurrentDL->end) { + GDOverflowed(); + } } -inline u8* GDGetCurrPointer() { - return __GDCurrentDL->ptr; +inline void GDWrite_u32(u32 v) { + GDOverflowCheck(4); + __GDWrite((v >> 24) & 0xff); + __GDWrite((v >> 16) & 0xff); + __GDWrite((v >> 8) & 0xff); + __GDWrite((v >> 0) & 0xff); } -void GDInitGDLObj(GDLObj*, u8*, u32); -void GDFlushCurrToMem(); -void GDPadCurr32(); +inline void GDWrite_u16(u16 v) { + GDOverflowCheck(2); + __GDWrite(v >> 8); + __GDWrite(v & 0xff); +} -typedef void (*GDOverflowCallback)(void); +inline void GDWrite_u8(u8 v) { + GDOverflowCheck(1); + __GDWrite(v); +} #ifdef __cplusplus }; diff --git a/include/dolphin/gx/GX.h b/include/dolphin/gx/GX.h index cc692a1a3..6deccd578 100644 --- a/include/dolphin/gx/GX.h +++ b/include/dolphin/gx/GX.h @@ -127,18 +127,18 @@ inline void GXTexCoord2s16(const s16 u, const s16 v) { } inline void GFWriteBPCmd(u32 param_1) { - GXFIFO.u8 = 0x61; - GXFIFO.u32 = param_1; + GXFIFO.u8 = 0x61; + GXFIFO.u32 = param_1; } inline void GFFill(u16 param_1, u32 param_2) { - GXFIFO.u8 = 0x10; - GXFIFO.u16 = 0; - GXFIFO.u16 = param_1; - GXFIFO.u32 = param_2; + GXFIFO.u8 = 0x10; + GXFIFO.u16 = 0; + GXFIFO.u16 = param_1; + GXFIFO.u32 = param_2; } -inline void i_GXEnd() {} +inline void GXEnd() {} #ifdef __cplusplus }; diff --git a/include/dolphin/gx/GXEnum.h b/include/dolphin/gx/GXEnum.h index 591f873ef..a28e11259 100644 --- a/include/dolphin/gx/GXEnum.h +++ b/include/dolphin/gx/GXEnum.h @@ -301,12 +301,12 @@ typedef enum _GXTevColorArg { /* 0xF */ GX_CC_ZERO, } GXTevColorArg; -typedef enum _GXTevColor { +typedef enum _GXTevColorChan { /* 0x0 */ GX_CH_RED, /* 0x1 */ GX_CH_GREEN, /* 0x2 */ GX_CH_BLUE, /* 0x3 */ GX_CH_ALPHA, -} GXTevColor; +} GXTevColorChan; typedef enum _GXTevScale { /* 0x0 */ GX_CS_SCALE_1, @@ -806,4 +806,4 @@ typedef enum _GXTlutSize { /* 0x400 */ GX_TLUT_16K = 1024, } GXTlutSize; -#endif /* GXENUM_H */ \ No newline at end of file +#endif /* GXENUM_H */ diff --git a/include/dolphin/gx/GXTev.h b/include/dolphin/gx/GXTev.h index 20da7b385..338b52ea9 100644 --- a/include/dolphin/gx/GXTev.h +++ b/include/dolphin/gx/GXTev.h @@ -23,8 +23,8 @@ void GXSetTevKColor(GXTevKColorID id, GXColor color); void GXSetTevKColorSel(GXTevStageID stage, GXTevKColorSel color_sel); void GXSetTevKAlphaSel(GXTevStageID stage, GXTevKAlphaSel alpha_sel); void GXSetTevSwapMode(GXTevStageID stage, GXTevSwapSel ras_sel, GXTevSwapSel tex_sel); -void GXSetTevSwapModeTable(GXTevSwapSel select, GXTevColor r, GXTevColor g, GXTevColor b, - GXTevColor a); +void GXSetTevSwapModeTable(GXTevSwapSel select, GXTevColorChan r, GXTevColorChan g, GXTevColorChan b, + GXTevColorChan a); void GXSetAlphaCompare(GXCompare comp0, u8 ref0, GXAlphaOp op, GXCompare comp1, u8 ref1); void GXSetZTexture(GXZTexOp op, GXTexFmt fmt, u32 bias); void GXSetTevOrder(GXTevStageID stage, GXTexCoordID coord, GXTexMapID map, GXChannelID color); diff --git a/include/f_ap/f_ap_game.h b/include/f_ap/f_ap_game.h index 66e4fa6ca..77a68a77e 100644 --- a/include/f_ap/f_ap_game.h +++ b/include/f_ap/f_ap_game.h @@ -9,8 +9,8 @@ void fapGm_Execute(); class fapGm_HIO_c { public: - /* 80018944 */ fapGm_HIO_c(); - /* 80018AE0 */ virtual ~fapGm_HIO_c(); + fapGm_HIO_c(); + virtual ~fapGm_HIO_c(); /* 0x04 */ u8 field_0x04[0x06 - 0x04]; /* 0x06 */ u8 mDisplayMeter; diff --git a/include/f_op/f_op_actor.h b/include/f_op/f_op_actor.h index 7cfed1a05..11338b282 100644 --- a/include/f_op/f_op_actor.h +++ b/include/f_op/f_op_actor.h @@ -172,8 +172,10 @@ class JntHit_c; struct fopAc_cullSizeSphere { public: +#ifndef __INTELLISENSE__ fopAc_cullSizeSphere() {} fopAc_cullSizeSphere(cXyz, float); +#endif /* 0x0 */ Vec mCenter; /* 0xC */ f32 mRadius; @@ -181,9 +183,11 @@ public: struct fopAc_cullSizeBox { public: +#ifndef __INTELLISENSE__ fopAc_cullSizeBox() {} fopAc_cullSizeBox(const fopAc_cullSizeBox&); fopAc_cullSizeBox(cXyz, cXyz); +#endif /* 0x0 */ Vec mMin; /* 0xC */ Vec mMax; @@ -245,7 +249,27 @@ public: STATIC_ASSERT(sizeof(fopAc_ac_c) == 0x290); -class fopEn_enemy_c; +class fopEn_enemy_c : public fopAc_ac_c { +public: + enum ParryOpeningType { + OPENING_NONE = 0, + OPENING_JUMP_PARRY = 1, + OPENING_ROLL_PARRY = 2, + OPENING_VERTICAL_JUMP_PARRY = 3, + OPENING_GANONDORF_FINISHER_PARRY = 4, + }; + + /* 0x290 */ f32 m290; + /* 0x294 */ f32 m294; + /* 0x298 */ f32 m298; + /* 0x29C */ f32 m29C; + /* 0x2A0 */ f32 m2A0; + /* 0x2A4 */ f32 m2A4; + /* 0x2A8 */ u8 mCurrParryOpeningType; + /* 0x2A9 */ u8 field_2A9[0x2AC - 0x2A9]; +}; + +STATIC_ASSERT(sizeof(fopEn_enemy_c) == 0x2AC); s32 fopAc_IsActor(void* actor); diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index 7336acb84..f62be57d0 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -62,9 +62,9 @@ class dKy_tevstr_c; typedef int (*heapCallbackFunc)(fopAc_ac_c*); typedef int (*createFunc)(void*); -struct DOUBLE_POS { - double x, y, z; -}; +// struct DOUBLE_POS { +// double x, y, z; +// }; inline s8 fopAcM_GetRoomNo(fopAc_ac_c* pActor) { return pActor->current.roomNo; @@ -321,6 +321,10 @@ inline void fopAcM_onActor(fopAc_ac_c* p_actor) { dComIfGs_onActor(setId, fopAcM_GetHomeRoomNo(p_actor)); } +inline bool fopAcM_IsFirstCreating(void* i_actor) { + return fpcM_IsFirstCreating(i_actor); +} + void fopAcM_initManager(); void* fopAcM_FastCreate(s16 pProcTypeID, FastCreateReqFunc param_2, void* param_3, void* pData); @@ -408,23 +412,18 @@ s32 fopAcM_rollPlayerCrash(fopAc_ac_c*, f32, u32); s32 fopAcM_checkCullingBox(f32[3][4], f32, f32, f32, f32, f32, f32); s32 fopAcM_cullingCheck(fopAc_ac_c*); void* event_second_actor(u16); -s32 fopAcM_orderTalkEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16); -s32 fopAcM_orderTalkItemBtnEvent(u16, fopAc_ac_c*, fopAc_ac_c*, u16, u16); +s32 fopAcM_orderTalkEvent(fopAc_ac_c*, fopAc_ac_c*); s32 fopAcM_orderSpeakEvent(fopAc_ac_c* i_actor); -s32 fopAcM_orderDoorEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16); -s32 fopAcM_orderCatchEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16); -s32 fopAcM_orderOtherEvent(fopAc_ac_c*, char*, u16, u16, u16); -s32 fopAcM_orderOtherEvent(fopAc_ac_c*, fopAc_ac_c*, char*, u16, u16, u16); +s32 fopAcM_orderDoorEvent(fopAc_ac_c*, fopAc_ac_c*); +s32 fopAcM_orderCatchEvent(fopAc_ac_c*, fopAc_ac_c*); s32 fopAcM_orderOtherEvent2(fopAc_ac_c*, char*, u16, u16); s32 fopAcM_orderChangeEventId(fopAc_ac_c* i_this, s16 eventIdx, u16 flag, u16 hind); s32 fopAcM_orderChangeEventId(fopAc_ac_c* i_this, fopAc_ac_c* i_partner, s16 eventIdx, u16 flag, u16 hind); s32 fopAcM_orderOtherEventId(fopAc_ac_c* actor, s16 eventID, u8 mapToolID, u16 param_3, u16 priority, u16 flag); -s32 fopAcM_orderMapToolEvent(fopAc_ac_c*, u8, s16, u16, u16, u16); -s32 fopAcM_orderMapToolAutoNextEvent(fopAc_ac_c*, u8, s16, u16, u16, u16); s32 fopAcM_orderPotentialEvent(fopAc_ac_c*, u16, u16, u16); -s32 fopAcM_orderItemEvent(fopAc_ac_c*, u16, u16); -s32 fopAcM_orderTreasureEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16); +s32 fopAcM_orderItemEvent(fopAc_ac_c*); +s32 fopAcM_orderTreasureEvent(fopAc_ac_c*, fopAc_ac_c*); fopAc_ac_c* fopAcM_getTalkEventPartner(fopAc_ac_c*); fopAc_ac_c* fopAcM_getItemEventPartner(fopAc_ac_c*); fopAc_ac_c* fopAcM_getEventPartner(fopAc_ac_c*); @@ -499,6 +498,8 @@ fopAc_ac_c* fopAcM_searchFromName4Event(char* name, s16 eventID); s32 fopAcM_getWaterY(const cXyz*, f32*); void fpoAcM_relativePos(fopAc_ac_c* actor, cXyz* p_inPos, cXyz* p_outPos); +void fopAcM_setGbaName(fopAc_ac_c* i_this, u8 itemNo, u8 gbaName0, u8 gbaName1); + inline void make_prm_warp_hole(u32* actorParams, u8 p1, u8 p2, u8 p3) { u32 pp1 = (p3 << 0x8); u32 pp2 = (p2 << 0x10); diff --git a/include/f_op/f_op_scene.h b/include/f_op/f_op_scene.h index ee5b4bd1f..ec3f4291a 100644 --- a/include/f_op/f_op_scene.h +++ b/include/f_op/f_op_scene.h @@ -14,14 +14,14 @@ struct scene_method_class { typedef struct scene_process_profile_definition { /* 0x00 */ node_process_profile_definition mBase; - /* 0x20 */ process_method_class* mpMtd; // Subclass methods - /* 0x24 */ u32 field_0x24; // padding? + /* 0x20 */ scene_method_class* mpMtd; // Subclass methods + /* 0x24 */ u32 field_0x24; // padding? } scene_process_profile_definition; class scene_class { public: /* 0x000 */ process_node_class mBase; - /* 0x1AC */ process_method_class* mpMtd; + /* 0x1AC */ scene_method_class* mpMtd; /* 0x1B0 */ scene_tag_class mScnTg; }; diff --git a/include/f_op/f_op_scene_tag.h b/include/f_op/f_op_scene_tag.h index 8d024f0c5..51ef174f6 100644 --- a/include/f_op/f_op_scene_tag.h +++ b/include/f_op/f_op_scene_tag.h @@ -2,12 +2,10 @@ #define F_F_OP_SCENE_TAG_H_ #include "SSystem/SComponent/c_phase.h" +#include "f_pc/f_pc_create_tag.h" #include "f_pc/f_pc_node.h" - -class scene_tag_class { -public: - u8 field_0x00[0x14]; +class scene_tag_class : public create_tag_class { }; void fopScnTg_QueueTo(scene_tag_class* pSceneTag); diff --git a/include/m_Do/m_Do_MemCard.h b/include/m_Do/m_Do_MemCard.h index a32ad8e31..0cd615e14 100644 --- a/include/m_Do/m_Do_MemCard.h +++ b/include/m_Do/m_Do_MemCard.h @@ -15,27 +15,27 @@ public: CARD_DETACH, }; - /* 8001672C */ mDoMemCd_Ctrl_c(); - /* 80016730 */ void ThdInit(); - /* 800167D0 */ void main(); - /* 80016894 */ void update(); - /* 800169B4 */ void load(); - /* 80016A0C */ void restore(); - /* 80016AB0 */ s32 LoadSync(void*, u32, u32); - /* 80016B58 */ void save(void*, u32, u32); - /* 80016BD4 */ void store(); - /* 80016CE0 */ s32 SaveSync(); - /* 80016D74 */ u32 getStatus(u32); - /* 80016E58 */ void command_format(); - /* 80016EA8 */ void format(); - /* 80016F2C */ s32 FormatSync(); - /* 80016FB8 */ void attach(); - /* 800170B8 */ void command_attach(); - /* 80017110 */ void detach(); - /* 80017148 */ s32 mount(); - /* 80017274 */ s32 loadfile(); - /* 800172D4 */ s32 checkspace(); - /* 80017360 */ void setCardState(s32); + mDoMemCd_Ctrl_c(); + void ThdInit(); + void main(); + void update(); + void load(); + void restore(); + s32 LoadSync(void*, u32, u32); + void save(void*, u32, u32); + void store(); + s32 SaveSync(); + u32 getStatus(u32); + void command_format(); + void format(); + s32 FormatSync(); + void attach(); + void command_attach(); + void detach(); + s32 mount(); + s32 loadfile(); + s32 checkspace(); + void setCardState(s32); bool isCardCommNone() { return mCardCommand == CARD_NO_COMMAND; } diff --git a/include/m_Do/m_Do_dvd_thread.h b/include/m_Do/m_Do_dvd_thread.h index 3cc236728..f4d4013f9 100644 --- a/include/m_Do/m_Do_dvd_thread.h +++ b/include/m_Do/m_Do_dvd_thread.h @@ -16,8 +16,8 @@ public: /* 0x0C */ bool mIsDone; /* 0x10 vtable*/ public: - /* 800158FC */ virtual ~mDoDvdThd_command_c(); - /* 80015B74 */ mDoDvdThd_command_c(); + virtual ~mDoDvdThd_command_c(); + mDoDvdThd_command_c(); inline s32 sync() { return mIsDone; } inline void destroy() { delete this; } virtual s32 execute() = 0; @@ -25,10 +25,10 @@ public: class mDoDvdThd_toMainRam_c : public mDoDvdThd_command_c { public: - /* 80016338 */ mDoDvdThd_toMainRam_c(u8); - /* 80016394 */ static mDoDvdThd_toMainRam_c* create(char const*, u8, JKRHeap*); - /* 8001645C */ virtual ~mDoDvdThd_toMainRam_c(); - /* 800164BC */ virtual s32 execute(); + mDoDvdThd_toMainRam_c(u8); + static mDoDvdThd_toMainRam_c* create(char const*, u8, JKRHeap*); + virtual ~mDoDvdThd_toMainRam_c(); + virtual s32 execute(); void* getMemAddress() const { return mData; } s32 getMemSize() const { return mDataSize; } @@ -43,13 +43,13 @@ private: class mDoDvdThd_param_c { public: - /* 80015944 */ mDoDvdThd_param_c(); - /* 8001598C */ void kick(); - /* 800159B4 */ s32 waitForKick(); - /* 800159DC */ mDoDvdThd_command_c* getFirstCommand(); - /* 800159E4 */ void addition(mDoDvdThd_command_c*); - /* 80015A3C */ void cut(mDoDvdThd_command_c*); - /* 80015AD8 */ void mainLoop(); + mDoDvdThd_param_c(); + void kick(); + s32 waitForKick(); + mDoDvdThd_command_c* getFirstCommand(); + void addition(mDoDvdThd_command_c*); + void cut(mDoDvdThd_command_c*); + void mainLoop(); private: /* 0x00 */ OSMessageQueue mMessageQueue; @@ -60,11 +60,11 @@ private: class mDoDvdThd_mountXArchive_c : public mDoDvdThd_command_c { public: - /* 80016108 */ virtual ~mDoDvdThd_mountXArchive_c(); - /* 80016168 */ mDoDvdThd_mountXArchive_c(u8 mountDirection, JKRArchive::EMountMode mountMode); - /* 800161E0 */ static mDoDvdThd_mountXArchive_c* create(char const*, u8, JKRArchive::EMountMode, + virtual ~mDoDvdThd_mountXArchive_c(); + mDoDvdThd_mountXArchive_c(u8 mountDirection, JKRArchive::EMountMode mountMode); + static mDoDvdThd_mountXArchive_c* create(char const*, u8, JKRArchive::EMountMode, JKRHeap*); - /* 800162B0 */ virtual s32 execute(); + virtual s32 execute(); JKRArchive* getArchive() const { return mArchive; } @@ -78,10 +78,10 @@ private: class mDoDvdThd_mountArchive_c : public mDoDvdThd_command_c { public: - /* 80015D44 */ virtual ~mDoDvdThd_mountArchive_c(); - /* 80015DA4 */ mDoDvdThd_mountArchive_c(u8); - /* 80015E14 */ static mDoDvdThd_mountArchive_c* create(char const*, u8, JKRHeap*); - /* 80015EDC */ virtual s32 execute(); + virtual ~mDoDvdThd_mountArchive_c(); + mDoDvdThd_mountArchive_c(u8); + static mDoDvdThd_mountArchive_c* create(char const*, u8, JKRHeap*); + virtual s32 execute(); JKRMemArchive* getArchive() const { return mArchive; } JKRHeap* getHeap() const { return mHeap; } @@ -95,10 +95,10 @@ private: class mDoDvdThd_callback_c : public mDoDvdThd_command_c { public: - /* 80015BB8 */ virtual ~mDoDvdThd_callback_c(); - /* 80015C18 */ mDoDvdThd_callback_c(mDoDvdThd_callback_func, void*); - /* 80015C74 */ static mDoDvdThd_callback_c* create(mDoDvdThd_callback_func, void*); - /* 80015CF0 */ virtual s32 execute(); + virtual ~mDoDvdThd_callback_c(); + mDoDvdThd_callback_c(mDoDvdThd_callback_func, void*); + static mDoDvdThd_callback_c* create(mDoDvdThd_callback_func, void*); + virtual s32 execute(); private: /* 0x14 */ mDoDvdThd_callback_func mFunction; @@ -111,9 +111,9 @@ struct mDoDvdThdStack { } __attribute__((aligned(16))); struct mDoDvdThd { - /* 800157FC */ static s32 main(void*); - /* 80015858 */ static void create(s32); - /* 800158B4 */ static void suspend(); + static s32 main(void*); + static void create(s32); + static void suspend(); static OSThread l_thread; static mDoDvdThdStack l_threadStack; diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index f3f98dfb1..27f749dab 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -2,7 +2,10 @@ #define M_DO_EXT_H #include "JSystem/J3DGraphAnimator/J3DAnimation.h" +#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" #include "JSystem/J3DGraphAnimator/J3DModel.h" +#include "JSystem/JUtility/JUTFont.h" +#include "d/d_kankyo.h" class JKRArchive; class JKRAssertHeap; @@ -15,30 +18,30 @@ class J3DTexMtxAnm; class mDoExt_baseAnm { public: - mDoExt_baseAnm() { mpFrameCtrl = NULL; } + mDoExt_baseAnm() { mFrameCtrl = NULL; } virtual ~mDoExt_baseAnm() {} int initPlay(s16 i_frameMax, int i_attribute, f32 i_rate, s16 i_startF, s16 i_endF, bool); int play(); - J3DFrameCtrl* getFrameCtrl() { return mpFrameCtrl; } - f32 getPlaySpeed() { return mpFrameCtrl->getRate(); } - void setPlaySpeed(f32 speed) { mpFrameCtrl->setRate(speed); } - f32 getFrame() { return mpFrameCtrl->getFrame(); } - f32 getEndFrame() { return mpFrameCtrl->getEnd(); } - void setFrame(f32 frame) { mpFrameCtrl->setFrame(frame); } - void setPlayMode(int i_mode) { mpFrameCtrl->setAttribute(i_mode); } - void setLoopFrame(f32 i_frame) { mpFrameCtrl->setLoop(i_frame); } + J3DFrameCtrl* getFrameCtrl() { return mFrameCtrl; } + f32 getPlaySpeed() { return mFrameCtrl->getRate(); } + void setPlaySpeed(f32 speed) { mFrameCtrl->setRate(speed); } + f32 getFrame() { return mFrameCtrl->getFrame(); } + f32 getEndFrame() { return mFrameCtrl->getEnd(); } + void setFrame(f32 frame) { mFrameCtrl->setFrame(frame); } + void setPlayMode(int i_mode) { mFrameCtrl->setAttribute(i_mode); } + void setLoopFrame(f32 i_frame) { mFrameCtrl->setLoop(i_frame); } bool isStop() { bool stopped = true; - if (!mpFrameCtrl->checkState(1) && mpFrameCtrl->getRate() != 0.0f) { + if (!mFrameCtrl->checkState(1) && mFrameCtrl->getRate() != 0.0f) { stopped = false; } return stopped; } private: - /* 0x4 */ J3DFrameCtrl* mpFrameCtrl; + /* 0x4 */ J3DFrameCtrl* mFrameCtrl; }; // Size: 0x08 class mDoExt_btkAnm : public mDoExt_baseAnm { @@ -62,7 +65,7 @@ public: private: /* 0x08 */ J3DAnmTextureSRTKey* mpAnm; /* 0x0C */ J3DTexMtxAnm* mpTexMtxAnm; - /* 0x10 */ s16 mUpdateMaterialNum; + /* 0x10 */ u16 mUpdateMaterialNum; }; // Size: 0x14 STATIC_ASSERT(sizeof(mDoExt_btkAnm) == 0x14); @@ -75,9 +78,9 @@ public: mpCRegAnm = NULL; mpKRegAnm = NULL; } - /* 8000D70C */ int init(J3DMaterialTable* i_matTable, J3DAnmTevRegKey* i_brk, int i_anmPlay, + int init(J3DMaterialTable* i_matTable, J3DAnmTevRegKey* i_brk, int i_anmPlay, int i_attribute, f32 i_rate, s16 i_start, s16 i_end, bool i_modify, int i_entry); - /* 8000D7A8 */ void entry(J3DMaterialTable* i_matTable, f32 i_frame); + void entry(J3DMaterialTable* i_matTable, f32 i_frame); void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); } void entry(J3DModelData* i_modelData, f32 i_frame); @@ -104,11 +107,11 @@ STATIC_ASSERT(sizeof(mDoExt_brkAnm) == 0x18); class mDoExt_bckAnm : public mDoExt_baseAnm { public: mDoExt_bckAnm() { mpMtxCalc = NULL; } - /* 8000D7DC */ int init(J3DModelData * i_model, J3DAnmTransform* i_bck, int i_play, int i_attr, + int init(J3DModelData * i_model, J3DAnmTransform* i_bck, int i_play, int i_attr, f32 i_rate, s16 i_startF, s16 i_endF1, bool i_modify); - /* 8000D990 */ void changeBckOnly(J3DAnmTransform* i_bck); - /* 8000D9CC */ void entry(J3DModelData* i_modelData, f32 i_frame); - /* 8000D9E8 */ void entryJoint(J3DModelData* i_modelData, u16 i_jntNo, f32 i_frame); + void changeBckOnly(J3DAnmTransform* i_bck); + void entry(J3DModelData* i_modelData, f32 i_frame); + void entryJoint(J3DModelData* i_modelData, u16 i_jntNo, f32 i_frame); void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); } @@ -123,7 +126,7 @@ public: private: /* 0x08 */ J3DAnmTransform* mAnm; - /* 0x0C */ J3DMtxCalc* mpMtxCalc; + /* 0x0C */ J3DMtxCalcMayaAnm* mpMtxCalc; }; // Size: 0x10 STATIC_ASSERT(sizeof(mDoExt_bckAnm) == 0x10); @@ -131,14 +134,14 @@ STATIC_ASSERT(sizeof(mDoExt_bckAnm) == 0x10); class mDoExt_btpAnm : public mDoExt_baseAnm { public: mDoExt_btpAnm() { mpAnm = NULL; } - /* 8000D54C */ int init(J3DMaterialTable* i_matTable, J3DAnmTexPattern* i_btk, int i_anmPlay, + int init(J3DMaterialTable* i_matTable, J3DAnmTexPattern* i_btk, int i_anmPlay, int i_attribute, f32 i_rate, s16 i_start, s16 param_6); - /* 8000D5E8 */ void entry(J3DMaterialTable* i_matTable, s16 i_frame); + int init(J3DModelData*, J3DAnmTexPattern*, int, int, float, short, short, bool, int); + int init(J3DMaterialTable*, J3DAnmTexPattern*, int, int, float, short, short, bool, int); + void entry(J3DModelData* i_modelData, s16 i_frame); + void entry(J3DMaterialTable* i_matTable, s16 i_frame); void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); } - void entry(J3DModelData* i_modelData, s16 i_frame) { - entry(&i_modelData->getMaterialTable(), i_frame); - } int init(J3DModelData* i_modelData, J3DAnmTexPattern* i_btk, int i_anmPlay, int i_attribute, f32 i_rate, s16 i_start, s16 param_6) { @@ -149,12 +152,14 @@ public: int remove(J3DModelData* i_modelData) { return i_modelData->removeTexNoAnimator(mpAnm); } private: - /* 0x14 */ J3DAnmTexPattern* mpAnm; + /* 0x08 */ J3DAnmTexPattern* mpAnm; + /* 0x0C */ J3DTexNoAnm* field_0xc; + /* 0x10 */ u16 mUpdateMaterialNum; }; class mDoExt_blkAnm : public mDoExt_baseAnm { public: - /* 8000DA08 */ int init(J3DDeformData* i_deformData, J3DAnmCluster* i_blk, int i_anmPlay, + int init(J3DDeformData* i_deformData, J3DAnmCluster* i_blk, int i_anmPlay, int i_attribute, f32 i_rate, s16 i_start, s16 param_6); J3DAnmCluster* getBlkAnm() { return mpAnm; } @@ -163,10 +168,36 @@ private: /* 0x14 */ J3DAnmCluster* mpAnm; }; +class mDoExt_bpkAnm : public mDoExt_baseAnm { +public: + int init(J3DModelData*, J3DAnmColor*, int, int, float, short, short, bool, int); + int init(J3DMaterialTable*, J3DAnmColor*, int, int, float, short, short, bool, int); + + void entry(J3DModelData*, float); + void entry(J3DMaterialTable*, float); + +private: + /* 0x08 */ J3DAnmColor* mpAnm; + /* 0x0C */ J3DMatColorAnm* field_0xc; + /* 0x10 */ u16 mUpdateMaterialNum; +}; + +class mDoExt_bvaAnm : public mDoExt_baseAnm { +public: + int init(J3DModel*, J3DAnmVisibilityFull*, int, int, float, short, short, bool, int); + void entry(J3DModel*, short); + + int init(J3DModelData*, J3DAnmTransform*, int, int, float, short, short, bool); + +private: + /* 0x08 */ J3DAnmVisibilityFull* mpAnm; + /* 0x0C */ J3DVisibilityManager* field_0xc; +}; + class mDoExt_AnmRatioPack { public: - /* 80140DF0 */ ~mDoExt_AnmRatioPack(); - /* 80140E2C */ mDoExt_AnmRatioPack(); + ~mDoExt_AnmRatioPack(); + mDoExt_AnmRatioPack(); void setRatio(f32 ratio) { mRatio = ratio; } f32 getRatio() { return mRatio; } @@ -186,13 +217,13 @@ public: void* getBas() { return mBas; } private: - /* 0x28 */ void* mBas; + /* 0x2C */ void* mBas; }; class mDoExt_MtxCalcOldFrame { public: - /* 8000F848 */ void initOldFrameMorf(f32, u16, u16); - /* 8000F8CC */ void decOldFrameMorfCounter(); + void initOldFrameMorf(f32, u16, u16); + void decOldFrameMorfCounter(); f32 getOldFrameRate() { return mOldFrameRate; } J3DTransformInfo* getOldFrameTransInfo(int i) { return &mOldFrameTransInfo[i]; } @@ -212,20 +243,19 @@ private: /* 0x20 */ Quaternion* mOldFrameQuaternion; }; // Size: 0x24 -struct mDoExt_MtxCalcAnmBlendTblOld - : public J3DMtxCalcNoAnm { - /* 80014EB0 */ virtual ~mDoExt_MtxCalcAnmBlendTblOld(); - /* 8000F4B0 */ virtual void calc(); +struct mDoExt_MtxCalcAnmBlendTblOld : public J3DMtxCalcMaya { + virtual ~mDoExt_MtxCalcAnmBlendTblOld(); + virtual void calc(u16); /* 0x4 */ int mNum; /* 0x8 */ mDoExt_AnmRatioPack* mAnmRatio; }; // Size: 0xC struct mDoExt_MtxCalcAnmBlendTbl : public mDoExt_MtxCalcAnmBlendTblOld { - /* 800D00BC */ J3DAnmTransform* getAnm(int); + J3DAnmTransform* getAnm(int); - /* 80014F3C */ virtual ~mDoExt_MtxCalcAnmBlendTbl(); - /* 8000F26C */ virtual void calc(); + virtual ~mDoExt_MtxCalcAnmBlendTbl(); + virtual void calc(u16); /* 0xC */ mDoExt_MtxCalcOldFrame* mOldFrame; }; @@ -242,18 +272,6 @@ public: class JAIAnimeSound; -class J3DMtxCalcBasic { // Placeholder to fix mDoExt_McaMorf inheritance -public: - virtual ~J3DMtxCalcBasic(); -}; - -class J3DMtxCalcMaya : virtual J3DMtxCalcBasic { // Placeholder to fix mDoExt_McaMorf inheritance -public: - virtual ~J3DMtxCalcMaya(); - - u8 pad[0x48]; -}; - class mDoExt_McaMorf : public J3DMtxCalcMaya { public: mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*, mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, float, int, int, int, void*, unsigned long, unsigned long); @@ -261,7 +279,7 @@ public: void calc(); void calc(u16); - void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*); + void setAnm(J3DAnmTransform* bckAnm, int loopMode, f32 morf, f32 speed, f32, f32, void* soundAnm); void setMorf(f32); J3DModel* getModel() { return mpModel; } void setFrame(f32 frame) { mFrameCtrl.setFrame(frame); } @@ -277,6 +295,7 @@ public: void update(); void updateDL(); + void updateDL(J3DMaterialTable*); void entry(); void entryDL(); void entryDL(J3DMaterialTable*); @@ -294,8 +313,21 @@ public: /* 0x80 */ JAIAnimeSound * mpSound; /* 0x84 */ mDoExt_McaMorfCallBack1_c * mpCallBack1; /* 0x88 */ mDoExt_McaMorfCallBack2_c * mpCallBack2; - /* 0x8C */ /* virtual inheritance */ - /* 0x94 */ u8 pad2[0xB4 - 0x94]; +}; + +class mDoExt_McaMorf2 { +public: + mDoExt_McaMorf2(J3DModelData*, mDoExt_McaMorfCallBack1_c*, mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, J3DAnmTransform*, int, f32, int, int, int, void*, u32, u32); + ~mDoExt_McaMorf2(); + + void ERROR_EXIT(); + void calc(u16); + void setAnm(J3DAnmTransform*, J3DAnmTransform*, f32, int, f32, f32, f32, f32, void*); + void setMorf(f32); + void play(Vec*, u32, s8); + void entryDL(); + void calc(); + void stopZelAnime(); }; class mDoExt_3DlineMat_c { @@ -318,12 +350,137 @@ private: /* 0x10 */ mDoExt_3DlineMat_c* mp3DlineMat; }; +class mDoExt_backupMatBlock_c { +public: + mDoExt_backupMatBlock_c(); + ~mDoExt_backupMatBlock_c(); + + void store(J3DMaterial*); + void restore(J3DMaterial*); + +private: + /* 0x000 */ J3DGXColor mMatColor[2]; + /* 0x008 */ u8 mColorChanNum; + /* 0x00A */ J3DColorChan mColorChan[4]; + /* 0x012 */ J3DGXColor mAmbColor[2]; + /* 0x01C */ u32 mTexGenNum; + /* 0x020 */ J3DTexCoord mTexCoord[8]; + /* 0x040 */ J3DTexMtx mTexMtx[8]; + /* 0x660 */ u8 mTevStageNum; + /* 0x662 */ u16 mTexNo[8]; + /* 0x672 */ J3DGXColorS10 mTevColor[4]; + /* 0x692 */ J3DGXColor mTevKColor[4]; + /* 0x6A2 */ J3DTevStage mTevStage[8]; + /* 0x6E4 */ J3DIndTevStage mIndTevStage[8]; + /* 0x704 */ J3DTevOrder mTevOrder[4]; + /* 0x714 */ u8 mTevKColorSel[4]; + /* 0x718 */ u8 mTevKAlphaSel[4]; + /* 0x71C */ J3DTevSwapModeTable mTevSwapModeTable[4]; + /* 0x720 */ u8 mIndTexStageNum; + /* 0x721 */ J3DIndTexOrder mIndTexOrder[4]; + /* 0x734 */ J3DIndTexMtx mIndTexMtx[3]; + /* 0x788 */ J3DIndTexCoordScale mIndTexCoordScale[4]; + /* 0x798 */ J3DFog mFog; + /* 0x7C4 */ J3DAlphaComp mAlphaComp; + /* 0x7C8 */ J3DBlend mBlend; + /* 0x7CC */ J3DZMode mZMode; + /* 0x7CE */ u8 mZCompLoc; + /* 0x7D0 */ J3DMaterialAnm* mMaterialAnm; + /* 0x7D4 */ u32 mMaterialMode; +}; + +class mDoExt_backupMaterial_c { +public: + bool create(J3DModelData*); + bool create(u16); + void restore(J3DModelData*); + +private: + /* 0x00 */ mDoExt_backupMatBlock_c* mBackupMatBlock; + /* 0x04 */ J3DTexture* mTexture; + /* 0x08 */ JUTNameTab* mTextureName; +}; + +class mDoExt_invJntPacket : public J3DPacket { +public: + mDoExt_invJntPacket() {} + ~mDoExt_invJntPacket() {} + + void draw(); + + void setJoint(J3DModel* i_model, u16 param_1) { + mModel = i_model; + field_0x14 = param_1; + } + + J3DModel* mModel; + u16 field_0x14; +}; + +class mDoExt_invisibleModel { +public: + bool create(J3DModel*); + + void entry(); + void entryMaskOff(); + + void updateDL(J3DModel*); + void updateDL(mDoExt_McaMorf*); + + J3DModel* mModel; + mDoExt_invJntPacket* mpPackets; +}; + +class mDoExt_offCupOnAupPacket : public J3DPacket { +public: + ~mDoExt_offCupOnAupPacket(); + + void draw(); +}; + +class mDoExt_onCupOffAupPacket : public J3DPacket { +public: + ~mDoExt_onCupOffAupPacket(); + + void draw(); +}; + +class mDoExt_3Dline_c { +public: + mDoExt_3Dline_c(); + ~mDoExt_3Dline_c(); + + int init(u16, int, int); +}; + +class mDoExt_3DlineMat0_c { +public: + int init(u16, u16, int); + void setMaterial(); + void draw(); + void update(u16, f32, GXColor&, u16, dKy_tevstr_c*); + void update(u16, GXColor&, dKy_tevstr_c*); + int getMaterialID(); +}; + +class mDoExt_3DlineMat1_c { +public: + int init(u16, u16, ResTIMG*, int); + void setMaterial(); + void draw(); + void update(u16, f32, GXColor&, u16, dKy_tevstr_c*); + void update(u16, GXColor&, dKy_tevstr_c*); + int getMaterialID(); +}; + J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 i_modelFlag, u32 i_differedDlistFlag); void mDoExt_modelUpdate(J3DModel* i_model); void mDoExt_modelUpdateDL(J3DModel* i_model); void mDoExt_modelEntryDL(J3DModel* i_model); +void mDoExt_modelTexturePatch(J3DModelData*); + JKRExpHeap* mDoExt_getCommandHeap(); JKRExpHeap* mDoExt_getZeldaHeap(); JKRExpHeap* mDoExt_getGameHeap(); @@ -333,10 +490,10 @@ JKRExpHeap* mDoExt_createArchiveHeap(u32 heapSize, JKRHeap* i_heap); JKRExpHeap* mDoExt_createZeldaHeap(u32 heapSize, JKRHeap* i_heap); JKRExpHeap* mDoExt_createGameHeap(u32 heapSize, JKRHeap* i_heap); -int mDoExt_getSafeArchiveHeapSize(); -int mDoExt_getSafeGameHeapSize(); -int mDoExt_getSafeZeldaHeapSize(); -int mDoExt_getSafeCommandHeapSize(); +s32 mDoExt_getSafeArchiveHeapSize(); +s32 mDoExt_getSafeGameHeapSize(); +s32 mDoExt_getSafeZeldaHeapSize(); +s32 mDoExt_getSafeCommandHeapSize(); s32 mDoExt_resIDToIndex(JKRArchive*, u16); @@ -345,10 +502,13 @@ JKRSolidHeap * mDoExt_createSolidHeapToCurrent(u32, JKRHeap *, u32 align); void mDoExt_restoreCurrentHeap(); u32 mDoExt_adjustSolidHeap(JKRSolidHeap * pHeap); void mDoExt_destroySolidHeap(JKRSolidHeap * pHeap); +JKRHeap* mDoExt_setCurrentHeap(JKRHeap*); extern JKRExpHeap* zeldaHeap; extern JKRExpHeap* gameHeap; extern JKRExpHeap* commandHeap; extern JKRExpHeap* archiveHeap; +//inline void mDoMtx_concat(const Mtx a, const Mtx b, Mtx ab) { MTXConcat(a, b, ab); } + #endif diff --git a/include/m_Do/m_Do_lib.h b/include/m_Do/m_Do_lib.h index 9b2044915..98495a187 100644 --- a/include/m_Do/m_Do_lib.h +++ b/include/m_Do/m_Do_lib.h @@ -9,7 +9,7 @@ typedef struct Vec Vec; struct ResTIMG; struct mDoLib_clipper { - /* 8001528C */ void setup(f32, f32, f32, f32); + void setup(f32, f32, f32, f32); static void changeFar(f32 far) { mClipper.setFar(far); diff --git a/include/m_Do/m_Do_main.h b/include/m_Do/m_Do_main.h index 9caea01ed..cc448af22 100644 --- a/include/m_Do/m_Do_main.h +++ b/include/m_Do/m_Do_main.h @@ -9,6 +9,8 @@ class JKRExpHeap; void version_check(); s32 LOAD_COPYDATE(void*); +extern OSThread mainThread; + #define HeapCheckTableNum 6 class HeapCheck { diff --git a/include/m_Do/m_Do_mtx.h b/include/m_Do/m_Do_mtx.h index 432ba072b..84027dffb 100644 --- a/include/m_Do/m_Do_mtx.h +++ b/include/m_Do/m_Do_mtx.h @@ -65,6 +65,18 @@ inline void cMtx_ZrotM(Mtx mtx, s16 z) { mDoMtx_ZrotM(mtx, z); } +inline void cMtx_XrotS(Mtx mtx, s16 x) { + mDoMtx_XrotS(mtx, x); +} + +inline void cMtx_YrotS(Mtx mtx, s16 y) { + mDoMtx_YrotS(mtx, y); +} + +inline void cMtx_ZrotS(Mtx mtx, s16 z) { + mDoMtx_ZrotS(mtx, z); +} + inline void cMtx_lookAt(Mtx param_0, const Vec* param_1, const Vec* param_2, s16 param_3) { mDoMtx_lookAt(param_0, param_1, param_2, param_3); } @@ -133,13 +145,13 @@ public: * Translates the `now` Matrix by the given cXyz * @param xyz The xyz translation vector */ - /* 8000CD64 */ static inline void transS(cXyz const& xyz) { MTXTrans(now, xyz.x, xyz.y, xyz.z); } + static inline void transS(cXyz const& xyz) { MTXTrans(now, xyz.x, xyz.y, xyz.z); } /** * Translates a new Matrix by the given cXyz and then concatenates it with the `now` matrix * @param xyz The xyz translation vector */ - /* 8000CD64 */ static inline void transM(cXyz const& xyz) { transM(xyz.x, xyz.y, xyz.z); } + static inline void transM(cXyz const& xyz) { transM(xyz.x, xyz.y, xyz.z); } /** * Translates a new Matrix by the given X, Y, and Z values and then concatenates it with the `now` matrix @@ -147,19 +159,19 @@ public: * @param y The y-axis translation value * @param z The z-axis translation value */ - /* 8000CD9C */ static void transM(f32 x, f32 y, f32 z); + static void transM(f32 x, f32 y, f32 z); /** * Scales the `now` Matrix by the given cXyz * @param xyz The xyz scale vector */ - /* 8000CE00 */ static void scaleS(cXyz const& xyz); + static void scaleS(cXyz const& xyz); /** * Scales a new Matrix by the given cXyz and then concatenates it with the `now` matrix * @param xyz The xyz scale vector */ - /* 8000CE70 */ static void scaleM(cXyz const& xyz) { scaleM(xyz.x, xyz.y, xyz.z); } + static void scaleM(cXyz const& xyz) { scaleM(xyz.x, xyz.y, xyz.z); } /** * Scales a new Matrix by the given X, Y, and Z values and then concatenates it with the `now` matrix @@ -167,25 +179,25 @@ public: * @param y The y-axis scale value * @param z The z-axis scale value */ - /* 8000CE38 */ static void scaleM(f32 x, f32 y, f32 z); + static void scaleM(f32 x, f32 y, f32 z); - /* 8000CE9C */ static void XYZrotS(csXyz const& xyz); + static void XYZrotS(csXyz const& xyz); /** * Rotates the `now` matrix by the given csXyz in the order X, Y, Z * @param xyz The xyz rotation vector */ - /* 8000CED4 */ static void XYZrotM(csXyz const& xyz); + static void XYZrotM(csXyz const& xyz); - /* 8000CF0C */ static void ZXYrotS(csXyz const& xyz); + static void ZXYrotS(csXyz const& xyz); /** * Rotates the `now` matrix by the given csXyz in the order Z, X, Y * @param xyz The xyz rotation vector */ - /* 8000CF44 */ static void ZXYrotM(csXyz const& xyz) { ZXYrotM(xyz.x, xyz.y, xyz.z); } + static void ZXYrotM(csXyz const& xyz) { ZXYrotM(xyz.x, xyz.y, xyz.z); } - /* 8000CF7C */ static void quatM(Quaternion const*); + static void quatM(Quaternion const*); /** * Returns the `now` Matrix diff --git a/src/JSystem/J2DGraph/J2DGrafContext.cpp b/src/JSystem/J2DGraph/J2DGrafContext.cpp index 129b1f50c..eb16557b9 100644 --- a/src/JSystem/J2DGraph/J2DGrafContext.cpp +++ b/src/JSystem/J2DGraph/J2DGrafContext.cpp @@ -150,7 +150,7 @@ void J2DGrafContext::fillBox(const JGeometry::TBox2& box) { GXColor1u32(mColorBL); GXPosition3f32(box.i.x, box.f.y, 0); GXColor1u32(mColorBR); - i_GXEnd(); + GXEnd(); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_RGBA4, 0); } @@ -171,7 +171,7 @@ void J2DGrafContext::drawFrame(const JGeometry::TBox2& box) { GXColor1u32(mColorBR); GXPosition3f32(box.i.x, box.i.y, 0); GXColor1u32(mColorTL); - i_GXEnd(); + GXEnd(); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_RGBA4, 0); } @@ -187,7 +187,7 @@ void J2DGrafContext::line(JGeometry::TVec2 start, JGeometry::TVec2 end GXColor1u32(mColorTL); GXPosition3f32(end.x, end.y, 0); GXColor1u32(mColorBR); - i_GXEnd(); + GXEnd(); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_RGBA4, 0); } diff --git a/src/JSystem/J3DGraphAnimator/J3DJoint.cpp b/src/JSystem/J3DGraphAnimator/J3DJoint.cpp index 772db9f29..9b6b94003 100644 --- a/src/JSystem/J3DGraphAnimator/J3DJoint.cpp +++ b/src/JSystem/J3DGraphAnimator/J3DJoint.cpp @@ -7,14 +7,12 @@ #include "dolphin/types.h" /* 802F4DC0-802F4EB0 .text calc__13J3DMtxCalcAnmFUs */ -void J3DMtxCalcAnm::calc(unsigned short) { +void J3DMtxCalcAnm::calc(u16) { /* Nonmatching */ } /* 802F4EB0-802F4EF8 .text __ct__15J3DMtxCalcBasicFv */ -J3DMtxCalcBasic::J3DMtxCalcBasic() { - /* Nonmatching */ -} +J3DMtxCalcBasic::J3DMtxCalcBasic() {} /* 802F4EF8-802F5090 .text recursiveCalc__15J3DMtxCalcBasicFP7J3DNode */ void J3DMtxCalcBasic::recursiveCalc(J3DNode*) { @@ -22,22 +20,22 @@ void J3DMtxCalcBasic::recursiveCalc(J3DNode*) { } /* 802F5090-802F525C .text calcTransform__15J3DMtxCalcBasicFUsRC16J3DTransformInfo */ -void J3DMtxCalcBasic::calcTransform(unsigned short, const J3DTransformInfo&) { +void J3DMtxCalcBasic::calcTransform(u16, const J3DTransformInfo&) { /* Nonmatching */ } /* 802F525C-802F52BC .text calc__15J3DMtxCalcBasicFUs */ -void J3DMtxCalcBasic::calc(unsigned short) { +void J3DMtxCalcBasic::calc(u16) { /* Nonmatching */ } /* 802F52BC-802F5508 .text calcTransform__19J3DMtxCalcSoftimageFUsRC16J3DTransformInfo */ -void J3DMtxCalcSoftimage::calcTransform(unsigned short, const J3DTransformInfo&) { +void J3DMtxCalcSoftimage::calcTransform(u16, const J3DTransformInfo&) { /* Nonmatching */ } /* 802F5508-802F5724 .text calcTransform__14J3DMtxCalcMayaFUsRC16J3DTransformInfo */ -void J3DMtxCalcMaya::calcTransform(unsigned short, const J3DTransformInfo&) { +void J3DMtxCalcMaya::calcTransform(u16, const J3DTransformInfo&) { /* Nonmatching */ } @@ -65,73 +63,3 @@ void J3DJoint::calcOut() { void J3DJoint::entryIn() { /* Nonmatching */ } - -/* 802F5A78-802F5A84 .text getType__8J3DJointCFv */ -void J3DJoint::getType() const { - /* Nonmatching */ -} - -/* 802F5A84-802F5AE4 .text __dt__8J3DJointFv */ -J3DJoint::~J3DJoint() { - /* Nonmatching */ -} - -/* 802F5AE4-802F5AF8 .text @8@36@calc__13J3DMtxCalcAnmFUs */ -void J3DMtxCalcAnm::@8@36@calc(unsigned short) { - /* Nonmatching */ -} - -/* 802F5AF8-802F5B0C .text @80@36@calcTransform__15J3DMtxCalcBasicFUsRC16J3DTransformInfo */ -void J3DMtxCalcBasic::@80@36@calcTransform(unsigned short, const J3DTransformInfo&) { - /* Nonmatching */ -} - -/* 802F5B0C-802F5B20 .text @80@36@init__15J3DMtxCalcBasicFRC3VecRA3_A4_Cf */ -void J3DMtxCalcBasic::@80@36@init(const Vec&, const float(&)[3][4]) { - /* Nonmatching */ -} - -/* 802F5B20-802F5B34 .text @80@36@calcTransform__19J3DMtxCalcSoftimageFUsRC16J3DTransformInfo */ -void J3DMtxCalcSoftimage::@80@36@calcTransform(unsigned short, const J3DTransformInfo&) { - /* Nonmatching */ -} - -/* 802F5B34-802F5B48 .text @80@36@init__19J3DMtxCalcSoftimageFRC3VecRA3_A4_Cf */ -void J3DMtxCalcSoftimage::@80@36@init(const Vec&, const float(&)[3][4]) { - /* Nonmatching */ -} - -/* 802F5B48-802F5B5C .text @80@36@calc__15J3DMtxCalcBasicFUs */ -void J3DMtxCalcBasic::@80@36@calc(unsigned short) { - /* Nonmatching */ -} - -/* 802F5B5C-802F5B70 .text @80@36@calcTransform__14J3DMtxCalcMayaFUsRC16J3DTransformInfo */ -void J3DMtxCalcMaya::@80@36@calcTransform(unsigned short, const J3DTransformInfo&) { - /* Nonmatching */ -} - -/* 802F5B70-802F5B84 .text @80@36@recursiveCalc__15J3DMtxCalcBasicFP7J3DNode */ -void J3DMtxCalcBasic::@80@36@recursiveCalc(J3DNode*) { - /* Nonmatching */ -} - -/* 802F5B84-802F5B98 .text @80@36@init__14J3DMtxCalcMayaFRC3VecRA3_A4_Cf */ -void J3DMtxCalcMaya::@80@36@init(const Vec&, const float(&)[3][4]) { - /* Nonmatching */ -} - -/* 802F5B98-802F5B9C .text calcOut__7J3DNodeFv */ -void J3DNode::calcOut() { - /* Nonmatching */ -} - -/* 802F5B9C-802F5BA0 .text calcIn__7J3DNodeFv */ -void J3DNode::calcIn() { - /* Nonmatching */ -} - -/* 802F5BA0-802F5BA4 .text init__7J3DNodeFP12J3DModelData */ -void J3DNode::init(J3DModelData*) { - /* Nonmatching */ -} diff --git a/src/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp b/src/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp index 34c144458..c410f6292 100644 --- a/src/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp +++ b/src/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp @@ -230,7 +230,7 @@ s32 J3DMaterialTable::setTexNoAnimator(J3DAnmTexPattern* pAnm, J3DTexNoAnm* pAnm } /* 802F6600-802F6798 .text setTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKeyP12J3DTexMtxAnmP12J3DTexMtxAnm */ -s32 J3DMaterialTable::setTexMtxAnimator(J3DAnmTextureSRTKey* pAnm, J3DTexMtxAnm* pTexAnmR, J3DTexMtxAnm* pDualAnmR) { +s32 J3DMaterialTable::setTexMtxAnimator(J3DAnmTextureSRTKey* pAnm, J3DTexMtxAnm* pTexAnm, J3DTexMtxAnm* pDualAnmR) { s32 ret = 0; u16 materialNum = pAnm->getUpdateMaterialNum(); @@ -246,17 +246,14 @@ s32 J3DMaterialTable::setTexMtxAnimator(J3DAnmTextureSRTKey* pAnm, J3DTexMtxAnm* if (pMatAnm == NULL) { ret = 1; } else if (texMtxID != 0xFF) { - if (pMaterial->getTexGenBlock()->getTexCoord(texMtxID) != NULL) { + if (pMaterial->getTexGenBlock()->getTexCoord(texMtxID) != NULL) pMaterial->getTexGenBlock()->getTexCoord(texMtxID)->setTexGenMtx(GX_TEXMTX0 + (texMtxID & 0xFF) * 3); - } J3DTexMtx *pTexMtx = pMaterial->getTexGenBlock()->getTexMtx(texMtxID); - pTexMtx->getTexMtxInfo().mInfo = ((pTexMtx->getTexMtxInfo().mInfo) & 0x7F) | (u8)(pAnm->getTexMtxCalcType() << 7); - pTexMtx->getTexMtxInfo().mCenter.x = pAnm->getSRTCenter(i).x; - pTexMtx->getTexMtxInfo().mCenter.x = pAnm->getSRTCenter(i).y; - pTexMtx->getTexMtxInfo().mCenter.z = pAnm->getSRTCenter(i).z; + pTexMtx->getTexMtxInfo().mInfo = ((pTexMtx->getTexMtxInfo().mInfo) & 0x7F) | (pAnm->getTexMtxCalcType() << 7); + pTexMtx->getTexMtxInfo().mCenter = pAnm->getSRTCenter(i); - pMatAnm->setTexMtxAnm(texMtxID, &pTexAnmR[i]); + pMatAnm->setTexMtxAnm(texMtxID, &pTexAnm[i]); } } } diff --git a/src/JSystem/J3DGraphAnimator/J3DModel.cpp b/src/JSystem/J3DGraphAnimator/J3DModel.cpp index 187e4c1a8..c248de419 100644 --- a/src/JSystem/J3DGraphAnimator/J3DModel.cpp +++ b/src/JSystem/J3DGraphAnimator/J3DModel.cpp @@ -4,6 +4,7 @@ // #include "JSystem/J3DGraphAnimator/J3DModel.h" +#include "JSystem/J3DGraphAnimator/J3DJoint.h" #include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" #include "JSystem/J3DGraphBase/J3DSys.h" #include "JSystem/JKernel/JKRHeap.h" @@ -441,12 +442,12 @@ void J3DModel::calcAnmMtx() { j3dSys.setCurrentMtxCalc(getModelData()->getJointTree().getBasicMtxCalc()); j3dSys.setModel(this); - if (checkFlag(2)) + if (checkFlag(J3DMdlFlag_Unk00002)) j3dSys.getCurrentMtxCalc()->init(j3dDefaultScale, j3dDefaultMtx); else j3dSys.getCurrentMtxCalc()->init(mBaseScale, mBaseTransformMtx); - j3dSys.getCurrentMtxCalc()->recursiveCalc(getModelData()->getJointTree().getRootNode()); + getModelData()->getJointTree().getBasicMtxCalc()->recursiveCalc(getModelData()->getJointTree().getRootNode()); } /* 802EE67C-802EE874 .text calcWeightEnvelopeMtx__8J3DModelFv */ @@ -527,13 +528,51 @@ void J3DModel::entry() { } /* 802EEB24-802EEBDC .text calcViewBaseMtx__FPA4_fRC3VecRA3_A4_CfPA4_f */ -void calcViewBaseMtx(float(*)[4], const Vec&, const float(&)[3][4], float(*)[4]) { - /* Nonmatching */ +void calcViewBaseMtx(MtxP viewMtx, const Vec& scale, const Mtx& baseMtx, MtxP dstMtx) { + Mtx mtx; + mtx[0][0] = baseMtx[0][0] * scale.x; + mtx[0][1] = baseMtx[0][1] * scale.y; + mtx[0][2] = baseMtx[0][2] * scale.z; + mtx[0][3] = baseMtx[0][3]; + + mtx[1][0] = baseMtx[1][0] * scale.x; + mtx[1][1] = baseMtx[1][1] * scale.y; + mtx[1][2] = baseMtx[1][2] * scale.z; + mtx[1][3] = baseMtx[1][3]; + + mtx[2][0] = baseMtx[2][0] * scale.x; + mtx[2][1] = baseMtx[2][1] * scale.y; + mtx[2][2] = baseMtx[2][2] * scale.z; + mtx[2][3] = baseMtx[2][3]; + + MTXConcat(viewMtx, mtx, dstMtx); } +extern void J3DPSMtxArrayConcat(f32(*)[4], f32(*)[4], f32(*)[4], u32); + /* 802EEBDC-802EEE30 .text calcDrawMtx__8J3DModelFv */ void J3DModel::calcDrawMtx() { - /* Nonmatching */ + switch (mFlags & 0x03) { + case 1: + for (u32 i = 0; i < getModelData()->getDrawFullWgtMtxNum(); i++) + MTXConcat(j3dSys.getViewMtx(), getAnmMtx(getModelData()->getDrawMtxIndex(i)), getDrawMtxPtr()[i]); + if (getModelData()->getDrawFullWgtMtxNum() < getModelData()->getDrawMtxNum()) + J3DPSMtxArrayConcat(j3dSys.getViewMtx(), (MtxP)mpWeightEnvMtx, (MtxP)getDrawMtxPtr(), getModelData()->getWEvlpMtxNum()); + break; + case 0: + for (u32 i = 0; i < getModelData()->getDrawFullWgtMtxNum(); i++) + MTXCopy(getAnmMtx(getModelData()->getDrawMtxIndex(i)), getDrawMtxPtr()[i]); + for (u32 i = 0; i < getModelData()->getWEvlpMtxNum(); i++) + MTXCopy(getWeightAnmMtx(i), getDrawMtxPtr()[getModelData()->getDrawFullWgtMtxNum() + i]); + break; + case 2: + calcViewBaseMtx(j3dSys.getViewMtx(), mBaseScale, mBaseTransformMtx, mInternalView); + for (u32 i = 0; i < getModelData()->getDrawFullWgtMtxNum(); i++) + MTXConcat(mInternalView, getAnmMtx(getModelData()->getDrawMtxIndex(i)), getDrawMtxPtr()[i]); + if (getModelData()->getDrawFullWgtMtxNum() < getModelData()->getDrawMtxNum()) + J3DPSMtxArrayConcat(mInternalView, (MtxP)mpWeightEnvMtx, (MtxP)getDrawMtxPtr(), getModelData()->getWEvlpMtxNum()); + break; + } } /* 802EEE30-802EF050 .text viewCalc__8J3DModelFv */ @@ -577,17 +616,70 @@ void J3DModel::viewCalc() { /* 802EF050-802EF1B8 .text calcNrmMtx__8J3DModelFv */ void J3DModel::calcNrmMtx() { - /* Nonmatching */ + if (getModelData()->checkFlag(J3DMdlDataFlag_ConcatView) == 0) { + for (u16 i = 0; i < getModelData()->getDrawMtxNum(); i++) { + if (getModelData()->getDrawMtxFlag(i) == 0) { + if (getScaleFlag(getModelData()->getDrawMtxIndex(i)) == 1) + J3DPSMtx33CopyFrom34(getDrawMtx(i), getNrmMtx(i)); + else + J3DPSCalcInverseTranspose(getDrawMtx(i), getNrmMtx(i)); + } else { + if (getEnvScaleFlag(getModelData()->getDrawMtxIndex(i)) == 1) + J3DPSMtx33CopyFrom34(getDrawMtx(i), getNrmMtx(i)); + else + J3DPSCalcInverseTranspose(getDrawMtx(i), getNrmMtx(i)); + } + } + } } /* 802EF1B8-802EF2B0 .text calcBumpMtx__8J3DModelFv */ void J3DModel::calcBumpMtx() { - /* Nonmatching */ + if (getModelData()->checkBumpFlag() == 1) { + s32 bumpMtxOffset = 0; + for (s32 i = 0; i < getModelData()->getMaterialNum(); i++) { + J3DMaterial * pMaterial = getModelData()->getMaterialNodePointer(i); + if (pMaterial->getNBTScale()->mbHasScale == 1) { + pMaterial->getShape()->calcNBTScale(*pMaterial->getNBTScale()->getScale(), getNrmMtxPtr(), getBumpMtxPtr(bumpMtxOffset)); + DCStoreRange(getBumpMtxPtr(bumpMtxOffset), getModelData()->getDrawMtxNum() * sizeof(Mtx33)); + bumpMtxOffset++; + } + } + } } /* 802EF2B0-802EF414 .text calcBBoard__8J3DModelFv */ void J3DModel::calcBBoard() { - /* Nonmatching */ + if (getModelData()->checkBBoardFlag()) { + for (u16 i = 0; i < getModelData()->getDrawMtxNum(); i++) { + if (getModelData()->getDrawMtxFlag(i) != 0) + continue; + + u8 mtxType = getModelData()->getJointNodePointer(getModelData()->getDrawMtxIndex(i))->getMtxType(); + if (mtxType == J3DJntMtxType_BBoard) { + Mtx& drawMtx = getDrawMtx(i); + J3DCalcBBoardMtx(drawMtx); + Mtx33& nrmMtx = getNrmMtx(i); + + nrmMtx[0][0] = 1.0f / drawMtx[0][0]; + nrmMtx[0][1] = 0.0f; + nrmMtx[0][2] = 0.0f; + + nrmMtx[1][0] = 0.0f; + nrmMtx[1][1] = 1.0f / drawMtx[1][1]; + nrmMtx[1][2] = 0.0f; + + nrmMtx[2][0] = 0.0f; + nrmMtx[2][1] = 0.0f; + nrmMtx[2][2] = 1.0f / drawMtx[2][2]; + } else if (mtxType == J3DJntMtxType_YBBoard) { + Mtx& drawMtx = getDrawMtx(i); + J3DCalcYBBoardMtx(drawMtx); + Mtx33& nrmMtx = getNrmMtx(i); + J3DPSCalcInverseTranspose(drawMtx, nrmMtx); + } + } + } } /* 802EF414-802EF5D8 .text prepareShapePackets__8J3DModelFv */ @@ -624,11 +716,9 @@ void J3DModel::prepareShapePackets() { if (getModelData()->checkBumpFlag() == 1) { for (s32 i = 0; i < getModelData()->getMaterialNum(); i++) { J3DMaterial* pMaterial = getModelData()->getMaterialNodePointer(i); - if (pMaterial->getTexGenBlock()->getNBTScale()->mbHasScale) { + if (pMaterial->getTexGenBlock()->getNBTScale()->mbHasScale == 1) { J3DShape *pShape = pMaterial->getShape(); - J3DShapePacket *pPacket = getShapePacket(pShape->getIndex()); - u32 bumpMtxOffset = pShape->getBumpMtxOffset(); - pPacket->setNrmMtx(getBumpMtxPtrPtr()[bumpMtxOffset]); + getShapePacket(pShape->getIndex())->setNrmMtx(getBumpMtxPtrPtr(pShape->getBumpMtxOffset())); } } } diff --git a/src/JSystem/J3DGraphAnimator/J3DModelData.cpp b/src/JSystem/J3DGraphAnimator/J3DModelData.cpp index 3c04517bf..6d6d6c535 100644 --- a/src/JSystem/J3DGraphAnimator/J3DModelData.cpp +++ b/src/JSystem/J3DGraphAnimator/J3DModelData.cpp @@ -63,8 +63,10 @@ void J3DJointTree::makeHierarchy(J3DNode* pRootNode, const J3DModelHierarchy** p } break; case kTypeMaterial: - *pHierarchy = inf + 1; - pNewMaterial = pMaterialTable->mMaterialNodePointer[inf->mValue]; + { + *pHierarchy = inf + 1; + pNewMaterial = pMaterialTable->getMaterialNodePointer(inf->getValue()); + } break; case kTypeShape: *pHierarchy = inf + 1; @@ -81,7 +83,7 @@ void J3DJointTree::makeHierarchy(J3DNode* pRootNode, const J3DModelHierarchy** p } else if (pNewMaterial != NULL && pRootNode->getType() == 'NJNT') { ((J3DJoint*)pRootNode)->addMesh(pNewMaterial); pNewMaterial->mJoint = ((J3DJoint*)pRootNode); - } else if (pNewShape != NULL && pNewNode->getType() == 'NJNT') { + } else if (pNewShape != NULL && pRootNode->getType() == 'NJNT') { pNewMaterial = ((J3DJoint*)pRootNode)->getMesh(); pNewMaterial->mShape = pNewShape; pNewShape->mMaterial = pNewMaterial; diff --git a/src/JSystem/J3DGraphBase/J3DGD.cpp b/src/JSystem/J3DGraphBase/J3DGD.cpp index a383d8e0c..0d46842b8 100644 --- a/src/JSystem/J3DGraphBase/J3DGD.cpp +++ b/src/JSystem/J3DGraphBase/J3DGD.cpp @@ -5,123 +5,220 @@ #include "JSystem/J3DGraphBase/J3DGD.h" #include "dolphin/types.h" +#include "dolphin/os/OS.h" + +static u8 cm2hw[] = { 0, 2, 1, 3 }; +u8 J3DGDTexMode0Ids[] = { 0x80, 0x81, 0x82, 0x83, 0xa0, 0xa1, 0xa2, 0xa3 }; +u8 J3DGDTexMode1Ids[] = { 0x84, 0x85, 0x86, 0x87, 0xa4, 0xa5, 0xa6, 0xa7 }; +u8 J3DGDTexImage0Ids[] = { 0x88, 0x89, 0x8a, 0x8b, 0xa8, 0xa9, 0xaa, 0xab }; +u8 J3DGDTexImage3Ids[] = { 0x94, 0x95, 0x96, 0x97, 0xb4, 0xb5, 0xb6, 0xb7 }; +u8 J3DGDTexTlutIds[] = { 0x98, 0x99, 0x9a, 0x9b, 0xb8, 0xb9, 0xba, 0xbb }; +static u8 GX2HWFiltConv[] = { 0, 4, 1, 5, 2, 6 }; /* 802D5F38-802D60B0 .text J3DGDSetGenMode__FUcUcUcUc11_GXCullMode */ -void J3DGDSetGenMode(unsigned char, unsigned char, unsigned char, unsigned char, _GXCullMode) { - /* Nonmatching */ +void J3DGDSetGenMode(u8 texGenNum, u8 colorChanNum, u8 tevNum, u8 indTevNum, GXCullMode cull) { + GDOverflowCheck(10); + + J3DGDWriteBPCmd(0x07FC3F | 0xFE << 24); + J3DGDWriteBPCmd(texGenNum << 0 | colorChanNum << 4 | (tevNum - 1) << 10 | cm2hw[cull] << 14 | indTevNum << 16 | 0x00 << 24); } /* 802D60B0-802D6204 .text J3DGDSetGenMode_3Param__FUcUcUc */ -void J3DGDSetGenMode_3Param(unsigned char, unsigned char, unsigned char) { - /* Nonmatching */ +void J3DGDSetGenMode_3Param(u8 texGenNum, u8 tevNum, u8 indTevNum) { + GDOverflowCheck(10); + J3DGDWriteBPCmd(0x073C0F | 0xFE << 24); + J3DGDWriteBPCmd(texGenNum | (tevNum - 1) << 10 | indTevNum << 16 | 0x00 << 24); } /* 802D6204-802D632C .text J3DGDSetIndTexStageNum__FUl */ -void J3DGDSetIndTexStageNum(unsigned long) { - /* Nonmatching */ +void J3DGDSetIndTexStageNum(u32 indTevNum) { + GDOverflowCheck(10); + J3DGDWriteBPCmd(0x070000 | 0xFE << 24); + J3DGDWriteBPCmd(indTevNum << 16 | 0x00 << 24); } /* 802D632C-802D6624 .text J3DGDSetLightAttn__F10_GXLightIDffffff */ -void J3DGDSetLightAttn(_GXLightID, float, float, float, float, float, float) { +void J3DGDSetLightAttn(GXLightID id, f32, f32, f32, f32, f32, f32) { /* Nonmatching */ } /* 802D6624-802D6734 .text J3DGDSetLightColor__F10_GXLightID8_GXColor */ -void J3DGDSetLightColor(_GXLightID, _GXColor) { +void J3DGDSetLightColor(GXLightID, GXColor) { /* Nonmatching */ } /* 802D6734-802D6900 .text J3DGDSetLightPos__F10_GXLightIDfff */ -void J3DGDSetLightPos(_GXLightID, float, float, float) { +void J3DGDSetLightPos(GXLightID, f32, f32, f32) { /* Nonmatching */ } /* 802D6900-802D6ACC .text J3DGDSetLightDir__F10_GXLightIDfff */ -void J3DGDSetLightDir(_GXLightID, float, float, float) { +void J3DGDSetLightDir(GXLightID, f32, f32, f32) { /* Nonmatching */ } /* 802D6ACC-802D702C .text J3DGDSetVtxAttrFmtv__F9_GXVtxFmtP17_GXVtxAttrFmtListb */ -void J3DGDSetVtxAttrFmtv(_GXVtxFmt, _GXVtxAttrFmtList*, bool) { +void J3DGDSetVtxAttrFmtv(GXVtxFmt, GXVtxAttrFmtList*, bool) { /* Nonmatching */ } /* 802D702C-802D71FC .text J3DGDSetTexCoordGen__F13_GXTexGenType12_GXTexGenSrc */ -void J3DGDSetTexCoordGen(_GXTexGenType, _GXTexGenSrc) { +void J3DGDSetTexCoordGen(GXTexGenType, GXTexGenSrc) { /* Nonmatching */ } /* 802D71FC-802D7400 .text J3DGDSetTexCoordScale2__F13_GXTexCoordIDUsUcUcUsUcUc */ -void J3DGDSetTexCoordScale2(_GXTexCoordID, unsigned short, unsigned char, unsigned char, unsigned short, unsigned char, unsigned char) { - /* Nonmatching */ +void J3DGDSetTexCoordScale2(GXTexCoordID id, u16 scaleS, u8 biasS, u8 wrapS, u16 scaleT, u8 biasT, u8 wrapT) { + GDOverflowCheck(15); + J3DGDWriteBPCmd(0xFE03FFFF); + J3DGDWriteBPCmd((scaleS - 1) | (biasS << 16) | (wrapS << 17) | (0x30 + id * 2) << 24); + J3DGDWriteBPCmd((scaleT - 1) | (biasT << 16) | (wrapT << 17) | (0x31 + id * 2) << 24); } /* 802D7400-802D759C .text J3DGDSetTexLookupMode__F11_GXTexMapID14_GXTexWrapMode14_GXTexWrapMode12_GXTexFilter12_GXTexFilterfffUcUc13_GXAnisotropy */ -void J3DGDSetTexLookupMode(_GXTexMapID, _GXTexWrapMode, _GXTexWrapMode, _GXTexFilter, _GXTexFilter, float, float, float, unsigned char, unsigned char, _GXAnisotropy) { - /* Nonmatching */ +void J3DGDSetTexLookupMode(GXTexMapID id, GXTexWrapMode wrapS, GXTexWrapMode wrapT, GXTexFilter minFilter, GXTexFilter magFilter, f32 minLOD, f32 maxLOD, f32 lodBias, u8 biasClamp, u8 edgeLOD, GXAnisotropy maxAniso) { + J3DGDWriteBPCmd( + (wrapS) << 0 | + (wrapT) << 2 | + (magFilter == GX_LINEAR) << 4 | + (GX2HWFiltConv[minFilter]) << 5 | + (!edgeLOD) << 8 | + ((u8)(lodBias * 32.0f)) << 9 | + (maxAniso) << 19 | + (biasClamp) << 21 | + (J3DGDTexMode0Ids[id] << 24)); + J3DGDWriteBPCmd( + ((u8)(minLOD * 16.0f)) << 0 | + ((u8)(maxLOD * 16.0f)) << 8 | + (J3DGDTexMode1Ids[id] << 24)); } /* 802D759C-802D7644 .text J3DGDSetTexImgAttr__F11_GXTexMapIDUsUs9_GXTexFmt */ -void J3DGDSetTexImgAttr(_GXTexMapID, unsigned short, unsigned short, _GXTexFmt) { - /* Nonmatching */ +void J3DGDSetTexImgAttr(GXTexMapID id, u16 w, u16 h, GXTexFmt fmt) { + J3DGDWriteBPCmd((w - 1) | ((h - 1) << 10) | (fmt << 20) | (J3DGDTexImage0Ids[id] << 24)); } /* 802D7644-802D76D4 .text J3DGDSetTexImgPtr__F11_GXTexMapIDPv */ -void J3DGDSetTexImgPtr(_GXTexMapID, void*) { - /* Nonmatching */ +void J3DGDSetTexImgPtr(GXTexMapID id, void* pTex) { + J3DGDWriteBPCmd((OSCachedToPhysical(pTex) >> 5) | (J3DGDTexImage3Ids[id] << 24)); } /* 802D76D4-802D77A8 .text J3DGDSetTexImgPtrRaw__F11_GXTexMapIDUl */ -void J3DGDSetTexImgPtrRaw(_GXTexMapID, unsigned long) { - /* Nonmatching */ +void J3DGDSetTexImgPtrRaw(GXTexMapID id, u32 addr) { + GDOverflowCheck(5); + J3DGDWriteBPCmd(addr | (J3DGDTexImage3Ids[id] << 24)); } /* 802D77A8-802D7840 .text J3DGDSetTexTlut__F11_GXTexMapIDUl10_GXTlutFmt */ -void J3DGDSetTexTlut(_GXTexMapID, unsigned long, _GXTlutFmt) { - /* Nonmatching */ +void J3DGDSetTexTlut(GXTexMapID id, u32 addr, GXTlutFmt fmt) { + J3DGDWriteBPCmd(((addr - 0x80000) >> 9) | fmt << 10 | J3DGDTexTlutIds[id] << 24); } /* 802D7840-802D7AF8 .text J3DGDLoadTlut__FPvUl11_GXTlutSize */ -void J3DGDLoadTlut(void*, unsigned long, _GXTlutSize) { - /* Nonmatching */ +void J3DGDLoadTlut(void* pTex, u32 addr, GXTlutSize size) { + J3DGDWriteBPCmd(0xFFFF00 | 0xFE << 24); + J3DGDWriteBPCmd(0x0F << 24); + + J3DGDWriteBPCmd((OSCachedToPhysical(pTex) >> 5) | 0x64 << 24); + J3DGDWriteBPCmd(((addr - 0x80000) >> 9) | size << 10 | 0x65 << 24); + + J3DGDWriteBPCmd(0xFFFF00 | 0xFE << 24); + J3DGDWriteBPCmd(0x0F << 24); } /* 802D7AF8-802D7DD8 .text J3DGDSetIndTexMtx__F14_GXIndTexMtxIDPA3_fSc */ -void J3DGDSetIndTexMtx(_GXIndTexMtxID, float(*)[3], signed char) { +void J3DGDSetIndTexMtx(GXIndTexMtxID, Mtx23, s8) { /* Nonmatching */ } /* 802D7DD8-802D7ED0 .text J3DGDSetIndTexCoordScale__F16_GXIndTexStageID14_GXIndTexScale14_GXIndTexScale14_GXIndTexScale14_GXIndTexScale */ -void J3DGDSetIndTexCoordScale(_GXIndTexStageID, _GXIndTexScale, _GXIndTexScale, _GXIndTexScale, _GXIndTexScale) { - /* Nonmatching */ +void J3DGDSetIndTexCoordScale(GXIndTexStageID id, GXIndTexScale s0, GXIndTexScale t0, GXIndTexScale s1, GXIndTexScale t1) { + GDOverflowCheck(5); + J3DGDWriteBPCmd((s0) | (t0 << 4) | (s1 << 8) | (t1 << 12) | ((0x25 + (id >> 1)) << 24)); } /* 802D7ED0-802D80D0 .text J3DGDSetIndTexOrder__FUl13_GXTexCoordID11_GXTexMapID13_GXTexCoordID11_GXTexMapID13_GXTexCoordID11_GXTexMapID13_GXTexCoordID11_GXTexMapID */ -void J3DGDSetIndTexOrder(unsigned long, _GXTexCoordID, _GXTexMapID, _GXTexCoordID, _GXTexMapID, _GXTexCoordID, _GXTexMapID, _GXTexCoordID, _GXTexMapID) { - /* Nonmatching */ +void J3DGDSetIndTexOrder(u32, GXTexCoordID, GXTexMapID, GXTexCoordID, GXTexMapID, GXTexCoordID, GXTexMapID, GXTexCoordID, GXTexMapID) { } /* 802D80D0-802D825C .text J3DGDSetTevOrder__F13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID13_GXTexCoordID11_GXTexMapID12_GXChannelID */ -void J3DGDSetTevOrder(_GXTevStageID, _GXTexCoordID, _GXTexMapID, _GXChannelID, _GXTexCoordID, _GXTexMapID, _GXChannelID) { - /* Nonmatching */ +void J3DGDSetTevOrder(GXTevStageID stage, GXTexCoordID coord1, GXTexMapID map1, GXChannelID color1, GXTexCoordID coord2, GXTexMapID map2, GXChannelID color2) { + static u8 c2r[] = {0, 1, 0, 1, 0, 1, 7, 5, 6, 0, 0, 0, 0, 0, 0, 7}; + + GXTexCoordID r31 = coord1 >= 8 ? GX_TEXCOORD0 : coord1; + GXTexCoordID r30 = coord2 >= 8 ? GX_TEXCOORD0 : coord2; + GDOverflowCheck(5); + J3DGDWriteBPCmd( + ((map1 & 7) << 0) | + (r31 << 3) | + ((map1 != GX_TEXMAP_NULL && (map1 & GX_TEXMAP_DISABLE) == 0) << 6) | + (c2r[color1 & 0xf] << 7) | + ((map2 & 7) << 12) | + (r30 << 15) | + ((map2 != GX_TEXMAP_NULL && (map2 & GX_TEXMAP_DISABLE) == 0) << 18) | + (c2r[color2 & 0xf] << 19) | + ((stage / 2 + 0x28) << 24)); } /* 802D825C-802D83C4 .text J3DGDSetTevKColor__F14_GXTevKColorID8_GXColor */ -void J3DGDSetTevKColor(_GXTevKColorID, _GXColor) { - /* Nonmatching */ +void J3DGDSetTevKColor(GXTevKColorID id, GXColor color) { + u32 r0 = + (color.r << 0) | + (color.a << 12) | + (1 << 23) | + ((0xe0 + id * 2) << 24); + u32 r1 = + (color.b << 0) | + (color.g << 12) | + (1 << 23) | + ((0xe1 + id * 2) << 24); + + GDOverflowCheck(10); + J3DGDWriteBPCmd(r0); + J3DGDWriteBPCmd(r1); } /* 802D83C4-802D85F8 .text J3DGDSetTevColorS10__F11_GXTevRegID11_GXColorS10 */ -void J3DGDSetTevColorS10(_GXTevRegID, _GXColorS10) { - /* Nonmatching */ +void J3DGDSetTevColorS10(GXTevRegID id, GXColorS10 color) { + u32 r0 = + ((color.r & 0x7FF) << 0) | + ((color.a & 0x7FF) << 12) | + ((0xe0 + id * 2) << 24); + u32 r1 = + ((color.b & 0x7FF) << 0) | + ((color.g & 0x7FF) << 12) | + ((0xe1 + id * 2) << 24); + + GDOverflowCheck(20); + J3DGDWriteBPCmd(r0); + J3DGDWriteBPCmd(r1); + + /* wtf? */ + J3DGDWriteBPCmd(r1); + J3DGDWriteBPCmd(r1); } /* 802D85F8-802D895C .text J3DGDSetFog__F10_GXFogTypeffff8_GXColor */ -void J3DGDSetFog(_GXFogType, float, float, float, float, _GXColor) { +void J3DGDSetFog(GXFogType, f32, f32, f32, f32, GXColor) { /* Nonmatching */ } /* 802D895C-802D8AA8 .text J3DGDSetFogRangeAdj__FUcUsP14_GXFogAdjTable */ -void J3DGDSetFogRangeAdj(unsigned char, unsigned short, _GXFogAdjTable*) { +void J3DGDSetFogRangeAdj(u8 enabled, u16 center, GXFogAdjTable* pFogAdjTable) { /* Nonmatching */ + if (enabled) { + for (s32 i = 0; i < 10; i += 2) { + u16 r0 = pFogAdjTable->r[i + 0]; + u16 r1 = pFogAdjTable->r[i + 1]; + + u32 reg = 0; + reg |= (0xe9 + i / 2) << 24; + reg |= r1 << 12; + reg |= r0 << 0; + J3DGDWriteBPCmd(reg); + } + } + + u32 reg = (center + 342) << 0 | 0xe8 << 24 | enabled << 10; + J3DGDWriteBPCmd(reg); } diff --git a/src/JSystem/J3DGraphBase/J3DMatBlock.cpp b/src/JSystem/J3DGraphBase/J3DMatBlock.cpp index 0c8f6a4c3..d368a9d52 100644 --- a/src/JSystem/J3DGraphBase/J3DMatBlock.cpp +++ b/src/JSystem/J3DGraphBase/J3DMatBlock.cpp @@ -3,16 +3,21 @@ // Translation Unit: J3DMatBlock.cpp // +#include "JSystem/J3DGraphBase/J3DTexture.h" +#include "JSystem/J3DGraphBase/J3DTransform.h" #include "JSystem/J3DGraphBase/J3DMatBlock.h" -#include "JSystem/J3DGraphBase/J3DGD.h" +#include "JSystem/J3DGraphBase/J3DSys.h" +#include "JSystem/J3DGraphBase/J3DStruct.h" +#include "JSystem/J3DGraphBase/J3DTevs.h" #include "dolphin/gd/GDBase.h" -#include "dolphin/os/OSCache.h" +#include "dolphin/os/OS.h" #include "dolphin/types.h" +#include "MSL_C/string.h" -extern "C" extern const GXColor j3dDefaultColInfo; -extern "C" extern const GXColor j3dDefaultAmbInfo; -extern "C" extern const GXColorS10 j3dDefaultTevColor; -extern "C" extern const GXColor j3dDefaultTevKColor; +inline GXAttnFn J3DColorChan::getAttnFn() { + u8 attnFnTbl[] = { GX_AF_NONE, GX_AF_SPEC, GX_AF_NONE, GX_AF_SPOT }; + return GXAttnFn(attnFnTbl[mChanCtrl >> 9 & 0x03]); +} extern bool isTexNoReg(void*); extern u16 getTexNoReg(void*); @@ -21,6 +26,41 @@ extern void loadTexNo(u32, const u16 &); extern void J3DGDSetTevColorS10(GXTevRegID, GXColorS10); extern void J3DGDSetTevKColor(GXTevKColorID, GXColor); +int SizeOfLoadMatColors = 13; +int SizeOfLoadAmbColors = 13; +int SizeOfLoadColorChans = 21; + +int SizeOfJ3DColorBlockLightOffLoad = SizeOfLoadMatColors + SizeOfLoadColorChans; +int SizeOfJ3DColorBlockAmbientOnLoad = SizeOfLoadMatColors + SizeOfLoadAmbColors + SizeOfLoadColorChans; + +inline void loadMatColors(const J3DGXColor* color) { + J3DGDWriteXFCmdHdr(0x100C, 2); + J3DGDWrite_u32(*(u32*)color); + J3DGDWrite_u32(*(u32*)(color + 1)); +} + +inline void loadAmbColors(const J3DGXColor* color) { + J3DGDWriteXFCmdHdr(0x100A, 2); + J3DGDWrite_u32(*(u32*)color); + J3DGDWrite_u32(*(u32*)(color + 1)); +} + +inline void loadTexCoordScale(GXTexCoordID coord, const J3DTexCoordScaleInfo& info) { + J3DGDSetTexCoordScale2(coord, info.field_0x00, info.field_0x04 == 1, 0, info.field_0x02, info.field_0x06 == 1, 0); +} + +inline void loadTevColor(u32 reg, const J3DGXColorS10& color) { + J3DGDSetTevColorS10(GXTevRegID(reg + 1), color.mColor); +} + +inline void loadTevKColor(u32 reg, const J3DGXColor& color) { + J3DGDSetTevKColor(GXTevKColorID(reg), color.mColor); +} + +inline void loadZCompLoc(u8 compLoc) { + J3DGDSetZCompLoc(compLoc); +} + /* 802DF794-802DF7E4 .text initialize__21J3DColorBlockLightOffFv */ void J3DColorBlockLightOff::initialize() { mColorChanNum = 0; @@ -194,7 +234,7 @@ void J3DIndBlockFull::initialize() { /* 802DFDFC-802DFE20 .text initialize__16J3DPEBlockFogOffFv */ void J3DPEBlockFogOff::initialize() { - mAlphaComp.field_0x0 = 0xFFFF; + mAlphaComp.mAlphaCmpID = 0xFFFF; mZMode.mZModeID = 0xFFFF; mZCompLoc = 0xFF; mDither = 1; @@ -203,7 +243,7 @@ void J3DPEBlockFogOff::initialize() { /* 802DFE20-802DFE50 .text initialize__14J3DPEBlockFullFv */ void J3DPEBlockFull::initialize() { mFog = NULL; - mAlphaComp.field_0x0 = 0xFFFF; + mAlphaComp.mAlphaCmpID = 0xFFFF; mZMode.mZModeID = 0xFFFF; mZCompLoc = 0xFF; mDither = 1; @@ -297,16 +337,50 @@ s32 J3DPEBlockFull::countDLSize() { /* 802DFED8-802E0438 .text load__21J3DColorBlockLightOffFv */ void J3DColorBlockLightOff::load() { + GDOverflowCheck(SizeOfJ3DColorBlockLightOffLoad); + mMatColorOffset = GDGetCurrOffset(); + loadMatColors(mMatColor); + mColorChanOffset = GDGetCurrOffset(); + J3DGDWriteXFCmdHdr(0x100E, 4); + mColorChan[0].load(); + mColorChan[2].load(); + mColorChan[1].load(); + mColorChan[3].load(); /* Nonmatching */ } /* 802E0438-802E0AC0 .text load__22J3DColorBlockAmbientOnFv */ void J3DColorBlockAmbientOn::load() { + GDOverflowCheck(SizeOfJ3DColorBlockAmbientOnLoad); + mMatColorOffset = GDGetCurrOffset(); + loadMatColors(mMatColor); + loadAmbColors(mAmbColor); + mColorChanOffset = GDGetCurrOffset(); + J3DGDWriteXFCmdHdr(0x100E, 4); + mColorChan[0].load(); + mColorChan[2].load(); + mColorChan[1].load(); + mColorChan[3].load(); /* Nonmatching */ } /* 802E0AC0-802E1180 .text load__20J3DColorBlockLightOnFv */ void J3DColorBlockLightOn::load() { + GDOverflowCheck(SizeOfJ3DColorBlockAmbientOnLoad); + mMatColorOffset = GDGetCurrOffset(); + loadMatColors(mMatColor); + loadAmbColors(mAmbColor); + mColorChanOffset = GDGetCurrOffset(); + J3DGDWriteXFCmdHdr(0x100E, 4); + mColorChan[0].load(); + mColorChan[2].load(); + mColorChan[1].load(); + mColorChan[3].load(); + for (u32 i = 0; i < 8; i++) { + if (mLight[i]) { + mLight[i]->load(i); + } + } /* Nonmatching */ } @@ -318,11 +392,26 @@ void J3DColorBlockLightOff::patch() { /* 802E11CC-802E1378 .text patchMatColor__21J3DColorBlockLightOffFv */ void J3DColorBlockLightOff::patchMatColor() { - /* Nonmatching */ + GDSetCurrOffset(mMatColorOffset); + u8* start = GDGetCurrPointer(); + GDOverflowCheck(SizeOfLoadMatColors); + loadMatColors(mMatColor); + u8* end = GDGetCurrPointer(); + DCFlushRange(start, end - start); } /* 802E1378-802E17B4 .text patchLight__21J3DColorBlockLightOffFv */ void J3DColorBlockLightOff::patchLight() { + GDSetCurrOffset(mColorChanOffset); + u8* start = GDGetCurrPointer(); + GDOverflowCheck(SizeOfLoadColorChans); + J3DGDWriteXFCmdHdr(0x100E, 4); + mColorChan[0].load(); + mColorChan[2].load(); + mColorChan[1].load(); + mColorChan[3].load(); + u8* end = GDGetCurrPointer(); + DCFlushRange(start, end - start); /* Nonmatching */ } @@ -334,12 +423,33 @@ void J3DColorBlockLightOn::patch() { /* 802E1800-802E19AC .text patchMatColor__20J3DColorBlockLightOnFv */ void J3DColorBlockLightOn::patchMatColor() { - /* Nonmatching */ + GDSetCurrOffset(mMatColorOffset); + u8* start = GDGetCurrPointer(); + GDOverflowCheck(SizeOfLoadMatColors); + loadMatColors(mMatColor); + u8* end = GDGetCurrPointer(); + DCFlushRange(start, end - start); } /* 802E19AC-802E1E18 .text patchLight__20J3DColorBlockLightOnFv */ void J3DColorBlockLightOn::patchLight() { /* Nonmatching */ + GDSetCurrOffset(mColorChanOffset); + u8* start = GDGetCurrPointer(); + GDOverflowCheck(SizeOfLoadColorChans); + J3DGDWriteXFCmdHdr(0x100E, 4); + mColorChan[0].load(); + mColorChan[2].load(); + mColorChan[1].load(); + mColorChan[3].load(); + for (u32 i = 0; i < 8; i++) { + if (mLight[i]) { + mLight[i]->load(i); + } + } + u8* end = GDGetCurrPointer(); + DCFlushRange(start, end - start); + /* Nonmatching */ } /* 802E1E18-802E1E80 .text diff__21J3DColorBlockLightOffFUl */ @@ -352,11 +462,18 @@ void J3DColorBlockLightOff::diff(u32 flag) { /* 802E1E80-802E1FFC .text diffMatColor__21J3DColorBlockLightOffFv */ void J3DColorBlockLightOff::diffMatColor() { - /* Nonmatching */ + GDOverflowCheck(SizeOfLoadMatColors); + loadMatColors(mMatColor); } /* 802E1FFC-802E2408 .text diffLight__21J3DColorBlockLightOffFv */ void J3DColorBlockLightOff::diffLight() { + GDOverflowCheck(SizeOfLoadColorChans); + J3DGDWriteXFCmdHdr(0x100E, 4); + mColorChan[0].load(); + mColorChan[2].load(); + mColorChan[1].load(); + mColorChan[3].load(); /* Nonmatching */ } @@ -370,37 +487,86 @@ void J3DColorBlockLightOn::diff(u32 flag) { /* 802E2478-802E25F4 .text diffMatColor__20J3DColorBlockLightOnFv */ void J3DColorBlockLightOn::diffMatColor() { - /* Nonmatching */ + GDOverflowCheck(SizeOfLoadMatColors); + loadMatColors(mMatColor); } /* 802E25F4-802E2A38 .text diffLight__20J3DColorBlockLightOnFv */ void J3DColorBlockLightOn::diffLight() { - /* Nonmatching */ + GDOverflowCheck(SizeOfLoadColorChans); + J3DGDWriteXFCmdHdr(0x100E, 4); + mColorChan[0].load(); + mColorChan[2].load(); + mColorChan[1].load(); + mColorChan[3].load(); + for (u32 i = 0; i < ARRAY_SIZE(mLight); i++) + if (mLight[i] != NULL) + mLight[i]->load(i); } /* 802E2A38-802E2ACC .text load__15J3DTexGenBlock4Fv */ void J3DTexGenBlock4::load() { - /* Nonmatching */ + mTexMtxOffset = GDGetCurrOffset(); + for (u32 i = 0; i < 4; i++) { + if (mTexMtx[i] && mTexCoord[i].getTexGenMtx() != GX_IDENTITY) { + mTexMtx[i]->load(i); + } + } + if (mTexGenNum != 0) { + loadTexCoordGens(mTexGenNum, mTexCoord); + } } /* 802E2ACC-802E2B60 .text load__19J3DTexGenBlockBasicFv */ void J3DTexGenBlockBasic::load() { - /* Nonmatching */ + mTexMtxOffset = GDGetCurrOffset(); + for (u32 i = 0; i < 8; i++) { + if (mTexMtx[i] && mTexCoord[i].getTexGenMtx() != GX_IDENTITY) { + mTexMtx[i]->load(i); + } + } + if (mTexGenNum != 0) { + loadTexCoordGens(mTexGenNum, mTexCoord); + } } /* 802E2B60-802E2BF0 .text patch__21J3DTexGenBlockPatchedFv */ void J3DTexGenBlockPatched::patch() { - /* Nonmatching */ + GDSetCurrOffset(mTexMtxOffset); + u8* start = GDGetCurrPointer(); + for (u32 i = 0; i < 8; i++) { + if (mTexMtx[i]) { + mTexMtx[i]->load(i); + } + } + u8* end = GDGetCurrPointer(); + DCFlushRange(start, end - start); } /* 802E2BF0-802E2C8C .text patch__15J3DTexGenBlock4Fv */ void J3DTexGenBlock4::patch() { - /* Nonmatching */ + GDSetCurrOffset(mTexMtxOffset); + u8* start = GDGetCurrPointer(); + for (u32 i = 0; i < 4; i++) { + if (mTexMtx[i] && mTexCoord[i].getTexGenMtx() != GX_IDENTITY) { + mTexMtx[i]->load(i); + } + } + u8* end = GDGetCurrPointer(); + DCFlushRange(start, end - start); } /* 802E2C8C-802E2D28 .text patch__19J3DTexGenBlockBasicFv */ void J3DTexGenBlockBasic::patch() { - /* Nonmatching */ + GDSetCurrOffset(mTexMtxOffset); + u8* start = GDGetCurrPointer(); + for (u32 i = 0; i < 8; i++) { + if (mTexMtx[i] && mTexCoord[i].getTexGenMtx() != GX_IDENTITY) { + mTexMtx[i]->load(i); + } + } + u8* end = GDGetCurrPointer(); + DCFlushRange(start, end - start); } /* 802E2D28-802E2D90 .text diff__21J3DTexGenBlockPatchedFUl */ @@ -414,37 +580,243 @@ void J3DTexGenBlockPatched::diff(u32 flag) { /* 802E2D90-802E2DF0 .text diffTexMtx__21J3DTexGenBlockPatchedFv */ void J3DTexGenBlockPatched::diffTexMtx() { - /* Nonmatching */ + for (u32 i = 0; i < ARRAY_SIZE(mTexMtx); ++i) { + if (mTexMtx[i] != NULL) { + mTexMtx[i]->load(i); + } + } } /* 802E2DF0-802E2ED0 .text diffTexGen__21J3DTexGenBlockPatchedFv */ void J3DTexGenBlockPatched::diffTexGen() { - /* Nonmatching */ + u32 num = mTexGenNum; + if (num > 0) { + J3DGDWriteXFCmdHdr(0x1040, num); + } + for (u32 i = 0; i < num; ++i) { + J3DGDSetTexCoordGen((GXTexGenType)mTexCoord[i].mTexGenType, + (GXTexGenSrc)mTexCoord[i].mTexGenSrc); + } } /* 802E2ED0-802E3110 .text load__12J3DTevBlock1Fv */ void J3DTevBlock1::load() { - /* Nonmatching */ + mTexNoOffset = GDGetCurrOffset(); + GDOverflowCheck(0x69); + if (mTexNo[0] != 0xffff) { + loadTexNo(0, mTexNo[0]); + } + J3DGDSetTevOrder( + GX_TEVSTAGE0, + GXTexCoordID(mTevOrder[0].getTevOrderInfo().mTexCoord), + GXTexMapID(mTevOrder[0].getTevOrderInfo().mTexMap), + GXChannelID(mTevOrder[0].getTevOrderInfo().mColorChan), + GX_TEXCOORD_NULL, + GX_TEXMAP_NULL, + GX_COLOR_NULL + ); + loadTexCoordScale( + GXTexCoordID(mTevOrder[0].getTevOrderInfo().mTexCoord), + J3DSys::sTexCoordScaleTable[mTevOrder[0].getTevOrderInfo().mTexMap & 7] + ); + mTevStage[0].load(0); + mIndTevStage[0].load(0); } /* 802E3110-802E362C .text load__12J3DTevBlock2Fv */ void J3DTevBlock2::load() { - /* Nonmatching */ + u8 tevStageNum = mTevStageNum; + mTexNoOffset = GDGetCurrOffset(); + for (u32 i = 0; i < 2; i++) { + if (mTexNo[i] != 0xffff) { + loadTexNo(i, mTexNo[i]); + } + } + J3DGDSetTevOrder( + GX_TEVSTAGE0, + GXTexCoordID(mTevOrder[0].getTevOrderInfo().mTexCoord), + GXTexMapID(mTevOrder[0].getTevOrderInfo().mTexMap), + GXChannelID(mTevOrder[0].getTevOrderInfo().mColorChan), + GXTexCoordID(mTevOrder[1].getTevOrderInfo().mTexCoord), + GXTexMapID(mTevOrder[1].getTevOrderInfo().mTexMap), + GXChannelID(mTevOrder[1].getTevOrderInfo().mColorChan) + ); + loadTexCoordScale( + GXTexCoordID(mTevOrder[0].getTevOrderInfo().mTexCoord), + J3DSys::sTexCoordScaleTable[mTevOrder[0].getTevOrderInfo().mTexMap & 7] + ); + loadTexCoordScale( + GXTexCoordID(mTevOrder[1].getTevOrderInfo().mTexCoord & 7), + J3DSys::sTexCoordScaleTable[mTevOrder[1].getTevOrderInfo().mTexMap & 7] + ); + mTevRegOffset = GDGetCurrOffset(); + for (u32 i = 0; i < 3; i++) { + loadTevColor(i, mTevColor[i]); + } + for (u32 i = 0; i < 4; i++) { + loadTevKColor(i, mTevKColor[i]); + } + for (u32 i = 0; i < tevStageNum; i++) { + mTevStage[i].load(i); + mIndTevStage[i].load(i); + } + for (u32 i = 0; i < 16; i += 4) { + J3DGDSetTevKonstantSel_SwapModeTable( + GXTevStageID(i), + GXTevKColorSel(mTevKColorSel[0]), + GXTevKAlphaSel(mTevKAlphaSel[0]), + GXTevKColorSel(mTevKColorSel[1]), + GXTevKAlphaSel(mTevKAlphaSel[1]), + GXTevColorChan(mTevSwapModeTable[i / 4].getR()), + GXTevColorChan(mTevSwapModeTable[i / 4].getG()) + ); + J3DGDSetTevKonstantSel_SwapModeTable( + GXTevStageID(i + 2), + GXTevKColorSel(mTevKColorSel[0]), + GXTevKAlphaSel(mTevKAlphaSel[0]), + GXTevKColorSel(mTevKColorSel[1]), + GXTevKAlphaSel(mTevKAlphaSel[1]), + GXTevColorChan(mTevSwapModeTable[i / 4].getB()), + GXTevColorChan(mTevSwapModeTable[i / 4].getA()) + ); + } } /* 802E362C-802E3B70 .text load__12J3DTevBlock4Fv */ void J3DTevBlock4::load() { - /* Nonmatching */ + u8 tevStageNum = mTevStageNum; + mTexNoOffset = GDGetCurrOffset(); + for (u32 i = 0; i < 4; i++) { + if (mTexNo[i] != 0xffff) { + loadTexNo(i, mTexNo[i]); + } + } + for (u32 i = 0; i < tevStageNum; i += 2) { + J3DGDSetTevOrder( + GXTevStageID(i), + GXTexCoordID(mTevOrder[i].getTevOrderInfo().mTexCoord), + GXTexMapID(mTevOrder[i].getTevOrderInfo().mTexMap), + GXChannelID(mTevOrder[i].getTevOrderInfo().mColorChan), + GXTexCoordID(mTevOrder[i + 1].getTevOrderInfo().mTexCoord), + GXTexMapID(mTevOrder[i + 1].getTevOrderInfo().mTexMap), + GXChannelID(mTevOrder[i + 1].getTevOrderInfo().mColorChan) + ); + loadTexCoordScale( + GXTexCoordID(mTevOrder[i].getTevOrderInfo().mTexCoord & 7), + J3DSys::sTexCoordScaleTable[mTevOrder[i].getTevOrderInfo().mTexMap & 7] + ); + loadTexCoordScale( + GXTexCoordID(mTevOrder[i + 1].getTevOrderInfo().mTexCoord & 7), + J3DSys::sTexCoordScaleTable[mTevOrder[i + 1].getTevOrderInfo().mTexMap & 7] + ); + } + mTevRegOffset = GDGetCurrOffset(); + for (u32 i = 0; i < 3; i++) { + loadTevColor(i, mTevColor[i]); + } + for (u32 i = 0; i < 4; i++) { + loadTevKColor(i, mTevKColor[i]); + } + for (u32 i = 0; i < tevStageNum; i++) { + mTevStage[i].load(i); + mIndTevStage[i].load(i); + } + for (u32 i = 0; i < 16; i += 4) { + J3DGDSetTevKonstantSel_SwapModeTable( + GXTevStageID(i), + GXTevKColorSel(mTevKColorSel[0]), + GXTevKAlphaSel(mTevKAlphaSel[0]), + GXTevKColorSel(mTevKColorSel[1]), + GXTevKAlphaSel(mTevKAlphaSel[1]), + GXTevColorChan(mTevSwapModeTable[i / 4].getR()), + GXTevColorChan(mTevSwapModeTable[i / 4].getG()) + ); + J3DGDSetTevKonstantSel_SwapModeTable( + GXTevStageID(i + 2), + GXTevKColorSel(mTevKColorSel[2]), + GXTevKAlphaSel(mTevKAlphaSel[2]), + GXTevKColorSel(mTevKColorSel[3]), + GXTevKAlphaSel(mTevKAlphaSel[3]), + GXTevColorChan(mTevSwapModeTable[i / 4].getB()), + GXTevColorChan(mTevSwapModeTable[i / 4].getA()) + ); + } } /* 802E3B70-802E40B8 .text load__13J3DTevBlock16Fv */ void J3DTevBlock16::load() { - /* Nonmatching */ + u8 tevStageNum = mTevStageNum; + mTexNoOffset = GDGetCurrOffset(); + for (u32 i = 0; i < 8; i++) { + if (mTexNo[i] != 0xffff) { + loadTexNo(i, mTexNo[i]); + } + } + for (u32 i = 0; i < tevStageNum; i += 2) { + J3DGDSetTevOrder( + GXTevStageID(i), + GXTexCoordID(mTevOrder[i].getTevOrderInfo().mTexCoord), + GXTexMapID(mTevOrder[i].getTevOrderInfo().mTexMap), + GXChannelID(mTevOrder[i].getTevOrderInfo().mColorChan), + GXTexCoordID(mTevOrder[i + 1].getTevOrderInfo().mTexCoord), + GXTexMapID(mTevOrder[i + 1].getTevOrderInfo().mTexMap), + GXChannelID(mTevOrder[i + 1].getTevOrderInfo().mColorChan) + ); + loadTexCoordScale( + GXTexCoordID(mTevOrder[i].getTevOrderInfo().mTexCoord & 7), + J3DSys::sTexCoordScaleTable[mTevOrder[i].getTevOrderInfo().mTexMap & 7] + ); + loadTexCoordScale( + GXTexCoordID(mTevOrder[i + 1].getTevOrderInfo().mTexCoord & 7), + J3DSys::sTexCoordScaleTable[mTevOrder[i + 1].getTevOrderInfo().mTexMap & 7] + ); + } + mTevRegOffset = GDGetCurrOffset(); + for (u32 i = 0; i < 3; i++) { + loadTevColor(i, mTevColor[i]); + } + for (u32 i = 0; i < 4; i++) { + loadTevKColor(i, mTevKColor[i]); + } + for (u32 i = 0; i < tevStageNum; i++) { + mTevStage[i].load(i); + mIndTevStage[i].load(i); + } + for (u32 i = 0; i < 16; i += 4) { + J3DGDSetTevKonstantSel_SwapModeTable( + GXTevStageID(i), + GXTevKColorSel(mTevKColorSel[i]), + GXTevKAlphaSel(mTevKAlphaSel[i]), + GXTevKColorSel(mTevKColorSel[i + 1]), + GXTevKAlphaSel(mTevKAlphaSel[i + 1]), + GXTevColorChan(mTevSwapModeTable[i / 4].getR()), + GXTevColorChan(mTevSwapModeTable[i / 4].getG()) + ); + J3DGDSetTevKonstantSel_SwapModeTable( + GXTevStageID(i + 2), + GXTevKColorSel(mTevKColorSel[i + 2]), + GXTevKAlphaSel(mTevKAlphaSel[i + 2]), + GXTevKColorSel(mTevKColorSel[i + 3]), + GXTevKAlphaSel(mTevKAlphaSel[i + 3]), + GXTevColorChan(mTevSwapModeTable[i / 4].getB()), + GXTevColorChan(mTevSwapModeTable[i / 4].getA()) + ); + } } /* 802E40B8-802E414C .text patchTexNo__18J3DTevBlockPatchedFv */ void J3DTevBlockPatched::patchTexNo() { - /* Nonmatching */ + GDSetCurrOffset(mTexNoOffset); + u8* start = GDGetCurrPointer(); + + for (u32 i = 0; i < 8; i++) { + if (mTexNo[i] != 0xffff) { + loadTexNo(i, mTexNo[i]); + } + } + + u8* end = GDGetCurrPointer(); + DCFlushRange(start, end - start); } /* 802E414C-802E4218 .text patchTevReg__18J3DTevBlockPatchedFv */ @@ -453,9 +825,9 @@ void J3DTevBlockPatched::patchTevReg() { u8 *pStart = GDGetCurrPointer(); for (u32 i = 0; i < ARRAY_SIZE(mTevColor) - 1; i++) - J3DGDSetTevColorS10((GXTevRegID)(i + 1), mTevColor[i]); + J3DGDSetTevColorS10((GXTevRegID)(i + 1), mTevColor[i].mColor); for (u32 i = 0; i < ARRAY_SIZE(mTevKColor); i++) - J3DGDSetTevKColor((GXTevKColorID)i, mTevKColor[i]); + J3DGDSetTevKColor((GXTevKColorID)i, mTevKColor[i].mColor); u8 *pEnd = GDGetCurrPointer(); DCFlushRange(pStart, pEnd - pStart); @@ -463,7 +835,38 @@ void J3DTevBlockPatched::patchTevReg() { /* 802E4218-802E4394 .text patchTexNoAndTexCoordScale__18J3DTevBlockPatchedFv */ void J3DTevBlockPatched::patchTexNoAndTexCoordScale() { - /* Nonmatching */ + GDSetCurrOffset(mTexNoOffset); + u8 *start = GDGetCurrPointer(); + + u8 tevStageNum = mTevStageNum; + for (u32 i = 0; i < 8; i++) { + if (mTexNo[i] != 0xffff) { + loadTexNo(i, mTexNo[i]); + } + } + + for (u32 i = 0; i < tevStageNum; i += 2) { + J3DGDSetTevOrder( + GXTevStageID(i), + GXTexCoordID(mTevOrder[i].getTevOrderInfo().mTexCoord), + GXTexMapID(mTevOrder[i].getTevOrderInfo().mTexMap), + GXChannelID(mTevOrder[i].getTevOrderInfo().mColorChan), + GXTexCoordID(mTevOrder[i + 1].getTevOrderInfo().mTexCoord), + GXTexMapID(mTevOrder[i + 1].getTevOrderInfo().mTexMap), + GXChannelID(mTevOrder[i + 1].getTevOrderInfo().mColorChan) + ); + loadTexCoordScale( + GXTexCoordID(mTevOrder[i].getTevOrderInfo().mTexCoord & 7), + J3DSys::sTexCoordScaleTable[mTevOrder[i].getTevOrderInfo().mTexMap & 7] + ); + loadTexCoordScale( + GXTexCoordID(mTevOrder[i + 1].getTevOrderInfo().mTexCoord & 7), + J3DSys::sTexCoordScaleTable[mTevOrder[i + 1].getTevOrderInfo().mTexMap & 7] + ); + } + + u8 *end = GDGetCurrPointer(); + DCFlushRange(start, end - start); } /* 802E4394-802E43E0 .text patch__18J3DTevBlockPatchedFv */ @@ -490,17 +893,49 @@ void J3DTevBlock1::patchTevReg() { /* 802E4454-802E4538 .text patchTexNoAndTexCoordScale__12J3DTevBlock1Fv */ void J3DTevBlock1::patchTexNoAndTexCoordScale() { - /* Nonmatching */ + GDSetCurrOffset(mTexNoOffset); + u8 *start = GDGetCurrPointer(); + + if (mTexNo[0] != 0xffff) { + loadTexNo(0, mTexNo[0]); + } + + J3DGDSetTevOrder( + GX_TEVSTAGE0, + GXTexCoordID(mTevOrder[0].getTevOrderInfo().mTexCoord), + GXTexMapID(mTevOrder[0].getTevOrderInfo().mTexMap), + GXChannelID(mTevOrder[0].getTevOrderInfo().mColorChan), + GX_TEXCOORD_NULL, + GX_TEXMAP_NULL, + GX_COLOR_NULL + ); + loadTexCoordScale( + GXTexCoordID(mTevOrder[0].getTevOrderInfo().mTexCoord), + J3DSys::sTexCoordScaleTable[mTevOrder[0].getTevOrderInfo().mTexMap & 7] + ); + + u8 *end = GDGetCurrPointer(); + DCFlushRange(start, end - start); } /* 802E4538-802E4564 .text patch__12J3DTevBlock1Fv */ void J3DTevBlock1::patch() { - /* Nonmatching */ + patchTexNo(); } /* 802E4564-802E45F8 .text patchTexNo__12J3DTevBlock2Fv */ void J3DTevBlock2::patchTexNo() { - /* Nonmatching */ + GDSetCurrOffset(mTexNoOffset); + u8 *start = GDGetCurrPointer(); + + for (u32 i = 0; i < 2; i++) { + if (mTexNo[i] != 0xffff) { + loadTexNo(i, mTexNo[i]); + } + } + + u8 *end = GDGetCurrPointer(); + DCFlushRange(start, end - start); } /* 802E45F8-802E46C4 .text patchTevReg__12J3DTevBlock2Fv */ @@ -509,9 +944,9 @@ void J3DTevBlock2::patchTevReg() { u8 *pStart = GDGetCurrPointer(); for (u32 i = 0; i < ARRAY_SIZE(mTevColor) - 1; i++) - J3DGDSetTevColorS10((GXTevRegID)(i + 1), mTevColor[i]); + J3DGDSetTevColorS10((GXTevRegID)(i + 1), mTevColor[i].mColor); for (u32 i = 0; i < ARRAY_SIZE(mTevKColor); i++) - J3DGDSetTevKColor((GXTevKColorID)i, mTevKColor[i]); + J3DGDSetTevKColor((GXTevKColorID)i, mTevKColor[i].mColor); u8 *pEnd = GDGetCurrPointer(); DCFlushRange(pStart, pEnd - pStart); @@ -519,7 +954,35 @@ void J3DTevBlock2::patchTevReg() { /* 802E46C4-802E4814 .text patchTexNoAndTexCoordScale__12J3DTevBlock2Fv */ void J3DTevBlock2::patchTexNoAndTexCoordScale() { - /* Nonmatching */ + GDSetCurrOffset(mTexNoOffset); + u8 *start = GDGetCurrPointer(); + + for (u32 i = 0; i < 2; i++) { + if (mTexNo[i] != 0xffff) { + loadTexNo(i, mTexNo[i]); + } + } + + J3DGDSetTevOrder( + GX_TEVSTAGE0, + GXTexCoordID(mTevOrder[0].getTevOrderInfo().mTexCoord), + GXTexMapID(mTevOrder[0].getTevOrderInfo().mTexMap), + GXChannelID(mTevOrder[0].getTevOrderInfo().mColorChan), + GXTexCoordID(mTevOrder[1].getTevOrderInfo().mTexCoord), + GXTexMapID(mTevOrder[1].getTevOrderInfo().mTexMap), + GXChannelID(mTevOrder[1].getTevOrderInfo().mColorChan) + ); + loadTexCoordScale( + GXTexCoordID(mTevOrder[0].getTevOrderInfo().mTexCoord), + J3DSys::sTexCoordScaleTable[mTevOrder[0].getTevOrderInfo().mTexMap & 7] + ); + loadTexCoordScale( + GXTexCoordID(mTevOrder[1].getTevOrderInfo().mTexCoord & 7), + J3DSys::sTexCoordScaleTable[mTevOrder[1].getTevOrderInfo().mTexMap & 7] + ); + + u8 *end = GDGetCurrPointer(); + DCFlushRange(start, end - start); } /* 802E4814-802E4860 .text patch__12J3DTevBlock2Fv */ @@ -530,7 +993,17 @@ void J3DTevBlock2::patch() { /* 802E4860-802E48F4 .text patchTexNo__12J3DTevBlock4Fv */ void J3DTevBlock4::patchTexNo() { - /* Nonmatching */ + GDSetCurrOffset(mTexNoOffset); + u8 *start = GDGetCurrPointer(); + + for (u32 i = 0; i < 4; i++) { + if (mTexNo[i] != 0xffff) { + loadTexNo(i, mTexNo[i]); + } + } + + u8 *end = GDGetCurrPointer(); + DCFlushRange(start, end - start); } /* 802E48F4-802E49C0 .text patchTevReg__12J3DTevBlock4Fv */ @@ -539,9 +1012,9 @@ void J3DTevBlock4::patchTevReg() { u8 *pStart = GDGetCurrPointer(); for (u32 i = 0; i < ARRAY_SIZE(mTevColor) - 1; i++) - J3DGDSetTevColorS10((GXTevRegID)(i + 1), mTevColor[i]); + J3DGDSetTevColorS10((GXTevRegID)(i + 1), mTevColor[i].mColor); for (u32 i = 0; i < ARRAY_SIZE(mTevKColor); i++) - J3DGDSetTevKColor((GXTevKColorID)i, mTevKColor[i]); + J3DGDSetTevKColor((GXTevKColorID)i, mTevKColor[i].mColor); u8 *pEnd = GDGetCurrPointer(); DCFlushRange(pStart, pEnd - pStart); @@ -549,7 +1022,38 @@ void J3DTevBlock4::patchTevReg() { /* 802E49C0-802E4B3C .text patchTexNoAndTexCoordScale__12J3DTevBlock4Fv */ void J3DTevBlock4::patchTexNoAndTexCoordScale() { - /* Nonmatching */ + GDSetCurrOffset(mTexNoOffset); + u8 *start = GDGetCurrPointer(); + + u8 tevStageNum = mTevStageNum; + for (u32 i = 0; i < 8; i++) { + if (mTexNo[i] != 0xffff) { + loadTexNo(i, mTexNo[i]); + } + } + + for (u32 i = 0; i < tevStageNum; i += 2) { + J3DGDSetTevOrder( + GXTevStageID(i), + GXTexCoordID(mTevOrder[i].getTevOrderInfo().mTexCoord), + GXTexMapID(mTevOrder[i].getTevOrderInfo().mTexMap), + GXChannelID(mTevOrder[i].getTevOrderInfo().mColorChan), + GXTexCoordID(mTevOrder[i + 1].getTevOrderInfo().mTexCoord), + GXTexMapID(mTevOrder[i + 1].getTevOrderInfo().mTexMap), + GXChannelID(mTevOrder[i + 1].getTevOrderInfo().mColorChan) + ); + loadTexCoordScale( + GXTexCoordID(mTevOrder[i].getTevOrderInfo().mTexCoord & 7), + J3DSys::sTexCoordScaleTable[mTevOrder[i].getTevOrderInfo().mTexMap & 7] + ); + loadTexCoordScale( + GXTexCoordID(mTevOrder[i + 1].getTevOrderInfo().mTexCoord & 7), + J3DSys::sTexCoordScaleTable[mTevOrder[i + 1].getTevOrderInfo().mTexMap & 7] + ); + } + + u8 *end = GDGetCurrPointer(); + DCFlushRange(start, end - start); } /* 802E4B3C-802E4B88 .text patch__12J3DTevBlock4Fv */ @@ -560,7 +1064,17 @@ void J3DTevBlock4::patch() { /* 802E4B88-802E4C1C .text patchTexNo__13J3DTevBlock16Fv */ void J3DTevBlock16::patchTexNo() { - /* Nonmatching */ + GDSetCurrOffset(mTexNoOffset); + u8 *start = GDGetCurrPointer(); + + for (u32 i = 0; i < 8; i++) { + if (mTexNo[i] != 0xffff) { + loadTexNo(i, mTexNo[i]); + } + } + + u8 *end = GDGetCurrPointer(); + DCFlushRange(start, end - start); } /* 802E4C1C-802E4CE8 .text patchTevReg__13J3DTevBlock16Fv */ @@ -569,9 +1083,9 @@ void J3DTevBlock16::patchTevReg() { u8 *pStart = GDGetCurrPointer(); for (u32 i = 0; i < ARRAY_SIZE(mTevColor) - 1; i++) - J3DGDSetTevColorS10((GXTevRegID)(i + 1), mTevColor[i]); + J3DGDSetTevColorS10((GXTevRegID)(i + 1), mTevColor[i].mColor); for (u32 i = 0; i < ARRAY_SIZE(mTevKColor); i++) - J3DGDSetTevKColor((GXTevKColorID)i, mTevKColor[i]); + J3DGDSetTevKColor((GXTevKColorID)i, mTevKColor[i].mColor); u8 *pEnd = GDGetCurrPointer(); DCFlushRange(pStart, pEnd - pStart); @@ -579,7 +1093,38 @@ void J3DTevBlock16::patchTevReg() { /* 802E4CE8-802E4E64 .text patchTexNoAndTexCoordScale__13J3DTevBlock16Fv */ void J3DTevBlock16::patchTexNoAndTexCoordScale() { - /* Nonmatching */ + GDSetCurrOffset(mTexNoOffset); + u8 *start = GDGetCurrPointer(); + + u8 tevStageNum = mTevStageNum; + for (u32 i = 0; i < 8; i++) { + if (mTexNo[i] != 0xffff) { + loadTexNo(i, mTexNo[i]); + } + } + + for (u32 i = 0; i < tevStageNum; i += 2) { + J3DGDSetTevOrder( + GXTevStageID(i), + GXTexCoordID(mTevOrder[i].getTevOrderInfo().mTexCoord), + GXTexMapID(mTevOrder[i].getTevOrderInfo().mTexMap), + GXChannelID(mTevOrder[i].getTevOrderInfo().mColorChan), + GXTexCoordID(mTevOrder[i + 1].getTevOrderInfo().mTexCoord), + GXTexMapID(mTevOrder[i + 1].getTevOrderInfo().mTexMap), + GXChannelID(mTevOrder[i + 1].getTevOrderInfo().mColorChan) + ); + loadTexCoordScale( + GXTexCoordID(mTevOrder[i].getTevOrderInfo().mTexCoord & 7), + J3DSys::sTexCoordScaleTable[mTevOrder[i].getTevOrderInfo().mTexMap & 7] + ); + loadTexCoordScale( + GXTexCoordID(mTevOrder[i + 1].getTevOrderInfo().mTexCoord & 7), + J3DSys::sTexCoordScaleTable[mTevOrder[i + 1].getTevOrderInfo().mTexMap & 7] + ); + } + + u8 *end = GDGetCurrPointer(); + DCFlushRange(start, end - start); } /* 802E4E64-802E4EB0 .text patch__13J3DTevBlock16Fv */ @@ -612,25 +1157,41 @@ void J3DTevBlockPatched::diffTexNo() { /* 802E4FD0-802E50E4 .text diffTevStage__18J3DTevBlockPatchedFv */ void J3DTevBlockPatched::diffTevStage() { - /* Nonmatching */ + u8 tevStageNum = mTevStageNum; + for (u32 i = 0; i < tevStageNum; i++) { + mTevStage[i].load(i); + } } /* 802E50E4-802E5194 .text diffTevStageIndirect__18J3DTevBlockPatchedFv */ void J3DTevBlockPatched::diffTevStageIndirect() { - /* Nonmatching */ + u8 tevStageNum = mTevStageNum; + for (u32 i = 0; i < tevStageNum; i++) { + mIndTevStage[i].load(i); + } } /* 802E5194-802E5230 .text diffTevReg__18J3DTevBlockPatchedFv */ void J3DTevBlockPatched::diffTevReg() { for (u32 i = 0; i < ARRAY_SIZE(mTevColor) - 1; i++) - J3DGDSetTevColorS10((GXTevRegID)(i + 1), mTevColor[i]); + J3DGDSetTevColorS10((GXTevRegID)(i + 1), mTevColor[i].mColor); for (u32 i = 0; i < ARRAY_SIZE(mTevKColor); i++) - J3DGDSetTevKColor((GXTevKColorID)i, mTevKColor[i]); + J3DGDSetTevKColor((GXTevKColorID)i, mTevKColor[i].mColor); } /* 802E5230-802E5328 .text diffTexCoordScale__18J3DTevBlockPatchedFv */ void J3DTevBlockPatched::diffTexCoordScale() { - /* Nonmatching */ + u8 tevStageNum = mTevStageNum; + for (u32 i = 0; i < tevStageNum; i += 2) { + loadTexCoordScale( + GXTexCoordID(mTevOrder[i].getTevOrderInfo().mTexCoord & 7), + J3DSys::sTexCoordScaleTable[mTevOrder[i].getTevOrderInfo().mTexMap & 7] + ); + loadTexCoordScale( + GXTexCoordID(mTevOrder[i + 1].getTevOrderInfo().mTexCoord & 7), + J3DSys::sTexCoordScaleTable[mTevOrder[i + 1].getTevOrderInfo().mTexMap & 7] + ); + } } /* 802E5328-802E5360 .text diffTexNo__12J3DTevBlock1Fv */ @@ -645,17 +1206,20 @@ void J3DTevBlock1::diffTevReg() { /* 802E5364-802E5454 .text diffTevStage__12J3DTevBlock1Fv */ void J3DTevBlock1::diffTevStage() { - /* Nonmatching */ + mTevStage[0].load(0); } /* 802E5454-802E54D4 .text diffTevStageIndirect__12J3DTevBlock1Fv */ void J3DTevBlock1::diffTevStageIndirect() { - /* Nonmatching */ + mIndTevStage[0].load(0); } /* 802E54D4-802E553C .text diffTexCoordScale__12J3DTevBlock1Fv */ void J3DTevBlock1::diffTexCoordScale() { - /* Nonmatching */ + loadTexCoordScale( + GXTexCoordID(mTevOrder[0].getTevOrderInfo().mTexCoord), + J3DSys::sTexCoordScaleTable[mTevOrder[0].getTevOrderInfo().mTexMap & 7] + ); } /* 802E553C-802E55A0 .text diffTexNo__12J3DTevBlock2Fv */ @@ -668,24 +1232,37 @@ void J3DTevBlock2::diffTexNo() { /* 802E55A0-802E563C .text diffTevReg__12J3DTevBlock2Fv */ void J3DTevBlock2::diffTevReg() { for (u32 i = 0; i < ARRAY_SIZE(mTevColor) - 1; i++) - J3DGDSetTevColorS10((GXTevRegID)(i + 1), mTevColor[i]); + J3DGDSetTevColorS10((GXTevRegID)(i + 1), mTevColor[i].mColor); for (u32 i = 0; i < ARRAY_SIZE(mTevKColor); i++) - J3DGDSetTevKColor((GXTevKColorID)i, mTevKColor[i]); + J3DGDSetTevKColor((GXTevKColorID)i, mTevKColor[i].mColor); } /* 802E563C-802E5750 .text diffTevStage__12J3DTevBlock2Fv */ void J3DTevBlock2::diffTevStage() { - /* Nonmatching */ + u8 tevStageNum = mTevStageNum; + for (u32 i = 0; i < tevStageNum; i++) { + mTevStage[i].load(i); + } } /* 802E5750-802E5800 .text diffTevStageIndirect__12J3DTevBlock2Fv */ void J3DTevBlock2::diffTevStageIndirect() { - /* Nonmatching */ + u8 tevStageNum = mTevStageNum; + for (u32 i = 0; i < tevStageNum; i++) { + mIndTevStage[i].load(i); + } } /* 802E5800-802E58C4 .text diffTexCoordScale__12J3DTevBlock2Fv */ void J3DTevBlock2::diffTexCoordScale() { - /* Nonmatching */ + loadTexCoordScale( + GXTexCoordID(mTevOrder[0].getTevOrderInfo().mTexCoord), + J3DSys::sTexCoordScaleTable[mTevOrder[0].getTevOrderInfo().mTexMap & 7] + ); + loadTexCoordScale( + GXTexCoordID(mTevOrder[1].getTevOrderInfo().mTexCoord & 7), + J3DSys::sTexCoordScaleTable[mTevOrder[1].getTevOrderInfo().mTexMap & 7] + ); } /* 802E58C4-802E5928 .text diffTexNo__12J3DTevBlock4Fv */ @@ -698,24 +1275,40 @@ void J3DTevBlock4::diffTexNo() { /* 802E5928-802E59C4 .text diffTevReg__12J3DTevBlock4Fv */ void J3DTevBlock4::diffTevReg() { for (u32 i = 0; i < ARRAY_SIZE(mTevColor) - 1; i++) - J3DGDSetTevColorS10((GXTevRegID)(i + 1), mTevColor[i]); + J3DGDSetTevColorS10((GXTevRegID)(i + 1), mTevColor[i].mColor); for (u32 i = 0; i < ARRAY_SIZE(mTevKColor); i++) - J3DGDSetTevKColor((GXTevKColorID)i, mTevKColor[i]); + J3DGDSetTevKColor((GXTevKColorID)i, mTevKColor[i].mColor); } /* 802E59C4-802E5AD8 .text diffTevStage__12J3DTevBlock4Fv */ void J3DTevBlock4::diffTevStage() { - /* Nonmatching */ + u8 tevStageNum = mTevStageNum; + for (u32 i = 0; i < tevStageNum; i++) { + mTevStage[i].load(i); + } } /* 802E5AD8-802E5B88 .text diffTevStageIndirect__12J3DTevBlock4Fv */ void J3DTevBlock4::diffTevStageIndirect() { - /* Nonmatching */ + u8 tevStageNum = mTevStageNum; + for (u32 i = 0; i < tevStageNum; i++) { + mIndTevStage[i].load(i); + } } /* 802E5B88-802E5C80 .text diffTexCoordScale__12J3DTevBlock4Fv */ void J3DTevBlock4::diffTexCoordScale() { - /* Nonmatching */ + u8 tevStageNum = mTevStageNum; + for (u32 i = 0; i < tevStageNum; i += 2) { + loadTexCoordScale( + GXTexCoordID(mTevOrder[i].getTevOrderInfo().mTexCoord & 7), + J3DSys::sTexCoordScaleTable[mTevOrder[i].getTevOrderInfo().mTexMap & 7] + ); + loadTexCoordScale( + GXTexCoordID(mTevOrder[i + 1].getTevOrderInfo().mTexCoord & 7), + J3DSys::sTexCoordScaleTable[mTevOrder[i + 1].getTevOrderInfo().mTexMap & 7] + ); + } } /* 802E5C80-802E5CE4 .text diffTexNo__13J3DTevBlock16Fv */ @@ -728,34 +1321,82 @@ void J3DTevBlock16::diffTexNo() { /* 802E5CE4-802E5D80 .text diffTevReg__13J3DTevBlock16Fv */ void J3DTevBlock16::diffTevReg() { for (u32 i = 0; i < ARRAY_SIZE(mTevColor) - 1; i++) - J3DGDSetTevColorS10((GXTevRegID)(i + 1), mTevColor[i]); + J3DGDSetTevColorS10((GXTevRegID)(i + 1), mTevColor[i].mColor); for (u32 i = 0; i < ARRAY_SIZE(mTevKColor); i++) - J3DGDSetTevKColor((GXTevKColorID)i, mTevKColor[i]); + J3DGDSetTevKColor((GXTevKColorID)i, mTevKColor[i].mColor); } /* 802E5D80-802E5E94 .text diffTevStage__13J3DTevBlock16Fv */ void J3DTevBlock16::diffTevStage() { - /* Nonmatching */ + u8 tevStageNum = mTevStageNum; + for (u32 i = 0; i < tevStageNum; i++) { + mTevStage[i].load(i); + } } /* 802E5E94-802E5F44 .text diffTevStageIndirect__13J3DTevBlock16Fv */ void J3DTevBlock16::diffTevStageIndirect() { - /* Nonmatching */ + u8 tevStageNum = mTevStageNum; + for (u32 i = 0; i < tevStageNum; i++) { + mIndTevStage[i].load(i); + } } /* 802E5F44-802E603C .text diffTexCoordScale__13J3DTevBlock16Fv */ void J3DTevBlock16::diffTexCoordScale() { - /* Nonmatching */ + u8 tevStageNum = mTevStageNum; + for (u32 i = 0; i < tevStageNum; i += 2) { + loadTexCoordScale( + GXTexCoordID(mTevOrder[i].getTevOrderInfo().mTexCoord & 7), + J3DSys::sTexCoordScaleTable[mTevOrder[i].getTevOrderInfo().mTexMap & 7] + ); + loadTexCoordScale( + GXTexCoordID(mTevOrder[i + 1].getTevOrderInfo().mTexCoord & 7), + J3DSys::sTexCoordScaleTable[mTevOrder[i + 1].getTevOrderInfo().mTexMap & 7] + ); + } } +extern void patchTexNo_PtrToIdx(u32 texID, const u16& idx); + /* 802E603C-802E6120 .text ptrToIndex__13J3DTevBlock16Fv */ void J3DTevBlock16::ptrToIndex() { - /* Nonmatching */ + GDSetCurrOffset(mTexNoOffset); + u8* pStart = GDGetCurrPointer(); + + u32 offs = 0; + for (u32 i = 0; i < 8; i++) { + if (mTexNo[i] != 0xFFFF) { + GDSetCurrOffset(mTexNoOffset + offs); + patchTexNo_PtrToIdx(i, mTexNo[i]); + offs += 0x14; + if (j3dSys.getTexture()->getResTIMG(mTexNo[i])->indexTexture == 1) + offs += 0x23; + } + } + + u8 *pEnd = GDGetCurrPointer(); + DCFlushRange(pStart, pEnd - pStart); } /* 802E6120-802E6204 .text ptrToIndex__18J3DTevBlockPatchedFv */ void J3DTevBlockPatched::ptrToIndex() { - /* Nonmatching */ + GDSetCurrOffset(mTexNoOffset); + u8* pStart = GDGetCurrPointer(); + + u32 offs = 0; + for (u32 i = 0; i < 8; i++) { + if (mTexNo[i] != 0xFFFF) { + GDSetCurrOffset(mTexNoOffset + offs); + patchTexNo_PtrToIdx(i, mTexNo[i]); + offs += 0x14; + if (j3dSys.getTexture()->getResTIMG(mTexNo[i])->indexTexture == 1) + offs += 0x23; + } + } + + u8 *pEnd = GDGetCurrPointer(); + DCFlushRange(pStart, pEnd - pStart); } /* 802E6204-802E6298 .text indexToPtr_private__11J3DTevBlockFUl */ @@ -779,55 +1420,151 @@ void J3DTevBlock::indexToPtr_private(u32 offs) { /* 802E6298-802E6494 .text load__15J3DIndBlockFullFv */ void J3DIndBlockFull::load() { /* Nonmatching */ + u8 indTexStageNum = mIndTexStageNum; + for (u32 i = 0; i < indTexStageNum; i++) { + mIndTexMtx[i].load(i); + } + for (u32 i = 0; i < indTexStageNum; i += 2) { + J3DGDSetIndTexCoordScale( + GXIndTexStageID(i), + GXIndTexScale(mIndTexCoordScale[i].getScaleS()), + GXIndTexScale(mIndTexCoordScale[i].getScaleT()), + GXIndTexScale(mIndTexCoordScale[i + 1].getScaleS()), + GXIndTexScale(mIndTexCoordScale[i + 1].getScaleT()) + ); + } + loadTexCoordScale(GXTexCoordID(mIndTexOrder[0].getCoord()), J3DSys::sTexCoordScaleTable[mIndTexOrder[0].getMap() & 7]); + loadTexCoordScale(GXTexCoordID(mIndTexOrder[1].getCoord()), J3DSys::sTexCoordScaleTable[mIndTexOrder[1].getMap() & 7]); + loadTexCoordScale(GXTexCoordID(mIndTexOrder[2].getCoord()), J3DSys::sTexCoordScaleTable[mIndTexOrder[2].getMap() & 7]); + loadTexCoordScale(GXTexCoordID(mIndTexOrder[3].getCoord()), J3DSys::sTexCoordScaleTable[mIndTexOrder[3].getMap() & 7]); + J3DGDSetIndTexOrder( + indTexStageNum, + GXTexCoordID(mIndTexOrder[0].getCoord()), + GXTexMapID(mIndTexOrder[0].getMap()), + GXTexCoordID(mIndTexOrder[1].getCoord()), + GXTexMapID(mIndTexOrder[1].getMap()), + GXTexCoordID(mIndTexOrder[2].getCoord()), + GXTexMapID(mIndTexOrder[2].getMap()), + GXTexCoordID(mIndTexOrder[3].getCoord()), + GXTexMapID(mIndTexOrder[3].getMap()) + ); } /* 802E6494-802E657C .text diff__15J3DIndBlockFullFUl */ void J3DIndBlockFull::diff(u32 flag) { /* Nonmatching */ + if ((flag & 0x08000000) == 0) { + return; + } + u8 indTexStageNum = mIndTexStageNum; + J3DGDSetIndTexStageNum(indTexStageNum); + mIndTexMtx[0].load(0); + J3DGDSetIndTexCoordScale( + GXIndTexStageID(0), + GXIndTexScale(mIndTexCoordScale[0].getScaleS()), + GXIndTexScale(mIndTexCoordScale[0].getScaleT()), + GXIndTexScale(mIndTexCoordScale[1].getScaleS()), + GXIndTexScale(mIndTexCoordScale[1].getScaleT()) + ); + loadTexCoordScale(GXTexCoordID(mIndTexOrder[0].getCoord()), J3DSys::sTexCoordScaleTable[mIndTexOrder[0].getMap() & 7]); + J3DGDSetIndTexOrder( + indTexStageNum, + GXTexCoordID(mIndTexOrder[0].getCoord()), + GXTexMapID(mIndTexOrder[0].getMap()), + GXTexCoordID(mIndTexOrder[1].getCoord()), + GXTexMapID(mIndTexOrder[1].getMap()), + GXTexCoordID(mIndTexOrder[2].getCoord()), + GXTexMapID(mIndTexOrder[2].getMap()), + GXTexCoordID(mIndTexOrder[3].getCoord()), + GXTexMapID(mIndTexOrder[3].getMap()) + ); } /* 802E657C-802E683C .text load__13J3DPEBlockOpaFv */ void J3DPEBlockOpa::load() { - /* Nonmatching */ + GDOverflowCheck(0x1e); + J3DGDSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_AND, GX_ALWAYS, 0); + J3DGDSetBlendMode(GX_BM_NONE, GX_BL_ONE, GX_BL_ZERO, GX_LO_COPY); + J3DGDSetZMode(1, GX_LEQUAL, 1); + J3DGDSetZCompLoc(1); } /* 802E683C-802E6B04 .text load__17J3DPEBlockTexEdgeFv */ void J3DPEBlockTexEdge::load() { - /* Nonmatching */ + GDOverflowCheck(0x1e); + J3DGDSetAlphaCompare(GX_GEQUAL, 0x80, GX_AOP_AND, GX_LEQUAL, 0xff); + J3DGDSetBlendMode(GX_BM_NONE, GX_BL_ONE, GX_BL_ZERO, GX_LO_COPY); + J3DGDSetZMode(1, GX_LEQUAL, 1); + J3DGDSetZCompLoc(0); } /* 802E6B04-802E6DC8 .text load__13J3DPEBlockXluFv */ void J3DPEBlockXlu::load() { - /* Nonmatching */ + GDOverflowCheck(0x1e); + J3DGDSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_AND,GX_ALWAYS, 0); + J3DGDSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_COPY); + J3DGDSetZMode(1, GX_LEQUAL, 0); + J3DGDSetZCompLoc(1); } /* 802E6DC8-802E7250 .text load__16J3DPEBlockFogOffFv */ void J3DPEBlockFogOff::load() { + GDOverflowCheck(0x1e); + mAlphaComp.load(); + mBlend.load(mDither); + mZMode.load(); + loadZCompLoc(mZCompLoc); /* Nonmatching */ } /* 802E7250-802E7538 .text diffBlend__16J3DPEBlockFogOffFv */ void J3DPEBlockFogOff::diffBlend() { + GDOverflowCheck(0xf); + mBlend.load(mDither); + mZMode.load(); /* Nonmatching */ } /* 802E7538-802E7A1C .text load__14J3DPEBlockFullFv */ void J3DPEBlockFull::load() { + mFogOffset = GDGetCurrOffset(); + GDOverflowCheck(0x55); + if (mFog) { + mFog->load(); + } + mAlphaComp.load(); + mBlend.load(mDither); + mZMode.load(); + loadZCompLoc(mZCompLoc); /* Nonmatching */ } /* 802E7A1C-802E7AD8 .text patch__14J3DPEBlockFullFv */ void J3DPEBlockFull::patch() { + GDSetCurrOffset(mFogOffset); + GDOverflowCheck(0x37); + u8* start = GDGetCurrPointer(); + if (mFog) { + mFog->load(); + } + u8* end = GDGetCurrPointer(); + DCFlushRange(start, end - start); /* Nonmatching */ } /* 802E7AD8-802E7B5C .text diffFog__14J3DPEBlockFullFv */ void J3DPEBlockFull::diffFog() { - /* Nonmatching */ + GDOverflowCheck(0x37); + if (mFog) { + mFog->load(); + } } /* 802E7B5C-802E7E44 .text diffBlend__14J3DPEBlockFullFv */ void J3DPEBlockFull::diffBlend() { + GDOverflowCheck(0xf); + mBlend.load(mDither); + mZMode.load(); /* Nonmatching */ } @@ -840,1623 +1577,294 @@ void J3DPEBlockFull::diff(u32 flag) { } /* 802E7EAC-802E7F88 .text reset__21J3DColorBlockLightOffFP13J3DColorBlock */ -void J3DColorBlockLightOff::reset(J3DColorBlock*) { - /* Nonmatching */ +void J3DColorBlockLightOff::reset(J3DColorBlock* pBlock) { + mColorChanNum = pBlock->getColorChanNum(); + + for (u32 i = 0; i < ARRAY_SIZE(mMatColor); i++) + mMatColor[i] = *pBlock->getMatColor(i); + for (u32 i = 0; i < ARRAY_SIZE(mColorChan); i++) + mColorChan[i] = *pBlock->getColorChan(i); } /* 802E7F88-802E80D8 .text reset__22J3DColorBlockAmbientOnFP13J3DColorBlock */ -void J3DColorBlockAmbientOn::reset(J3DColorBlock*) { - /* Nonmatching */ +void J3DColorBlockAmbientOn::reset(J3DColorBlock* pBlock) { + mColorChanNum = pBlock->getColorChanNum(); + + for (u32 i = 0; i < ARRAY_SIZE(mMatColor); i++) + mMatColor[i] = *pBlock->getMatColor(i); + for (u32 i = 0; i < ARRAY_SIZE(mColorChan); i++) + mColorChan[i] = *pBlock->getColorChan(i); + for (u32 i = 0; i < ARRAY_SIZE(mAmbColor); i++) + if (pBlock->getAmbColor(i) != NULL) + mAmbColor[i] = *pBlock->getAmbColor(i); } /* 802E80D8-802E8228 .text reset__20J3DColorBlockLightOnFP13J3DColorBlock */ -void J3DColorBlockLightOn::reset(J3DColorBlock*) { - /* Nonmatching */ +void J3DColorBlockLightOn::reset(J3DColorBlock* pBlock) { + mColorChanNum = pBlock->getColorChanNum(); + + for (u32 i = 0; i < ARRAY_SIZE(mMatColor); i++) + mMatColor[i] = *pBlock->getMatColor(i); + for (u32 i = 0; i < ARRAY_SIZE(mColorChan); i++) + mColorChan[i] = *pBlock->getColorChan(i); + for (u32 i = 0; i < ARRAY_SIZE(mAmbColor); i++) + if (pBlock->getAmbColor(i) != NULL) + mAmbColor[i] = *pBlock->getAmbColor(i); } /* 802E8228-802E8354 .text reset__21J3DTexGenBlockPatchedFP14J3DTexGenBlock */ -void J3DTexGenBlockPatched::reset(J3DTexGenBlock*) { - /* Nonmatching */ +void J3DTexGenBlockPatched::reset(J3DTexGenBlock* pBlock) { + mTexGenNum = pBlock->getTexGenNum(); + for (u32 i = 0; i < 8; i++) + mTexCoord[i] = *pBlock->getTexCoord(i); + for (u32 i = 0; i < 8; i++) { + if (pBlock->getTexMtx(i) != NULL) { + if (mTexMtx[i] != NULL) { + memcpy(mTexMtx[i], pBlock->getTexMtx(i), sizeof(*mTexMtx[i])); + DCStoreRange(mTexMtx[i], sizeof(*mTexMtx[i])); + } else { + OSReport("Error : TexMtx[%d] is Null.\n", i); + } + } + } } /* 802E8354-802E84B4 .text reset__15J3DTexGenBlock4FP14J3DTexGenBlock */ -void J3DTexGenBlock4::reset(J3DTexGenBlock*) { - /* Nonmatching */ +void J3DTexGenBlock4::reset(J3DTexGenBlock* pBlock) { + mTexGenNum = pBlock->getTexGenNum(); + for (u32 i = 0; i < 4; i++) + mTexCoord[i] = *pBlock->getTexCoord(i); + for (u32 i = 0; i < 4; i++) { + if (pBlock->getTexMtx(i) != NULL) { + if (mTexMtx[i] != NULL) { + memcpy(mTexMtx[i], pBlock->getTexMtx(i), sizeof(*mTexMtx[i])); + DCStoreRange(mTexMtx[i], sizeof(*mTexMtx[i])); + } else { + OSReport("Error : TexMtx[%d] is Null.\n", i); + } + } + } + + mNBTScale = *pBlock->getNBTScale(); } /* 802E84B4-802E8614 .text reset__19J3DTexGenBlockBasicFP14J3DTexGenBlock */ -void J3DTexGenBlockBasic::reset(J3DTexGenBlock*) { - /* Nonmatching */ +void J3DTexGenBlockBasic::reset(J3DTexGenBlock* pBlock) { + mTexGenNum = pBlock->getTexGenNum(); + for (u32 i = 0; i < 8; i++) + mTexCoord[i] = *pBlock->getTexCoord(i); + for (u32 i = 0; i < 8; i++) { + if (pBlock->getTexMtx(i) != NULL) { + if (mTexMtx[i] != NULL) { + memcpy(mTexMtx[i], pBlock->getTexMtx(i), sizeof(*mTexMtx[i])); + DCStoreRange(mTexMtx[i], sizeof(*mTexMtx[i])); + } else { + OSReport("Error : TexMtx[%d] is Null.\n", i); + } + } + } + + mNBTScale = *pBlock->getNBTScale(); } /* 802E8614-802E87D0 .text reset__18J3DTevBlockPatchedFP11J3DTevBlock */ -void J3DTevBlockPatched::reset(J3DTevBlock*) { - /* Nonmatching */ +void J3DTevBlockPatched::reset(J3DTevBlock* pBlock) { + mTevStageNum = pBlock->getTevStageNum(); + for (u32 i = 0; i < 8; i++) + mTexNo[i] = pBlock->getTexNo(i); + for (u32 i = 0; i < 4; i++) + mTevColor[i] = *pBlock->getTevColor(i); + for (u32 i = 0; i < 4; i++) + mTevKColor[i] = *pBlock->getTevKColor(i); + for (u32 i = 0; i < 8; i++) { + mTevStage[i] = *pBlock->getTevStage(i); + mIndTevStage[i] = *pBlock->getIndTevStage(i); + } } /* 802E87D0-802E88B8 .text reset__12J3DTevBlock1FP11J3DTevBlock */ -void J3DTevBlock1::reset(J3DTevBlock*) { - /* Nonmatching */ +void J3DTevBlock1::reset(J3DTevBlock* pBlock) { + mTexNo[0] = pBlock->getTexNo(0); + mTevOrder[0] = *pBlock->getTevOrder(0); + mTevStage[0] = *pBlock->getTevStage(0); + mIndTevStage[0] = *pBlock->getIndTevStage(0); } /* 802E88B8-802E8BB8 .text reset__12J3DTevBlock2FP11J3DTevBlock */ -void J3DTevBlock2::reset(J3DTevBlock*) { - /* Nonmatching */ +void J3DTevBlock2::reset(J3DTevBlock* pBlock) { + mTevStageNum = pBlock->getTevStageNum(); + mTexNo[0] = pBlock->getTexNo(0); + mTexNo[1] = pBlock->getTexNo(1); + mTevStage[0] = *pBlock->getTevStage(0); + mTevStage[1] = *pBlock->getTevStage(1); + mIndTevStage[0] = *pBlock->getIndTevStage(0); + mIndTevStage[1] = *pBlock->getIndTevStage(1); + mTevOrder[0] = *pBlock->getTevOrder(0); + mTevOrder[1] = *pBlock->getTevOrder(1); + mTevKColorSel[0] = pBlock->getTevKColorSel(0); + mTevKColorSel[1] = pBlock->getTevKColorSel(1); + mTevKAlphaSel[0] = pBlock->getTevKAlphaSel(0); + mTevKAlphaSel[1] = pBlock->getTevKAlphaSel(1); + for (u32 i = 0; i < 4; i++) + mTevColor[i] = *pBlock->getTevColor(i); + for (u32 i = 0; i < 4; i++) + mTevKColor[i] = *pBlock->getTevKColor(i); + for (u32 i = 0; i < 4; i++) + mTevSwapModeTable[i] = *pBlock->getTevSwapModeTable(i); } /* 802E8BB8-802E9090 .text reset__12J3DTevBlock4FP11J3DTevBlock */ -void J3DTevBlock4::reset(J3DTevBlock*) { - /* Nonmatching */ +void J3DTevBlock4::reset(J3DTevBlock* pBlock) { + mTevStageNum = pBlock->getTevStageNum(); + mTexNo[0] = pBlock->getTexNo(0); + mTexNo[1] = pBlock->getTexNo(1); + mTexNo[2] = pBlock->getTexNo(2); + mTexNo[3] = pBlock->getTexNo(3); + mTevStage[0] = *pBlock->getTevStage(0); + mTevStage[1] = *pBlock->getTevStage(1); + mTevStage[2] = *pBlock->getTevStage(2); + mTevStage[3] = *pBlock->getTevStage(3); + mIndTevStage[0] = *pBlock->getIndTevStage(0); + mIndTevStage[1] = *pBlock->getIndTevStage(1); + mIndTevStage[2] = *pBlock->getIndTevStage(2); + mIndTevStage[3] = *pBlock->getIndTevStage(3); + mTevOrder[0] = *pBlock->getTevOrder(0); + mTevOrder[1] = *pBlock->getTevOrder(1); + mTevOrder[2] = *pBlock->getTevOrder(2); + mTevOrder[3] = *pBlock->getTevOrder(3); + mTevKColorSel[0] = pBlock->getTevKColorSel(0); + mTevKColorSel[1] = pBlock->getTevKColorSel(1); + mTevKColorSel[2] = pBlock->getTevKColorSel(2); + mTevKColorSel[3] = pBlock->getTevKColorSel(3); + mTevKAlphaSel[0] = pBlock->getTevKAlphaSel(0); + mTevKAlphaSel[1] = pBlock->getTevKAlphaSel(1); + mTevKAlphaSel[2] = pBlock->getTevKAlphaSel(2); + mTevKAlphaSel[3] = pBlock->getTevKAlphaSel(3); + for (u32 i = 0; i < 4; i++) + mTevColor[i] = *pBlock->getTevColor(i); + for (u32 i = 0; i < 4; i++) + mTevKColor[i] = *pBlock->getTevKColor(i); + for (u32 i = 0; i < 4; i++) + mTevSwapModeTable[i] = *pBlock->getTevSwapModeTable(i); } /* 802E9090-802E932C .text reset__13J3DTevBlock16FP11J3DTevBlock */ -void J3DTevBlock16::reset(J3DTevBlock*) { - /* Nonmatching */ +void J3DTevBlock16::reset(J3DTevBlock* pBlock) { + mTevStageNum = pBlock->getTevStageNum(); + for (u32 i = 0; i < 8; i++) + mTexNo[i] = pBlock->getTexNo(i); + for (u32 i = 0; i < 16; i++) + mTevOrder[i] = *pBlock->getTevOrder(i); + for (u32 i = 0; i < 16; i++) { + mTevStage[i] = *pBlock->getTevStage(i); + mIndTevStage[i] = *pBlock->getIndTevStage(i); + } + for (u32 i = 0; i < 4; i++) + mTevColor[i] = *pBlock->getTevColor(i); + for (u32 i = 0; i < 4; i++) + mTevKColor[i] = *pBlock->getTevKColor(i); + for (u32 i = 0; i < 16; i++) + mTevKColorSel[i] = pBlock->getTevKColorSel(i); + for (u32 i = 0; i < 16; i++) + mTevKAlphaSel[i] = pBlock->getTevKAlphaSel(i); + for (u32 i = 0; i < 4; i++) + mTevSwapModeTable[i] = *pBlock->getTevSwapModeTable(i); } /* 802E932C-802E947C .text reset__15J3DIndBlockFullFP11J3DIndBlock */ -void J3DIndBlockFull::reset(J3DIndBlock*) { - /* Nonmatching */ +void J3DIndBlockFull::reset(J3DIndBlock* pBlock) { + mIndTexStageNum = pBlock->getIndTexStageNum(); + for (u32 i = 0; i < 4; i++) + mIndTexOrder[i] = *pBlock->getIndTexOrder(i); + for (u32 i = 0; i < 3; i++) + mIndTexMtx[i] = *pBlock->getIndTexMtx(i); + for (u32 i = 0; i < 4; i++) + mIndTexCoordScale[i] = *pBlock->getIndTexCoordScale(i); } /* 802E947C-802E957C .text reset__16J3DPEBlockFogOffFP10J3DPEBlock */ -void J3DPEBlockFogOff::reset(J3DPEBlock*) { - /* Nonmatching */ +void J3DPEBlockFogOff::reset(J3DPEBlock* pBlock) { + switch (pBlock->getType()) { + case 'PEFL': + case 'PEFG': + mAlphaComp = *pBlock->getAlphaComp(); + mBlend = *pBlock->getBlend(); + mZMode = *pBlock->getZMode(); + mZCompLoc = pBlock->getZCompLoc(); + break; + } } /* 802E957C-802E96C8 .text reset__14J3DPEBlockFullFP10J3DPEBlock */ -void J3DPEBlockFull::reset(J3DPEBlock*) { - /* Nonmatching */ +void J3DPEBlockFull::reset(J3DPEBlock* pBlock) { + if (pBlock->getFog() != NULL) { + memcpy(mFog, pBlock->getFog(), sizeof(*mFog)); + DCStoreRange(mFog, sizeof(*mFog)); + } + + switch (pBlock->getType()) { + case 'PEFL': + case 'PEFG': + mAlphaComp = *pBlock->getAlphaComp(); + mBlend = *pBlock->getBlend(); + mZMode = *pBlock->getZMode(); + mZCompLoc = pBlock->getZCompLoc(); + break; + } } /* 802E96C8-802E9920 .text calc__21J3DTexGenBlockPatchedFPA4_Cf */ -void J3DTexGenBlockPatched::calc(const Mtx) { - /* Nonmatching */ -} - -/* 802E9920-802E9984 .text load__9J3DTexMtxCFUl */ -void J3DTexMtx::load(u32 i) const { - /* Nonmatching */ -} - -/* 802E9984-802E9F04 .text J3DGDLoadTexMtxImm__FPA4_fUl13_GXTexMtxType */ -void J3DGDLoadTexMtxImm(Mtx pMtx, u32 i, GXTexMtxType) { - /* Nonmatching */ -} - -/* 802E9F04-802E9F08 .text diffTevReg__11J3DTevBlockFv */ -void J3DTevBlock::diffTevReg() { -} - -/* 802E9F08-802E9F0C .text diffTevStageIndirect__11J3DTevBlockFv */ -void J3DTevBlock::diffTevStageIndirect() { -} - -/* 802E9F0C-802E9F10 .text diffTevStage__11J3DTevBlockFv */ -void J3DTevBlock::diffTevStage() { -} - -/* 802E9F10-802E9F14 .text diffTexCoordScale__11J3DTevBlockFv */ -void J3DTevBlock::diffTexCoordScale() { -} - -/* 802E9F14-802E9F18 .text diffTexNo__11J3DTevBlockFv */ -void J3DTevBlock::diffTexNo() { -} - -/* 802E9F18-802E9F24 .text getType__14J3DPEBlockFullFv */ -u32 J3DPEBlockFull::getType() { - return 'PEFL'; -} - -/* 802E9F24-802E9F2C .text setFog__14J3DPEBlockFullFP6J3DFog */ -void J3DPEBlockFull::setFog(J3DFog* pFog) { - mFog = pFog; -} - -/* 802E9F2C-802E9F34 .text getFog__14J3DPEBlockFullFv */ -J3DFog * J3DPEBlockFull::getFog() { - return mFog; -} - -/* 802E9F34-802E9F50 .text setAlphaComp__14J3DPEBlockFullF12J3DAlphaComp */ -void J3DPEBlockFull::setAlphaComp(J3DAlphaComp alphaComp) { - mAlphaComp = alphaComp; -} - -/* 802E9F50-802E9F6C .text setAlphaComp__14J3DPEBlockFullFPC12J3DAlphaComp */ -void J3DPEBlockFull::setAlphaComp(const J3DAlphaComp* pAlphaComp) { - mAlphaComp = *pAlphaComp; -} - -/* 802E9F6C-802E9F74 .text getAlphaComp__14J3DPEBlockFullFv */ -J3DAlphaComp * J3DPEBlockFull::getAlphaComp() { - return &mAlphaComp; -} - -/* 802E9F74-802E9F98 .text setBlend__14J3DPEBlockFullF8J3DBlend */ -void J3DPEBlockFull::setBlend(J3DBlend blend) { - mBlend = blend; -} - -/* 802E9F98-802E9FBC .text setBlend__14J3DPEBlockFullFPC8J3DBlend */ -void J3DPEBlockFull::setBlend(const J3DBlend* pBlend) { - mBlend = *pBlend; -} - -/* 802E9FBC-802E9FC4 .text getBlend__14J3DPEBlockFullFv */ -J3DBlend * J3DPEBlockFull::getBlend() { - return &mBlend; -} - -/* 802E9FC4-802E9FD0 .text setZMode__14J3DPEBlockFullF8J3DZMode */ -void J3DPEBlockFull::setZMode(J3DZMode zMode) { - mZMode = zMode; -} - -/* 802E9FD0-802E9FDC .text setZMode__14J3DPEBlockFullFPC8J3DZMode */ -void J3DPEBlockFull::setZMode(const J3DZMode* pZMode) { - mZMode = *pZMode; -} - -/* 802E9FDC-802E9FE4 .text getZMode__14J3DPEBlockFullFv */ -J3DZMode * J3DPEBlockFull::getZMode() { - return &mZMode; -} - -/* 802E9FE4-802E9FEC .text setZCompLoc__14J3DPEBlockFullFUc */ -void J3DPEBlockFull::setZCompLoc(u8 zCompLoc) { - mZCompLoc = zCompLoc; -} - -/* 802E9FEC-802E9FF8 .text setZCompLoc__14J3DPEBlockFullFPCUc */ -void J3DPEBlockFull::setZCompLoc(const u8* pZCompLoc) { - mZCompLoc = *pZCompLoc; -} - -/* 802E9FF8-802EA000 .text getZCompLoc__14J3DPEBlockFullCFv */ -u8 J3DPEBlockFull::getZCompLoc() const { - return mZCompLoc; -} - -/* 802EA000-802EA008 .text setDither__14J3DPEBlockFullFUc */ -void J3DPEBlockFull::setDither(u8 dither) { - mDither = dither; -} - -/* 802EA008-802EA014 .text setDither__14J3DPEBlockFullFPCUc */ -void J3DPEBlockFull::setDither(const u8* pDither) { - mDither = *pDither; -} - -/* 802EA014-802EA01C .text getDither__14J3DPEBlockFullCFv */ -u8 J3DPEBlockFull::getDither() const { - return mDither; -} - -/* 802EA01C-802EA024 .text getFogOffset__14J3DPEBlockFullCFv */ -u32 J3DPEBlockFull::getFogOffset() const { - return mFogOffset; -} - -/* 802EA024-802EA02C .text setFogOffset__14J3DPEBlockFullFUl */ -void J3DPEBlockFull::setFogOffset(u32 offs) { - mFogOffset = offs; -} - -/* 802EA02C-802EA088 .text __dt__14J3DPEBlockFullFv */ -J3DPEBlockFull::~J3DPEBlockFull() { - /* Nonmatching */ -} - -/* 802EA088-802EA0BC .text diff__16J3DPEBlockFogOffFUl */ -void J3DPEBlockFogOff::diff(u32 flag) { - if ((flag & 0x20000000) != 0) - diffBlend(); -} - -/* 802EA0BC-802EA0C8 .text getType__16J3DPEBlockFogOffFv */ -u32 J3DPEBlockFogOff::getType() { - return 'PEFG'; -} - -/* 802EA0C8-802EA0E4 .text setAlphaComp__16J3DPEBlockFogOffF12J3DAlphaComp */ -void J3DPEBlockFogOff::setAlphaComp(J3DAlphaComp alphaComp) { - mAlphaComp = alphaComp; -} - -/* 802EA0E4-802EA100 .text setAlphaComp__16J3DPEBlockFogOffFPC12J3DAlphaComp */ -void J3DPEBlockFogOff::setAlphaComp(const J3DAlphaComp* pAlphaComp) { - mAlphaComp = *pAlphaComp; -} - -/* 802EA100-802EA108 .text getAlphaComp__16J3DPEBlockFogOffFv */ -J3DAlphaComp * J3DPEBlockFogOff::getAlphaComp() { - return &mAlphaComp; -} - -/* 802EA108-802EA12C .text setBlend__16J3DPEBlockFogOffF8J3DBlend */ -void J3DPEBlockFogOff::setBlend(J3DBlend blend) { - mBlend = blend; -} - -/* 802EA12C-802EA150 .text setBlend__16J3DPEBlockFogOffFPC8J3DBlend */ -void J3DPEBlockFogOff::setBlend(const J3DBlend* pBlend) { - mBlend = *pBlend; -} - -/* 802EA150-802EA158 .text getBlend__16J3DPEBlockFogOffFv */ -J3DBlend * J3DPEBlockFogOff::getBlend() { - return &mBlend; -} - -/* 802EA158-802EA164 .text setZMode__16J3DPEBlockFogOffF8J3DZMode */ -void J3DPEBlockFogOff::setZMode(J3DZMode zMode) { - mZMode = zMode; -} - -/* 802EA164-802EA170 .text setZMode__16J3DPEBlockFogOffFPC8J3DZMode */ -void J3DPEBlockFogOff::setZMode(const J3DZMode* pZMode) { - mZMode = *pZMode; -} - -/* 802EA170-802EA178 .text getZMode__16J3DPEBlockFogOffFv */ -J3DZMode * J3DPEBlockFogOff::getZMode() { - return &mZMode; -} - -/* 802EA178-802EA180 .text setZCompLoc__16J3DPEBlockFogOffFUc */ -void J3DPEBlockFogOff::setZCompLoc(u8 zCompLoc) { - mZCompLoc = zCompLoc; -} - -/* 802EA180-802EA18C .text setZCompLoc__16J3DPEBlockFogOffFPCUc */ -void J3DPEBlockFogOff::setZCompLoc(const u8* pZCompLoc) { - mZCompLoc = *pZCompLoc; -} - -/* 802EA18C-802EA194 .text getZCompLoc__16J3DPEBlockFogOffCFv */ -u8 J3DPEBlockFogOff::getZCompLoc() const { - return mZCompLoc; -} - -/* 802EA194-802EA19C .text setDither__16J3DPEBlockFogOffFUc */ -void J3DPEBlockFogOff::setDither(u8 dither) { - mDither = dither; -} - -/* 802EA19C-802EA1A8 .text setDither__16J3DPEBlockFogOffFPCUc */ -void J3DPEBlockFogOff::setDither(const u8* pDither) { - mDither = *pDither; -} - -/* 802EA1A8-802EA1B0 .text getDither__16J3DPEBlockFogOffCFv */ -u8 J3DPEBlockFogOff::getDither() const { - return mDither; -} - -/* 802EA1B0-802EA20C .text __dt__16J3DPEBlockFogOffFv */ -J3DPEBlockFogOff::~J3DPEBlockFogOff() { - /* Nonmatching */ -} - -/* 802EA20C-802EA230 .text indexToPtr__13J3DTevBlock16Fv */ -void J3DTevBlock16::indexToPtr() { - return indexToPtr_private(mTexNoOffset); -} - -/* 802EA230-802EA23C .text getType__13J3DTevBlock16Fv */ -u32 J3DTevBlock16::getType() { - return 'TV16'; -} - -/* 802EA23C-802EA24C .text setTexNo__13J3DTevBlock16FUlUs */ -void J3DTevBlock16::setTexNo(u32 i, u16 no) { - mTexNo[i] = no; -} - -/* 802EA24C-802EA260 .text setTexNo__13J3DTevBlock16FUlPCUs */ -void J3DTevBlock16::setTexNo(u32 i, const u16* pNo) { - mTexNo[i] = *pNo; -} - -/* 802EA260-802EA270 .text getTexNo__13J3DTevBlock16CFUl */ -u16 J3DTevBlock16::getTexNo(u32 i) const { - return mTexNo[i]; -} - -/* 802EA270-802EA294 .text setTevOrder__13J3DTevBlock16FUl11J3DTevOrder */ -void J3DTevBlock16::setTevOrder(u32 i, J3DTevOrder order) { - mTevOrder[i] = order; -} - -/* 802EA294-802EA2B8 .text setTevOrder__13J3DTevBlock16FUlPC11J3DTevOrder */ -void J3DTevBlock16::setTevOrder(u32 i, const J3DTevOrder* pOrder) { - mTevOrder[i] = *pOrder; -} - -/* 802EA2B8-802EA2CC .text getTevOrder__13J3DTevBlock16FUl */ -J3DTevOrder * J3DTevBlock16::getTevOrder(u32 i) { - return &mTevOrder[i]; -} - -/* 802EA2CC-802EA2F8 .text setTevColor__13J3DTevBlock16FUl13J3DGXColorS10 */ -void J3DTevBlock16::setTevColor(u32 i, J3DGXColorS10 color) { - mTevColor[i] = color; -} - -/* 802EA2F8-802EA324 .text setTevColor__13J3DTevBlock16FUlPC13J3DGXColorS10 */ -void J3DTevBlock16::setTevColor(u32 i, const J3DGXColorS10* pColor) { - mTevColor[i] = *pColor; -} - -/* 802EA324-802EA338 .text getTevColor__13J3DTevBlock16FUl */ -GXColorS10 * J3DTevBlock16::getTevColor(u32 i) { - return &mTevColor[i]; -} - -/* 802EA338-802EA364 .text setTevKColor__13J3DTevBlock16FUl10J3DGXColor */ -void J3DTevBlock16::setTevKColor(u32 i, J3DGXColor color) { - mTevKColor[i] = color; -} - -/* 802EA364-802EA390 .text setTevKColor__13J3DTevBlock16FUlPC10J3DGXColor */ -void J3DTevBlock16::setTevKColor(u32 i, const J3DGXColor* pColor) { - mTevKColor[i] = *pColor; -} - -/* 802EA390-802EA3A4 .text getTevKColor__13J3DTevBlock16FUl */ -GXColor * J3DTevBlock16::getTevKColor(u32 i) { - return &mTevKColor[i]; -} - -/* 802EA3A4-802EA3B0 .text setTevKColorSel__13J3DTevBlock16FUlUc */ -void J3DTevBlock16::setTevKColorSel(u32 i, u8 num) { - mTevKColorSel[i] = num; -} - -/* 802EA3B0-802EA3C0 .text setTevKColorSel__13J3DTevBlock16FUlPCUc */ -void J3DTevBlock16::setTevKColorSel(u32 i, const u8* pNum) { - mTevKColorSel[i] = *pNum; -} - -/* 802EA3C0-802EA3CC .text getTevKColorSel__13J3DTevBlock16FUl */ -u8 J3DTevBlock16::getTevKColorSel(u32 i) { - return mTevKColorSel[i]; -} - -/* 802EA3CC-802EA3D8 .text setTevKAlphaSel__13J3DTevBlock16FUlUc */ -void J3DTevBlock16::setTevKAlphaSel(u32 i, u8 num) { - mTevKAlphaSel[i] = num; -} - -/* 802EA3D8-802EA3E8 .text setTevKAlphaSel__13J3DTevBlock16FUlPCUc */ -void J3DTevBlock16::setTevKAlphaSel(u32 i, const u8* pNum) { - mTevKAlphaSel[i] = *pNum; -} - -/* 802EA3E8-802EA3F4 .text getTevKAlphaSel__13J3DTevBlock16FUl */ -u8 J3DTevBlock16::getTevKAlphaSel(u32 i) { - return mTevKAlphaSel[i]; -} - -/* 802EA3F4-802EA3FC .text setTevStageNum__13J3DTevBlock16FUc */ -void J3DTevBlock16::setTevStageNum(u8 num) { - mTevStageNum = num; -} - -/* 802EA3FC-802EA408 .text setTevStageNum__13J3DTevBlock16FPCUc */ -void J3DTevBlock16::setTevStageNum(const u8* pNum) { - mTevStageNum = *pNum; -} - -/* 802EA408-802EA410 .text getTevStageNum__13J3DTevBlock16CFv */ -u8 J3DTevBlock16::getTevStageNum() const { - return mTevStageNum; -} - -/* 802EA410-802EA44C .text setTevStage__13J3DTevBlock16FUl11J3DTevStage */ -void J3DTevBlock16::setTevStage(u32 i, J3DTevStage stage) { - mTevStage[i] = stage; -} - -/* 802EA44C-802EA488 .text setTevStage__13J3DTevBlock16FUlPC11J3DTevStage */ -void J3DTevBlock16::setTevStage(u32 i, const J3DTevStage* pStage) { - mTevStage[i] = *pStage; -} - -/* 802EA488-802EA49C .text getTevStage__13J3DTevBlock16FUl */ -J3DTevStage * J3DTevBlock16::getTevStage(u32 i) { - return &mTevStage[i]; -} - -/* 802EA49C-802EA4D4 .text setTevSwapModeInfo__13J3DTevBlock16FUl18J3DTevSwapModeInfo */ -void J3DTevBlock16::setTevSwapModeInfo(u32 i, J3DTevSwapModeInfo) { - /* Nonmatching */ -} - -/* 802EA4D4-802EA50C .text setTevSwapModeInfo__13J3DTevBlock16FUlPC18J3DTevSwapModeInfo */ -void J3DTevBlock16::setTevSwapModeInfo(u32 i, const J3DTevSwapModeInfo*) { - /* Nonmatching */ -} - -/* 802EA50C-802EA51C .text setTevSwapModeTable__13J3DTevBlock16FUl19J3DTevSwapModeTable */ -void J3DTevBlock16::setTevSwapModeTable(u32 i, J3DTevSwapModeTable table) { - mTevSwapModeTable[i] = table; -} - -/* 802EA51C-802EA52C .text setTevSwapModeTable__13J3DTevBlock16FUlPC19J3DTevSwapModeTable */ -void J3DTevBlock16::setTevSwapModeTable(u32 i, const J3DTevSwapModeTable* pTable) { - mTevSwapModeTable[i] = *pTable; -} - -/* 802EA52C-802EA53C .text getTevSwapModeTable__13J3DTevBlock16FUl */ -J3DTevSwapModeTable * J3DTevBlock16::getTevSwapModeTable(u32 i) { - return &mTevSwapModeTable[i]; -} - -/* 802EA53C-802EA550 .text setIndTevStage__13J3DTevBlock16FUl14J3DIndTevStage */ -void J3DTevBlock16::setIndTevStage(u32 i, J3DIndTevStage stage) { - mIndTevStage[i] = stage; -} - -/* 802EA550-802EA564 .text setIndTevStage__13J3DTevBlock16FUlPC14J3DIndTevStage */ -void J3DTevBlock16::setIndTevStage(u32 i, const J3DIndTevStage* pStage) { - mIndTevStage[i] = *pStage; -} - -/* 802EA564-802EA578 .text getIndTevStage__13J3DTevBlock16FUl */ -J3DIndTevStage * J3DTevBlock16::getIndTevStage(u32 i) { - return &mIndTevStage[i]; -} - -/* 802EA578-802EA580 .text getTexNoOffset__13J3DTevBlock16CFv */ -u32 J3DTevBlock16::getTexNoOffset() const { - return mTexNoOffset; -} - -/* 802EA580-802EA588 .text getTevRegOffset__13J3DTevBlock16CFv */ -u32 J3DTevBlock16::getTevRegOffset() const { - return mTevRegOffset; -} - -/* 802EA588-802EA590 .text setTevRegOffset__13J3DTevBlock16FUl */ -void J3DTevBlock16::setTevRegOffset(u32 offs) { - mTevRegOffset = offs; -} - -/* 802EA590-802EA5EC .text __dt__13J3DTevBlock16Fv */ -J3DTevBlock16::~J3DTevBlock16() { - /* Nonmatching */ -} - -/* 802EA5EC-802EA5F4 .text setTexNoOffset__11J3DTevBlockFUl */ -void J3DTevBlock::setTexNoOffset(u32 offs) { - mTexNoOffset = offs; -} - -/* 802EA5F4-802EA5F8 .text ptrToIndex__12J3DTevBlock4Fv */ -void J3DTevBlock4::ptrToIndex() { -} - -/* 802EA5F8-802EA61C .text indexToPtr__12J3DTevBlock4Fv */ -void J3DTevBlock4::indexToPtr() { - return indexToPtr_private(mTexNoOffset); -} - -/* 802EA61C-802EA628 .text getType__12J3DTevBlock4Fv */ -u32 J3DTevBlock4::getType() { - return 'TVB4'; -} - -/* 802EA628-802EA638 .text setTexNo__12J3DTevBlock4FUlUs */ -void J3DTevBlock4::setTexNo(u32 i, u16 no) { - mTexNo[i] = no; -} - -/* 802EA638-802EA64C .text setTexNo__12J3DTevBlock4FUlPCUs */ -void J3DTevBlock4::setTexNo(u32 i, const u16* pNo) { - mTexNo[i] = *pNo; -} - -/* 802EA64C-802EA65C .text getTexNo__12J3DTevBlock4CFUl */ -u16 J3DTevBlock4::getTexNo(u32 i) const { - return mTexNo[i]; -} - -/* 802EA65C-802EA680 .text setTevOrder__12J3DTevBlock4FUl11J3DTevOrder */ -void J3DTevBlock4::setTevOrder(u32 i, J3DTevOrder order) { - mTevOrder[i] = order; -} - -/* 802EA680-802EA6A4 .text setTevOrder__12J3DTevBlock4FUlPC11J3DTevOrder */ -void J3DTevBlock4::setTevOrder(u32 i, const J3DTevOrder* pOrder) { - mTevOrder[i] = *pOrder; -} - -/* 802EA6A4-802EA6B8 .text getTevOrder__12J3DTevBlock4FUl */ -J3DTevOrder * J3DTevBlock4::getTevOrder(u32 i) { - return &mTevOrder[i]; -} - -/* 802EA6B8-802EA6E4 .text setTevColor__12J3DTevBlock4FUl13J3DGXColorS10 */ -void J3DTevBlock4::setTevColor(u32 i, J3DGXColorS10 color) { - mTevColor[i] = color; -} - -/* 802EA6E4-802EA710 .text setTevColor__12J3DTevBlock4FUlPC13J3DGXColorS10 */ -void J3DTevBlock4::setTevColor(u32 i, const J3DGXColorS10* pColor) { - mTevColor[i] = *pColor; -} - -/* 802EA710-802EA724 .text getTevColor__12J3DTevBlock4FUl */ -GXColorS10 * J3DTevBlock4::getTevColor(u32 i) { - return &mTevColor[i]; -} - -/* 802EA724-802EA750 .text setTevKColor__12J3DTevBlock4FUl10J3DGXColor */ -void J3DTevBlock4::setTevKColor(u32 i, J3DGXColor color) { - mTevKColor[i] = color; -} - -/* 802EA750-802EA77C .text setTevKColor__12J3DTevBlock4FUlPC10J3DGXColor */ -void J3DTevBlock4::setTevKColor(u32 i, const J3DGXColor* pColor) { - mTevKColor[i] = *pColor; -} - -/* 802EA77C-802EA790 .text getTevKColor__12J3DTevBlock4FUl */ -GXColor * J3DTevBlock4::getTevKColor(u32 i) { - return &mTevKColor[i]; -} - -/* 802EA790-802EA79C .text setTevKColorSel__12J3DTevBlock4FUlUc */ -void J3DTevBlock4::setTevKColorSel(u32 i, u8 num) { - mTevKColorSel[i] = num; -} - -/* 802EA79C-802EA7AC .text setTevKColorSel__12J3DTevBlock4FUlPCUc */ -void J3DTevBlock4::setTevKColorSel(u32 i, const u8* pNum) { - mTevKColorSel[i] = *pNum; -} - -/* 802EA7AC-802EA7B8 .text getTevKColorSel__12J3DTevBlock4FUl */ -u8 J3DTevBlock4::getTevKColorSel(u32 i) { - return mTevKColorSel[i]; -} - -/* 802EA7B8-802EA7C4 .text setTevKAlphaSel__12J3DTevBlock4FUlUc */ -void J3DTevBlock4::setTevKAlphaSel(u32 i, u8 num) { - mTevKAlphaSel[i] = num; -} - -/* 802EA7C4-802EA7D4 .text setTevKAlphaSel__12J3DTevBlock4FUlPCUc */ -void J3DTevBlock4::setTevKAlphaSel(u32 i, const u8* pNum) { - mTevKAlphaSel[i] = *pNum; -} - -/* 802EA7D4-802EA7E0 .text getTevKAlphaSel__12J3DTevBlock4FUl */ -u8 J3DTevBlock4::getTevKAlphaSel(u32 i) { - return mTevKAlphaSel[i]; -} - -/* 802EA7E0-802EA7E8 .text setTevStageNum__12J3DTevBlock4FUc */ -void J3DTevBlock4::setTevStageNum(u8 num) { - mTevStageNum = num; -} - -/* 802EA7E8-802EA7F4 .text setTevStageNum__12J3DTevBlock4FPCUc */ -void J3DTevBlock4::setTevStageNum(const u8* pNum) { - mTevStageNum = *pNum; -} - -/* 802EA7F4-802EA7FC .text getTevStageNum__12J3DTevBlock4CFv */ -u8 J3DTevBlock4::getTevStageNum() const { - return mTevStageNum; -} - -/* 802EA7FC-802EA838 .text setTevStage__12J3DTevBlock4FUl11J3DTevStage */ -void J3DTevBlock4::setTevStage(u32 i, J3DTevStage stage) { - mTevStage[i] = stage; -} - -/* 802EA838-802EA874 .text setTevStage__12J3DTevBlock4FUlPC11J3DTevStage */ -void J3DTevBlock4::setTevStage(u32 i, const J3DTevStage* pStage) { - mTevStage[i] = *pStage; -} - -/* 802EA874-802EA888 .text getTevStage__12J3DTevBlock4FUl */ -J3DTevStage * J3DTevBlock4::getTevStage(u32 i) { - return &mTevStage[i]; -} - -/* 802EA888-802EA8C0 .text setTevSwapModeInfo__12J3DTevBlock4FUl18J3DTevSwapModeInfo */ -void J3DTevBlock4::setTevSwapModeInfo(u32 i, J3DTevSwapModeInfo) { - /* Nonmatching */ -} - -/* 802EA8C0-802EA8F8 .text setTevSwapModeInfo__12J3DTevBlock4FUlPC18J3DTevSwapModeInfo */ -void J3DTevBlock4::setTevSwapModeInfo(u32 i, const J3DTevSwapModeInfo*) { - /* Nonmatching */ -} - -/* 802EA8F8-802EA908 .text setTevSwapModeTable__12J3DTevBlock4FUl19J3DTevSwapModeTable */ -void J3DTevBlock4::setTevSwapModeTable(u32 i, J3DTevSwapModeTable table) { - mTevSwapModeTable[i] = table; -} - -/* 802EA908-802EA918 .text setTevSwapModeTable__12J3DTevBlock4FUlPC19J3DTevSwapModeTable */ -void J3DTevBlock4::setTevSwapModeTable(u32 i, const J3DTevSwapModeTable* pTable) { - mTevSwapModeTable[i] = *pTable; -} - -/* 802EA918-802EA928 .text getTevSwapModeTable__12J3DTevBlock4FUl */ -J3DTevSwapModeTable * J3DTevBlock4::getTevSwapModeTable(u32 i) { - return &mTevSwapModeTable[i]; -} - -/* 802EA928-802EA93C .text setIndTevStage__12J3DTevBlock4FUl14J3DIndTevStage */ -void J3DTevBlock4::setIndTevStage(u32 i, J3DIndTevStage stage) { - mIndTevStage[i] = stage; -} - -/* 802EA93C-802EA950 .text setIndTevStage__12J3DTevBlock4FUlPC14J3DIndTevStage */ -void J3DTevBlock4::setIndTevStage(u32 i, const J3DIndTevStage* pStage) { - mIndTevStage[i] = *pStage; -} - -/* 802EA950-802EA964 .text getIndTevStage__12J3DTevBlock4FUl */ -J3DIndTevStage * J3DTevBlock4::getIndTevStage(u32 i) { - return &mIndTevStage[i]; -} - -/* 802EA964-802EA96C .text getTexNoOffset__12J3DTevBlock4CFv */ -u32 J3DTevBlock4::getTexNoOffset() const { - return mTexNoOffset; -} - -/* 802EA96C-802EA974 .text getTevRegOffset__12J3DTevBlock4CFv */ -u32 J3DTevBlock4::getTevRegOffset() const { - return mTevRegOffset; -} - -/* 802EA974-802EA97C .text setTevRegOffset__12J3DTevBlock4FUl */ -void J3DTevBlock4::setTevRegOffset(u32 offs) { - mTevRegOffset = offs; -} - -/* 802EA97C-802EA9D8 .text __dt__12J3DTevBlock4Fv */ -J3DTevBlock4::~J3DTevBlock4() { - /* Nonmatching */ -} - -/* 802EA9D8-802EA9DC .text ptrToIndex__12J3DTevBlock2Fv */ -void J3DTevBlock2::ptrToIndex() { - /* Nonmatching */ -} - -/* 802EA9DC-802EAA00 .text indexToPtr__12J3DTevBlock2Fv */ -void J3DTevBlock2::indexToPtr() { - return indexToPtr_private(mTexNoOffset); -} - -/* 802EAA00-802EAA0C .text getType__12J3DTevBlock2Fv */ -u32 J3DTevBlock2::getType() { - return 'TVB2'; -} - -/* 802EAA0C-802EAA1C .text setTexNo__12J3DTevBlock2FUlUs */ -void J3DTevBlock2::setTexNo(u32 i, u16 no) { - mTexNo[i] = no; -} - -/* 802EAA1C-802EAA30 .text setTexNo__12J3DTevBlock2FUlPCUs */ -void J3DTevBlock2::setTexNo(u32 i, const u16* pNo) { - mTexNo[i] = *pNo; -} - -/* 802EAA30-802EAA40 .text getTexNo__12J3DTevBlock2CFUl */ -u16 J3DTevBlock2::getTexNo(u32 i) const { - return mTexNo[i]; -} - -/* 802EAA40-802EAA64 .text setTevOrder__12J3DTevBlock2FUl11J3DTevOrder */ -void J3DTevBlock2::setTevOrder(u32 i, J3DTevOrder order) { - mTevOrder[i] = order; -} - -/* 802EAA64-802EAA88 .text setTevOrder__12J3DTevBlock2FUlPC11J3DTevOrder */ -void J3DTevBlock2::setTevOrder(u32 i, const J3DTevOrder* pOrder) { - mTevOrder[i] = *pOrder; -} - -/* 802EAA88-802EAA9C .text getTevOrder__12J3DTevBlock2FUl */ -J3DTevOrder * J3DTevBlock2::getTevOrder(u32 i) { - return &mTevOrder[i]; -} - -/* 802EAA9C-802EAAC8 .text setTevColor__12J3DTevBlock2FUl13J3DGXColorS10 */ -void J3DTevBlock2::setTevColor(u32 i, J3DGXColorS10 color) { - mTevColor[i] = color; -} - -/* 802EAAC8-802EAAF4 .text setTevColor__12J3DTevBlock2FUlPC13J3DGXColorS10 */ -void J3DTevBlock2::setTevColor(u32 i, const J3DGXColorS10* pColor) { - mTevColor[i] = *pColor; -} - -/* 802EAAF4-802EAB08 .text getTevColor__12J3DTevBlock2FUl */ -GXColorS10 * J3DTevBlock2::getTevColor(u32 i) { - return &mTevColor[i]; -} - -/* 802EAB08-802EAB34 .text setTevKColor__12J3DTevBlock2FUl10J3DGXColor */ -void J3DTevBlock2::setTevKColor(u32 i, J3DGXColor color) { - mTevKColor[i] = color; -} - -/* 802EAB34-802EAB60 .text setTevKColor__12J3DTevBlock2FUlPC10J3DGXColor */ -void J3DTevBlock2::setTevKColor(u32 i, const J3DGXColor* pColor) { - mTevKColor[i] = *pColor; -} - -/* 802EAB60-802EAB74 .text getTevKColor__12J3DTevBlock2FUl */ -GXColor * J3DTevBlock2::getTevKColor(u32 i) { - return &mTevKColor[i]; -} - -/* 802EAB74-802EAB80 .text setTevKColorSel__12J3DTevBlock2FUlUc */ -void J3DTevBlock2::setTevKColorSel(u32 i, u8 num) { - mTevKColorSel[i] = num; -} - -/* 802EAB80-802EAB90 .text setTevKColorSel__12J3DTevBlock2FUlPCUc */ -void J3DTevBlock2::setTevKColorSel(u32 i, const u8* pNum) { - mTevKColorSel[i] = *pNum; -} - -/* 802EAB90-802EAB9C .text getTevKColorSel__12J3DTevBlock2FUl */ -u8 J3DTevBlock2::getTevKColorSel(u32 i) { - return mTevKColorSel[i]; -} - -/* 802EAB9C-802EABA8 .text setTevKAlphaSel__12J3DTevBlock2FUlUc */ -void J3DTevBlock2::setTevKAlphaSel(u32 i, u8 num) { - mTevKAlphaSel[i] = num; -} - -/* 802EABA8-802EABB8 .text setTevKAlphaSel__12J3DTevBlock2FUlPCUc */ -void J3DTevBlock2::setTevKAlphaSel(u32 i, const u8* pNum) { - mTevKAlphaSel[i] = *pNum; -} - -/* 802EABB8-802EABC4 .text getTevKAlphaSel__12J3DTevBlock2FUl */ -u8 J3DTevBlock2::getTevKAlphaSel(u32 i) { - return mTevKAlphaSel[i]; -} - -/* 802EABC4-802EABCC .text setTevStageNum__12J3DTevBlock2FUc */ -void J3DTevBlock2::setTevStageNum(u8 num) { - mTevStageNum = num; -} - -/* 802EABCC-802EABD8 .text setTevStageNum__12J3DTevBlock2FPCUc */ -void J3DTevBlock2::setTevStageNum(const u8* pNum) { - mTevStageNum = *pNum; -} - -/* 802EABD8-802EABE0 .text getTevStageNum__12J3DTevBlock2CFv */ -u8 J3DTevBlock2::getTevStageNum() const { - return mTevStageNum; -} - -/* 802EABE0-802EAC1C .text setTevStage__12J3DTevBlock2FUl11J3DTevStage */ -void J3DTevBlock2::setTevStage(u32 i, J3DTevStage stage) { - mTevStage[i] = stage; -} - -/* 802EAC1C-802EAC58 .text setTevStage__12J3DTevBlock2FUlPC11J3DTevStage */ -void J3DTevBlock2::setTevStage(u32 i, const J3DTevStage* pStage) { - mTevStage[i] = *pStage; -} - -/* 802EAC58-802EAC6C .text getTevStage__12J3DTevBlock2FUl */ -J3DTevStage * J3DTevBlock2::getTevStage(u32 i) { - return &mTevStage[i]; -} - -/* 802EAC6C-802EACA4 .text setTevSwapModeInfo__12J3DTevBlock2FUl18J3DTevSwapModeInfo */ -void J3DTevBlock2::setTevSwapModeInfo(u32 i, J3DTevSwapModeInfo swapModeInfo) { - // mTevStage[i].mTevSwapModeInfo = swapModeInfo; -} - -/* 802EACA4-802EACDC .text setTevSwapModeInfo__12J3DTevBlock2FUlPC18J3DTevSwapModeInfo */ -void J3DTevBlock2::setTevSwapModeInfo(u32 i, const J3DTevSwapModeInfo* pSwapModeInfo) { - // mTevStage[i].mTevSwapModeInfo = *pSwapModeInfo; -} - -/* 802EACDC-802EACEC .text setTevSwapModeTable__12J3DTevBlock2FUl19J3DTevSwapModeTable */ -void J3DTevBlock2::setTevSwapModeTable(u32 i, J3DTevSwapModeTable table) { - mTevSwapModeTable[i] = table; -} - -/* 802EACEC-802EACFC .text setTevSwapModeTable__12J3DTevBlock2FUlPC19J3DTevSwapModeTable */ -void J3DTevBlock2::setTevSwapModeTable(u32 i, const J3DTevSwapModeTable* pTable) { - mTevSwapModeTable[i] = *pTable; -} - -/* 802EACFC-802EAD0C .text getTevSwapModeTable__12J3DTevBlock2FUl */ -J3DTevSwapModeTable * J3DTevBlock2::getTevSwapModeTable(u32 i) { - return &mTevSwapModeTable[i]; -} - -/* 802EAD0C-802EAD20 .text setIndTevStage__12J3DTevBlock2FUl14J3DIndTevStage */ -void J3DTevBlock2::setIndTevStage(u32 i, J3DIndTevStage stage) { - mIndTevStage[i] = stage; -} - -/* 802EAD20-802EAD34 .text setIndTevStage__12J3DTevBlock2FUlPC14J3DIndTevStage */ -void J3DTevBlock2::setIndTevStage(u32 i, const J3DIndTevStage* pStage) { - mIndTevStage[i] = *pStage; -} - -/* 802EAD34-802EAD48 .text getIndTevStage__12J3DTevBlock2FUl */ -J3DIndTevStage * J3DTevBlock2::getIndTevStage(u32 i) { - return &mIndTevStage[i]; -} - -/* 802EAD48-802EAD50 .text getTexNoOffset__12J3DTevBlock2CFv */ -u32 J3DTevBlock2::getTexNoOffset() const { - return mTexNoOffset; -} - -/* 802EAD50-802EAD58 .text getTevRegOffset__12J3DTevBlock2CFv */ -u32 J3DTevBlock2::getTevRegOffset() const { - return mTevRegOffset; -} - -/* 802EAD58-802EAD60 .text setTevRegOffset__12J3DTevBlock2FUl */ -void J3DTevBlock2::setTevRegOffset(u32 offs) { - mTevRegOffset = offs; -} - -/* 802EAD60-802EADBC .text __dt__12J3DTevBlock2Fv */ -J3DTevBlock2::~J3DTevBlock2() { - /* Nonmatching */ -} - -/* 802EADBC-802EADC0 .text ptrToIndex__12J3DTevBlock1Fv */ -void J3DTevBlock1::ptrToIndex() { -} - -/* 802EADC0-802EADE4 .text indexToPtr__12J3DTevBlock1Fv */ -void J3DTevBlock1::indexToPtr() { - return indexToPtr_private(mTexNoOffset); -} - -/* 802EADE4-802EADF0 .text getType__12J3DTevBlock1Fv */ -u32 J3DTevBlock1::getType() { - return 'TVB1'; -} - -/* 802EADF0-802EAE00 .text setTexNo__12J3DTevBlock1FUlUs */ -void J3DTevBlock1::setTexNo(u32 i, u16 no) { - mTexNo[i] = no; -} - -/* 802EAE00-802EAE14 .text setTexNo__12J3DTevBlock1FUlPCUs */ -void J3DTevBlock1::setTexNo(u32 i, const u16* pNo) { - mTexNo[i] = *pNo; -} - -/* 802EAE14-802EAE24 .text getTexNo__12J3DTevBlock1CFUl */ -u16 J3DTevBlock1::getTexNo(u32 i) const { - return mTexNo[i]; -} - -/* 802EAE24-802EAE48 .text setTevOrder__12J3DTevBlock1FUl11J3DTevOrder */ -void J3DTevBlock1::setTevOrder(u32 i, J3DTevOrder order) { - mTevOrder[i] = order; -} - -/* 802EAE48-802EAE6C .text setTevOrder__12J3DTevBlock1FUlPC11J3DTevOrder */ -void J3DTevBlock1::setTevOrder(u32 i, const J3DTevOrder* pOrder) { - mTevOrder[i] = *pOrder; -} - -/* 802EAE6C-802EAE80 .text getTevOrder__12J3DTevBlock1FUl */ -J3DTevOrder * J3DTevBlock1::getTevOrder(u32 i) { - return &mTevOrder[i]; -} - -/* 802EAE80-802EAE84 .text setTevStageNum__12J3DTevBlock1FUc */ -void J3DTevBlock1::setTevStageNum(u8 num) { -} - -/* 802EAE84-802EAE88 .text setTevStageNum__12J3DTevBlock1FPCUc */ -void J3DTevBlock1::setTevStageNum(const u8* pNum) { -} - -/* 802EAE88-802EAE90 .text getTevStageNum__12J3DTevBlock1CFv */ -u8 J3DTevBlock1::getTevStageNum() const { - return 1; -} - -/* 802EAE90-802EAECC .text setTevStage__12J3DTevBlock1FUl11J3DTevStage */ -void J3DTevBlock1::setTevStage(u32 i, J3DTevStage stage) { - mTevStage[i] = stage; -} - -/* 802EAECC-802EAF08 .text setTevStage__12J3DTevBlock1FUlPC11J3DTevStage */ -void J3DTevBlock1::setTevStage(u32 i, const J3DTevStage* pStage) { - mTevStage[i] = *pStage; -} - -/* 802EAF08-802EAF1C .text getTevStage__12J3DTevBlock1FUl */ -J3DTevStage * J3DTevBlock1::getTevStage(u32 i) { - return &mTevStage[i]; -} - -/* 802EAF1C-802EAF30 .text setIndTevStage__12J3DTevBlock1FUl14J3DIndTevStage */ -void J3DTevBlock1::setIndTevStage(u32 i, J3DIndTevStage stage) { - mIndTevStage[i] = stage; -} - -/* 802EAF30-802EAF44 .text setIndTevStage__12J3DTevBlock1FUlPC14J3DIndTevStage */ -void J3DTevBlock1::setIndTevStage(u32 i, const J3DIndTevStage* pStage) { - mIndTevStage[i] = *pStage; -} - -/* 802EAF44-802EAF58 .text getIndTevStage__12J3DTevBlock1FUl */ -J3DIndTevStage * J3DTevBlock1::getIndTevStage(u32 i) { - return &mIndTevStage[i]; -} - -/* 802EAF58-802EAF60 .text getTexNoOffset__12J3DTevBlock1CFv */ -u32 J3DTevBlock1::getTexNoOffset() const { - return mTexNoOffset; -} - -/* 802EAF60-802EAFBC .text __dt__12J3DTevBlock1Fv */ -J3DTevBlock1::~J3DTevBlock1() { - /* Nonmatching */ -} - -/* 802EAFBC-802EAFC0 .text setTevKColorSel__11J3DTevBlockFUlPCUc */ -void J3DTevBlock::setTevKColorSel(u32 i, const u8* pNum) { -} - -/* 802EAFC0-802EAFC4 .text setTevKAlphaSel__11J3DTevBlockFUlPCUc */ -void J3DTevBlock::setTevKAlphaSel(u32 i, const u8* pNum) { -} - -/* 802EAFC4-802EAFC8 .text setTevSwapModeInfo__11J3DTevBlockFUl18J3DTevSwapModeInfo */ -void J3DTevBlock::setTevSwapModeInfo(u32 i, J3DTevSwapModeInfo) { -} - -/* 802EAFC8-802EAFCC .text setTevSwapModeInfo__11J3DTevBlockFUlPC18J3DTevSwapModeInfo */ -void J3DTevBlock::setTevSwapModeInfo(u32 i, const J3DTevSwapModeInfo*) { -} - -/* 802EAFCC-802EAFD0 .text setTevSwapModeTable__11J3DTevBlockFUlPC19J3DTevSwapModeTable */ -void J3DTevBlock::setTevSwapModeTable(u32 i, const J3DTevSwapModeTable* pTable) { -} - -/* 802EAFD0-802EAFD8 .text getTevRegOffset__11J3DTevBlockCFv */ -u32 J3DTevBlock::getTevRegOffset() const { - return 0; -} - -/* 802EAFD8-802EAFDC .text setTevRegOffset__11J3DTevBlockFUl */ -void J3DTevBlock::setTevRegOffset(u32 offs) { -} - -/* 802EAFDC-802EAFE0 .text load__18J3DTevBlockPatchedFv */ -void J3DTevBlockPatched::load() { -} - -/* 802EAFE0-802EB004 .text indexToPtr__18J3DTevBlockPatchedFv */ -void J3DTevBlockPatched::indexToPtr() { - return indexToPtr_private(mTexNoOffset); -} - -/* 802EB004-802EB010 .text getType__18J3DTevBlockPatchedFv */ -u32 J3DTevBlockPatched::getType() { - return 'TVPT'; -} - -/* 802EB010-802EB018 .text setTevStageNum__18J3DTevBlockPatchedFUc */ -void J3DTevBlockPatched::setTevStageNum(u8 num) { - mTevStageNum = num; -} - -/* 802EB018-802EB024 .text setTevStageNum__18J3DTevBlockPatchedFPCUc */ -void J3DTevBlockPatched::setTevStageNum(const u8* pNum) { - mTevStageNum = *pNum; -} - -/* 802EB024-802EB02C .text getTevStageNum__18J3DTevBlockPatchedCFv */ -u8 J3DTevBlockPatched::getTevStageNum() const { - return mTevStageNum; -} - -/* 802EB02C-802EB03C .text setTexNo__18J3DTevBlockPatchedFUlUs */ -void J3DTevBlockPatched::setTexNo(u32 i, u16 no) { - mTexNo[i] = no; -} - -/* 802EB03C-802EB050 .text setTexNo__18J3DTevBlockPatchedFUlPCUs */ -void J3DTevBlockPatched::setTexNo(u32 i, const u16* pNo) { - mTexNo[i] = *pNo; -} - -/* 802EB050-802EB060 .text getTexNo__18J3DTevBlockPatchedCFUl */ -u16 J3DTevBlockPatched::getTexNo(u32 i) const { - return mTexNo[i]; -} - -/* 802EB060-802EB084 .text setTevOrder__18J3DTevBlockPatchedFUl11J3DTevOrder */ -void J3DTevBlockPatched::setTevOrder(u32 i, J3DTevOrder order) { - mTevOrder[i] = order; -} - -/* 802EB084-802EB0A8 .text setTevOrder__18J3DTevBlockPatchedFUlPC11J3DTevOrder */ -void J3DTevBlockPatched::setTevOrder(u32 i, const J3DTevOrder* pOrder) { - mTevOrder[i] = *pOrder; -} - -/* 802EB0A8-802EB0BC .text getTevOrder__18J3DTevBlockPatchedFUl */ -J3DTevOrder * J3DTevBlockPatched::getTevOrder(u32 i) { - return &mTevOrder[i]; -} - -/* 802EB0BC-802EB0F8 .text setTevStage__18J3DTevBlockPatchedFUl11J3DTevStage */ -void J3DTevBlockPatched::setTevStage(u32 i, J3DTevStage stage) { - mTevStage[i] = stage; -} - -/* 802EB0F8-802EB134 .text setTevStage__18J3DTevBlockPatchedFUlPC11J3DTevStage */ -void J3DTevBlockPatched::setTevStage(u32 i, const J3DTevStage* pStage) { - mTevStage[i] = *pStage; -} - -/* 802EB134-802EB148 .text getTevStage__18J3DTevBlockPatchedFUl */ -J3DTevStage * J3DTevBlockPatched::getTevStage(u32 i) { - return &mTevStage[i]; -} - -/* 802EB148-802EB15C .text setIndTevStage__18J3DTevBlockPatchedFUl14J3DIndTevStage */ -void J3DTevBlockPatched::setIndTevStage(u32 i, J3DIndTevStage stage) { - mIndTevStage[i] = stage; -} - -/* 802EB15C-802EB170 .text setIndTevStage__18J3DTevBlockPatchedFUlPC14J3DIndTevStage */ -void J3DTevBlockPatched::setIndTevStage(u32 i, const J3DIndTevStage* pStage) { - mIndTevStage[i] = *pStage; -} - -/* 802EB170-802EB184 .text getIndTevStage__18J3DTevBlockPatchedFUl */ -J3DIndTevStage * J3DTevBlockPatched::getIndTevStage(u32 i) { - return &mIndTevStage[i]; -} - -/* 802EB184-802EB1B0 .text setTevColor__18J3DTevBlockPatchedFUl13J3DGXColorS10 */ -void J3DTevBlockPatched::setTevColor(u32 i, J3DGXColorS10 color) { - mTevColor[i] = color; -} - -/* 802EB1B0-802EB1DC .text setTevColor__18J3DTevBlockPatchedFUlPC13J3DGXColorS10 */ -void J3DTevBlockPatched::setTevColor(u32 i, const J3DGXColorS10* pColor) { - mTevColor[i] = *pColor; -} - -/* 802EB1DC-802EB1F0 .text getTevColor__18J3DTevBlockPatchedFUl */ -GXColorS10 * J3DTevBlockPatched::getTevColor(u32 i) { - return &mTevColor[i]; -} - -/* 802EB1F0-802EB21C .text setTevKColor__18J3DTevBlockPatchedFUl10J3DGXColor */ -void J3DTevBlockPatched::setTevKColor(u32 i, J3DGXColor color) { - mTevKColor[i] = color; -} - -/* 802EB21C-802EB248 .text setTevKColor__18J3DTevBlockPatchedFUlPC10J3DGXColor */ -void J3DTevBlockPatched::setTevKColor(u32 i, const J3DGXColor* pColor) { - mTevKColor[i] = *pColor; -} - -/* 802EB248-802EB25C .text getTevKColor__18J3DTevBlockPatchedFUl */ -GXColor * J3DTevBlockPatched::getTevKColor(u32 i) { - return &mTevKColor[i]; -} - -/* 802EB25C-802EB268 .text setTevKColorSel__18J3DTevBlockPatchedFUlUc */ -void J3DTevBlockPatched::setTevKColorSel(u32 i, u8 sel) { - mTevKColorSel[i] = sel; -} - -/* 802EB268-802EB278 .text setTevKColorSel__18J3DTevBlockPatchedFUlPCUc */ -void J3DTevBlockPatched::setTevKColorSel(u32 i, const u8* pSel) { - mTevKColorSel[i] = *pSel; -} - -/* 802EB278-802EB284 .text getTevKColorSel__18J3DTevBlockPatchedFUl */ -u8 J3DTevBlockPatched::getTevKColorSel(u32 i) { - return mTevKColorSel[i]; -} - -/* 802EB284-802EB28C .text getTexNoOffset__18J3DTevBlockPatchedCFv */ -u32 J3DTevBlockPatched::getTexNoOffset() const { - return mTexNoOffset; -} - -/* 802EB28C-802EB294 .text getTevRegOffset__18J3DTevBlockPatchedCFv */ -u32 J3DTevBlockPatched::getTevRegOffset() const { - return mTevRegOffset; -} - -/* 802EB294-802EB29C .text setTevRegOffset__18J3DTevBlockPatchedFUl */ -void J3DTevBlockPatched::setTevRegOffset(u32 offs) { - mTevRegOffset = offs; -} - -/* 802EB29C-802EB2F8 .text __dt__18J3DTevBlockPatchedFv */ -J3DTevBlockPatched::~J3DTevBlockPatched() { - /* Nonmatching */ -} - -/* 802EB2F8-802EB304 .text getType__19J3DTexGenBlockBasicFv */ -u32 J3DTexGenBlockBasic::getType() { - return 'TGBC'; -} - -/* 802EB304-802EB328 .text setNBTScale__19J3DTexGenBlockBasicF11J3DNBTScale */ -void J3DTexGenBlockBasic::setNBTScale(J3DNBTScale scale) { - mNBTScale = scale; -} - -/* 802EB328-802EB34C .text setNBTScale__19J3DTexGenBlockBasicFPC11J3DNBTScale */ -void J3DTexGenBlockBasic::setNBTScale(const J3DNBTScale* pScale) { - mNBTScale = *pScale; -} - -/* 802EB34C-802EB354 .text getNBTScale__19J3DTexGenBlockBasicFv */ -J3DNBTScale * J3DTexGenBlockBasic::getNBTScale() { - return &mNBTScale; -} - -/* 802EB354-802EB3C0 .text __dt__19J3DTexGenBlockBasicFv */ -J3DTexGenBlockBasic::~J3DTexGenBlockBasic() { - /* Nonmatching */ -} - -/* 802EB3C0-802EB3C8 .text setTexGenNum__21J3DTexGenBlockPatchedFUl */ -void J3DTexGenBlockPatched::setTexGenNum(u32 num) { - mTexGenNum = num; -} - -/* 802EB3C8-802EB3D4 .text setTexGenNum__21J3DTexGenBlockPatchedFPCUl */ -void J3DTexGenBlockPatched::setTexGenNum(const u32* pNum) { - mTexGenNum = *pNum; -} - -/* 802EB3D4-802EB3DC .text getTexGenNum__21J3DTexGenBlockPatchedCFv */ -u32 J3DTexGenBlockPatched::getTexGenNum() const { - return mTexGenNum; -} - -/* 802EB3DC-802EB400 .text setTexCoord__21J3DTexGenBlockPatchedFUlPC11J3DTexCoord */ -void J3DTexGenBlockPatched::setTexCoord(u32 i, const J3DTexCoord* pCoord) { - mTexCoord[i] = *pCoord; -} - -/* 802EB400-802EB414 .text getTexCoord__21J3DTexGenBlockPatchedFUl */ -J3DTexCoord * J3DTexGenBlockPatched::getTexCoord(u32 i) { - return &mTexCoord[i]; -} - -/* 802EB414-802EB424 .text setTexMtx__21J3DTexGenBlockPatchedFUlP9J3DTexMtx */ -void J3DTexGenBlockPatched::setTexMtx(u32 i, J3DTexMtx* pMtx) { - mTexMtx[i] = pMtx; -} - -/* 802EB424-802EB434 .text getTexMtx__21J3DTexGenBlockPatchedFUl */ -J3DTexMtx * J3DTexGenBlockPatched::getTexMtx(u32 i) { - return mTexMtx[i]; -} - -/* 802EB434-802EB43C .text getTexMtxOffset__21J3DTexGenBlockPatchedCFv */ -u32 J3DTexGenBlockPatched::getTexMtxOffset() const { - return mTexMtxOffset; -} - -/* 802EB43C-802EB444 .text setTexMtxOffset__21J3DTexGenBlockPatchedFUl */ -void J3DTexGenBlockPatched::setTexMtxOffset(u32 offs) { - mTexMtxOffset = offs; -} - -/* 802EB444-802EB450 .text getType__15J3DTexGenBlock4Fv */ -u32 J3DTexGenBlock4::getType() { - return 'TGB4'; -} - -/* 802EB450-802EB474 .text setNBTScale__15J3DTexGenBlock4F11J3DNBTScale */ -void J3DTexGenBlock4::setNBTScale(J3DNBTScale scale) { - mNBTScale = scale; -} - -/* 802EB474-802EB498 .text setNBTScale__15J3DTexGenBlock4FPC11J3DNBTScale */ -void J3DTexGenBlock4::setNBTScale(const J3DNBTScale* pScale) { - mNBTScale = *pScale; -} - -/* 802EB498-802EB4A0 .text getNBTScale__15J3DTexGenBlock4Fv */ -J3DNBTScale * J3DTexGenBlock4::getNBTScale() { - return &mNBTScale; -} - -/* 802EB4A0-802EB50C .text __dt__15J3DTexGenBlock4Fv */ -J3DTexGenBlock4::~J3DTexGenBlock4() { - /* Nonmatching */ -} - -/* 802EB50C-802EB510 .text load__21J3DTexGenBlockPatchedFv */ -void J3DTexGenBlockPatched::load() { - /* Nonmatching */ -} - -/* 802EB510-802EB51C .text getType__21J3DTexGenBlockPatchedFv */ -u32 J3DTexGenBlockPatched::getType() { - return 'TGPT'; -} - -/* 802EB51C-802EB528 .text getType__20J3DColorBlockLightOnFv */ -u32 J3DColorBlockLightOn::getType() { - return 'CLON'; -} - -/* 802EB528-802EB554 .text setMatColor__20J3DColorBlockLightOnFUl10J3DGXColor */ -void J3DColorBlockLightOn::setMatColor(u32 i, J3DGXColor color) { - mMatColor[i] = color; -} - -/* 802EB554-802EB580 .text setMatColor__20J3DColorBlockLightOnFUlPC10J3DGXColor */ -void J3DColorBlockLightOn::setMatColor(u32 i, const J3DGXColor* pColor) { - mMatColor[i] = *pColor; -} - -/* 802EB580-802EB594 .text getMatColor__20J3DColorBlockLightOnFUl */ -GXColor * J3DColorBlockLightOn::getMatColor(u32 i) { - return &mMatColor[i]; -} - -/* 802EB594-802EB5C0 .text setAmbColor__20J3DColorBlockLightOnFUl10J3DGXColor */ -void J3DColorBlockLightOn::setAmbColor(u32 i, J3DGXColor color) { - mAmbColor[i] = color; -} - -/* 802EB5C0-802EB5EC .text setAmbColor__20J3DColorBlockLightOnFUlPC10J3DGXColor */ -void J3DColorBlockLightOn::setAmbColor(u32 i, const J3DGXColor* pColor) { - mAmbColor[i] = *pColor; -} - -/* 802EB5EC-802EB600 .text getAmbColor__20J3DColorBlockLightOnFUl */ -GXColor * J3DColorBlockLightOn::getAmbColor(u32 i) { - return &mAmbColor[i]; -} - -/* 802EB600-802EB60C .text setColorChanNum__20J3DColorBlockLightOnFPCUc */ -void J3DColorBlockLightOn::setColorChanNum(const u8* pNum) { - mColorChanNum = *pNum; -} - -/* 802EB60C-802EB614 .text setColorChanNum__20J3DColorBlockLightOnFUc */ -void J3DColorBlockLightOn::setColorChanNum(u8 num) { - mColorChanNum = num; -} - -/* 802EB614-802EB61C .text getColorChanNum__20J3DColorBlockLightOnCFv */ -u8 J3DColorBlockLightOn::getColorChanNum() const { - return mColorChanNum; -} - -/* 802EB61C-802EB630 .text setColorChan__20J3DColorBlockLightOnFUlPC12J3DColorChan */ -void J3DColorBlockLightOn::setColorChan(u32 i, const J3DColorChan* pChan) { - mColorChan[i] = *pChan; -} - -/* 802EB630-802EB644 .text setColorChan__20J3DColorBlockLightOnFUlRC12J3DColorChan */ -void J3DColorBlockLightOn::setColorChan(u32 i, const J3DColorChan& chan) { - mColorChan[i] = chan; -} - -/* 802EB644-802EB658 .text getColorChan__20J3DColorBlockLightOnFUl */ -J3DColorChan * J3DColorBlockLightOn::getColorChan(u32 i) { - return &mColorChan[i]; -} - -/* 802EB658-802EB668 .text setLight__20J3DColorBlockLightOnFUlP11J3DLightObj */ -void J3DColorBlockLightOn::setLight(u32 i, J3DLightObj* pLight) { - mLight[i] = pLight; -} - -/* 802EB668-802EB678 .text getLight__20J3DColorBlockLightOnFUl */ -J3DLightObj * J3DColorBlockLightOn::getLight(u32 i) { - return mLight[i]; -} - -/* 802EB678-802EB680 .text setCullMode__20J3DColorBlockLightOnFUc */ -void J3DColorBlockLightOn::setCullMode(u8 mode) { - mCullMode = mode; -} - -/* 802EB680-802EB68C .text setCullMode__20J3DColorBlockLightOnFPCUc */ -void J3DColorBlockLightOn::setCullMode(const u8* pMode) { - mCullMode = *pMode; -} - -/* 802EB68C-802EB694 .text getCullMode__20J3DColorBlockLightOnCFv */ -u8 J3DColorBlockLightOn::getCullMode() const { - return mCullMode; -} - -/* 802EB694-802EB69C .text getMatColorOffset__20J3DColorBlockLightOnCFv */ -u32 J3DColorBlockLightOn::getMatColorOffset() const { - return mMatColorOffset; -} - -/* 802EB69C-802EB6A4 .text getColorChanOffset__20J3DColorBlockLightOnCFv */ -u32 J3DColorBlockLightOn::getColorChanOffset() const { - return mColorChanOffset; -} - -/* 802EB6A4-802EB6AC .text setMatColorOffset__20J3DColorBlockLightOnFUl */ -void J3DColorBlockLightOn::setMatColorOffset(u32 offs) { - mMatColorOffset = offs; -} - -/* 802EB6AC-802EB6B4 .text setColorChanOffset__20J3DColorBlockLightOnFUl */ -void J3DColorBlockLightOn::setColorChanOffset(u32 offs) { - mColorChanOffset = offs; -} - -/* 802EB6B4-802EB710 .text __dt__20J3DColorBlockLightOnFv */ -J3DColorBlockLightOn::~J3DColorBlockLightOn() { - /* Nonmatching */ -} - -/* 802EB710-802EB71C .text getType__22J3DColorBlockAmbientOnFv */ -u32 J3DColorBlockAmbientOn::getType() { - return 'CLAB'; -} - -/* 802EB71C-802EB748 .text setAmbColor__22J3DColorBlockAmbientOnFUl10J3DGXColor */ -void J3DColorBlockAmbientOn::setAmbColor(u32 i, J3DGXColor color) { - mAmbColor[i] = color; -} - -/* 802EB748-802EB774 .text setAmbColor__22J3DColorBlockAmbientOnFUlPC10J3DGXColor */ -void J3DColorBlockAmbientOn::setAmbColor(u32 i, const J3DGXColor* color) { - mAmbColor[i] = *color; -} - -/* 802EB774-802EB788 .text getAmbColor__22J3DColorBlockAmbientOnFUl */ -GXColor * J3DColorBlockAmbientOn::getAmbColor(u32 i) { - return &mAmbColor[i]; -} - -/* 802EB788-802EB7F4 .text __dt__22J3DColorBlockAmbientOnFv */ -J3DColorBlockAmbientOn::~J3DColorBlockAmbientOn() { - /* Nonmatching */ -} - -/* 802EB7F4-802EB820 .text setMatColor__21J3DColorBlockLightOffFUl10J3DGXColor */ -void J3DColorBlockLightOff::setMatColor(u32 i, J3DGXColor color) { - mMatColor[i] = color; -} - -/* 802EB820-802EB84C .text setMatColor__21J3DColorBlockLightOffFUlPC10J3DGXColor */ -void J3DColorBlockLightOff::setMatColor(u32 i, const J3DGXColor* pColor) { - mMatColor[i] = *pColor; -} - -/* 802EB84C-802EB860 .text getMatColor__21J3DColorBlockLightOffFUl */ -GXColor * J3DColorBlockLightOff::getMatColor(u32 i) { - return &mMatColor[i]; -} - -/* 802EB860-802EB86C .text setColorChanNum__21J3DColorBlockLightOffFPCUc */ -void J3DColorBlockLightOff::setColorChanNum(const u8* pNum) { - mColorChanNum = *pNum; -} - -/* 802EB86C-802EB874 .text setColorChanNum__21J3DColorBlockLightOffFUc */ -void J3DColorBlockLightOff::setColorChanNum(u8 num) { - mColorChanNum = num; -} - -/* 802EB874-802EB87C .text getColorChanNum__21J3DColorBlockLightOffCFv */ -u8 J3DColorBlockLightOff::getColorChanNum() const { - return mColorChanNum; -} - -/* 802EB87C-802EB890 .text setColorChan__21J3DColorBlockLightOffFUlPC12J3DColorChan */ -void J3DColorBlockLightOff::setColorChan(u32 i, const J3DColorChan* pChan) { - mColorChan[i] = *pChan; -} - -/* 802EB890-802EB8A4 .text setColorChan__21J3DColorBlockLightOffFUlRC12J3DColorChan */ -void J3DColorBlockLightOff::setColorChan(u32 i, const J3DColorChan& chan) { - mColorChan[i] = chan; -} - -/* 802EB8A4-802EB8B8 .text getColorChan__21J3DColorBlockLightOffFUl */ -J3DColorChan * J3DColorBlockLightOff::getColorChan(u32 i) { - return &mColorChan[i]; -} - -/* 802EB8B8-802EB8C0 .text setCullMode__21J3DColorBlockLightOffFUc */ -void J3DColorBlockLightOff::setCullMode(u8 mode) { - mCullMode = mode; -} - -/* 802EB8C0-802EB8CC .text setCullMode__21J3DColorBlockLightOffFPCUc */ -void J3DColorBlockLightOff::setCullMode(const u8* pMode) { - mCullMode = *pMode; -} - -/* 802EB8CC-802EB8D4 .text getCullMode__21J3DColorBlockLightOffCFv */ -u8 J3DColorBlockLightOff::getCullMode() const { - return mCullMode; -} - -/* 802EB8D4-802EB8DC .text getMatColorOffset__21J3DColorBlockLightOffCFv */ -u32 J3DColorBlockLightOff::getMatColorOffset() const { - return mMatColorOffset; -} - -/* 802EB8DC-802EB8E4 .text getColorChanOffset__21J3DColorBlockLightOffCFv */ -u32 J3DColorBlockLightOff::getColorChanOffset() const { - return mColorChanOffset; -} - -/* 802EB8E4-802EB8EC .text setMatColorOffset__21J3DColorBlockLightOffFUl */ -void J3DColorBlockLightOff::setMatColorOffset(u32 offs) { - mMatColorOffset = offs; -} - -/* 802EB8EC-802EB8F4 .text setColorChanOffset__21J3DColorBlockLightOffFUl */ -void J3DColorBlockLightOff::setColorChanOffset(u32 offs) { - mColorChanOffset = offs; -} - -/* 802EB8F4-802EB900 .text getType__13J3DPEBlockXluFv */ -u32 J3DPEBlockXlu::getType() { - return 'PEXL'; -} - -/* 802EB900-802EB95C .text __dt__13J3DPEBlockXluFv */ -J3DPEBlockXlu::~J3DPEBlockXlu() { - /* Nonmatching */ -} - -/* 802EB95C-802EB968 .text getType__17J3DPEBlockTexEdgeFv */ -u32 J3DPEBlockTexEdge::getType() { - return 'PEED'; -} - -/* 802EB968-802EB9C4 .text __dt__17J3DPEBlockTexEdgeFv */ -J3DPEBlockTexEdge::~J3DPEBlockTexEdge() { - /* Nonmatching */ -} - -/* 802EB9C4-802EB9D0 .text getType__13J3DPEBlockOpaFv */ -u32 J3DPEBlockOpa::getType() { - return 'PEOP'; -} - -/* 802EB9D0-802EBA2C .text __dt__13J3DPEBlockOpaFv */ -J3DPEBlockOpa::~J3DPEBlockOpa() { - /* Nonmatching */ -} - -/* 802EBA2C-802EBA38 .text getType__15J3DIndBlockFullFv */ -u32 J3DIndBlockFull::getType() { - return 'IBLF'; -} - -/* 802EBA38-802EBA40 .text setIndTexStageNum__15J3DIndBlockFullFUc */ -void J3DIndBlockFull::setIndTexStageNum(u8 num) { - mIndTexStageNum = num; -} - -/* 802EBA40-802EBA48 .text getIndTexStageNum__15J3DIndBlockFullCFv */ -u8 J3DIndBlockFull::getIndTexStageNum() const { - return mIndTexStageNum; -} - -/* 802EBA48-802EBA64 .text setIndTexOrder__15J3DIndBlockFullFUl14J3DIndTexOrder */ -void J3DIndBlockFull::setIndTexOrder(u32 i, J3DIndTexOrder order) { - mIndTexOrder[i] = order; -} - -/* 802EBA64-802EBA80 .text setIndTexOrder__15J3DIndBlockFullFUlPC14J3DIndTexOrder */ -void J3DIndBlockFull::setIndTexOrder(u32 i, const J3DIndTexOrder* pOrder) { - mIndTexOrder[i] = *pOrder; -} - -/* 802EBA80-802EBA94 .text getIndTexOrder__15J3DIndBlockFullFUl */ -J3DIndTexOrder * J3DIndBlockFull::getIndTexOrder(u32 i) { - return &mIndTexOrder[i]; -} - -/* 802EBA94-802EBAEC .text setIndTexMtx__15J3DIndBlockFullFUl12J3DIndTexMtx */ -void J3DIndBlockFull::setIndTexMtx(u32 i, J3DIndTexMtx mtx) { - mIndTexMtx[i] = mtx; -} - -/* 802EBAEC-802EBB44 .text setIndTexMtx__15J3DIndBlockFullFUlPC12J3DIndTexMtx */ -void J3DIndBlockFull::setIndTexMtx(u32 i, const J3DIndTexMtx* pMtx) { - mIndTexMtx[i] = *pMtx; -} - -/* 802EBB44-802EBB58 .text getIndTexMtx__15J3DIndBlockFullFUl */ -J3DIndTexMtx * J3DIndBlockFull::getIndTexMtx(u32 i) { - return &mIndTexMtx[i]; -} - -/* 802EBB58-802EBB74 .text setIndTexCoordScale__15J3DIndBlockFullFUl19J3DIndTexCoordScale */ -void J3DIndBlockFull::setIndTexCoordScale(u32 i, J3DIndTexCoordScale scale) { - mIndTexCoordScale[i] = scale; -} - -/* 802EBB74-802EBB90 .text setIndTexCoordScale__15J3DIndBlockFullFUlPC19J3DIndTexCoordScale */ -void J3DIndBlockFull::setIndTexCoordScale(u32 i, const J3DIndTexCoordScale* pScale) { - mIndTexCoordScale[i] = *pScale; -} - -/* 802EBB90-802EBBA4 .text getIndTexCoordScale__15J3DIndBlockFullFUl */ -J3DIndTexCoordScale * J3DIndBlockFull::getIndTexCoordScale(u32 i) { - return &mIndTexCoordScale[i]; -} - -/* 802EBBA4-802EBC40 .text __dt__15J3DIndBlockFullFv */ -J3DIndBlockFull::~J3DIndBlockFull() { -} - -/* 802EBC40-802EBC44 .text patchTexNo__11J3DTevBlockFv */ -void J3DTevBlock::patchTexNo() { -} - -/* 802EBC44-802EBC48 .text patchTevReg__11J3DTevBlockFv */ -void J3DTevBlock::patchTevReg() { -} - -/* 802EBC48-802EBC4C .text setTexNo__11J3DTevBlockFUlPCUs */ -void J3DTevBlock::setTexNo(u32 i, const u16*) { -} - -/* 802EBC4C-802EBC50 .text setTevOrder__11J3DTevBlockFUlPC11J3DTevOrder */ -void J3DTevBlock::setTevOrder(u32 i, const J3DTevOrder* pOrder) { -} - -/* 802EBC50-802EBC54 .text setTevStageNum__11J3DTevBlockFPCUc */ -void J3DTevBlock::setTevStageNum(const u8* pNum) { -} - -/* 802EBC54-802EBC58 .text setTevStage__11J3DTevBlockFUlPC11J3DTevStage */ -void J3DTevBlock::setTevStage(u32 i, const J3DTevStage* pStage) { -} - -/* 802EBC58-802EBC5C .text setIndTevStage__11J3DTevBlockFUlPC14J3DIndTevStage */ -void J3DTevBlock::setIndTevStage(u32 i, const J3DIndTevStage* pStage) { -} - -/* 802EBC5C-802EBC64 .text getTexNoOffset__11J3DTevBlockCFv */ -u32 J3DTevBlock::getTexNoOffset() const { - return 0; -} - -/* 802EBC64-802EBC70 .text getType__21J3DColorBlockLightOffFv */ -u32 J3DColorBlockLightOff::getType() { - return 'CLOF'; +void J3DTexGenBlockPatched::calc(const Mtx modelMtx) { + if (!((j3dSys.mFlags >> 2) & 0x01) || !j3dSys.checkFlag(J3DSysFlag_SkinNrmCpu)) { + for (s32 i = 0; i < (s32)ARRAY_SIZE(mTexMtx); i++) { + if (mTexMtx[i] == NULL) + continue; + + u32 mode = mTexMtx[i]->getTexMtxInfo().mInfo & 0x7F; + if (mode == J3DTexMtxMode_EnvmapOld || mode == J3DTexMtxMode_Envmap || mode == J3DTexMtxMode_EnvmapBasic) { + Mtx viewMtx; + MTXConcat(j3dSys.getViewMtx(), modelMtx, viewMtx); + viewMtx[0][3] = 0.0f; + viewMtx[1][3] = 0.0f; + viewMtx[2][3] = 0.0f; + mTexMtx[i]->setViewMtx(viewMtx); + } else if (mode == J3DTexMtxMode_Projmap || mode == J3DTexMtxMode_ProjmapBasic) { + mTexMtx[i]->setViewMtx(modelMtx); + } else if (mode == J3DTexMtxMode_ViewProjmap || mode == J3DTexMtxMode_ViewProjmapBasic) { + Mtx viewMtx; + MTXConcat(j3dSys.getViewMtx(), modelMtx, viewMtx); + mTexMtx[i]->setViewMtx(viewMtx); + } else if (mode == J3DTexMtxMode_EnvmapOldEffectMtx || mode == J3DTexMtxMode_EnvmapEffectMtx || mode == J3DTexMtxMode_Unknown5) { + mTexMtx[i]->setViewMtx(modelMtx); + mTexMtx[i]->getViewMtx()[0][3] = 0.0f; + mTexMtx[i]->getViewMtx()[1][3] = 0.0f; + mTexMtx[i]->getViewMtx()[2][3] = 0.0f; + } + + mTexMtx[i]->calc(); + } + } else { + for (s32 i = 0; i < (s32)ARRAY_SIZE(mTexMtx); i++) { + if (mTexMtx[i] == NULL) + continue; + + u32 mode = mTexMtx[i]->getTexMtxInfo().mInfo & 0x7F; + if (mode == J3DTexMtxMode_Envmap || mode == J3DTexMtxMode_EnvmapOld || mode == J3DTexMtxMode_EnvmapBasic) { + Mtx viewMtx; + MTXCopy(j3dSys.getViewMtx(), viewMtx); + viewMtx[0][3] = 0.0f; + viewMtx[1][3] = 0.0f; + viewMtx[2][3] = 0.0f; + mTexMtx[i]->setViewMtx(viewMtx); + } else if (mode == J3DTexMtxMode_Projmap || mode == J3DTexMtxMode_ProjmapBasic) { + mTexMtx[i]->setViewMtx(j3dDefaultMtx); + } else if (mode == J3DTexMtxMode_ViewProjmap || mode == J3DTexMtxMode_ViewProjmapBasic) { + mTexMtx[i]->setViewMtx(j3dSys.getViewMtx()); + } else if (mode == J3DTexMtxMode_EnvmapOldEffectMtx || mode == J3DTexMtxMode_EnvmapEffectMtx || mode == J3DTexMtxMode_Unknown5) { + mTexMtx[i]->setViewMtx(j3dDefaultMtx); + } + + mTexMtx[i]->calc(); + } + } } diff --git a/src/JSystem/J3DGraphBase/J3DMaterial.cpp b/src/JSystem/J3DGraphBase/J3DMaterial.cpp index e83bdefcb..52c5bf692 100644 --- a/src/JSystem/J3DGraphBase/J3DMaterial.cpp +++ b/src/JSystem/J3DGraphBase/J3DMaterial.cpp @@ -4,544 +4,429 @@ // #include "JSystem/J3DGraphBase/J3DMaterial.h" +#include "JSystem/J3DGraphBase/J3DGD.h" #include "dolphin/types.h" /* 802DDBC4-802DDDC4 .text createColorBlock__11J3DMaterialFUl */ -J3DColorBlock * J3DMaterial::createColorBlock(u32) { - /* Nonmatching */ +J3DColorBlock * J3DMaterial::createColorBlock(u32 param_0) { + J3DColorBlock* rv = NULL; + switch (param_0) { + case 0: + rv = new J3DColorBlockLightOff(); + break; + case 0x40000000: + rv = new J3DColorBlockLightOn(); + break; + case 0x80000000: + rv = new J3DColorBlockAmbientOn(); + break; + } + + return rv; } /* 802DDDC4-802DDF28 .text createTexGenBlock__11J3DMaterialFUl */ -J3DTexGenBlock * J3DMaterial::createTexGenBlock(u32) { - /* Nonmatching */ +J3DTexGenBlock * J3DMaterial::createTexGenBlock(u32 param_0) { + switch (param_0) { + case 0x8000000: + return new J3DTexGenBlock4(); + case 0: + default: + return new J3DTexGenBlockBasic(); + } } /* 802DDF28-802DE29C .text createTevBlock__11J3DMaterialFi */ -J3DTevBlock * J3DMaterial::createTevBlock(int) { - /* Nonmatching */ +J3DTevBlock * J3DMaterial::createTevBlock(int param_0) { + J3DTevBlock* rv = NULL; + if (param_0 <= 1) { + rv = new J3DTevBlock1(); + } else if (param_0 == 2) { + rv = new J3DTevBlock2(); + } else if (param_0 <= 4) { + rv = new J3DTevBlock4(); + } else if (param_0 <= 16) { + rv = new J3DTevBlock16(); + } + return rv; } /* 802DE29C-802DE384 .text createIndBlock__11J3DMaterialFi */ -J3DIndBlock * J3DMaterial::createIndBlock(int) { - /* Nonmatching */ +J3DIndBlock * J3DMaterial::createIndBlock(int param_0) { + if (param_0 != 0) { + return new J3DIndBlockFull(); + } + + return new J3DIndBlockNull(); } /* 802DE384-802DE548 .text createPEBlock__11J3DMaterialFUlUl */ -J3DPEBlock * J3DMaterial::createPEBlock(u32, u32) { - /* Nonmatching */ +J3DPEBlock * J3DMaterial::createPEBlock(u32 createFlags, u32 materialMode) { + J3DPEBlock* rv = NULL; + + if (createFlags == 0) { + if (materialMode & 1) { + rv = new J3DPEBlockOpa(); + return rv; + } else if (materialMode & 2) { + rv = new J3DPEBlockTexEdge(); + return rv; + } else if (materialMode & 4) { + rv = new J3DPEBlockXlu(); + return rv; + } + } + + if (createFlags == 0x10000000) { + rv = new J3DPEBlockFull(); + } else if (createFlags == 0x20000000) { + rv = new J3DPEBlockFogOff(); + } + + return rv; } /* 802DE548-802DE598 .text calcSizeColorBlock__11J3DMaterialFUl */ -u32 J3DMaterial::calcSizeColorBlock(u32) { - /* Nonmatching */ +u32 J3DMaterial::calcSizeColorBlock(u32 param_0) { + u32 rv = 0; + switch (param_0) { + case 0: + rv = sizeof(J3DColorBlockLightOff); + break; + case 0x40000000: + rv = sizeof(J3DColorBlockLightOn); + break; + case 0x80000000: + rv = sizeof(J3DColorBlockAmbientOn); + break; + } + + return rv; } /* 802DE598-802DE5C4 .text calcSizeTexGenBlock__11J3DMaterialFUl */ -u32 J3DMaterial::calcSizeTexGenBlock(u32) { - /* Nonmatching */ +u32 J3DMaterial::calcSizeTexGenBlock(u32 param_0) { + switch (param_0) { + case 0x8000000: + return sizeof(J3DTexGenBlock4); + case 0: + default: + return sizeof(J3DTexGenBlockBasic); + } } /* 802DE5C4-802DE60C .text calcSizeTevBlock__11J3DMaterialFi */ -u32 J3DMaterial::calcSizeTevBlock(int) { - /* Nonmatching */ +u32 J3DMaterial::calcSizeTevBlock(int param_0) { + u32 rv = 0; + if (param_0 <= 1) { + rv = sizeof(J3DTevBlock1); + } else if (param_0 == 2) { + rv = sizeof(J3DTevBlock2); + } else if (param_0 <= 4) { + rv = sizeof(J3DTevBlock4); + } else if (param_0 <= 16) { + rv = sizeof(J3DTevBlock16); + } + return rv; } /* 802DE60C-802DE620 .text calcSizeIndBlock__11J3DMaterialFi */ -u32 J3DMaterial::calcSizeIndBlock(int) { - /* Nonmatching */ +u32 J3DMaterial::calcSizeIndBlock(int param_0) { + if (param_0 != 0) { + return sizeof(J3DIndBlockFull); + } + + return sizeof(J3DIndBlockNull); } /* 802DE620-802DE688 .text calcSizePEBlock__11J3DMaterialFUlUl */ -u32 J3DMaterial::calcSizePEBlock(u32, u32) { - /* Nonmatching */ +u32 J3DMaterial::calcSizePEBlock(u32 param_0, u32 param_1) { + u32 rv = 0; + if (param_0 == 0) { + if (param_1 & 1) { + rv = sizeof(J3DPEBlockOpa); + } else if (param_1 & 2) { + rv = sizeof(J3DPEBlockTexEdge); + } else if (param_1 & 4) { + rv = sizeof(J3DPEBlockXlu); + } + } + else if (param_0 == 0x10000000) { + rv = sizeof(J3DPEBlockFull); + } else if (param_0 == 0x20000000) { + rv = sizeof(J3DPEBlockFogOff); + } + return rv; } /* 802DE688-802DE6D8 .text initialize__11J3DMaterialFv */ void J3DMaterial::initialize() { - /* Nonmatching */ + mShape = NULL; + mNext = NULL; + mJoint = NULL; + mMaterialMode = 1; + mIndex = -1; + mInvalid = 0; + mDiffFlag = 0; + mColorBlock = NULL; + mTexGenBlock = NULL; + mTevBlock = NULL; + mIndBlock = NULL; + mPEBlock = NULL; + mpOrigMaterial = NULL; + mMaterialAnm = NULL; + mSharedDLObj = NULL; } /* 802DE6D8-802DE78C .text countDLSize__11J3DMaterialFv */ u32 J3DMaterial::countDLSize() { - /* Nonmatching */ + return ALIGN_NEXT(mColorBlock->countDLSize() + mTexGenBlock->countDLSize() + mTevBlock->countDLSize() + mIndBlock->countDLSize() + mPEBlock->countDLSize(), 32); } /* 802DE78C-802DEA68 .text makeDisplayList_private__11J3DMaterialFP17J3DDisplayListObj */ -void J3DMaterial::makeDisplayList_private(J3DDisplayListObj*) { - /* Nonmatching */ +void J3DMaterial::makeDisplayList_private(J3DDisplayListObj* param_0) { + param_0->beginDL(); + mTevBlock->load(); + mIndBlock->load(); + mPEBlock->load(); + J3DGDSetGenMode(mTexGenBlock->getTexGenNum(), mColorBlock->getColorChanNum(), mTevBlock->getTevStageNum(), mIndBlock->getIndTexStageNum(), (GXCullMode)(u8)mColorBlock->getCullMode()); + mTexGenBlock->load(); + mColorBlock->load(); + J3DGDSetNumChans(mColorBlock->getColorChanNum()); + J3DGDSetNumTexGens(mTexGenBlock->getTexGenNum()); + param_0->endDL(); } /* 802DEA68-802DEAB0 .text makeDisplayList__11J3DMaterialFv */ void J3DMaterial::makeDisplayList() { - /* Nonmatching */ + if (!j3dSys.getMatPacket()->isLocked()) { + j3dSys.getMatPacket()->mDiffFlag = mDiffFlag; + makeDisplayList_private(j3dSys.getMatPacket()->getDisplayListObj()); + } } /* 802DEAB0-802DEAD4 .text makeSharedDisplayList__11J3DMaterialFv */ void J3DMaterial::makeSharedDisplayList() { - /* Nonmatching */ + makeDisplayList_private(mSharedDLObj); } /* 802DEAD4-802DEB3C .text load__11J3DMaterialFv */ void J3DMaterial::load() { - /* Nonmatching */ + j3dSys.setMaterialMode(mMaterialMode); + if (!j3dSys.checkFlag(2)) { + j3dSys.mMatPacket->callDL(); + loadNBTScale(*mTexGenBlock->getNBTScale()); + } } /* 802DEB3C-802DEBA0 .text loadSharedDL__11J3DMaterialFv */ void J3DMaterial::loadSharedDL() { - /* Nonmatching */ + j3dSys.setMaterialMode(mMaterialMode); + if (!j3dSys.checkFlag(2)) { + mSharedDLObj->callDL(); + loadNBTScale(*mTexGenBlock->getNBTScale()); + } } /* 802DEBA0-802DEC38 .text patch__11J3DMaterialFv */ void J3DMaterial::patch() { - /* Nonmatching */ + j3dSys.getMatPacket()->mDiffFlag = mDiffFlag; + j3dSys.getMatPacket()->beginPatch(); + mTevBlock->patch(); + mColorBlock->patch(); + mTexGenBlock->patch(); + j3dSys.getMatPacket()->endPatch(); } /* 802DEC38-802DEE3C .text diff__11J3DMaterialFUl */ -void J3DMaterial::diff(u32) { - /* Nonmatching */ +void J3DMaterial::diff(u32 param_0) { + if (j3dSys.getMatPacket()->isEnabled_Diff()) { + j3dSys.getMatPacket()->beginDiff(); + mTevBlock->diff(param_0); + mIndBlock->diff(param_0); + mPEBlock->diff(param_0); + if (param_0 & 0x2000000) { + J3DGDSetGenMode_3Param(mTexGenBlock->getTexGenNum(), mTevBlock->getTevStageNum(), mIndBlock->getIndTexStageNum()); + J3DGDSetNumTexGens(mTexGenBlock->getTexGenNum()); + } + mTexGenBlock->diff(param_0); + mColorBlock->diff(param_0); + j3dSys.getMatPacket()->endDiff(); + } } /* 802DEE3C-802DEE88 .text calc__11J3DMaterialFPA4_Cf */ -void J3DMaterial::calc(const float(*)[4]) { - /* Nonmatching */ +void J3DMaterial::calc(const Mtx param_0) { + mTexGenBlock->calc(param_0); + + calcCurrentMtx(); + setCurrentMtx(); } /* 802DEE88-802DEEA0 .text setCurrentMtx__11J3DMaterialFv */ void J3DMaterial::setCurrentMtx() { - /* Nonmatching */ + mShape->setCurrentMtx(mCurrentMtx); } /* 802DEEA0-802DEFF0 .text calcCurrentMtx__11J3DMaterialFv */ void J3DMaterial::calcCurrentMtx() { - /* Nonmatching */ + mCurrentMtx.setCurrentTexMtx( + mTexGenBlock->getTexCoord(0)->getTexGenMtx(), + mTexGenBlock->getTexCoord(1)->getTexGenMtx(), + mTexGenBlock->getTexCoord(2)->getTexGenMtx(), + mTexGenBlock->getTexCoord(3)->getTexGenMtx(), + mTexGenBlock->getTexCoord(4)->getTexGenMtx(), + mTexGenBlock->getTexCoord(5)->getTexGenMtx(), + mTexGenBlock->getTexCoord(6)->getTexGenMtx(), + mTexGenBlock->getTexCoord(7)->getTexGenMtx() + ); } /* 802DEFF0-802DF09C .text copy__11J3DMaterialFP11J3DMaterial */ -void J3DMaterial::copy(J3DMaterial*) { - /* Nonmatching */ +void J3DMaterial::copy(J3DMaterial* param_0) { + mColorBlock->reset(param_0->mColorBlock); + mTexGenBlock->reset(param_0->mTexGenBlock); + mTevBlock->reset(param_0->mTevBlock); + mIndBlock->reset(param_0->mIndBlock); + mPEBlock->reset(param_0->mPEBlock); } /* 802DF09C-802DF0F8 .text reset__11J3DMaterialFv */ void J3DMaterial::reset() { - /* Nonmatching */ + if ((~mDiffFlag & 0x80000000) == 0) { + mDiffFlag &= ~0x80000000; + mMaterialMode = mpOrigMaterial->mMaterialMode; + mInvalid = mpOrigMaterial->mInvalid; + mMaterialAnm = NULL; + copy(mpOrigMaterial); + } } /* 802DF0F8-802DF118 .text change__11J3DMaterialFv */ void J3DMaterial::change() { - /* Nonmatching */ + if ((mDiffFlag & 0xc0000000) == 0) { + mDiffFlag |= 0x80000000; + mMaterialAnm = NULL; + } } /* 802DF118-802DF1AC .text newSharedDisplayList__11J3DMaterialFUl */ -s32 J3DMaterial::newSharedDisplayList(u32) { - /* Nonmatching */ +s32 J3DMaterial::newSharedDisplayList(u32 param_0) { + if (mSharedDLObj == NULL) { + mSharedDLObj = new J3DDisplayListObj(); + if (mSharedDLObj == NULL) { + return 4; + } + s32 res = mSharedDLObj->newDisplayList(param_0); + switch (res) { + case kJ3DError_Success: + break; + default: + return res; + } + } + return 0; } /* 802DF1AC-802DF240 .text newSingleSharedDisplayList__11J3DMaterialFUl */ -s32 J3DMaterial::newSingleSharedDisplayList(u32) { - /* Nonmatching */ +s32 J3DMaterial::newSingleSharedDisplayList(u32 param_0) { + if (mSharedDLObj == NULL) { + mSharedDLObj = new J3DDisplayListObj(); + if (mSharedDLObj == NULL) { + return 4; + } + s32 res = mSharedDLObj->newSingleDisplayList(param_0); + switch (res) { + case kJ3DError_Success: + break; + default: + return res; + } + } + return 0; } /* 802DF240-802DF260 .text initialize__18J3DPatchedMaterialFv */ void J3DPatchedMaterial::initialize() { - /* Nonmatching */ + J3DMaterial::initialize(); } /* 802DF260-802DF264 .text makeDisplayList__18J3DPatchedMaterialFv */ -void J3DPatchedMaterial::makeDisplayList() { - /* Nonmatching */ -} +void J3DPatchedMaterial::makeDisplayList() {} /* 802DF264-802DF268 .text makeSharedDisplayList__18J3DPatchedMaterialFv */ -void J3DPatchedMaterial::makeSharedDisplayList() { - /* Nonmatching */ -} +void J3DPatchedMaterial::makeSharedDisplayList() {} /* 802DF268-802DF2AC .text load__18J3DPatchedMaterialFv */ void J3DPatchedMaterial::load() { - /* Nonmatching */ + j3dSys.setMaterialMode(mMaterialMode); + if (j3dSys.checkFlag(2)) { + return; + } + j3dSys.mMatPacket->callDL(); } /* 802DF2AC-802DF2EC .text loadSharedDL__18J3DPatchedMaterialFv */ void J3DPatchedMaterial::loadSharedDL() { - /* Nonmatching */ + j3dSys.setMaterialMode(mMaterialMode); + if (!j3dSys.checkFlag(0x02)) { + mSharedDLObj->callDL(); + } } /* 802DF2EC-802DF338 .text calc__18J3DPatchedMaterialFPA4_Cf */ -void J3DPatchedMaterial::calc(const Mtx) { - /* Nonmatching */ +void J3DPatchedMaterial::calc(const Mtx param_0) { + mTexGenBlock->calc(param_0); + + calcCurrentMtx(); + setCurrentMtx(); } /* 802DF338-802DF33C .text reset__18J3DPatchedMaterialFv */ -void J3DPatchedMaterial::reset() { - /* Nonmatching */ -} +void J3DPatchedMaterial::reset() {} /* 802DF33C-802DF340 .text change__18J3DPatchedMaterialFv */ -void J3DPatchedMaterial::change() { - /* Nonmatching */ -} +void J3DPatchedMaterial::change() {} /* 802DF340-802DF360 .text initialize__17J3DLockedMaterialFv */ void J3DLockedMaterial::initialize() { - /* Nonmatching */ + J3DMaterial::initialize(); } /* 802DF360-802DF364 .text makeDisplayList__17J3DLockedMaterialFv */ -void J3DLockedMaterial::makeDisplayList() { - /* Nonmatching */ -} +void J3DLockedMaterial::makeDisplayList() {} /* 802DF364-802DF368 .text makeSharedDisplayList__17J3DLockedMaterialFv */ -void J3DLockedMaterial::makeSharedDisplayList() { - /* Nonmatching */ -} +void J3DLockedMaterial::makeSharedDisplayList() {} /* 802DF368-802DF3AC .text load__17J3DLockedMaterialFv */ void J3DLockedMaterial::load() { - /* Nonmatching */ + j3dSys.setMaterialMode(mMaterialMode); + if (j3dSys.checkFlag(2)) { + return; + } + j3dSys.mMatPacket->callDL(); } /* 802DF3AC-802DF3EC .text loadSharedDL__17J3DLockedMaterialFv */ void J3DLockedMaterial::loadSharedDL() { - /* Nonmatching */ + j3dSys.setMaterialMode(mMaterialMode); + if (!j3dSys.checkFlag(0x02)) { + mSharedDLObj->callDL(); + } } /* 802DF3EC-802DF3F0 .text patch__17J3DLockedMaterialFv */ -void J3DLockedMaterial::patch() { - /* Nonmatching */ -} +void J3DLockedMaterial::patch() {} /* 802DF3F0-802DF3F4 .text diff__17J3DLockedMaterialFUl */ -void J3DLockedMaterial::diff(u32) { - /* Nonmatching */ -} +void J3DLockedMaterial::diff(u32) {} /* 802DF3F4-802DF3F8 .text calc__17J3DLockedMaterialFPA4_Cf */ -void J3DLockedMaterial::calc(const float(*)[4]) { - /* Nonmatching */ -} +void J3DLockedMaterial::calc(const Mtx) {} /* 802DF3F8-802DF3FC .text reset__17J3DLockedMaterialFv */ -void J3DLockedMaterial::reset() { - /* Nonmatching */ -} +void J3DLockedMaterial::reset() {} /* 802DF3FC-802DF400 .text change__17J3DLockedMaterialFv */ -void J3DLockedMaterial::change() { - /* Nonmatching */ -} - -/* 802DF400-802DF45C .text __dt__21J3DColorBlockLightOffFv */ -J3DColorBlockLightOff::~J3DColorBlockLightOff() { - /* Nonmatching */ -} - -/* 802DF45C-802DF4A4 .text __dt__13J3DColorBlockFv */ -J3DColorBlock::~J3DColorBlock() { - /* Nonmatching */ -} - -/* 802DF4A4-802DF500 .text __dt__21J3DTexGenBlockPatchedFv */ -J3DTexGenBlockPatched::~J3DTexGenBlockPatched() { - /* Nonmatching */ -} - -/* 802DF500-802DF548 .text __dt__14J3DTexGenBlockFv */ -J3DTexGenBlock::~J3DTexGenBlock() { - /* Nonmatching */ -} - -/* 802DF548-802DF590 .text __dt__11J3DTevBlockFv */ -J3DTevBlock::~J3DTevBlock() { - /* Nonmatching */ -} - -/* 802DF590-802DF5D8 .text __dt__11J3DIndBlockFv */ -J3DIndBlock::~J3DIndBlock() { - /* Nonmatching */ -} - -/* 802DF5D8-802DF620 .text __dt__10J3DPEBlockFv */ -J3DPEBlock::~J3DPEBlock() { - /* Nonmatching */ -} - -/* 802DF620-802DF628 .text countDLSize__14J3DTexGenBlockFv */ -s32 J3DTexGenBlock::countDLSize() { - /* Nonmatching */ -} - -/* 802DF628-802DF630 .text countDLSize__13J3DColorBlockFv */ -s32 J3DColorBlock::countDLSize() { - /* Nonmatching */ -} - -/* 802DF630-802DF638 .text countDLSize__11J3DTevBlockFv */ -s32 J3DTevBlock::countDLSize() { - /* Nonmatching */ -} - -/* 802DF638-802DF640 .text countDLSize__11J3DIndBlockFv */ -s32 J3DIndBlock::countDLSize() { - /* Nonmatching */ -} - -/* 802DF640-802DF648 .text countDLSize__10J3DPEBlockFv */ -s32 J3DPEBlock::countDLSize() { - /* Nonmatching */ -} - -/* 802DF648-802DF64C .text load__13J3DColorBlockFv */ -void J3DColorBlock::load() { - /* Nonmatching */ -} - -/* 802DF64C-802DF654 .text getCullMode__13J3DColorBlockCFv */ -u8 J3DColorBlock::getCullMode() const { - /* Nonmatching */ -} - -/* 802DF654-802DF658 .text load__11J3DTevBlockFv */ -void J3DTevBlock::load() { - /* Nonmatching */ -} - -/* 802DF658-802DF660 .text getNBTScale__14J3DTexGenBlockFv */ -J3DNBTScale * J3DTexGenBlock::getNBTScale() { - /* Nonmatching */ -} - -/* 802DF660-802DF664 .text patch__13J3DColorBlockFv */ -void J3DColorBlock::patch() { - /* Nonmatching */ -} - -/* 802DF664-802DF668 .text diff__13J3DColorBlockFUl */ -void J3DColorBlock::diff(u32) { - /* Nonmatching */ -} - -/* 802DF668-802DF66C .text diff__10J3DPEBlockFUl */ -void J3DPEBlock::diff(u32) { - /* Nonmatching */ -} - -/* 802DF66C-802DF670 .text reset__10J3DPEBlockFP10J3DPEBlock */ -void J3DPEBlock::reset(J3DPEBlock*) { - /* Nonmatching */ -} - -/* 802DF670-802DF674 .text reset__11J3DIndBlockFP11J3DIndBlock */ -void J3DIndBlock::reset(J3DIndBlock*) { - /* Nonmatching */ -} - -/* 802DF674-802DF678 .text reset__11J3DTevBlockFP11J3DTevBlock */ -void J3DTevBlock::reset(J3DTevBlock*) { - /* Nonmatching */ -} - -/* 802DF678-802DF67C .text reset__14J3DTexGenBlockFP14J3DTexGenBlock */ -void J3DTexGenBlock::reset(J3DTexGenBlock*) { - /* Nonmatching */ -} - -/* 802DF67C-802DF680 .text reset__13J3DColorBlockFP13J3DColorBlock */ -void J3DColorBlock::reset(J3DColorBlock*) { - /* Nonmatching */ -} - -/* 802DF680-802DF684 .text diffFog__10J3DPEBlockFv */ -void J3DPEBlock::diffFog() { - /* Nonmatching */ -} - -/* 802DF684-802DF688 .text diffBlend__10J3DPEBlockFv */ -void J3DPEBlock::diffBlend() { - /* Nonmatching */ -} - -/* 802DF688-802DF68C .text setFog__10J3DPEBlockFP6J3DFog */ -void J3DPEBlock::setFog(J3DFog*) { - /* Nonmatching */ -} - -/* 802DF68C-802DF690 .text setAlphaComp__10J3DPEBlockFPC12J3DAlphaComp */ -void J3DPEBlock::setAlphaComp(const J3DAlphaComp*) { - /* Nonmatching */ -} - -/* 802DF690-802DF694 .text setBlend__10J3DPEBlockFPC8J3DBlend */ -void J3DPEBlock::setBlend(const J3DBlend*) { - /* Nonmatching */ -} - -/* 802DF694-802DF698 .text setZMode__10J3DPEBlockFPC8J3DZMode */ -void J3DPEBlock::setZMode(const J3DZMode*) { - /* Nonmatching */ -} - -/* 802DF698-802DF69C .text setZCompLoc__10J3DPEBlockFPCUc */ -void J3DPEBlock::setZCompLoc(const u8*) { - /* Nonmatching */ -} - -/* 802DF69C-802DF6A0 .text setDither__10J3DPEBlockFUc */ -void J3DPEBlock::setDither(u8) { - /* Nonmatching */ -} - -/* 802DF6A0-802DF6A4 .text setDither__10J3DPEBlockFPCUc */ -void J3DPEBlock::setDither(const u8*) { - /* Nonmatching */ -} - -/* 802DF6A4-802DF6AC .text getDither__10J3DPEBlockCFv */ -u8 J3DPEBlock::getDither() const { - /* Nonmatching */ -} - -/* 802DF6AC-802DF6B4 .text getFogOffset__10J3DPEBlockCFv */ -u32 J3DPEBlock::getFogOffset() const { - /* Nonmatching */ -} - -/* 802DF6B4-802DF6B8 .text setFogOffset__10J3DPEBlockFUl */ -void J3DPEBlock::setFogOffset(u32) { - /* Nonmatching */ -} - -/* 802DF6B8-802DF6BC .text diff__15J3DIndBlockNullFUl */ -void J3DIndBlockNull::diff(u32) { - /* Nonmatching */ -} - -/* 802DF6BC-802DF6C0 .text load__15J3DIndBlockNullFv */ -void J3DIndBlockNull::load() { - /* Nonmatching */ -} - -/* 802DF6C0-802DF6C4 .text reset__15J3DIndBlockNullFP11J3DIndBlock */ -void J3DIndBlockNull::reset(J3DIndBlock*) { - /* Nonmatching */ -} - -/* 802DF6C4-802DF6D0 .text getType__15J3DIndBlockNullFv */ -u32 J3DIndBlockNull::getType() { - /* Nonmatching */ -} - -/* 802DF6D0-802DF72C .text __dt__15J3DIndBlockNullFv */ -J3DIndBlockNull::~J3DIndBlockNull() { - /* Nonmatching */ -} - -/* 802DF72C-802DF730 .text setIndTexOrder__11J3DIndBlockFUlPC14J3DIndTexOrder */ -void J3DIndBlock::setIndTexOrder(u32, const J3DIndTexOrder*) { - /* Nonmatching */ -} - -/* 802DF730-802DF734 .text setIndTexOrder__11J3DIndBlockFUl14J3DIndTexOrder */ -void J3DIndBlock::setIndTexOrder(u32, J3DIndTexOrder) { - /* Nonmatching */ -} - -/* 802DF734-802DF738 .text setIndTexMtx__11J3DIndBlockFUlPC12J3DIndTexMtx */ -void J3DIndBlock::setIndTexMtx(u32, const J3DIndTexMtx*) { - /* Nonmatching */ -} - -/* 802DF738-802DF73C .text setIndTexCoordScale__11J3DIndBlockFUlPC19J3DIndTexCoordScale */ -void J3DIndBlock::setIndTexCoordScale(u32, const J3DIndTexCoordScale*) { - /* Nonmatching */ -} - -/* 802DF73C-802DF740 .text setTexGenNum__14J3DTexGenBlockFPCUl */ -void J3DTexGenBlock::setTexGenNum(const u32*) { - /* Nonmatching */ -} - -/* 802DF740-802DF744 .text setNBTScale__14J3DTexGenBlockF11J3DNBTScale */ -void J3DTexGenBlock::setNBTScale(J3DNBTScale) { - /* Nonmatching */ -} - -/* 802DF744-802DF748 .text setNBTScale__14J3DTexGenBlockFPC11J3DNBTScale */ -void J3DTexGenBlock::setNBTScale(const J3DNBTScale*) { - /* Nonmatching */ -} - -/* 802DF748-802DF750 .text getTexMtxOffset__14J3DTexGenBlockCFv */ -u32 J3DTexGenBlock::getTexMtxOffset() const { - /* Nonmatching */ -} - -/* 802DF750-802DF754 .text setTexMtxOffset__14J3DTexGenBlockFUl */ -void J3DTexGenBlock::setTexMtxOffset(u32) { - /* Nonmatching */ -} - -/* 802DF754-802DF758 .text patchMatColor__13J3DColorBlockFv */ -void J3DColorBlock::patchMatColor() { - /* Nonmatching */ -} - -/* 802DF758-802DF75C .text diffMatColor__13J3DColorBlockFv */ -void J3DColorBlock::diffMatColor() { - /* Nonmatching */ -} - -/* 802DF75C-802DF760 .text diffLight__13J3DColorBlockFv */ -void J3DColorBlock::diffLight() { - /* Nonmatching */ -} - -/* 802DF760-802DF764 .text setMatColor__13J3DColorBlockFUlPC10J3DGXColor */ -void J3DColorBlock::setMatColor(u32, const J3DGXColor*) { - /* Nonmatching */ -} - -/* 802DF764-802DF768 .text setAmbColor__13J3DColorBlockFUlPC10J3DGXColor */ -void J3DColorBlock::setAmbColor(u32, const J3DGXColor*) { - /* Nonmatching */ -} - -/* 802DF768-802DF76C .text setColorChanNum__13J3DColorBlockFPCUc */ -void J3DColorBlock::setColorChanNum(const u8*) { - /* Nonmatching */ -} - -/* 802DF76C-802DF770 .text setColorChan__13J3DColorBlockFUlPC12J3DColorChan */ -void J3DColorBlock::setColorChan(u32, const J3DColorChan*) { - /* Nonmatching */ -} - -/* 802DF770-802DF778 .text getLight__13J3DColorBlockFUl */ -J3DLightObj * J3DColorBlock::getLight(u32) { - /* Nonmatching */ -} - -/* 802DF778-802DF77C .text setCullMode__13J3DColorBlockFPCUc */ -void J3DColorBlock::setCullMode(const u8*) { - /* Nonmatching */ -} - -/* 802DF77C-802DF784 .text getMatColorOffset__13J3DColorBlockCFv */ -u32 J3DColorBlock::getMatColorOffset() const { - /* Nonmatching */ -} - -/* 802DF784-802DF78C .text getColorChanOffset__13J3DColorBlockCFv */ -u32 J3DColorBlock::getColorChanOffset() const { - /* Nonmatching */ -} - -/* 802DF78C-802DF790 .text setMatColorOffset__13J3DColorBlockFUl */ -void J3DColorBlock::setMatColorOffset(u32) { - /* Nonmatching */ -} - -/* 802DF790-802DF794 .text setColorChanOffset__13J3DColorBlockFUl */ -void J3DColorBlock::setColorChanOffset(u32) { - /* Nonmatching */ -} +void J3DLockedMaterial::change() {} diff --git a/src/JSystem/J3DGraphBase/J3DShapeMtx.cpp b/src/JSystem/J3DGraphBase/J3DShapeMtx.cpp index 73acec3dc..f5f60cf8b 100644 --- a/src/JSystem/J3DGraphBase/J3DShapeMtx.cpp +++ b/src/JSystem/J3DGraphBase/J3DShapeMtx.cpp @@ -6,25 +6,18 @@ #include "JSystem/J3DGraphBase/J3DShapeMtx.h" #include "JSystem/J3DGraphBase/J3DGD.h" #include "JSystem/J3DGraphBase/J3DPacket.h" -#include "JSystem/J3DGraphAnimator/J3DModel.h" #include "JSystem/J3DGraphBase/J3DShapeDraw.h" #include "JSystem/J3DGraphBase/J3DSys.h" +#include "JSystem/J3DGraphBase/J3DTransform.h" +#include "JSystem/J3DGraphAnimator/J3DModel.h" +#include "JSystem/J3DGraphAnimator/J3DModelData.h" extern void J3DFifoLoadNrmMtxImm(Mtx, u32); extern void J3DFifoLoadNrmMtxImm3x3(Mtx33, u32); extern void J3DFifoLoadPosMtxImm(Mtx, u32); -extern void J3DPSMtx33Copy(Mtx33, Mtx33); -extern void J3DScaleNrmMtx(Mtx, Vec const &); -extern void J3DScaleNrmMtx33(Mtx33, Vec const &); -extern void J3DCalcBBoardMtx(Mtx); u32 J3DShapeMtx::sCurrentPipeline; -/* 802DD048-802DD054 .text getType__11J3DShapeMtxCFv */ -u32 J3DShapeMtx::getType() const { - return 'SMTX'; -} - /* 802DB9D8-802DBA1C .text loadMtxIndx_PNGP__11J3DShapeMtxCFiUs */ void J3DShapeMtx::loadMtxIndx_PNGP(int mtxNo, u16 index) const { J3DFifoLoadIndx(GX_CMD_LOAD_INDX_A, index, 0xB000 | ((u16)(mtxNo * 0x0C))); @@ -142,6 +135,8 @@ J3DShapeMtxConcatView::MtxLoadConcatView J3DShapeMtxConcatView::sMtxLoadPipeline &J3DShapeMtxConcatView::loadMtxConcatView_PNCPU, }; +u8* J3DShapeMtx::sCurrentScaleFlag; +u8 J3DShapeMtx::sNBTFlag; Mtx * J3DShapeMtxConcatView::sMtxPtrTbl[2]; /* 802DBFBC-802DC08C .text load__21J3DShapeMtxConcatViewCFv */ @@ -160,26 +155,49 @@ void J3DShapeMtxImm::loadNrmMtx(int mtxNo, u16 index) const { if (J3DShapeMtx::sNBTFlag == 0) { J3DFifoLoadNrmMtxImm(j3dSys.getModelDrawMtx(index), 0); } else { - Mtx33 mtx; - J3DPSMtx33CopyFrom34(j3dSys.getModelDrawMtx(index), mtx); - J3DScaleNrmMtx33(mtx, j3dSys.getNBTScale()); - J3DFifoLoadNrmMtxImm3x3(mtx, 0); + Mtx33 mtx33; + Vec* scale = j3dSys.getNBTScale(); + J3DPSMtx33CopyFrom34(j3dSys.getModelDrawMtx(index), mtx33); + J3DScaleNrmMtx33(mtx33, *scale); + J3DFifoLoadNrmMtxImm3x3(mtx33, 0); } } else { - Mtx33 mtx; - J3DPSCalcInverseTranspose(j3dSys.getModelDrawMtx(index), mtx); + Mtx33 mtx33; + J3DPSCalcInverseTranspose(j3dSys.getModelDrawMtx(index), mtx33); if (J3DShapeMtx::sNBTFlag == 0) { - J3DFifoLoadNrmMtxImm(j3dSys.getModelDrawMtx(index), 0); + J3DFifoLoadNrmMtxImm3x3(mtx33, 0); } else { - J3DScaleNrmMtx33(mtx, j3dSys.getNBTScale()); - J3DFifoLoadNrmMtxImm3x3(mtx, 0); + Vec* scale = j3dSys.getNBTScale(); + J3DScaleNrmMtx33(mtx33, *scale); + J3DFifoLoadNrmMtxImm3x3(mtx33, 0); } } } /* 802DC184-802DC254 .text loadNrmMtx__21J3DShapeMtxConcatViewCFiUsPA4_f */ void J3DShapeMtxConcatView::loadNrmMtx(int mtxNo, u16 index, Mtx mtx) const { + if (J3DShapeMtx::sCurrentScaleFlag[index] == 1) { + if (J3DShapeMtx::sNBTFlag == 0) { + J3DFifoLoadNrmMtxImm(mtx, 0); + } else { + Mtx33 mtx33; + Vec* scale = j3dSys.getNBTScale(); + J3DPSMtx33CopyFrom34(mtx, mtx33); + J3DScaleNrmMtx33(mtx33, *scale); + J3DFifoLoadNrmMtxImm3x3(mtx33, 0); + } + } else { + Mtx33 mtx33; + J3DPSCalcInverseTranspose(mtx, mtx33); + if (J3DShapeMtx::sNBTFlag == 0) { + J3DFifoLoadNrmMtxImm3x3(mtx33, 0); + } else { + Vec* scale = j3dSys.getNBTScale(); + J3DScaleNrmMtx33(mtx33, *scale); + J3DFifoLoadNrmMtxImm3x3(mtx33, 0); + } + } } /* 802DC254-802DC2F4 .text load__16J3DShapeMtxMultiCFv */ @@ -194,8 +212,13 @@ void J3DShapeMtxMulti::load() const { } /* 802DC2F4-802DC388 .text calcNBTScale__16J3DShapeMtxMultiFRC3VecPA3_A3_fPA3_A3_f */ -void J3DShapeMtxMulti::calcNBTScale(const Vec&, Mtx33*, Mtx33*) { - /* Nonmatching */ +void J3DShapeMtxMulti::calcNBTScale(const Vec& param_0, Mtx33* param_1, Mtx33* param_2) { + for (int i = 0; i < mUseMtxNum; i++) { + if (mUseMtxIndexTable[i] != 0xFFFF) { + J3DPSMtx33Copy(param_1[mUseMtxIndexTable[i]], param_2[mUseMtxIndexTable[i]]); + J3DScaleNrmMtx33(param_2[mUseMtxIndexTable[i]], param_0); + } + } } /* 802DC388-802DC428 .text load__19J3DShapeMtxMultiImmCFv */ @@ -228,11 +251,54 @@ void J3DShapeMtxMultiConcatView::load() const { /* 802DC524-802DC620 .text loadNrmMtx__19J3DShapeMtxMultiImmCFiUs */ void J3DShapeMtxMultiImm::loadNrmMtx(int mtxNo, u16 index) const { - /* Nonmatching */ + if (J3DShapeMtx::sCurrentScaleFlag[index] == 1) { + if (J3DShapeMtx::sNBTFlag == 0) { + J3DFifoLoadNrmMtxImm(j3dSys.getModelDrawMtx(index), mtxNo * 3); + } else { + Mtx33 mtx33; + Vec* scale = j3dSys.getNBTScale(); + J3DPSMtx33CopyFrom34(j3dSys.getModelDrawMtx(index), mtx33); + J3DScaleNrmMtx33(mtx33, *scale); + J3DFifoLoadNrmMtxImm3x3(mtx33, 0); + } + } else { + Mtx33 mtx33; + J3DPSCalcInverseTranspose(j3dSys.getModelDrawMtx(index), mtx33); + + if (J3DShapeMtx::sNBTFlag == 0) { + J3DFifoLoadNrmMtxImm3x3(mtx33, mtxNo * 3); + } else { + Vec* scale = j3dSys.getNBTScale(); + J3DScaleNrmMtx33(mtx33, *scale); + J3DFifoLoadNrmMtxImm3x3(mtx33, mtxNo * 3); + } + } } /* 802DC620-802DC6F4 .text loadNrmMtx__26J3DShapeMtxMultiConcatViewCFiUsPA4_f */ -void J3DShapeMtxMultiConcatView::loadNrmMtx(int, u16, Mtx) const { +void J3DShapeMtxMultiConcatView::loadNrmMtx(int mtxNo, u16 index, Mtx mtx) const { + if (J3DShapeMtx::sCurrentScaleFlag[index] == 1) { + if (J3DShapeMtx::sNBTFlag == 0) { + J3DFifoLoadNrmMtxImm(mtx, mtxNo * 3); + } else { + Mtx33 mtx33; + Vec* scale = j3dSys.getNBTScale(); + J3DPSMtx33CopyFrom34(mtx, mtx33); + J3DScaleNrmMtx33(mtx33, *scale); + J3DFifoLoadNrmMtxImm3x3(mtx33, 0); + } + } else { + Mtx33 mtx33; + J3DPSCalcInverseTranspose(mtx, mtx33); + + if (J3DShapeMtx::sNBTFlag == 0) { + J3DFifoLoadNrmMtxImm3x3(mtx33, mtxNo * 3); + } else { + Vec* scale = j3dSys.getNBTScale(); + J3DScaleNrmMtx33(mtx33, *scale); + J3DFifoLoadNrmMtxImm3x3(mtx33, mtxNo * 3); + } + } /* Nonmatching */ } @@ -253,7 +319,8 @@ void J3DShapeMtxBBoardImm::load() const { if (sNBTFlag == 0) { J3DFifoLoadNrmMtxImm(mtx, 0); } else { - J3DScaleNrmMtx(mtx, j3dSys.getNBTScale()); + Vec* scale = j3dSys.getNBTScale(); + J3DScaleNrmMtx(mtx, *scale); J3DFifoLoadNrmMtxImm(mtx, 0); } } @@ -264,9 +331,11 @@ void J3DShapeMtxBBoardConcatView::load() const { Mtx mtx; if (j3dSys.getModel()->getModelData()->getDrawMtxFlag(mUseMtxIndex) == 0) { - MTXConcat(j3dSys.getViewMtx(), j3dSys.getModel()->mpNodeMtx[drawMtxIndex], mtx); + MtxP anmMtx = j3dSys.getModel()->getAnmMtx(drawMtxIndex); + MTXConcat(j3dSys.getViewMtx(), anmMtx, mtx); } else { - MTXConcat(j3dSys.getViewMtx(), j3dSys.getModel()->mpWeightEnvMtx[drawMtxIndex], mtx); + MtxP weightMtx = j3dSys.getModel()->getWeightAnmMtx(drawMtxIndex); + MTXConcat(j3dSys.getViewMtx(), weightMtx, mtx); } J3DCalcBBoardMtx(mtx); @@ -282,101 +351,77 @@ void J3DShapeMtxBBoardConcatView::load() const { if (sNBTFlag == 0) { J3DFifoLoadNrmMtxImm(mtx, 0); } else { - J3DScaleNrmMtx(mtx, j3dSys.getNBTScale()); + Vec* scale = j3dSys.getNBTScale(); + J3DScaleNrmMtx(mtx, *scale); J3DFifoLoadNrmMtxImm(mtx, 0); } } -/* 802DCF88-802DCF94 .text getType__21J3DShapeMtxConcatViewCFv */ -u32 J3DShapeMtxConcatView::getType() const { - return 'SMCV'; -} - -/* 802DCF94-802DCF98 .text loadNrmMtx__21J3DShapeMtxConcatViewCFiUs */ -void J3DShapeMtxConcatView::loadNrmMtx(int mtxNo, u16 index) const { - /* Nonmatching */ -} - /* 802DC8C0-802DC9B8 .text load__21J3DShapeMtxYBBoardImmCFv */ void J3DShapeMtxYBBoardImm::load() const { + Mtx mtx; + MTXCopy(j3dSys.getModelDrawMtx(mUseMtxIndex), mtx); + J3DCalcYBBoardMtx(mtx); + J3DFifoLoadPosMtxImm(mtx, 0); + if (J3DShapeMtx::sCurrentScaleFlag[mUseMtxIndex] == 1) { + if (J3DShapeMtx::sNBTFlag == 0) { + J3DFifoLoadNrmMtxImm(mtx, 0); + } else { + Vec* scale = j3dSys.getNBTScale(); + J3DScaleNrmMtx(mtx, *scale); + J3DFifoLoadNrmMtxImm(mtx, 0); + } + } else { + Mtx33 mtx33; + J3DPSCalcInverseTranspose(mtx, mtx33); + if (J3DShapeMtx::sNBTFlag == 0) { + J3DFifoLoadNrmMtxImm3x3(mtx33, 0); + } else { + Vec* scale = j3dSys.getNBTScale(); + J3DScaleNrmMtx33(mtx33, *scale); + J3DFifoLoadNrmMtxImm3x3(mtx33, 0); + } + } /* Nonmatching */ } /* 802DC9B8-802DCAEC .text load__28J3DShapeMtxYBBoardConcatViewCFv */ void J3DShapeMtxYBBoardConcatView::load() const { + u16 drawMtxIndex = j3dSys.getModel()->getModelData()->getDrawMtxIndex(mUseMtxIndex); + + Mtx mtx; + if (j3dSys.getModel()->getModelData()->getDrawMtxFlag(mUseMtxIndex) == 0) { + MtxP anmMtx = j3dSys.getModel()->getAnmMtx(drawMtxIndex); + MTXConcat(j3dSys.getViewMtx(), anmMtx, mtx); + } else { + MtxP weightMtx = j3dSys.getModel()->getWeightAnmMtx(drawMtxIndex); + MTXConcat(j3dSys.getViewMtx(), weightMtx, mtx); + } + J3DCalcYBBoardMtx(mtx); + J3DFifoLoadPosMtxImm(mtx, 0); + if (J3DShapeMtx::sCurrentScaleFlag[mUseMtxIndex] == 1) { + if (J3DShapeMtx::sNBTFlag == 0) { + J3DFifoLoadNrmMtxImm(mtx, 0); + } else { + Vec* scale = j3dSys.getNBTScale(); + J3DScaleNrmMtx(mtx, *scale); + J3DFifoLoadNrmMtxImm(mtx, 0); + } + } else { + Mtx33 mtx33; + J3DPSCalcInverseTranspose(mtx, mtx33); + if (J3DShapeMtx::sNBTFlag == 0) { + J3DFifoLoadNrmMtxImm3x3(mtx33, 0); + } else { + Vec* scale = j3dSys.getNBTScale(); + J3DScaleNrmMtx33(mtx33, *scale); + J3DFifoLoadNrmMtxImm3x3(mtx33, 0); + } + } + /* Nonmatching */ } -/* 802DCBF4-802DCC00 .text getType__21J3DShapeMtxYBBoardImmCFv */ -u32 J3DShapeMtxYBBoardImm::getType() const { - return 'SMYB'; -} - -/* 802DCC00-802DCC08 .text getUseMtxIndex__11J3DShapeMtxCFUs */ -u32 J3DShapeMtx::getUseMtxIndex(u16 i) const { - return mUseMtxIndex; -} - -/* 802DCCF0-802DCCFC .text getType__20J3DShapeMtxBBoardImmCFv */ -u32 J3DShapeMtxBBoardImm::getType() const { - return 'SMBB'; -} - -/* 802DCDE4-802DCDF0 .text getType__26J3DShapeMtxMultiConcatViewCFv */ -u32 J3DShapeMtxMultiConcatView::getType() const { - return 'SMMI'; -} - -/* 802DCDF0-802DCDF8 .text getUseMtxNum__26J3DShapeMtxMultiConcatViewCFv */ -u32 J3DShapeMtxMultiConcatView::getUseMtxNum() const { - return mUseMtxNum; -} - -/* 802DCDF8-802DCE08 .text getUseMtxIndex__26J3DShapeMtxMultiConcatViewCFUs */ -u32 J3DShapeMtxMultiConcatView::getUseMtxIndex(u16 i) const { - return mUseMtxIndexTable[i]; -} - -/* 802DCE08-802DCE0C .text loadNrmMtx__26J3DShapeMtxMultiConcatViewCFiUs */ -void J3DShapeMtxMultiConcatView::loadNrmMtx(int mtxNo, u16 index) const { - /* Nonmatching */ -} - -/* 802DCE78-802DCE84 .text getType__19J3DShapeMtxMultiImmCFv */ -u32 J3DShapeMtxMultiImm::getType() const { - return 'SMMI'; -} - -/* 802DCE84-802DCE8C .text getUseMtxNum__19J3DShapeMtxMultiImmCFv */ -u32 J3DShapeMtxMultiImm::getUseMtxNum() const { - return mUseMtxNum; -} - -/* 802DCE8C-802DCE9C .text getUseMtxIndex__19J3DShapeMtxMultiImmCFUs */ -u32 J3DShapeMtxMultiImm::getUseMtxIndex(u16 i) const { - return mUseMtxIndexTable[i]; -} - -/* 802DCEF8-802DCF04 .text getType__16J3DShapeMtxMultiCFv */ -u32 J3DShapeMtxMulti::getType() const { - return 'SMML'; -} - -/* 802DCF04-802DCF0C .text getUseMtxNum__16J3DShapeMtxMultiCFv */ -u32 J3DShapeMtxMulti::getUseMtxNum() const { - return mUseMtxNum; -} - -/* 802DCF0C-802DCF1C .text getUseMtxIndex__16J3DShapeMtxMultiCFUs */ -u32 J3DShapeMtxMulti::getUseMtxIndex(u16 i) const { - return mUseMtxIndexTable[i]; -} - -/* 802DCFF4-802DD000 .text getType__14J3DShapeMtxImmCFv */ -u32 J3DShapeMtxImm::getType() const { - return 'SMIM'; -} - /* 802DCAEC-802DCB04 .text __ct__12J3DShapeDrawFPCUcUl */ J3DShapeDraw::J3DShapeDraw(const u8* pDL, u32 size) { mDisplayList = (void*) pDL; diff --git a/src/JSystem/J3DGraphBase/J3DSys.cpp b/src/JSystem/J3DGraphBase/J3DSys.cpp index 8f2f571fe..83f4b885a 100644 --- a/src/JSystem/J3DGraphBase/J3DSys.cpp +++ b/src/JSystem/J3DGraphBase/J3DSys.cpp @@ -6,6 +6,7 @@ #include "JSystem/J3DGraphBase/J3DSys.h" #include "JSystem/J3DGraphBase/J3DGD.h" #include "JSystem/J3DGraphBase/J3DTexture.h" +#include "JSystem/J3DGraphBase/J3DTevs.h" #include "JSystem/J3DGraphBase/J3DShape.h" #include "dolphin/os/OS.h" @@ -15,12 +16,6 @@ extern void makeAlphaCmpTable(); extern void makeZModeTable(); extern void makeTevSwapTable(); -extern "C" extern J3DDefaultTexCoordInfo const j3dDefaultTexCoordInfo[8]; -extern "C" extern const GXColor j3dDefaultColInfo; -extern "C" extern u8 j3dDefaultColorChanNum; -extern "C" extern const GXColorS10 j3dDefaultTevColor; -extern "C" extern const GXColor j3dDefaultTevKColor; - /* 802D8AA8-802D8B8C .text __ct__6J3DSysFv */ J3DSys::J3DSys() { makeTexCoordTable(); @@ -48,11 +43,11 @@ J3DSys::J3DSys() { field_0x104 = NULL; field_0x120 = NULL; - for (u32 i = 0; i < 32; i += 4) { - sTexCoordScaleTable[i + 0] = 1; - sTexCoordScaleTable[i + 1] = 1; - sTexCoordScaleTable[i + 2] = 0; - sTexCoordScaleTable[i + 3] = 0; + for (u32 i = 0; i < 8; i ++) { + sTexCoordScaleTable[i].field_0x00 = 1; + sTexCoordScaleTable[i].field_0x02 = 1; + sTexCoordScaleTable[i].field_0x04 = 0; + sTexCoordScaleTable[i].field_0x06 = 0; } } @@ -411,6 +406,6 @@ J3DSys j3dSys; Mtx J3DSys::mCurrentMtx; Vec J3DSys::mCurrentS; Vec J3DSys::mParentS; -u16 J3DSys::sTexCoordScaleTable[32]; +J3DTexCoordScaleInfo J3DSys::sTexCoordScaleTable[8]; u32 j3dDefaultViewNo; diff --git a/src/JSystem/J3DGraphBase/J3DTevs.cpp b/src/JSystem/J3DGraphBase/J3DTevs.cpp index 3cc1fcecd..a73a2796a 100644 --- a/src/JSystem/J3DGraphBase/J3DTevs.cpp +++ b/src/JSystem/J3DGraphBase/J3DTevs.cpp @@ -4,64 +4,310 @@ // #include "JSystem/J3DGraphBase/J3DTevs.h" -#include "dolphin/types.h" +#include "JSystem/J3DGraphBase/J3DSys.h" +#include "JSystem/J3DGraphBase/J3DTexture.h" +#include "JSystem/J3DGraphBase/J3DTransform.h" /* 802EBC94-802EBD48 .text load__11J3DLightObjCFUl */ -void J3DLightObj::load(unsigned long) const { +void J3DLightObj::load(u32 lightIdx) const { /* Nonmatching */ + GDOverflowCheck(0x48); + J3DGDSetLightPos(GXLightID(1 << lightIdx), mInfo.mLightPosition.x, mInfo.mLightPosition.y, mInfo.mLightPosition.z); + J3DGDSetLightAttn(GXLightID(1 << lightIdx), mInfo.mCosAtten.x, mInfo.mCosAtten.y, mInfo.mCosAtten.z, mInfo.mDistAtten.x, mInfo.mDistAtten.y, mInfo.mDistAtten.z); + J3DGDSetLightColor(GXLightID(1 << lightIdx), mInfo.mColor); + J3DGDSetLightDir(GXLightID(1 << lightIdx), mInfo.mLightDirection.x, mInfo.mLightDirection.y, mInfo.mLightDirection.z); } /* 802EBD48-802EBF40 .text loadTexCoordGens__FUlP11J3DTexCoord */ -void loadTexCoordGens(unsigned long, J3DTexCoord*) { - /* Nonmatching */ +void loadTexCoordGens(u32 num, J3DTexCoord* pTexCoord) { + GDOverflowCheck(num * 8 + 10); + J3DGDWriteXFCmdHdr(0x1040, num); + for (int i = 0; i < num; i++) { + J3DGDSetTexCoordGen( + GXTexGenType(pTexCoord[i].getTexGenType()), + GXTexGenSrc(pTexCoord[i].getTexGenSrc()) + ); + } + static u32 dualReg = 61; + J3DGDWriteXFCmdHdr(0x1050, num); + for (int i = 0; i < num; i++) { + J3DGDWrite_u32(dualReg); + } } /* 802EBF40-802EC358 .text calc__9J3DTexMtxFv */ void J3DTexMtx::calc() { - /* Nonmatching */ + Mtx44 mtx1; + Mtx44 mtx2; + + Mtx qMtx = { + 0.5f, 0.0f, 0.5f, 0.0f, + 0.0f, -0.5f, 0.5f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + }; + Mtx qMtx2 = { + 0.5f, 0.0f, 0.0f, 0.5f, + 0.0f, -0.5f, 0.0f, 0.5f, + 0.0f, 0.0f, 1.0f, 0.0f, + }; + + u32 mode = mTexMtxInfo.mInfo & 0x7f; + u32 extra = (mTexMtxInfo.mInfo >> 7) & 1; + + if (mode == J3DTexMtxMode_Projmap || mode == J3DTexMtxMode_ViewProjmap || mode == J3DTexMtxMode_EnvmapEffectMtx) { + if (extra == 0) { + J3DGetTextureMtx(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2); + } else if (extra == 1) { + J3DGetTextureMtxMaya(mTexMtxInfo.mSRT, mtx2); + } + MTXConcat(mtx2, qMtx, mtx2); + J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mtx1); + MTXConcat(mtx1, mViewMtx, mMtx); + } else if (mode == J3DTexMtxMode_Envmap) { + if (extra == 0) { + J3DGetTextureMtx(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx1); + } else if (extra == 1) { + J3DGetTextureMtxMaya(mTexMtxInfo.mSRT, mtx1); + } + MTXConcat(mtx1, qMtx, mtx1); + MTXConcat(mtx1, mViewMtx, mMtx); + } else if (mode == J3DTexMtxMode_EnvmapOldEffectMtx) { + if (extra == 0) { + J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2); + } else if (extra == 1) { + J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2); + } + MTXConcat(mtx2, qMtx2, mtx2); + J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mtx1); + MTXConcat(mtx1, mViewMtx, mMtx); + } else if (mode == J3DTexMtxMode_EnvmapOld) { + if (extra == 0) { + J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx1); + } else if (extra == 1) { + J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx1); + } + MTXConcat(mtx1, qMtx2, mtx1); + MTXConcat(mtx1, mViewMtx, mMtx); + } else if (mode == J3DTexMtxMode_EnvmapBasic) { + if (extra == 0) { + J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx1); + } else if (extra == 1) { + J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx1); + } + MTXConcat(mtx1, mViewMtx, mMtx); + } else if (mode == J3DTexMtxMode_ProjmapBasic || mode == J3DTexMtxMode_ViewProjmapBasic || mode == J3DTexMtxMode_Unknown5) { + if (extra == 0) { + J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2); + } else if (extra == 1) { + J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2); + } + J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mtx1); + MTXConcat(mtx1, mViewMtx, mMtx); + } else if (mode == J3DTexMtxMode_Unknown4) { + if (extra == 0) { + J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2); + } else if (extra == 1) { + J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2); + } + J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mMtx); + } else { + if (extra == 0) { + J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mMtx); + } else if (extra == 1) { + J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mMtx); + } + } } /* 802EC358-802EC37C .text isTexNoReg__FPv */ -void isTexNoReg(void*) { - /* Nonmatching */ +bool isTexNoReg(void* param_0) { + u8 r31 = ((u8*)param_0)[1]; + if (r31 >= 0x80 && r31 <= 0xbb) { + return true; + } + return false; } /* 802EC37C-802EC388 .text getTexNoReg__FPv */ -void getTexNoReg(void*) { - /* Nonmatching */ +u16 getTexNoReg(void* param_0) { + return *(u32*)((u8*)param_0 + 1); } /* 802EC388-802EC530 .text loadTexNo__FUlRCUs */ -void loadTexNo(unsigned long, const unsigned short&) { - /* Nonmatching */ +void loadTexNo(u32 param_0, const u16& param_1) { + ResTIMG* resTIMG = j3dSys.getTexture()->getResTIMG(param_1); + J3DSys::sTexCoordScaleTable[param_0].field_0x00 = resTIMG->width; + J3DSys::sTexCoordScaleTable[param_0].field_0x02 = resTIMG->height; + GDOverflowCheck(0x14); + J3DGDSetTexImgPtr(GXTexMapID(param_0), (u8*)resTIMG + resTIMG->imageOffset); + J3DGDSetTexImgAttr(GXTexMapID(param_0), resTIMG->width, resTIMG->height, GXTexFmt(resTIMG->format & 0x0f)); + J3DGDSetTexLookupMode(GXTexMapID(param_0), GXTexWrapMode(resTIMG->wrapS), GXTexWrapMode(resTIMG->wrapT), GXTexFilter(resTIMG->minFilter), GXTexFilter(resTIMG->magFilter), resTIMG->minLOD * 0.125f, resTIMG->maxLOD * 0.125f, resTIMG->LODBias * 0.01f, resTIMG->biasClamp, resTIMG->doEdgeLOD, GXAnisotropy(resTIMG->maxAnisotropy)); + if (resTIMG->indexTexture == true) { + GXTlutSize tlutSize = resTIMG->numColors > 16 ? GX_TLUT_256 : GX_TLUT_16; + GDOverflowCheck(0x14); + J3DGDLoadTlut((u8*)resTIMG + resTIMG->paletteOffset, (param_0 << 13) + 0xf0000, tlutSize); + J3DGDSetTexTlut(GXTexMapID(param_0), (param_0 << 13) + 0xf0000, GXTlutFmt(resTIMG->colorFormat)); + } } /* 802EC530-802EC554 .text patchTexNo_PtrToIdx__FUlRCUs */ -void patchTexNo_PtrToIdx(unsigned long, const unsigned short&) { - /* Nonmatching */ +void patchTexNo_PtrToIdx(u32 texID, const u16& idx) { + J3DGDSetTexImgPtrRaw(GXTexMapID(texID), idx); } /* 802EC554-802EC588 .text loadNBTScale__FR11J3DNBTScale */ -void loadNBTScale(J3DNBTScale&) { - /* Nonmatching */ +void loadNBTScale(J3DNBTScale& param_0) { + if (param_0.mbHasScale == true) { + j3dSys.setNBTScale(¶m_0.mScale); + } else { + j3dSys.setNBTScale(NULL); + } } +const J3DLightInfo j3dDefaultLightInfo = { + 0.0f, 0.0f, 0.0f, + 0.0f, -1.0f, 0.0f, + 0xff, 0xff, 0xff, 0xff, + 1.0f, 0.0f, 0.0f, + 1.0f, 0.0f, 0.0f, +}; + +const J3DTexCoordInfo j3dDefaultTexCoordInfo[8] = { + {GX_MTX2x4, GX_TG_TEX0, GX_IDENTITY}, {GX_MTX2x4, GX_TG_TEX1, GX_IDENTITY}, + {GX_MTX2x4, GX_TG_TEX2, GX_IDENTITY}, {GX_MTX2x4, GX_TG_TEX3, GX_IDENTITY}, + {GX_MTX2x4, GX_TG_TEX4, GX_IDENTITY}, {GX_MTX2x4, GX_TG_TEX5, GX_IDENTITY}, + {GX_MTX2x4, GX_TG_TEX6, GX_IDENTITY}, {GX_MTX2x4, GX_TG_TEX7, GX_IDENTITY}, +}; + +const J3DTexMtxInfo j3dDefaultTexMtxInfo = { + 0x01, 0x00, 0xFF, 0xFF, + 0.0f, 0.0f, 0.0f, + 1.0f, 1.0f, 0, 0.0f, 0.0f, + 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f, +}; + +const J3DIndTexMtxInfo j3dDefaultIndTexMtxInfo = { + 0.5f, 0.0f, 0.0f, + 0.0f, 0.5f, 0.0f, + 1, +}; + +const J3DTevStageInfo j3dDefaultTevStageInfo = { + 0x04, 0x0A, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x05, 0x07, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, +}; + +const J3DIndTevStageInfo j3dDefaultIndTevStageInfo = {}; + +const J3DFogInfo j3dDefaultFogInfo = { + 0, 0, 0x140, + 0.0f, 0.0f, 0.1f, 10000.0f, + 0xFF, 0xFF, 0xFF, 0x00, +}; + +const J3DNBTScaleInfo j3dDefaultNBTScaleInfo = { + 0, + 1.0f, 1.0f, 1.0f +}; + +static u8 j3dTexCoordTable[7623]; + /* 802EC588-802EC630 .text makeTexCoordTable__Fv */ void makeTexCoordTable() { /* Nonmatching */ + u8 texMtx[] = { + GX_TEXMTX0, + GX_TEXMTX1, + GX_TEXMTX2, + GX_TEXMTX3, + GX_TEXMTX4, + GX_TEXMTX5, + GX_TEXMTX6, + GX_TEXMTX7, + GX_TEXMTX8, + GX_TEXMTX9, + GX_IDENTITY, + }; + + u8* table = j3dTexCoordTable; + for (u32 i = 0; i < 11; i++) { + for (u32 j = 0; j < 21; j++) { + for (int k = 0; k < ARRAY_SIZE(texMtx); k++) { + u32 idx = i * 0xe7 + j * 11 + k; + table[idx * 3 + 0] = i; + table[idx * 3 + 1] = j; + table[idx * 3 + 2] = texMtx[k]; + } + } + } } +u8 j3dTevSwapTableTable[1024]; +u8 j3dAlphaCmpTable[768]; + /* 802EC630-802EC69C .text makeAlphaCmpTable__Fv */ void makeAlphaCmpTable() { - /* Nonmatching */ + u8* table = j3dAlphaCmpTable; + for (u32 i = 0; i < 8; i++) { + for (int j = 0; j < 4; j++) { + for (u32 k = 0; k < 8; k++) { + u32 idx = i * 32 + j * 8 + k; + table[idx * 3] = i; + table[idx * 3 + 1] = j; + table[idx * 3 + 2] = k; + } + } + } } +u8 j3dZModeTable[96]; + /* 802EC69C-802EC708 .text makeZModeTable__Fv */ void makeZModeTable() { /* Nonmatching */ + u8* table = j3dZModeTable; + for (int i = 0; i < 2; i++) { + for (u32 j = 0; j < 8; j++) { + for (int k = 0; k < 2; k++) { + u32 idx = i * 16 + j * 2 + k; + table[idx * 3] = i; + table[idx * 3 + 1] = j; + table[idx * 3 + 2] = k; + } + } + } } /* 802EC708-802EC74C .text makeTevSwapTable__Fv */ void makeTevSwapTable() { - /* Nonmatching */ + u8* table = j3dTevSwapTableTable; + int i = 0; + do { + table[0] = i >> 6; + table[1] = (i >> 4) & 3; + table[2] = (i >> 2) & 3; + table[3] = i & 3; + i++; + table += 4; + } while (i < 256); } + +const GXColor j3dDefaultColInfo = {0xFF, 0xFF, 0xFF, 0xFF}; +const GXColor j3dDefaultAmbInfo = {0x32, 0x32, 0x32, 0x32}; +const u8 j3dDefaultColorChanNum = 0x01; +const J3DTevOrderInfo j3dDefaultTevOrderInfoNull = {GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL}; +const J3DIndTexOrderInfo j3dDefaultIndTexOrderNull = {GX_TEXCOORD_NULL, GX_TEXMAP_NULL}; +const GXColorS10 j3dDefaultTevColor = {0xFF, 0xFF, 0xFF, 0xFF}; +const J3DIndTexCoordScaleInfo j3dDefaultIndTexCoordScaleInfo = {}; +const GXColor j3dDefaultTevKColor = {0xFF, 0xFF, 0xFF, 0xFF}; +const J3DTevSwapModeInfo j3dDefaultTevSwapMode = {}; +const J3DTevSwapModeTableInfo j3dDefaultTevSwapModeTable = {0, 1, 2, 3}; +const J3DBlendInfo j3dDefaultBlendInfo = {GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_NOOP}; +const J3DColorChanInfo j3dDefaultColorChanInfo = {0, 0, 0, 2, 2, 0, 0xFF, 0xFF}; +const u8 j3dDefaultTevSwapTableID = 0x1B; +const u16 j3dDefaultAlphaCmpID = 0xE7; +const u16 j3dDefaultZModeID = 0x17; diff --git a/src/JSystem/J3DGraphBase/J3DTransform.cpp b/src/JSystem/J3DGraphBase/J3DTransform.cpp index 952da979a..076db8dc4 100644 --- a/src/JSystem/J3DGraphBase/J3DTransform.cpp +++ b/src/JSystem/J3DGraphBase/J3DTransform.cpp @@ -8,12 +8,12 @@ #include "dolphin/types.h" /* 802DA0A8-802DA0B0 .text __MTGQR7__FUl */ -void __MTGQR7(unsigned long) { +void __MTGQR7(u32) { /* Nonmatching */ } /* 802DA0B0-802DA0E8 .text J3DGQRSetup7__FUlUlUlUl */ -void J3DGQRSetup7(unsigned long, unsigned long, unsigned long, unsigned long) { +void J3DGQRSetup7(u32, u32, u32, u32) { /* Nonmatching */ } @@ -44,62 +44,62 @@ f32 J3DCalcZValue(register MtxP m, register Vec v) { } /* 802DA120-802DA2E0 .text J3DCalcBBoardMtx__FPA4_f */ -void J3DCalcBBoardMtx(float(*)[4]) { +void J3DCalcBBoardMtx(f32(*)[4]) { /* Nonmatching */ } /* 802DA2E0-802DA584 .text J3DCalcYBBoardMtx__FPA4_f */ -void J3DCalcYBBoardMtx(float(*)[4]) { +void J3DCalcYBBoardMtx(f32(*)[4]) { /* Nonmatching */ } /* 802DA584-802DA64C .text J3DPSCalcInverseTranspose__FPA4_fPA3_f */ -void J3DPSCalcInverseTranspose(float(*)[4], float(*)[3]) { +void J3DPSCalcInverseTranspose(f32(*)[4], f32(*)[3]) { /* Nonmatching */ } /* 802DA64C-802DA724 .text J3DGetTranslateRotateMtx__FRC16J3DTransformInfoPA4_f */ -void J3DGetTranslateRotateMtx(const J3DTransformInfo&, float(*)[4]) { +void J3DGetTranslateRotateMtx(const J3DTransformInfo&, Mtx) { /* Nonmatching */ } /* 802DA724-802DA7E4 .text J3DGetTranslateRotateMtx__FsssfffPA4_f */ -void J3DGetTranslateRotateMtx(short, short, short, float, float, float, float(*)[4]) { +void J3DGetTranslateRotateMtx(s16, s16, s16, f32, f32, f32, Mtx) { /* Nonmatching */ } /* 802DA7E4-802DA8A8 .text J3DGetTextureMtx__FRC17J3DTextureSRTInfo3VecPA4_f */ -void J3DGetTextureMtx(const J3DTextureSRTInfo&, Vec, float(*)[4]) { +void J3DGetTextureMtx(const J3DTextureSRTInfo&, Vec, f32(*)[4]) { /* Nonmatching */ } /* 802DA8A8-802DA96C .text J3DGetTextureMtxOld__FRC17J3DTextureSRTInfo3VecPA4_f */ -void J3DGetTextureMtxOld(const J3DTextureSRTInfo&, Vec, float(*)[4]) { +void J3DGetTextureMtxOld(const J3DTextureSRTInfo&, Vec, f32(*)[4]) { /* Nonmatching */ } /* 802DA96C-802DAA38 .text J3DGetTextureMtxMaya__FRC17J3DTextureSRTInfoPA4_f */ -void J3DGetTextureMtxMaya(const J3DTextureSRTInfo&, float(*)[4]) { +void J3DGetTextureMtxMaya(const J3DTextureSRTInfo&, f32(*)[4]) { /* Nonmatching */ } /* 802DAA38-802DAB04 .text J3DGetTextureMtxMayaOld__FRC17J3DTextureSRTInfoPA4_f */ -void J3DGetTextureMtxMayaOld(const J3DTextureSRTInfo&, float(*)[4]) { +void J3DGetTextureMtxMayaOld(const J3DTextureSRTInfo&, f32(*)[4]) { /* Nonmatching */ } /* 802DAB04-802DAB68 .text J3DScaleNrmMtx__FPA4_fRC3Vec */ -void J3DScaleNrmMtx(float(*)[4], const Vec&) { +void J3DScaleNrmMtx(f32(*)[4], const Vec&) { /* Nonmatching */ } /* 802DAB68-802DABBC .text J3DScaleNrmMtx33__FPA3_fRC3Vec */ -void J3DScaleNrmMtx33(float(*)[3], const Vec&) { +void J3DScaleNrmMtx33(f32(*)[3], const Vec&) { /* Nonmatching */ } /* 802DABBC-802DACE0 .text J3DMtxProjConcat__FPA4_fPA4_fPA4_f */ -void J3DMtxProjConcat(float(*)[4], float(*)[4], float(*)[4]) { +void J3DMtxProjConcat(f32(*)[4], f32(*)[4], f32(*)[4]) { /* Nonmatching */ } @@ -151,6 +151,6 @@ void J3DPSMtx33CopyFrom34(register MtxP src, register Mtx3P dst) { } /* 802DAD40-802DAE1C .text J3DPSMtxArrayConcat__FPA4_fPA4_fPA4_fUl */ -void J3DPSMtxArrayConcat(float(*)[4], float(*)[4], float(*)[4], unsigned long) { +void J3DPSMtxArrayConcat(f32(*)[4], f32(*)[4], f32(*)[4], u32) { /* Nonmatching */ } diff --git a/src/JSystem/J3DU/J3DUDL.cpp b/src/JSystem/J3DU/J3DUDL.cpp index 56e121c9e..84e9a2cf3 100644 --- a/src/JSystem/J3DU/J3DUDL.cpp +++ b/src/JSystem/J3DU/J3DUDL.cpp @@ -4,9 +4,7 @@ // #include "JSystem/J3DGraphBase/J3DShapeMtx.h" -#include "dolphin/types.h" -/* 80256F80-80256F88 .text getUseMtxNum__11J3DShapeMtxCFv */ -u32 J3DShapeMtx::getUseMtxNum() const { - return 1; -} +// generate getUseMtxNum weak function. +static void dummy(J3DShapeMtx* shapeMtx) { shapeMtx->getUseMtxNum(); } + diff --git a/src/JSystem/J3DU/J3DUMotion.cpp b/src/JSystem/J3DU/J3DUMotion.cpp index 0fa72c964..f21ae9b2d 100644 --- a/src/JSystem/J3DU/J3DUMotion.cpp +++ b/src/JSystem/J3DU/J3DUMotion.cpp @@ -4,19 +4,35 @@ // #include "JSystem/J3DU/J3DUMotion.h" +#include "JSystem/J3DGraphAnimator/J3DJoint.h" #include "dolphin/types.h" +// The following are probably weak functions? +// Not sure how they ended up here, exactly. + /* 80256DBC-80256E4C .text __dt__19J3DMtxCalcSoftimageFv */ -J3DMtxCalcSoftimage::~J3DMtxCalcSoftimage() { - /* Nonmatching */ -} +J3DMtxCalcSoftimage::~J3DMtxCalcSoftimage() {} /* 80256E4C-80256E94 .text init__19J3DMtxCalcSoftimageFRC3VecRA3_A4_Cf */ -void J3DMtxCalcSoftimage::init(const Vec&, const float(&)[3][4]) { - /* Nonmatching */ +void J3DMtxCalcSoftimage::init(const Vec& vec, const Mtx& mtx) { + J3DSys::mCurrentS = vec; + MTXCopy(mtx, J3DSys::mCurrentMtx); } /* 80256E94-80256F80 .text init__15J3DMtxCalcBasicFRC3VecRA3_A4_Cf */ -void J3DMtxCalcBasic::init(const Vec&, const float(&)[3][4]) { - /* Nonmatching */ +void J3DMtxCalcBasic::init(const Vec& vec, const Mtx& mtx) { + J3DSys::mCurrentS = vec; + J3DSys::mParentS = (Vec){1.0f, 1.0f, 1.0f}; + J3DSys::mCurrentMtx[0][0] = mtx[0][0] * J3DSys::mCurrentS.x; + J3DSys::mCurrentMtx[0][1] = mtx[0][1] * J3DSys::mCurrentS.y; + J3DSys::mCurrentMtx[0][2] = mtx[0][2] * J3DSys::mCurrentS.z; + J3DSys::mCurrentMtx[0][3] = mtx[0][3]; + J3DSys::mCurrentMtx[1][0] = mtx[1][0] * J3DSys::mCurrentS.x; + J3DSys::mCurrentMtx[1][1] = mtx[1][1] * J3DSys::mCurrentS.y; + J3DSys::mCurrentMtx[1][2] = mtx[1][2] * J3DSys::mCurrentS.z; + J3DSys::mCurrentMtx[1][3] = mtx[1][3]; + J3DSys::mCurrentMtx[2][0] = mtx[2][0] * J3DSys::mCurrentS.x; + J3DSys::mCurrentMtx[2][1] = mtx[2][1] * J3DSys::mCurrentS.y; + J3DSys::mCurrentMtx[2][2] = mtx[2][2] * J3DSys::mCurrentS.z; + J3DSys::mCurrentMtx[2][3] = mtx[2][3]; } diff --git a/src/JSystem/JKernel/JKRAramStream.cpp b/src/JSystem/JKernel/JKRAramStream.cpp index 0b42cead2..ff8adf6be 100644 --- a/src/JSystem/JKernel/JKRAramStream.cpp +++ b/src/JSystem/JKernel/JKRAramStream.cpp @@ -196,3 +196,5 @@ void JKRAramStream::setTransBuffer(u8* buffer, u32 bufferSize, JKRHeap* heap) { JKRAramStreamCommand::JKRAramStreamCommand() { mAllocatedTransferBuffer = false; } + +static void dummy(JSURandomInputStream* stream) { stream->getAvailable(); } diff --git a/src/JSystem/JMath/JMath.cpp b/src/JSystem/JMath/JMath.cpp index 4639bda3b..8025762ce 100644 --- a/src/JSystem/JMath/JMath.cpp +++ b/src/JSystem/JMath/JMath.cpp @@ -22,7 +22,7 @@ void JMAQuatLerp(Quaternion*, Quaternion*, float, Quaternion*) { } /* 803012D8-80301350 .text JMAHermiteInterpolation__Ffffffff */ -void JMAHermiteInterpolation(float, float, float, float, float, float, float) { +f32 JMAHermiteInterpolation(f32, f32, f32, f32, f32, f32, f32) { /* Nonmatching */ } diff --git a/src/JSystem/JParticle/JPAMath.cpp b/src/JSystem/JParticle/JPAMath.cpp index 86b101511..19440426a 100644 --- a/src/JSystem/JParticle/JPAMath.cpp +++ b/src/JSystem/JParticle/JPAMath.cpp @@ -4,44 +4,152 @@ // #include "JSystem/JParticle/JPAMath.h" +#include "JSystem/JMath/JMath.h" +#include "JSystem/JMath/JMATrigonometric.h" #include "dolphin/types.h" /* 8025991C-802599A0 .text JPAGetYZRotateMtx__FssPA4_f */ -void JPAGetYZRotateMtx(short, short, float(*)[4]) { - /* Nonmatching */ +void JPAGetYZRotateMtx(s16 y, s16 z, Mtx dst) { + f32 cosY = JMASCos(y); + f32 cosZ = JMASCos(z); + f32 sinY = JMASSin(y); + f32 sinZ = JMASSin(z); + dst[0][0] = (cosY * cosZ); + dst[0][1] = -sinZ; + dst[0][2] = (sinY * cosZ); + dst[1][0] = (cosY * sinZ); + dst[1][1] = cosZ; + dst[1][2] = (sinY * sinZ); + dst[2][0] = -sinY; + dst[2][2] = cosY; + dst[2][3] = 0.0f; + dst[2][1] = 0.0f; + dst[1][3] = 0.0f; + dst[0][3] = 0.0f; } /* 802599A0-80259A64 .text JPAGetXYZRotateMtx__FsssPA4_f */ -void JPAGetXYZRotateMtx(short, short, short, float(*)[4]) { - /* Nonmatching */ +void JPAGetXYZRotateMtx(s16 x, s16 y, s16 z, Mtx dst) { + f32 cosx = JMASCos(x); + f32 cosY = JMASCos(y); + f32 cosZ = JMASCos(z); + f32 sinX = JMASSin(x); + f32 sinY = JMASSin(y); + f32 sinZ = JMASSin(z); + dst[0][0] = cosY * cosZ; + dst[1][0] = cosY * sinZ; + dst[2][0] = -sinY; + dst[2][1] = sinX * cosY; + dst[2][2] = cosx * cosY; + f32 cosXsinZ = cosx * sinZ; + f32 sinXcosZ = sinX * cosZ; + dst[0][1] = sinXcosZ * sinY - cosXsinZ; + dst[1][2] = cosXsinZ * sinY - sinXcosZ; + f32 sinXsinZ = sinX * sinZ; + f32 cosXcosZ = cosx * cosZ; + dst[0][2] = sinXsinZ + cosXcosZ * sinY; + dst[1][1] = cosXcosZ + sinXsinZ * sinY; + dst[2][3] = 0.0f; + dst[1][3] = 0.0f; + dst[0][3] = 0.0f; } /* 80259A64-80259B6C .text JPAGetDirMtx__FRCQ29JGeometry8TVec3PA4_f */ -void JPAGetDirMtx(const JGeometry::TVec3&, float(*)[4]) { +void JPAGetDirMtx(const JGeometry::TVec3& dir, Mtx dst) { /* Nonmatching */ + JGeometry::TVec3 perp; + perp.x = dir.y; + perp.y = -dir.x; + perp.z = 0.0f; + + f32 mag = perp.normalize(); + + f32 x = perp.x, y = perp.y, z = dir.z; + dst[0][0] = x*x + z * (1.0f - x*x); + dst[0][1] = (1.0f - z) * (x * y); + dst[0][2] = -y * mag; + dst[0][3] = 0.0f; + + dst[1][0] = (1.0f - z) * (x * y); + dst[1][1] = y*y + z * (1.0f - y*y); + dst[1][2] = x*mag; + dst[1][3] = 0.0f; + + dst[2][0] = y * mag; + dst[2][1] = -x * mag; + dst[2][2] = z; + dst[2][3] = 0.0f; } /* 80259B6C-80259C90 .text JPASetSVecfromMtx__FPA4_fRQ29JGeometry8TVec3 */ -void JPASetSVecfromMtx(float(*)[4], JGeometry::TVec3&) { +void JPASetSVecfromMtx(Mtx mtx, JGeometry::TVec3& scale) { /* Nonmatching */ + JGeometry::TVec3 tmp; + scale.x = sqrtf(mtx[0][0] * mtx[0][0] + mtx[1][0] * mtx[1][0] + mtx[2][0] * mtx[2][0]); + scale.y = sqrtf(mtx[0][1] * mtx[0][1] + mtx[1][1] * mtx[1][1] + mtx[2][1] * mtx[2][1]); + scale.z = sqrtf(mtx[0][2] * mtx[0][2] + mtx[1][2] * mtx[1][2] + mtx[2][2] * mtx[2][2]); } /* 80259C90-80259CB8 .text JPASetRMtxTVecfromMtx__FPA4_fPA4_fRQ29JGeometry8TVec3 */ -void JPASetRMtxTVecfromMtx(float(*)[4], float(*)[4], JGeometry::TVec3&) { - /* Nonmatching */ +void JPASetRMtxTVecfromMtx(Mtx src, Mtx dst, JGeometry::TVec3& translate) { + JGeometry::TVec3 scale; + JPASetRMtxSTVecfromMtx(src, dst, scale, translate); } /* 80259CB8-80259DD0 .text JPASetRMtxSTVecfromMtx__FPA4_fPA4_fRQ29JGeometry8TVec3RQ29JGeometry8TVec3 */ -void JPASetRMtxSTVecfromMtx(float(*)[4], float(*)[4], JGeometry::TVec3&, JGeometry::TVec3&) { - /* Nonmatching */ +void JPASetRMtxSTVecfromMtx(Mtx src, Mtx dst, JGeometry::TVec3& scale, JGeometry::TVec3& translate) { + JPASetSVecfromMtx(src, scale); + MTXIdentity(dst); + if (scale.x != 0.0f) { + f32 inv = 1.0f / scale.x; + dst[0][0] = src[0][0] * inv; + dst[1][0] = src[1][0] * inv; + dst[2][0] = src[2][0] * inv; + } + if (scale.y != 0.0f) { + f32 inv = 1.0f / scale.y; + dst[0][1] = src[0][1] * inv; + dst[1][1] = src[1][1] * inv; + dst[2][1] = src[2][1] * inv; + } + if (scale.z != 0.0f) { + f32 inv = 1.0f / scale.z; + dst[0][2] = src[0][2] * inv; + dst[1][2] = src[1][2] * inv; + dst[2][2] = src[2][2] * inv; + } + translate.set(src[0][3], src[1][3], src[2][3]); } /* 80259DD0-80259E7C .text JPAGetKeyFrameValue__FfUsPCf */ -void JPAGetKeyFrameValue(float, unsigned short, const float*) { - /* Nonmatching */ +f32 JPAGetKeyFrameValue(f32 time, u16 frameNum, const f32* pFrames) { + /* keyframes are time, value, tangent out, tangent in */ + + if (time < pFrames[0]) + return pFrames[1]; + + if (pFrames[(frameNum - 1) * 4] <= time) + return pFrames[(frameNum - 1) * 4 + 1]; + + /* binary search; find keyframe */ + s32 frame = frameNum; + while (frame > 1) { + u32 idx = frame / 2; + if (time >= pFrames[idx * 4]) { + pFrames += idx * 4; + frame -= idx; + } else { + frame = idx; + } + } + + return JMAHermiteInterpolation(time, pFrames[0], pFrames[1], pFrames[3], pFrames[4], pFrames[5], pFrames[6]); } /* 80259E7C-80259EE8 .text JPAGetUnitVec__FssRQ29JGeometry8TVec3 */ -void JPAGetUnitVec(short, short, JGeometry::TVec3&) { - /* Nonmatching */ +void JPAGetUnitVec(s16 x, s16 y, JGeometry::TVec3& dst) { + f32 sinX = JMASSin(x); + dst.x = sinX * JMASCos(y); + dst.y = sinX * JMASSin(y); + dst.z = JMASCos(x); } diff --git a/src/JSystem/JUtility/JUTCacheFont.cpp b/src/JSystem/JUtility/JUTCacheFont.cpp index 09c53c115..f859787b4 100644 --- a/src/JSystem/JUtility/JUTCacheFont.cpp +++ b/src/JSystem/JUtility/JUTCacheFont.cpp @@ -263,32 +263,197 @@ bool JUTCacheFont::allocArray(JKRHeap* heap) { /* 802C0B78-802C0DD0 .text setBlock__12JUTCacheFontFv */ void JUTCacheFont::setBlock() { - /* Nonmatching */ + int widthNum = 0; + int gylphNum = 0; + int mapNum = 0; + u8* pWidth = (u8*)field_0x7c; + ResFONT::GLY1* piVar5 = (ResFONT::GLY1*)field_0x80; + ResFONT::MAP1* pMap = (ResFONT::MAP1*)field_0x84; + u32 aramAddress = field_0xac->getAddress(); + mMaxCode = 0xffff; + const int* pData = (int*)mResFont->data; + + for (int i = 0; i < mResFont->numBlocks; i++) { + switch (*pData) { + case 'INF1': + memcpy(mInfoBlock, pData, 0x20); + u32 u = mInfoBlock->fontType; + JUT_ASSERT(447, u < suAboutEncoding_); + mIsLeadByte = &JUTResFont::saoAboutEncoding_[u]; + break; + case 'WID1': + memcpy(pWidth, pData, pData[1]); + mpWidthBlocks[widthNum] = (ResFONT::WID1*)pWidth; + pWidth += pData[1]; + widthNum++; + break; + case 'GLY1': + memcpy(piVar5, pData, 0x20); + JKRAramBlock* iVar1 = + JKRMainRamToAram((u8*)pData + 0x20, aramAddress, pData[1] - 0x20, + EXPAND_SWITCH_UNKNOWN0, 0, NULL, 0xffffffff); + if (iVar1 == NULL) { + OSPanic(__FILE__, 476, "Cannot alloc ARAM area."); + } + piVar5->magic = aramAddress; + if (piVar5->textureSize > mMaxSheetSize) { + mMaxSheetSize = piVar5->textureSize; + } + mpGlyphBlocks[gylphNum] = piVar5; + gylphNum++; + piVar5++; + aramAddress = pData[1] + aramAddress - 0x20; + break; + case 'MAP1': + memcpy(pMap, pData, pData[1]); + mpMapBlocks[mapNum] = pMap; + if (mMaxCode > mpMapBlocks[mapNum]->startCode) { + mMaxCode = mpMapBlocks[mapNum]->startCode; + } + mapNum++; + pMap = (ResFONT::MAP1*)((u8*)pMap + pData[1]); + break; + default: + JUTReportConsole("Unknown data block\n"); + break; + } + + pData = (int*)((u8*)pData + pData[1]); + } } /* 802C0DD0-802C0E80 .text determineBlankPage__12JUTCacheFontFv */ -void JUTCacheFont::determineBlankPage() { - /* Nonmatching */ +JUTCacheFont::TGlyphCacheInfo* JUTCacheFont::determineBlankPage() { + TGlyphCacheInfo* pVar1 = field_0xa4; + if (pVar1 != NULL) { + field_0xa4 = pVar1->mNext; + TGlyphCacheInfo* pVar2 = pVar1->mNext; + if (pVar2 == NULL) { + field_0xa8 = 0; + } else { + pVar2->mPrev = NULL; + } + return pVar1; + } + + TGlyphCacheInfo* puVar1 = field_0xa0; + while (puVar1 != NULL) { + TGlyphCacheInfo* prev = puVar1->mPrev; + if (puVar1->field_0x1e == 0) { + unlink(puVar1); + field_0xb4++; + return puVar1; + } + puVar1 = prev; + } + + return NULL; } /* 802C0E80-802C0FE8 .text getGlyphFromAram__12JUTCacheFontFPQ212JUTCacheFont15TGlyphCacheInfoPQ212JUTCacheFont10TCachePagePiPi */ -void JUTCacheFont::getGlyphFromAram(JUTCacheFont::TGlyphCacheInfo*, JUTCacheFont::TCachePage*, int*, int*) { +void JUTCacheFont::getGlyphFromAram(TGlyphCacheInfo* param_0, TCachePage* pCachePage, int* param_2, int* param_3) { /* Nonmatching */ + TGlyphCacheInfo* pGylphCacheInfo = pCachePage; + memcpy(pGylphCacheInfo, param_0, sizeof(TGlyphCacheInfo)); + prepend(pGylphCacheInfo); + int iVar3 = pGylphCacheInfo->field_0x16 * pGylphCacheInfo->field_0x18; + int iVar2 = *param_2 / iVar3; + pGylphCacheInfo->field_0x8 += iVar2 * iVar3; + u16 local_30 = pGylphCacheInfo->field_0x8 + iVar3 - 1; + pGylphCacheInfo->field_0xa = pGylphCacheInfo->field_0xa < local_30 ? pGylphCacheInfo->field_0xa : local_30; + *param_3 = iVar2; + *param_2 -= iVar2 * iVar3; + u8* result = + JKRAramToMainRam((u32)param_0->mPrev + pGylphCacheInfo->field_0x10 * iVar2, (u8*)(pCachePage + 1), + pGylphCacheInfo->field_0x10, EXPAND_SWITCH_UNKNOWN0, 0, NULL, 0xffffffff, NULL); + JUT_ASSERT(623, result); + GXInitTexObj(&pCachePage->mTexObj, pCachePage + 1, pGylphCacheInfo->mWidth, pGylphCacheInfo->mHeight, + (GXTexFmt)pGylphCacheInfo->mTexFormat, GX_CLAMP, GX_CLAMP, GX_FALSE); + GXInitTexObjLOD(&pCachePage->mTexObj, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, + GX_ANISO_1); } /* 802C0FE8-802C109C .text loadImage__12JUTCacheFontFi11_GXTexMapID */ -void JUTCacheFont::loadImage(int, _GXTexMapID) { +void JUTCacheFont::loadImage(int param_0, GXTexMapID texMapId) { /* Nonmatching */ + TCachePage* cachePage = loadCache_char_subroutine(¶m_0, false); + if (cachePage != NULL) { + mWidth = cachePage->field_0xc * (param_0 % int(cachePage->field_0x16)); + mHeight = cachePage->field_0xe * (param_0 / cachePage->field_0x16); + GXLoadTexObj(getTexObj(cachePage), texMapId); + if (mPagingType == PAGE_TYPE_1) { + unlink(cachePage); + prepend(cachePage); + } + } } /* 802C109C-802C11E4 .text loadCache_char_subroutine__12JUTCacheFontFPib */ -void JUTCacheFont::loadCache_char_subroutine(int*, bool) { +JUTCacheFont::TCachePage* JUTCacheFont::loadCache_char_subroutine(int* param_0, bool param_1) { /* Nonmatching */ + TCachePage* rv = NULL; + for (TCachePage* pCachePage = (TCachePage*)field_0x9c; pCachePage != NULL; + pCachePage = (TCachePage*)pCachePage->mNext) + { + if (pCachePage->field_0x8 <= *param_0 && *param_0 <= pCachePage->field_0xa) { + rv = pCachePage; + *param_0 -= pCachePage->field_0x8; + break; + } + } + + if (rv == NULL) { + int i = 0; + for (; i < mGlyphBlockNum; i++) { + if (mpGlyphBlocks[i]->startCode <= *param_0 && *param_0 <= mpGlyphBlocks[i]->endCode) { + *param_0 -= mpGlyphBlocks[i]->startCode; + break; + } + } + if (i < mGlyphBlockNum) { + TCachePage* pBlankPage = (TCachePage*)determineBlankPage(); + if (pBlankPage == NULL) { + return NULL; + } + int texPageIdx; + getGlyphFromAram((JUTCacheFont::TGlyphCacheInfo*)mpGlyphBlocks[i], pBlankPage, param_0, + &texPageIdx); + mTexPageIdx = texPageIdx; + field_0x66 = i; + rv = pBlankPage; + } else { + return NULL; + } + } + if (param_1) { + rv->field_0x1e = 1; + } + return rv; } /* 802C11E4-802C126C .text invalidiateAllCache__12JUTCacheFontFv */ void JUTCacheFont::invalidiateAllCache() { - /* Nonmatching */ + int* piVar3 = (int*)mCacheBuffer; + for (int uVar2 = 0; uVar2 < mCachePage; uVar2++) { + int iVar1; + if (uVar2 == 0) { + iVar1 = 0; + } else { + iVar1 = (int)piVar3 - field_0x94; + } + *piVar3 = iVar1; + if (uVar2 == mCachePage - 1) { + iVar1 = 0; + } else { + iVar1 = (int)piVar3 + field_0x94; + } + piVar3[1] = iVar1; + piVar3 = (int*)((int)piVar3 + field_0x94); + } + field_0xa8 = (int)piVar3 - field_0x94; + field_0xa4 = (TGlyphCacheInfo*)mCacheBuffer; + field_0x9c = NULL; + field_0xa0 = NULL; } /* 802C126C-802C12B0 .text unlink__12JUTCacheFontFPQ212JUTCacheFont15TGlyphCacheInfo */ diff --git a/src/JSystem/JUtility/JUTResFont.cpp b/src/JSystem/JUtility/JUTResFont.cpp index 05f47a1a8..c1f0db9e6 100644 --- a/src/JSystem/JUtility/JUTResFont.cpp +++ b/src/JSystem/JUtility/JUTResFont.cpp @@ -11,9 +11,6 @@ #include "dolphin/gx/GX.h" #include "dolphin/types.h" -// Only used for an assert -#define suAboutEncoding_ 3 - IsLeadByte_func const JUTResFont::saoAboutEncoding_[3] = { isLeadByte_1Byte, isLeadByte_2Byte, @@ -220,7 +217,6 @@ void JUTResFont::setGX(JUtility::TColor col1, JUtility::TColor col2) { /* 802C28F8-802C2D6C .text drawChar_scale__10JUTResFontFffffib */ f32 JUTResFont::drawChar_scale(f32 posX, f32 posY, f32 scaleX, f32 scaleY, int chr, bool flag) { - /* Nonmatching */ JUTFont::TWidth width; f32 x1; f32 y1; @@ -294,7 +290,6 @@ void JUTResFont::loadFont(int code, _GXTexMapID texMapID, JUTFont::TWidth* pDstW /* 802C2DE8-802C2E90 .text getWidthEntry__10JUTResFontCFiPQ27JUTFont6TWidth */ void JUTResFont::getWidthEntry(int code, JUTFont::TWidth* width) const { - /* Nonmatching */ int fontCode = getFontCode(code); width->field_0x0 = 0; width->field_0x1 = mInfoBlock->width; @@ -339,7 +334,6 @@ bool JUTResFont::isLeadByte(int chr) const { /* 802C2F5C-802C30E4 .text getFontCode__10JUTResFontCFi */ int JUTResFont::getFontCode(int chr) const { - /* Nonmatching */ static const u16 halftofull[95] = { 0x8140, 0x8149, 0x8168, 0x8194, 0x8190, 0x8193, 0x8195, 0x8166, 0x8169, 0x816A, 0x8196, 0x817B, 0x8143, 0x817C, 0x8144, 0x815E, 0x824F, 0x8250, 0x8251, 0x8252, 0x8253, 0x8254, @@ -356,15 +350,14 @@ int JUTResFont::getFontCode(int chr) const { if ((getFontType() == 2) && (mMaxCode >= 0x8000u) && (chr >= 0x20) && (chr < 0x7Fu)) { chr = halftofull[chr - 32]; } - int j = 0; - for (int i = mMapBlockNum; i > 0; j++, i--) { - if ((mpMapBlocks[j]->startCode <= chr) && (chr <= mpMapBlocks[j]->endCode)) { - ResFONT::MAP1* map = mpMapBlocks[j]; + for (int i = 0; i < mMapBlockNum; i++) { + if ((mpMapBlocks[i]->startCode <= chr) && (chr <= mpMapBlocks[i]->endCode)) { + ResFONT::MAP1* map = mpMapBlocks[i]; if (map->mappingMethod == 0) { ret = chr - map->startCode; break; } else if (map->mappingMethod == 2) { - ret = *(&mpMapBlocks[j]->mLeading + ((chr - mpMapBlocks[j]->startCode))); + ret = *(&mpMapBlocks[i]->mLeading + ((chr - mpMapBlocks[i]->startCode))); break; } else if (map->mappingMethod == 3) { u16* leading_temp = &map->mLeading; @@ -372,8 +365,7 @@ int JUTResFont::getFontCode(int chr) const { int phi_r6_2 = map->numEntries - 1; while (phi_r6_2 >= phi_r5) { - u32 temp_r3 = phi_r6_2 + phi_r5; - int temp_r7 = (int)((temp_r3 >> 0x1FU) + phi_r6_2 + phi_r5) >> 1; + int temp_r7 = (phi_r6_2 + phi_r5) / 2; if (chr < leading_temp[temp_r7 * 2]) { phi_r6_2 = temp_r7 - 1; @@ -393,7 +385,7 @@ int JUTResFont::getFontCode(int chr) const { if (map->numEntries == 1) { phi_r5_2 = &map->mLeading; } - ret = JUTResFont::convertSjis(chr, phi_r5_2); + ret = convertSjis(chr, phi_r5_2); break; } break; diff --git a/src/SSystem/SComponent/c_m2d.cpp b/src/SSystem/SComponent/c_m2d.cpp index d5da22be8..f3fe3a907 100644 --- a/src/SSystem/SComponent/c_m2d.cpp +++ b/src/SSystem/SComponent/c_m2d.cpp @@ -6,25 +6,27 @@ #include "SSystem/SComponent/c_m2d.h" #include "SSystem/SComponent/c_m3d.h" #include "SSystem/SComponent/c_m3d_g_cir.h" +#include "JSystem/JUtility/JUTAssert.h" /* 80249DAC-8024A0E0 .text cM2d_CrossCirLin__FR8cM2dGCirffffPfPf */ -void cM2d_CrossCirLin(cM2dGCir& param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, - f32* param_5, f32* param_6) { - f32 fVar1 = param_1 - param_0.GetCx(); - f32 fVar15 = param_2 - param_0.GetCy(); - f32 dVar13 = param_3 * param_3 + param_4 * param_4; - f32 dVar14 = 2.0f * ((param_3 * fVar1) + (param_4 * fVar15)); - f32 fVar3 = (fVar1 * fVar1 + fVar15 * fVar15) - (param_0.GetR() * param_0.GetR()); - f32 in_f31; +void cM2d_CrossCirLin(cM2dGCir& circle, f32 x0, f32 y0, f32 x1, f32 y1, f32* pDstX, f32* pDstY) { + f32 fVar1 = x0 - circle.GetCx(); + f32 fVar15 = y0 - circle.GetCy(); + f32 dVar13 = x1 * x1 + y1 * y1; + f32 dVar14 = 2.0f * ((x1 * fVar1) + (y1 * fVar15)); + f32 c = (fVar1 * fVar1 + fVar15 * fVar15) - (circle.GetR() * circle.GetR()); + f32 t; + + JUT_ASSERT(0x47, c < 0.0f); if (cM3d_IsZero(dVar13)) { if (!cM3d_IsZero(dVar14)) { - in_f31 = -fVar3 / dVar14; + t = -c / dVar14; } } else { - f32 dVar10 = ((dVar14 * dVar14) - (4.0f * dVar13) * fVar3); + f32 dVar10 = ((dVar14 * dVar14) - (4.0f * dVar13) * c); if (cM3d_IsZero(dVar10)) { - in_f31 =(-dVar14 / (2.0f * dVar13)); + t =(-dVar14 / (2.0f * dVar13)); } else { if (dVar10 < 0.0f) { } else { @@ -34,19 +36,20 @@ void cM2d_CrossCirLin(cM2dGCir& param_0, f32 param_1, f32 param_2, f32 param_3, f32 fVar16 = sqrtf(dVar10); f32 fVar4 = fVar2 * (-dVar14 - fVar16); if (fVar15 > fVar4) { - in_f31 = fVar15; + t = fVar15; } else { - in_f31 = fVar4; + t = fVar4; } } } } - if (cM3d_IsZero(in_f31)) { - *param_5 = param_1; - *param_6 = param_2; + if (cM3d_IsZero(t)) { + *pDstX = x0; + *pDstY = y0; } else { - *param_5 = param_1 + (in_f31 * param_3); - *param_6 = param_2 + (in_f31 * param_4); + JUT_ASSERT(0x89, t >= 0.0f); + *pDstX = x0 + (t * x1); + *pDstY = y0 + (t * y1); } } diff --git a/src/SSystem/SComponent/c_m3d.cpp b/src/SSystem/SComponent/c_m3d.cpp index d330c1723..f14cc74f8 100644 --- a/src/SSystem/SComponent/c_m3d.cpp +++ b/src/SSystem/SComponent/c_m3d.cpp @@ -4,170 +4,195 @@ // #include "SSystem/SComponent/c_m3d.h" -#include "dolphin/types.h" +#include "SSystem/SComponent/c_m3d_g_aab.h" +#include "SSystem/SComponent/c_m3d_g_cir.h" +#include "SSystem/SComponent/c_m3d_g_cps.h" +#include "SSystem/SComponent/c_m3d_g_cyl.h" +#include "SSystem/SComponent/c_m3d_g_lin.h" +#include "SSystem/SComponent/c_m3d_g_pla.h" +#include "SSystem/SComponent/c_m3d_g_sph.h" +#include "SSystem/SComponent/c_m3d_g_tri.h" /* 8024A400-8024A450 .text cM3d_InDivPos1__FPC3VecPC3VecfP3Vec */ -void cM3d_InDivPos1(const Vec*, const Vec*, float, Vec*) { - /* Nonmatching */ +void cM3d_InDivPos1(const Vec* v0, const Vec* v1, f32 scale, Vec* pDst) { + Vec tmp; + VECScale(v1, &tmp, scale); + VECAdd(&tmp, v0, pDst); } /* 8024A450-8024A4B4 .text cM3d_InDivPos2__FPC3VecPC3VecfP3Vec */ -void cM3d_InDivPos2(const Vec*, const Vec*, float, Vec*) { - /* Nonmatching */ +void cM3d_InDivPos2(const Vec* v0, const Vec* v1, f32 scale, Vec* pDst) { + Vec tmp; + VECSubtract(v1, v0, &tmp); + cM3d_InDivPos1(v0, &tmp, scale, pDst); } /* 8024A4B4-8024A56C .text cM3d_Len2dSqPntAndSegLine__FffffffPfPfPf */ -void cM3d_Len2dSqPntAndSegLine(float, float, float, float, float, float, float*, float*, float*) { +bool cM3d_Len2dSqPntAndSegLine(f32, f32, f32, f32, f32, f32, f32*, f32*, f32*) { /* Nonmatching */ } /* 8024A56C-8024A670 .text cM3d_Len3dSqPntAndSegLine__FPC8cM3dGLinPC3VecP3VecPf */ -void cM3d_Len3dSqPntAndSegLine(const cM3dGLin*, const Vec*, Vec*, float*) { +bool cM3d_Len3dSqPntAndSegLine(const cM3dGLin*, const Vec*, Vec*, f32*) { /* Nonmatching */ } /* 8024A670-8024A6F0 .text cM3d_SignedLenPlaAndPos__FPC8cM3dGPlaPC3Vec */ -void cM3d_SignedLenPlaAndPos(const cM3dGPla*, const Vec*) { - /* Nonmatching */ +f32 cM3d_SignedLenPlaAndPos(const cM3dGPla* plane, const Vec* pos) { + f32 len = VECMag(plane->GetNP()); + if (cM3d_IsZero(len)) + return 0.0f; + else + return plane->getPlaneFunc(pos) / len; } /* 8024A6F0-8024A7BC .text cM3d_CalcPla__FPC3VecPC3VecPC3VecP3VecPf */ -void cM3d_CalcPla(const Vec*, const Vec*, const Vec*, Vec*, float*) { - /* Nonmatching */ +void cM3d_CalcPla(const Vec* p0, const Vec* p1, const Vec* p2, Vec* pDst, f32* pT) { + cM3d_VectorProduct(p0, p1, p2, pDst); + f32 t = VECMag(pDst); + if (fabsf(t) >= 0.02f) { + VECScale(pDst, pDst, 1.0f / t); + *pT = -VECDotProduct(pDst, p0); + } else { + pDst->x = 0.0f; + pDst->y = 0.0f; + pDst->z = 0.0f; + *pT = 0.0f; + } } /* 8024A7BC-8024A8E0 .text cM3d_Cross_AabAab__FPC8cM3dGAabPC8cM3dGAab */ -void cM3d_Cross_AabAab(const cM3dGAab*, const cM3dGAab*) { +bool cM3d_Cross_AabAab(const cM3dGAab*, const cM3dGAab*) { /* Nonmatching */ } /* 8024A8E0-8024A988 .text cM3d_Cross_AabCyl__FPC8cM3dGAabPC8cM3dGCyl */ -void cM3d_Cross_AabCyl(const cM3dGAab*, const cM3dGCyl*) { +bool cM3d_Cross_AabCyl(const cM3dGAab*, const cM3dGCyl*) { /* Nonmatching */ } /* 8024A988-8024AA30 .text cM3d_Cross_AabSph__FPC8cM3dGAabPC8cM3dGSph */ -void cM3d_Cross_AabSph(const cM3dGAab*, const cM3dGSph*) { +bool cM3d_Cross_AabSph(const cM3dGAab*, const cM3dGSph*) { /* Nonmatching */ } /* 8024AA30-8024ACA8 .text cM3d_Check_LinLin__FPC8cM3dGLinPC8cM3dGLinPfPf */ -void cM3d_Check_LinLin(const cM3dGLin*, const cM3dGLin*, float*, float*) { +int cM3d_Check_LinLin(const cM3dGLin*, const cM3dGLin*, f32*, f32*) { /* Nonmatching */ } /* 8024ACA8-8024AE3C .text cM3d_Cross_LinPla__FPC8cM3dGLinPC8cM3dGPlaP3Vecbb */ -void cM3d_Cross_LinPla(const cM3dGLin*, const cM3dGPla*, Vec*, bool, bool) { +bool cM3d_Cross_LinPla(const cM3dGLin*, const cM3dGPla*, Vec*, bool, bool) { /* Nonmatching */ } /* 8024AE3C-8024BA18 .text cM3d_Cross_MinMaxBoxLine__FPC3VecPC3VecPC3VecPC3Vec */ -void cM3d_Cross_MinMaxBoxLine(const Vec*, const Vec*, const Vec*, const Vec*) { +bool cM3d_Cross_MinMaxBoxLine(const Vec*, const Vec*, const Vec*, const Vec*) { /* Nonmatching */ } /* 8024BA18-8024BB50 .text cM3d_InclusionCheckPosIn3PosBox3d__FPC3VecPC3VecPC3VecPC3Vecf */ -void cM3d_InclusionCheckPosIn3PosBox3d(const Vec*, const Vec*, const Vec*, const Vec*, float) { +bool cM3d_InclusionCheckPosIn3PosBox3d(const Vec*, const Vec*, const Vec*, const Vec*, f32) { /* Nonmatching */ } /* 8024BB50-8024BD34 .text cM3d_CrossX_Tri__FPC8cM3dGTriPC3Vecf */ -void cM3d_CrossX_Tri(const cM3dGTri*, const Vec*, float) { +bool cM3d_CrossX_Tri(const cM3dGTri*, const Vec*, f32) { /* Nonmatching */ } /* 8024BD34-8024BF1C .text cM3d_CrossX_Tri__FPC8cM3dGTriPC3Vec */ -void cM3d_CrossX_Tri(const cM3dGTri*, const Vec*) { +bool cM3d_CrossX_Tri(const cM3dGTri*, const Vec*) { /* Nonmatching */ } /* 8024BF1C-8024BFA0 .text cM3d_CrossX_Tri__FPC8cM3dGTriPC3VecPf */ -void cM3d_CrossX_Tri(const cM3dGTri*, const Vec*, float*) { +void cM3d_CrossX_Tri(const cM3dGTri*, const Vec*, f32*) { /* Nonmatching */ } /* 8024BFA0-8024C188 .text cM3d_CrossY_Tri__FPC8cM3dGTriPC3Vec */ -void cM3d_CrossY_Tri(const cM3dGTri*, const Vec*) { +bool cM3d_CrossY_Tri(const cM3dGTri*, const Vec*) { /* Nonmatching */ } /* 8024C188-8024C370 .text cM3d_CrossY_Tri__FRC3VecRC3VecRC3VecRC8cM3dGPlaPC3Vec */ -void cM3d_CrossY_Tri(const Vec&, const Vec&, const Vec&, const cM3dGPla&, const Vec*) { +bool cM3d_CrossY_Tri(const Vec&, const Vec&, const Vec&, const cM3dGPla&, const Vec*) { /* Nonmatching */ } /* 8024C370-8024C4D0 .text cM3d_CrossY_Tri_Front__FRC3VecRC3VecRC3VecPC3Vec */ -void cM3d_CrossY_Tri_Front(const Vec&, const Vec&, const Vec&, const Vec*) { +bool cM3d_CrossY_Tri_Front(const Vec&, const Vec&, const Vec&, const Vec*) { /* Nonmatching */ } /* 8024C4D0-8024C554 .text cM3d_CrossY_Tri__FPC8cM3dGTriPC3VecPf */ -void cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, float*) { +bool cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, f32*) { /* Nonmatching */ } /* 8024C554-8024C738 .text cM3d_CrossY_Tri__FPC8cM3dGTriPC3Vecf */ -void cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, float) { +bool cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, f32) { /* Nonmatching */ } /* 8024C738-8024C828 .text cM3d_CrossY_Tri__FPC8cM3dGTriPC3VecPC10cM3d_RangePf */ -void cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, const cM3d_Range*, float*) { +bool cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, const cM3d_Range*, f32*) { /* Nonmatching */ } /* 8024C828-8024CA0C .text cM3d_CrossZ_Tri__FPC8cM3dGTriPC3Vecf */ -void cM3d_CrossZ_Tri(const cM3dGTri*, const Vec*, float) { +bool cM3d_CrossZ_Tri(const cM3dGTri*, const Vec*, f32) { /* Nonmatching */ } /* 8024CA0C-8024CBF4 .text cM3d_CrossZ_Tri__FPC8cM3dGTriPC3Vec */ -void cM3d_CrossZ_Tri(const cM3dGTri*, const Vec*) { +bool cM3d_CrossZ_Tri(const cM3dGTri*, const Vec*) { /* Nonmatching */ } /* 8024CBF4-8024CC78 .text cM3d_CrossZ_Tri__FPC8cM3dGTriPC3VecPf */ -void cM3d_CrossZ_Tri(const cM3dGTri*, const Vec*, float*) { +void cM3d_CrossZ_Tri(const cM3dGTri*, const Vec*, f32*) { /* Nonmatching */ } /* 8024CC78-8024CD50 .text cM3d_Cross_LinTri__FPC8cM3dGLinPC8cM3dGTriP3Vecbb */ -void cM3d_Cross_LinTri(const cM3dGLin*, const cM3dGTri*, Vec*, bool, bool) { +bool cM3d_Cross_LinTri(const cM3dGLin*, const cM3dGTri*, Vec*, bool, bool) { /* Nonmatching */ } /* 8024CD50-8024CE0C .text cM3d_Cross_LinTri_Easy__FPC8cM3dGTriPC3Vec */ -void cM3d_Cross_LinTri_Easy(const cM3dGTri*, const Vec*) { +bool cM3d_Cross_LinTri_Easy(const cM3dGTri*, const Vec*) { /* Nonmatching */ } /* 8024CE0C-8024CE54 .text cM3d_Cross_SphPnt__FPC8cM3dGSphPC3Vec */ -void cM3d_Cross_SphPnt(const cM3dGSph*, const Vec*) { +bool cM3d_Cross_SphPnt(const cM3dGSph*, const Vec*) { /* Nonmatching */ } /* 8024CE54-8024D0BC .text cM3d_Cross_LinSph__FPC8cM3dGLinPC8cM3dGSphP3Vec */ -void cM3d_Cross_LinSph(const cM3dGLin*, const cM3dGSph*, Vec*) { +bool cM3d_Cross_LinSph(const cM3dGLin*, const cM3dGSph*, Vec*) { /* Nonmatching */ } /* 8024D0BC-8024D378 .text cM3d_Cross_LinSph_CrossPos__FRC8cM3dGSphRC8cM3dGLinP3VecP3Vec */ -void cM3d_Cross_LinSph_CrossPos(const cM3dGSph&, const cM3dGLin&, Vec*, Vec*) { +int cM3d_Cross_LinSph_CrossPos(const cM3dGSph&, const cM3dGLin&, Vec*, Vec*) { /* Nonmatching */ } /* 8024D378-8024DB34 .text cM3d_Cross_CylSph__FPC8cM3dGCylPC8cM3dGSphP3VecPf */ -void cM3d_Cross_CylSph(const cM3dGCyl*, const cM3dGSph*, Vec*, float*) { +bool cM3d_Cross_CylSph(const cM3dGCyl*, const cM3dGSph*, Vec*, f32*) { /* Nonmatching */ } /* 8024DB34-8024E1B4 .text cM3d_Cross_SphSph__FPC8cM3dGSphPC8cM3dGSphPfPf */ -void cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, float*, float*) { +bool cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, f32*, f32*) { /* Nonmatching */ } /* 8024E1B4-8024E288 .text cM3d_Cross_SphSph__FPC8cM3dGSphPC8cM3dGSphP3Vec */ -void cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, Vec*) { +bool cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, Vec*) { /* Nonmatching */ } @@ -177,67 +202,67 @@ void cM3d_CalcSphVsTriCrossPoint(const cM3dGSph*, const cM3dGTri*, Vec*) { } /* 8024E330-8024E694 .text cM3d_Cross_SphTri__FPC8cM3dGSphPC8cM3dGTriP3Vec */ -void cM3d_Cross_SphTri(const cM3dGSph*, const cM3dGTri*, Vec*) { +bool cM3d_Cross_SphTri(const cM3dGSph*, const cM3dGTri*, Vec*) { /* Nonmatching */ } /* 8024E694-8024EF80 .text cM3d_Cross_CylCyl__FPC8cM3dGCylPC8cM3dGCylPf */ -void cM3d_Cross_CylCyl(const cM3dGCyl*, const cM3dGCyl*, float*) { +bool cM3d_Cross_CylCyl(const cM3dGCyl*, const cM3dGCyl*, f32*) { /* Nonmatching */ } /* 8024EF80-8024F11C .text cM3d_Cross_CylCyl__FPC8cM3dGCylPC8cM3dGCylP3Vec */ -void cM3d_Cross_CylCyl(const cM3dGCyl*, const cM3dGCyl*, Vec*) { +bool cM3d_Cross_CylCyl(const cM3dGCyl*, const cM3dGCyl*, Vec*) { /* Nonmatching */ } /* 8024F11C-8024F410 .text cM3d_Cross_CylTri__FPC8cM3dGCylPC8cM3dGTriP3Vec */ -void cM3d_Cross_CylTri(const cM3dGCyl*, const cM3dGTri*, Vec*) { +bool cM3d_Cross_CylTri(const cM3dGCyl*, const cM3dGTri*, Vec*) { /* Nonmatching */ } /* 8024F410-8024FA90 .text cM3d_Cross_CylLin__FPC8cM3dGCylPC8cM3dGLinP3VecP3Vec */ -void cM3d_Cross_CylLin(const cM3dGCyl*, const cM3dGLin*, Vec*, Vec*) { +int cM3d_Cross_CylLin(const cM3dGCyl*, const cM3dGLin*, Vec*, Vec*) { /* Nonmatching */ } /* 8024FA90-8024FB04 .text cM3d_Cross_CylPntPnt__FPC8cM3dGCylPC3VecPC3VecP3VecP3Vec */ -void cM3d_Cross_CylPntPnt(const cM3dGCyl*, const Vec*, const Vec*, Vec*, Vec*) { +int cM3d_Cross_CylPntPnt(const cM3dGCyl*, const Vec*, const Vec*, Vec*, Vec*) { /* Nonmatching */ } /* 8024FB04-8024FB68 .text cM3d_Cross_CylPnt__FPC8cM3dGCylPC3Vec */ -void cM3d_Cross_CylPnt(const cM3dGCyl*, const Vec*) { +bool cM3d_Cross_CylPnt(const cM3dGCyl*, const Vec*) { /* Nonmatching */ } /* 8024FB68-8024FF10 .text cM3d_Cross_CpsCps__FRC8cM3dGCpsRC8cM3dGCpsP3Vec */ -void cM3d_Cross_CpsCps(const cM3dGCps&, const cM3dGCps&, Vec*) { +bool cM3d_Cross_CpsCps(const cM3dGCps&, const cM3dGCps&, Vec*) { /* Nonmatching */ } /* 8024FF10-802506D4 .text cM3d_Cross_CpsCyl__FRC8cM3dGCpsRC8cM3dGCylP3Vec */ -void cM3d_Cross_CpsCyl(const cM3dGCps&, const cM3dGCyl&, Vec*) { +bool cM3d_Cross_CpsCyl(const cM3dGCps&, const cM3dGCyl&, Vec*) { /* Nonmatching */ } /* 802506D4-80250840 .text cM3d_Cross_CpsSph_CrossPos__FRC8cM3dGCpsRC8cM3dGSphRC3VecP3Vec */ -void cM3d_Cross_CpsSph_CrossPos(const cM3dGCps&, const cM3dGSph&, const Vec&, Vec*) { +bool cM3d_Cross_CpsSph_CrossPos(const cM3dGCps&, const cM3dGSph&, const Vec&, Vec*) { /* Nonmatching */ } /* 80250840-802509B0 .text cM3d_Cross_CpsSph__FRC8cM3dGCpsRC8cM3dGSphP3Vec */ -void cM3d_Cross_CpsSph(const cM3dGCps&, const cM3dGSph&, Vec*) { +bool cM3d_Cross_CpsSph(const cM3dGCps&, const cM3dGSph&, Vec*) { /* Nonmatching */ } /* 802509B0-80250D70 .text cM3d_Cross_TriTri__FRC8cM3dGTriRC8cM3dGTriP3Vec */ -void cM3d_Cross_TriTri(const cM3dGTri&, const cM3dGTri&, Vec*) { +bool cM3d_Cross_TriTri(const cM3dGTri&, const cM3dGTri&, Vec*) { /* Nonmatching */ } /* 80250D70-80251280 .text cM3d_Cross_CpsTri__FRC8cM3dGCps8cM3dGTriP3Vec */ -void cM3d_Cross_CpsTri(const cM3dGCps&, cM3dGTri, Vec*) { +bool cM3d_Cross_CpsTri(const cM3dGCps&, cM3dGTri, Vec*) { /* Nonmatching */ } @@ -257,41 +282,58 @@ void cM3d_CalcVecZAngle(const Vec&, csXyz*) { } /* 80251634-8025172C .text cM3d_UpMtx_Base__FRC3VecRC3VecPA4_f */ -void cM3d_UpMtx_Base(const Vec&, const Vec&, float(*)[4]) { +void cM3d_UpMtx_Base(const Vec&, const Vec&, f32(*)[4]) { /* Nonmatching */ } /* 8025172C-80251758 .text cM3d_PlaneCrossLineProcWork__FfffffffPfPf */ -void cM3d_PlaneCrossLineProcWork(float, float, float, float, float, float, float, float*, float*) { - /* Nonmatching */ +void cM3d_PlaneCrossLineProcWork(f32 v0, f32 v1, f32 v2, f32 v3, f32 v4, f32 v5, f32 v6, f32* p0, f32* p1) { + *p0 = (v1 * v6 - v3 * v5) / v4; + *p1 = (v2 * v5 - v0 * v6) / v4; } /* 80251758-802518F0 .text cM3d_2PlaneCrossLine__FRC8cM3dGPlaRC8cM3dGPlaP8cM3dGLin */ -void cM3d_2PlaneCrossLine(const cM3dGPla&, const cM3dGPla&, cM3dGLin*) { +int cM3d_2PlaneCrossLine(const cM3dGPla&, const cM3dGPla&, cM3dGLin*) { /* Nonmatching */ } /* 802518F0-80251A10 .text cM3d_3PlaneCrossPos__FRC8cM3dGPlaRC8cM3dGPlaRC8cM3dGPlaP3Vec */ -void cM3d_3PlaneCrossPos(const cM3dGPla&, const cM3dGPla&, const cM3dGPla&, Vec*) { - /* Nonmatching */ +bool cM3d_3PlaneCrossPos(const cM3dGPla& p0, const cM3dGPla& p1, const cM3dGPla& p2, Vec* pDst) { + cM3dGLin lin; + if (!cM3d_2PlaneCrossLine(p0, p1, &lin)) + return false; + + Vec& start = lin.GetStart(); + Vec& end = lin.GetEnd(); + if (!cM3d_CrossInfLineVsInfPlane_proc(p2.getPlaneFunc(&start), p2.getPlaneFunc(&end), &start, &end, pDst)) + return false; + + return true; } /* 80251A10-80251AE4 .text cM3d_lineVsPosSuisenCross__FPC8cM3dGLinPC3VecP3Vec */ -void cM3d_lineVsPosSuisenCross(const cM3dGLin*, const Vec*, Vec*) { +f32 cM3d_lineVsPosSuisenCross(const cM3dGLin*, const Vec*, Vec*) { /* Nonmatching */ } /* 80251AE4-80251BC0 .text cM3d_lineVsPosSuisenCross__FRC3VecRC3VecRC3VecP3Vec */ -void cM3d_lineVsPosSuisenCross(const Vec&, const Vec&, const Vec&, Vec*) { +f32 cM3d_lineVsPosSuisenCross(const Vec&, const Vec&, const Vec&, Vec*) { /* Nonmatching */ } /* 80251BC0-80251C44 .text cM3d_2PlaneLinePosNearPos__FRC8cM3dGPlaRC8cM3dGPlaPC3VecP3Vec */ -void cM3d_2PlaneLinePosNearPos(const cM3dGPla&, const cM3dGPla&, const Vec*, Vec*) { - /* Nonmatching */ +int cM3d_2PlaneLinePosNearPos(const cM3dGPla& p0, const cM3dGPla& p1, const Vec* line, Vec* pDst) { + cM3dGLin lin; + s32 ret = cM3d_2PlaneCrossLine(p0, p1, &lin); + if (ret != 0) + cM3d_lineVsPosSuisenCross(&lin, line, pDst); + return ret != 0; } /* 80251C44-80251CC4 .text cM3d_CrawVec__FRC3VecRC3VecP3Vec */ -void cM3d_CrawVec(const Vec&, const Vec&, Vec*) { - /* Nonmatching */ +void cM3d_CrawVec(const Vec& v0, const Vec& v1, Vec* pDst) { + Vec tmp; + f32 sq = fabsf(v1.x * v0.x + v1.y * v0.y + v1.z * v0.z); + VECScale(&v0, &tmp, sq); + VECAdd(&tmp, &v1, pDst); } diff --git a/src/c/c_damagereaction.cpp b/src/c/c_damagereaction.cpp index 4ca28fcb6..eb6ac608d 100644 --- a/src/c/c_damagereaction.cpp +++ b/src/c/c_damagereaction.cpp @@ -12,12 +12,7 @@ void ice_bg_check(enemyice*) { } /* 8001C0B4-8001CD7C .text enemy_ice__FP8enemyice */ -void enemy_ice(enemyice*) { - /* Nonmatching */ -} - -/* 8001CD7C-8001CDB8 .text __dt__5csXyzFv */ -csXyz::~csXyz() { +BOOL enemy_ice(enemyice*) { /* Nonmatching */ } @@ -41,86 +36,16 @@ void wall_angle_get(fopAc_ac_c*, short) { /* Nonmatching */ } -/* 8001D890-8001D9BC .text __dt__11dBgS_LinChkFv */ -dBgS_LinChk::~dBgS_LinChk() { - /* Nonmatching */ -} - -/* 8001D9BC-8001DA5C .text __dt__8dBgS_ChkFv */ -dBgS_Chk::~dBgS_Chk() { - /* Nonmatching */ -} - -/* 8001DA5C-8001DAB8 .text __dt__15dBgS_GrpPassChkFv */ -dBgS_GrpPassChk::~dBgS_GrpPassChk() { - /* Nonmatching */ -} - -/* 8001DAB8-8001DB00 .text __dt__15cBgS_GrpPassChkFv */ -cBgS_GrpPassChk::~cBgS_GrpPassChk() { - /* Nonmatching */ -} - -/* 8001DB00-8001DB5C .text __dt__16dBgS_PolyPassChkFv */ -dBgS_PolyPassChk::~dBgS_PolyPassChk() { - /* Nonmatching */ -} - -/* 8001DB5C-8001DBA4 .text __dt__16cBgS_PolyPassChkFv */ -cBgS_PolyPassChk::~cBgS_PolyPassChk() { - /* Nonmatching */ -} - -/* 8001DBA4-8001DC38 .text __dt__11cBgS_LinChkFv */ -cBgS_LinChk::~cBgS_LinChk() { - /* Nonmatching */ -} - -/* 8001DC38-8001DC80 .text __dt__8cM3dGLinFv */ -cM3dGLin::~cM3dGLin() { - /* Nonmatching */ -} - -/* 8001DC80-8001DCC8 .text __dt__13cBgS_PolyInfoFv */ -cBgS_PolyInfo::~cBgS_PolyInfo() { - /* Nonmatching */ -} - /* 8001DCC8-8001E244 .text dr_body_bg_check__FP14damagereaction */ void dr_body_bg_check(damagereaction*) { /* Nonmatching */ } -/* 8001E244-8001E3AC .text __dt__18dBgS_ObjGndChk_SplFv */ -dBgS_ObjGndChk_Spl::~dBgS_ObjGndChk_Spl() { - /* Nonmatching */ -} - -/* 8001E3AC-8001E4EC .text __dt__14dBgS_ObjGndChkFv */ -dBgS_ObjGndChk::~dBgS_ObjGndChk() { - /* Nonmatching */ -} - -/* 8001E4EC-8001E604 .text __dt__11dBgS_GndChkFv */ -dBgS_GndChk::~dBgS_GndChk() { - /* Nonmatching */ -} - -/* 8001E604-8001E684 .text __dt__11cBgS_GndChkFv */ -cBgS_GndChk::~cBgS_GndChk() { - /* Nonmatching */ -} - /* 8001E684-8001F6A0 .text dr_joint_bg_check__FP14damagereaction */ void dr_joint_bg_check(damagereaction*) { /* Nonmatching */ } -/* 8001F6A0-8001F808 .text __dt__20dBgS_ObjGndChk_YoganFv */ -dBgS_ObjGndChk_Yogan::~dBgS_ObjGndChk_Yogan() { - /* Nonmatching */ -} - /* 8001F808-8001FBA8 .text kado_check__FP14damagereaction */ void kado_check(damagereaction*) { /* Nonmatching */ @@ -150,93 +75,3 @@ void dr_matrix_set(damagereaction*) { void damage_reaction(damagereaction*) { /* Nonmatching */ } - -/* 80022710-80022718 .text @20@__dt__11cBgS_LinChkFv */ -void @20@__dt__11cBgS_LinChkFv { - /* Nonmatching */ -} - -/* 80022718-80022720 .text @12@__dt__8dBgS_ChkFv */ -void @12@__dt__8dBgS_ChkFv { - /* Nonmatching */ -} - -/* 80022720-80022728 .text @20@__dt__11dBgS_LinChkFv */ -void @20@__dt__11dBgS_LinChkFv { - /* Nonmatching */ -} - -/* 80022728-80022730 .text @100@__dt__11dBgS_LinChkFv */ -void @100@__dt__11dBgS_LinChkFv { - /* Nonmatching */ -} - -/* 80022730-80022738 .text @88@__dt__11dBgS_LinChkFv */ -void @88@__dt__11dBgS_LinChkFv { - /* Nonmatching */ -} - -/* 80022738-80022740 .text @20@__dt__11dBgS_GndChkFv */ -void @20@__dt__11dBgS_GndChkFv { - /* Nonmatching */ -} - -/* 80022740-80022748 .text @76@__dt__11dBgS_GndChkFv */ -void @76@__dt__11dBgS_GndChkFv { - /* Nonmatching */ -} - -/* 80022748-80022750 .text @64@__dt__11dBgS_GndChkFv */ -void @64@__dt__11dBgS_GndChkFv { - /* Nonmatching */ -} - -/* 80022750-80022758 .text @20@__dt__14dBgS_ObjGndChkFv */ -void @20@__dt__14dBgS_ObjGndChkFv { - /* Nonmatching */ -} - -/* 80022758-80022760 .text @76@__dt__14dBgS_ObjGndChkFv */ -void @76@__dt__14dBgS_ObjGndChkFv { - /* Nonmatching */ -} - -/* 80022760-80022768 .text @64@__dt__14dBgS_ObjGndChkFv */ -void @64@__dt__14dBgS_ObjGndChkFv { - /* Nonmatching */ -} - -/* 80022768-80022770 .text @20@__dt__18dBgS_ObjGndChk_SplFv */ -void @20@__dt__18dBgS_ObjGndChk_SplFv { - /* Nonmatching */ -} - -/* 80022770-80022778 .text @76@__dt__18dBgS_ObjGndChk_SplFv */ -void @76@__dt__18dBgS_ObjGndChk_SplFv { - /* Nonmatching */ -} - -/* 80022778-80022780 .text @64@__dt__18dBgS_ObjGndChk_SplFv */ -void @64@__dt__18dBgS_ObjGndChk_SplFv { - /* Nonmatching */ -} - -/* 80022780-80022788 .text @20@__dt__11cBgS_GndChkFv */ -void @20@__dt__11cBgS_GndChkFv { - /* Nonmatching */ -} - -/* 80022788-80022790 .text @20@__dt__20dBgS_ObjGndChk_YoganFv */ -void @20@__dt__20dBgS_ObjGndChk_YoganFv { - /* Nonmatching */ -} - -/* 80022790-80022798 .text @76@__dt__20dBgS_ObjGndChk_YoganFv */ -void @76@__dt__20dBgS_ObjGndChk_YoganFv { - /* Nonmatching */ -} - -/* 80022798-800227A0 .text @64@__dt__20dBgS_ObjGndChk_YoganFv */ -void @64@__dt__20dBgS_ObjGndChk_YoganFv { - /* Nonmatching */ -} diff --git a/src/d/actor/d_a_agb.cpp b/src/d/actor/d_a_agb.cpp index 00720cf6f..f15566d00 100644 --- a/src/d/actor/d_a_agb.cpp +++ b/src/d/actor/d_a_agb.cpp @@ -413,7 +413,7 @@ void daAgb_c::modeLoad() { (this->*func)(); } else { mUploadAction = 0; - mEvtInfo.onCondition(1); + mEvtInfo.onCondition(dEvtCnd_CANTALK_e); mMode = 0; } } diff --git a/src/d/actor/d_a_agbsw0.cpp b/src/d/actor/d_a_agbsw0.cpp index 38a683c6f..02e1fcafa 100644 --- a/src/d/actor/d_a_agbsw0.cpp +++ b/src/d/actor/d_a_agbsw0.cpp @@ -328,8 +328,8 @@ public: field_0x299 = 0; mTimer = 0; - l_cyl_src.mCyl.mRadius = mScale.x; - l_cyl_src.mCyl.mHeight = mScale.y; + l_cyl_src.mCylAttr.mCyl.mRadius = mScale.x; + l_cyl_src.mCylAttr.mCyl.mHeight = mScale.y; mStts.Init(0, 0xFF, this); mCyl.Set(l_cyl_src); mCyl.SetC(current.pos); @@ -1069,8 +1069,13 @@ BOOL daAgbsw0_c::ExeSubMW() { return true; } +class daBomb_c { +public: + enum State_e { EIGHT = 8, }; + bool chk_state(State_e) const; +}; + BOOL daAgbsw0_c::ExeSubT() { - /* Nonmatching */ u8 sw = getSw0(); if(sw != 0xFF && fopAcM_isSwitch(this, sw)) { @@ -1095,10 +1100,7 @@ BOOL daAgbsw0_c::ExeSubT() { else { if(g_mDoGaC_gbaCom.mDoGaC_GbaLink()) { if(g_mDoGaC_gbaCom.mDoGaC_SendStatusCheck(0xF)) { - //daBomb_c* bomb = mCyl.GetTgHitAc(); - //if(bomb->chk_state(8)) - // ^ replace field_0x298 with this later - if(mCyl.ChkTgHit() && mCyl.GetTgHitAc() && fopAcM_GetName(mCyl.GetTgHitAc()) == 0x128 && field_0x298) { //0x298 filler condition so objdiff is less confused + if(mCyl.ChkTgHit() && mCyl.GetTgHitAc() && fopAcM_GetName(mCyl.GetTgHitAc()) == PROC_BOMB && ((daBomb_c*)mCyl.GetTgHitAc())->chk_state(daBomb_c::EIGHT)) { mSE = BigLittleChange(0x12); g_mDoGaC_gbaCom.mDoGaC_SendDataSet((u32*)&mSE, 4, 0xF, 0); fopAcM_onSwitch(this, sw); @@ -1146,8 +1148,7 @@ BOOL daAgbsw0_c::ExeSubS() { return true; } else { - if(g_mDoGaC_gbaCom.mDoGaC_SendStatusCheck(5)) - { + if(g_mDoGaC_gbaCom.mDoGaC_SendStatusCheck(5)) { MailSend(BigLittleChange(getMsgNo()) >> 0x10, 0x9, sw1, sw, 0); field_0x299 = 1; } @@ -1165,8 +1166,7 @@ BOOL daAgbsw0_c::ExeSubS() { return true; } else { - if(g_mDoGaC_gbaCom.mDoGaC_SendStatusCheck(5)) - { + if(g_mDoGaC_gbaCom.mDoGaC_SendStatusCheck(5)) { u32 param = fopAcM_GetParam(this); MailSend(BigLittleChange(param & 0xFFFF) >> 0x10, 0x9, sw1, sw, 0); field_0x299 = 1; @@ -1328,7 +1328,7 @@ BOOL daAgbsw0_c::ExeSubB() { fpoAcM_relativePos(this, &agb->current.pos, &rel); rel.y = rel.y - mScale.y / 2.0f + 5.0f; f32 x_diff = mScale.x - fabsf(rel.x); - f32 y_diff = mScale.y - fabsf(rel.y) + 50.0f; //some register oddity here + f32 y_diff = (mScale.y / 2.0f) - fabsf(rel.y) + 50.0f; //some register oddity here f32 z_diff = mScale.z - fabsf(rel.z); if(y_diff < x_diff && y_diff < z_diff) { if(agb->current.pos.y < current.pos.y + mScale.y / 2.0f) { diff --git a/src/d/actor/d_a_am.cpp b/src/d/actor/d_a_am.cpp index 5cca2bac2..e5296a2a5 100644 --- a/src/d/actor/d_a_am.cpp +++ b/src/d/actor/d_a_am.cpp @@ -3,441 +3,708 @@ // Translation Unit: d_a_am.cpp // -#include "d_a_am.h" -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +#include "JSystem/JKernel/JKRHeap.h" +#include "JSystem/J3DGraphAnimator/J3DNode.h" +#include "SSystem/SComponent/c_xyz.h" +#include "d/d_procname.h" +#include "d/d_cc_d.h" +#include "d/d_bg_s_acch.h" +#include "d/d_particle.h" +#include "d/d_s_play.h" +#include "d/d_com_inf_game.h" +#include "d/d_item_data.h" +#include "c/c_damagereaction.h" +#include "m_Do/m_Do_mtx.h" +#include "d/d_snap.h" +#include "d/actor/d_a_player.h" +#include "d/d_jnt_hit.h" + +class am_class : public fopEn_enemy_c { +public: + enum Action { + ACTION_DOUSA = 0x0, + ACTION_MODORU_MOVE = 0x1, + ACTION_HANDOU_MOVE = 0x2, + ACTION_ITAI_MOVE = 0x3, + }; + + /* 0x02AC */ request_of_phase_process_class mPhs; + /* 0x02B4 */ JntHit_c* m02B4; + /* 0x02B8 */ mDoExt_McaMorf* mpMorf; + /* 0x02BC */ u8 m02BC[0x02C0 - 0x02BC]; + /* 0x02C0 */ u8 mType; + /* 0x02C1 */ u8 mPrmAreaRadius; + /* 0x02C2 */ u8 mStartsInactive; + /* 0x02C3 */ u8 mSwitch; + /* 0x02C4 */ u8 mAction; + /* 0x02C5 */ u8 m02C5; + /* 0x02C6 */ u8 mHugeKnockback; + /* 0x02C7 */ bool mbIsBeingHit; + /* 0x02C8 */ s16 m02C8[4]; + /* 0x02D0 */ s16 m02D0[5]; + /* 0x02DA */ s16 m02DA; + /* 0x02DC */ s16 m02DC; + /* 0x02DE */ u8 m02DE[0x02E0 - 0x02DE]; + /* 0x02E0 */ int m02E0; + /* 0x02E4 */ int m02E4; + /* 0x02E8 */ f32 mAreaRadius; + /* 0x02EC */ f32 m02EC; + /* 0x02F0 */ f32 m02F0; + /* 0x02F4 */ cXyz m02F4; + /* 0x0300 */ cXyz m0300; + /* 0x030C */ cXyz m030C; + /* 0x0318 */ cXyz m0318; + /* 0x0324 */ cXyz m0324; + /* 0x0330 */ csXyz m0330; + /* 0x0336 */ s16 m0336; + /* 0x0338 */ s16 m0338; + /* 0x033A */ u8 m033A[0x033C - 0x033A]; + /* 0x033C */ JPABaseEmitter* m033C; + /* 0x0340 */ JPABaseEmitter* m0340; + /* 0x0344 */ dPa_smokeEcallBack mSmokeCbs[4]; + /* 0x03C4 */ dBgS_AcchCir mAcchCir; + /* 0x0404 */ dBgS_ObjAcch mAcch; + /* 0x05C8 */ dCcD_Stts mStts; + /* 0x0604 */ dCcD_Sph mEyeSph; + /* 0x0730 */ dCcD_Sph mMouthSph; + /* 0x085C */ dCcD_Cyl mBodyCyl; + /* 0x098C */ dCcD_Cyl mSwordCyl; + /* 0x0ABC */ enemyice mEnemyIce; + /* 0x0E74 */ enemyfire mEnemyFire; +}; /* 00000078-0000021C .text nodeCallBack__FP7J3DNodei */ -void nodeCallBack(J3DNode*, int) { - /* Nonmatching */ +BOOL nodeCallBack(J3DNode* node, int param_1) { + if (!param_1) { + J3DJoint* joint = (J3DJoint*)node; + s32 jntNo = joint->getJntNo(); + J3DModel* model = j3dSys.getModel(); + am_class* i_this = (am_class*)model->getUserArea(); + if (i_this) { + if (jntNo >= 1 && jntNo <= 4) { + cMtx_copy(model->getAnmMtx(jntNo), *calc_mtx); + } + + cXyz offset; + switch (jntNo) { + case 1: + offset.x = 0.0f; + offset.y = 240.0f; + offset.z = 60.0f; + MtxPosition(&offset, &i_this->m02F4); + offset.x = 0.0f; + offset.y = 150.0f; + offset.z = 70.0f; + MtxPosition(&offset, &i_this->m0300); + offset.x = 0.0f; + offset.y = 0.0f; + offset.z = 0.0f; + MtxPosition(&offset, &i_this->m030C); + break; + case 2: + offset.x = 0.0f; + offset.y = 0.0f; + offset.z = 0.0f; + MtxPosition(&offset, &i_this->m0318); + break; + case 4: + cMtx_YrotM(*calc_mtx, i_this->m0330.y); + cMtx_XrotM(*calc_mtx, i_this->m0330.x); + } + + if (jntNo >= 1 && jntNo <= 4) { + model->setAnmMtx(jntNo, *calc_mtx); + cMtx_copy(*calc_mtx, J3DSys::mCurrentMtx); + } + } + } + return TRUE; } /* 0000021C-000002E4 .text draw_SUB__FP8am_class */ -void draw_SUB(am_class*) { - /* Nonmatching */ +void draw_SUB(am_class* i_this) { + J3DModel* model = i_this->mpMorf->getModel(); + model->setBaseScale(i_this->mScale); + mDoMtx_stack_c::transS(i_this->current.pos); + cMtx_YrotM(mDoMtx_stack_c::get(), i_this->shape_angle.y); + cMtx_XrotM(mDoMtx_stack_c::get(), i_this->shape_angle.x); + cMtx_ZrotM(mDoMtx_stack_c::get(), i_this->shape_angle.z); + model->setBaseTRMtx(mDoMtx_stack_c::get()); + + i_this->mpMorf->calc(); + + g_env_light.settingTevStruct(TEV_TYPE_ACTOR, &i_this->current.pos, &i_this->mTevStr); } /* 000002E4-00000378 .text daAM_Draw__FP8am_class */ -void daAM_Draw(am_class*) { - /* Nonmatching */ +BOOL daAM_Draw(am_class* i_this) { + g_env_light.setLightTevColorType(i_this->mpMorf->getModel(), &i_this->mTevStr); + + dSnap_RegistFig(0xB7, i_this, 1.0f, 1.0f, 1.0f); + + i_this->mpMorf->entryDL(); + + dComIfGd_setSimpleShadow2( + &i_this->current.pos, i_this->mAcch.GetGroundH(), 90.0f, i_this->mAcch.m_gnd, + 0, 1.0f, dDlst_shadowControl_c::getSimpleTex() + ); + + return TRUE; } /* 00000378-000004A4 .text anm_init__FP8am_classifUcfi */ -void anm_init(am_class*, int, float, unsigned char, float, int) { - /* Nonmatching */ +void anm_init(am_class* i_this, int bckFileIdx, f32 morf, u8 loopMode, f32 speed, int soundFileIdx) { + i_this->m02E0 = bckFileIdx; + if (soundFileIdx >= 0) { + void* soundAnm = dComIfG_getObjectRes("AM", soundFileIdx); + J3DAnmTransform* bckAnm = (J3DAnmTransform*)dComIfG_getObjectRes("AM", bckFileIdx); + i_this->mpMorf->setAnm(bckAnm, loopMode, morf, speed, 0.0f, -1.0f, soundAnm); + } else { + J3DAnmTransform* bckAnm = (J3DAnmTransform*)dComIfG_getObjectRes("AM", bckFileIdx); + i_this->mpMorf->setAnm(bckAnm, loopMode, morf, speed, 0.0f, -1.0f, NULL); + } } /* 000004A4-00000784 .text body_atari_check__FP8am_class */ -void body_atari_check(am_class*) { - /* Nonmatching */ +void body_atari_check(am_class* i_this) { + daPy_py_c* player = daPy_getPlayerActorClass(); + + i_this->mStts.Move(); + + if (i_this->mBodyCyl.ChkTgHit() || i_this->mSwordCyl.ChkTgHit()) { + if (i_this->mbIsBeingHit) { + return; + } + + cCcD_Obj* hitObj; + if (i_this->mBodyCyl.ChkTgHit()) { + hitObj = i_this->mBodyCyl.GetTgHitObj(); + } else { + hitObj = i_this->mSwordCyl.GetTgHitObj(); + } + if (!hitObj) { + return; + } + i_this->mbIsBeingHit = true; + + switch (hitObj->GetAtType()) { + case AT_TYPE_SWORD: + case AT_TYPE_MACHETE: + case 0x00000800: + case AT_TYPE_DARKNUT_SWORD: + case AT_TYPE_MOBLIN_SPEAR: + fopAcM_seStart(i_this, JA_SE_LK_SW_HIT_S, 0x42); + break; + case AT_TYPE_BOOMERANG: + case AT_TYPE_BOKO_STICK: + case 0x00002000: + case AT_TYPE_STALFOS_MACE: + fopAcM_seStart(i_this, JA_SE_LK_W_WEP_HIT, 0x42); + break; + case AT_TYPE_SKULL_HAMMER: + fopAcM_seStart(i_this, JA_SE_LK_HAMMER_HIT, 0x42); + if (i_this->mStartsInactive == 1 && i_this->mSwitch != 0xFF && !dComIfGs_isSwitch(i_this->mSwitch, dComIfGp_roomControl_getStayNo())) { + return; + } + if (i_this->mAction == am_class::ACTION_HANDOU_MOVE) { + return; + } + if (i_this->mAction == am_class::ACTION_ITAI_MOVE) { + return; + } + i_this->mAction = am_class::ACTION_HANDOU_MOVE; + i_this->m02C5 = 30; + i_this->mHugeKnockback = 0; + if (player->getCutType() == 0x11) { + // If the player hits the Armos Knight with the Skull Hammer's side swing, knock it back much farther than normal. + i_this->mHugeKnockback = 1; + } + break; + default: + fopAcM_seStart(i_this, JA_SE_LK_MS_WEP_HIT, 0x42); + break; + } + } else { + i_this->mbIsBeingHit = false; + } } /* 00000784-00000D14 .text medama_atari_check__FP8am_class */ -void medama_atari_check(am_class*) { +void medama_atari_check(am_class* i_this) { /* Nonmatching */ } /* 00000D14-00000F04 .text bomb_move_set__FP8am_classUc */ -void bomb_move_set(am_class*, unsigned char) { +void bomb_move_set(am_class* i_this, u8) { /* Nonmatching */ } /* 00000F04-00001138 .text bomb_nomi_check__FP8am_class */ -void bomb_nomi_check(am_class*) { +void bomb_nomi_check(am_class* i_this) { /* Nonmatching */ } /* 00001138-000011E4 .text BG_check__FP8am_class */ -void BG_check(am_class*) { - /* Nonmatching */ +void BG_check(am_class* i_this) { + f32 halfHeight = g_regHIO.mChild[12].mFloatRegs[3] + 30.0f; + f32 radius = g_regHIO.mChild[12].mFloatRegs[4] + 150.0f; + i_this->mAcchCir.SetWall(halfHeight, radius); + + i_this->current.pos.y -= i_this->m02EC; + i_this->next.pos.y -= i_this->m02EC; + i_this->mAcch.CrrPos(*dComIfG_Bgsp()); + i_this->current.pos.y += i_this->m02EC; + i_this->next.pos.y += i_this->m02EC; } /* 000011E4-00001504 .text Line_check__FP8am_class4cXyz */ -void Line_check(am_class*, cXyz) { - /* Nonmatching */ -} - -/* 00001504-00001630 .text __dt__11dBgS_LinChkFv */ -dBgS_LinChk::~dBgS_LinChk() { - /* Nonmatching */ -} - -/* 00001630-000016D0 .text __dt__8dBgS_ChkFv */ -dBgS_Chk::~dBgS_Chk() { - /* Nonmatching */ -} - -/* 000016D0-0000172C .text __dt__15dBgS_GrpPassChkFv */ -dBgS_GrpPassChk::~dBgS_GrpPassChk() { - /* Nonmatching */ -} - -/* 0000172C-00001774 .text __dt__15cBgS_GrpPassChkFv */ -cBgS_GrpPassChk::~cBgS_GrpPassChk() { - /* Nonmatching */ -} - -/* 00001774-000017D0 .text __dt__16dBgS_PolyPassChkFv */ -dBgS_PolyPassChk::~dBgS_PolyPassChk() { - /* Nonmatching */ -} - -/* 000017D0-00001818 .text __dt__16cBgS_PolyPassChkFv */ -cBgS_PolyPassChk::~cBgS_PolyPassChk() { - /* Nonmatching */ -} - -/* 00001818-000018AC .text __dt__11cBgS_LinChkFv */ -cBgS_LinChk::~cBgS_LinChk() { - /* Nonmatching */ -} - -/* 000018AC-000018F4 .text __dt__8cM3dGLinFv */ -cM3dGLin::~cM3dGLin() { - /* Nonmatching */ -} - -/* 000018F4-0000193C .text __dt__13cBgS_PolyInfoFv */ -cBgS_PolyInfo::~cBgS_PolyInfo() { +void Line_check(am_class* i_this, cXyz) { /* Nonmatching */ } /* 0000193C-00001B00 .text medama_move__FP8am_class */ -void medama_move(am_class*) { +void medama_move(am_class* i_this) { /* Nonmatching */ } /* 00001B00-00002564 .text action_dousa__FP8am_class */ -void action_dousa(am_class*) { +void action_dousa(am_class* i_this) { /* Nonmatching */ } /* 00002564-000028C4 .text action_modoru_move__FP8am_class */ -void action_modoru_move(am_class*) { +void action_modoru_move(am_class* i_this) { /* Nonmatching */ } /* 000028C4-00002A6C .text action_handou_move__FP8am_class */ -void action_handou_move(am_class*) { +void action_handou_move(am_class* i_this) { /* Nonmatching */ } /* 00002A6C-000034F4 .text action_itai_move__FP8am_class */ -void action_itai_move(am_class*) { +void action_itai_move(am_class* i_this) { /* Nonmatching */ } /* 000034F4-000039A4 .text daAM_Execute__FP8am_class */ -void daAM_Execute(am_class*) { - /* Nonmatching */ +BOOL daAM_Execute(am_class* i_this) { + fopAcM_setGbaName(i_this, BOW, 0xC, 0x2A); + + if (enemy_ice(&i_this->mEnemyIce)) { + i_this->mpMorf->getModel()->setBaseTRMtx(mDoMtx_stack_c::get()); + i_this->mpMorf->calc(); + return TRUE; + } + + for (int i = 0; i < ARRAY_SIZE(i_this->m02C8); i++) { + if (i_this->m02C8[i] != 0) { + i_this->m02C8[i]--; + } + } + + switch (i_this->mAction) { + case am_class::ACTION_DOUSA: + action_dousa(i_this); + break; + case am_class::ACTION_MODORU_MOVE: + action_modoru_move(i_this); + break; + case am_class::ACTION_HANDOU_MOVE: + action_handou_move(i_this); + break; + case am_class::ACTION_ITAI_MOVE: + action_itai_move(i_this); + break; + } + + if (i_this->mAction != am_class::ACTION_ITAI_MOVE && i_this->m02F0 - 1500.0f > i_this->current.pos.y) { + anm_init(i_this, 0x1A, 0.0f, 0, 0.0f, -1); + + dComIfGp_particle_set(0x8127, &i_this->m030C, NULL, NULL); + dComIfGp_particle_set(0x8128, &i_this->m030C, NULL, NULL); + + fopAcM_seStart(i_this, JA_SE_CM_AM_BEF_EXPLODE, 0); + + i_this->m02DA = i_this->current.angle.y; + + if (i_this->m033C) { + i_this->m033C->becomeInvalidEmitter(); + i_this->m033C = NULL; + } + if (i_this->m0340) { + i_this->m0340->becomeInvalidEmitter(); + i_this->m0340 = NULL; + } + + i_this->speedF = 0.0f; + i_this->mAction = am_class::ACTION_ITAI_MOVE; + i_this->m02C5 = 0x2F; + } + + cLib_addCalcAngleS2(&i_this->current.angle.y, i_this->m02DA, 1, 0x500); + if (i_this->m02C5 != 0x2E && i_this->m02C5 != 0x2F && i_this->m02C5 != 0x1F) { + cLib_addCalcAngleS2(&i_this->shape_angle.y, i_this->current.angle.y, 1, 0x500); + } + + if (i_this->m02C8[1] == 0) { + i_this->mpMorf->play(NULL, 0, 0); + } + + cMtx_YrotS(*calc_mtx, i_this->current.angle.y); + cMtx_XrotM(*calc_mtx, i_this->current.angle.x); + cXyz offset; + offset.x = 0.0f; + offset.y = 0.0f; + offset.z = i_this->speedF; + cXyz rotOffset; + MtxPosition(&offset, &rotOffset); + i_this->speed.x = rotOffset.x; + i_this->speed.z = rotOffset.z; + i_this->speed.y += i_this->mGravity; + if (i_this->speed.y < -100.0f) { + i_this->speed.y = -100.0f; + } + + body_atari_check(i_this); + + i_this->mAttentionInfo.mPosition = i_this->current.pos; + i_this->mAttentionInfo.mPosition.y += 330.0f; + i_this->mEyePos = i_this->current.pos; + i_this->mEyePos.y += 250.0f; + + cXyz swordPos = i_this->current.pos; + + i_this->mEyeSph.SetC(i_this->m02F4); + i_this->mEyeSph.SetR(60.0f); + dComIfG_Ccsp()->Set(&i_this->mEyeSph); + + i_this->mMouthSph.SetC(i_this->m0300); + i_this->mMouthSph.SetR(100.0f); + dComIfG_Ccsp()->Set(&i_this->mMouthSph); + + i_this->mBodyCyl.SetC(i_this->current.pos); + i_this->mBodyCyl.SetH(300.0f); + i_this->mBodyCyl.SetR(80.0f); + dComIfG_Ccsp()->Set(&i_this->mBodyCyl); + + swordPos.y += 40.0f; + i_this->mSwordCyl.SetC(swordPos); + i_this->mSwordCyl.SetH(30.0f); + i_this->mSwordCyl.SetR(130.0f); + dComIfG_Ccsp()->Set(&i_this->mSwordCyl); + + fopAcM_posMove(i_this, i_this->mStts.GetCCMoveP()); + BG_check(i_this); + draw_SUB(i_this); + + return TRUE; } /* 000039A4-000039AC .text daAM_IsDelete__FP8am_class */ -void daAM_IsDelete(am_class*) { - /* Nonmatching */ +BOOL daAM_IsDelete(am_class* i_this) { + return TRUE; } /* 000039AC-00003A84 .text daAM_Delete__FP8am_class */ -void daAM_Delete(am_class*) { - /* Nonmatching */ +BOOL daAM_Delete(am_class* i_this) { + dComIfG_resDelete(&i_this->mPhs, "AM"); + + for (int i = 0; i < 4; i++) { + i_this->mSmokeCbs[i].end(); + } + i_this->mSmokeCbs[2].end(); + + if (i_this->m033C) { + i_this->m033C->becomeInvalidEmitter(); + i_this->m033C = NULL; + } + if (i_this->m0340) { + i_this->m0340->becomeInvalidEmitter(); + i_this->m0340 = NULL; + } + + return TRUE; } /* 00003A84-00003C00 .text useHeapInit__FP10fopAc_ac_c */ -void useHeapInit(fopAc_ac_c*) { - /* Nonmatching */ +BOOL useHeapInit(fopAc_ac_c* i_actor) { + am_class* i_this = (am_class*)i_actor; + + i_this->mpMorf = new mDoExt_McaMorf( + (J3DModelData*)dComIfG_getObjectRes("AM", 0x22), // am.bdl + NULL, NULL, + (J3DAnmTransformKey*)dComIfG_getObjectRes("AM", 0x1F), // sleep_loop.bck + J3DFrameCtrl::LOOP_REPEAT_e, 0.0f, 0, -1, 1, + NULL, + 0x00000000, + 0x11020203 + ); + if (!i_this->mpMorf || !i_this->mpMorf->getModel()) { + return FALSE; + } + + i_this->mpMorf->getModel()->setUserArea((u32)i_this); + for (u16 i = 0; i < i_this->mpMorf->getModel()->getModelData()->getJointNum(); i++) { + i_this->mpMorf->getModel()->getModelData()->getJointNodePointer(i)->setCallBack(nodeCallBack); + } + + static Vec cyl2_eye_offset[] = { + {0.0f, 0.0f, 70.0f}, + {0.0f, 0.0f, 80.0f}, + }; + static __jnt_hit_data_c search_data[] = { + { + /* field_0x0 */ 2, + /* mJointIndex */ 0x05, // hitomi (pupil) joint + /* field_0x4 */ 5.0f, + /* field_0x8 */ (cXyz*)&cyl2_eye_offset, + }, + }; + i_this->m02B4 = JntHit_create(i_this->mpMorf->getModel(), search_data, ARRAY_SIZE(search_data)); + if (i_this->m02B4) { + i_this->mJntHit = i_this->m02B4; + } else { + return FALSE; + } + + return TRUE; } /* 00003C00-00003F5C .text daAM_Create__FP10fopAc_ac_c */ -void daAM_Create(fopAc_ac_c*) { - /* Nonmatching */ +s32 daAM_Create(fopAc_ac_c* i_actor) { + fopAcM_SetupActor(i_actor, am_class); + + am_class* i_this = (am_class*)i_actor; + + s32 phase_state = dComIfG_resLoad(&i_this->mPhs, "AM"); + if (phase_state == cPhs_COMPLEATE_e) { + if (!fopAcM_entrySolidHeap(i_this, useHeapInit, 0x1C80)) { + return cPhs_ERROR_e; + } + + i_this->mItemStealLeft = 3; + + i_this->mSmokeCbs[0].setRateOff(0); + i_this->mSmokeCbs[1].setRateOff(0); + i_this->mSmokeCbs[3].setRateOff(0); + + i_this->mType = (fopAcM_GetParam(i_this) >> 0x00) & 0xFF; + i_this->mPrmAreaRadius = (fopAcM_GetParam(i_this) >> 0x08) & 0xFF; + i_this->mStartsInactive = (fopAcM_GetParam(i_this) >> 0x10) & 0xFF; + i_this->mSwitch = (fopAcM_GetParam(i_this) >> 0x18) & 0xFF; + + if (i_this->mType == 0xFF) { + i_this->mType = 0; + } + if (i_this->mStartsInactive == 0xFF) { + i_this->mStartsInactive = 0; + } + if (g_regHIO.mChild[8].mShortRegs[9] != 0) { + i_this->mType = 1; + } + if (i_this->mPrmAreaRadius == 0xFF || i_this->mPrmAreaRadius == 0) { + i_this->mAreaRadius = 400.0f; + } else { + i_this->mAreaRadius = i_this->mPrmAreaRadius * 100.0f; + } + i_this->m02F0 = i_this->current.pos.y; + i_this->m02E4 = -1; + + if (i_this->mStartsInactive == 0 && i_this->mSwitch != 0xFF && dComIfGs_isSwitch(i_this->mSwitch, dComIfGp_roomControl_getStayNo())) { + // When mStartsInactive is 0, the Armos Knight starts active and attacking the player. + // mSwitch being set disables it from spawning again in the future. + return cPhs_ERROR_e; + } + if (i_this->mStartsInactive == 1 && i_this->mSwitch != 0xFF && !dComIfGs_isSwitch(i_this->mSwitch, dComIfGp_roomControl_getStayNo())) { + // When mStartsInactive is 1, the Armos Knight is initially inactive. + // mSwitch being set causes it to become active and attack the player. + fopAcM_OffStatus(i_this, fopAcStts_SHOWMAP_e); + } + + i_this->mItemTableIdx = dComIfGp_CharTbl()->GetNameIndex("amos", 0); + i_this->mMaxHealth = 10; + i_this->mHealth = 10; + + i_this->mCullMtx = i_this->mpMorf->mpModel->getBaseTRMtx(); + fopAcM_setCullSizeBox(i_this, -100.0f, -10.0f, -80.0f, 120.0f, 400.0f, 100.0f); + + i_this->mAttentionInfo.mFlags = 0; + + i_this->mAcch.Set( + &fopAcM_GetPosition_p(i_this), &fopAcM_GetOldPosition_p(i_this), + i_this, 1, &i_this->mAcchCir, &fopAcM_GetSpeed_p(i_this), + NULL, NULL + ); + i_this->mStts.Init(0xFE, 1, i_this); + + i_this->mGravity = -10.0f; + + i_this->mEnemyIce.mpActor = i_this; + i_this->mEnemyIce.mWallRadius = 80.0f; + i_this->mEnemyIce.mCylHeight = 300.0f; + + static dCcD_SrcSph eye_co_sph_src = { + // dCcD_SrcGObjInf + { + /* Flags */ 0, + /* SrcObjAt Type */ 0x1000, + /* SrcObjAt Atp */ 0, + /* SrcObjAt SPrm */ 0, + /* SrcObjTg Type */ AT_TYPE_NORMAL_ARROW | AT_TYPE_FIRE_ARROW | AT_TYPE_ICE_ARROW | AT_TYPE_LIGHT_ARROW | AT_TYPE_GRAPPLING_HOOK, + /* SrcObjTg SPrm */ 0x03, + /* SrcObjCo SPrm */ 0, + /* SrcGObjAt Se */ 0, + /* SrcGObjAt HitMark */ 0, + /* SrcGObjAt Spl */ 0, + /* SrcGObjAt Mtrl */ 0, + /* SrcGObjAt GFlag */ 0, + /* SrcGObjTg Se */ 0, + /* SrcGObjTg HitMark */ 0, + /* SrcGObjTg Spl */ 0, + /* SrcGObjTg Mtrl */ 0, + /* SrcGObjTg GFlag */ 0x06, + /* SrcGObjCo GFlag */ 0, + }, + // cM3dGSphS + { + /* Center */ 0.0f, 0.0f, 0.0f, + /* Radius */ 15.0f, + }, + }; + i_this->mEyeSph.Set(eye_co_sph_src); + i_this->mEyeSph.SetStts(&i_this->mStts); + + static dCcD_SrcSph mouth_co_sph_src = { + // dCcD_SrcGObjInf + { + /* Flags */ 0, + /* SrcObjAt Type */ 0x1000, + /* SrcObjAt Atp */ 0, + /* SrcObjAt SPrm */ 0, + /* SrcObjTg Type */ 0, + /* SrcObjTg SPrm */ 0, + /* SrcObjCo SPrm */ 0x145, + /* SrcGObjAt Se */ 0, + /* SrcGObjAt HitMark */ 0, + /* SrcGObjAt Spl */ 0, + /* SrcGObjAt Mtrl */ 0, + /* SrcGObjAt GFlag */ 0, + /* SrcGObjTg Se */ 0, + /* SrcGObjTg HitMark */ 0, + /* SrcGObjTg Spl */ 0, + /* SrcGObjTg Mtrl */ 0, + /* SrcGObjTg GFlag */ 0x02, + /* SrcGObjCo GFlag */ 0, + }, + // cM3dGSphS + { + /* Center */ 0.0f, 0.0f, 0.0f, + /* Radius */ 15.0f, + }, + }; + i_this->mMouthSph.Set(mouth_co_sph_src); + i_this->mMouthSph.SetStts(&i_this->mStts); + + static dCcD_SrcCyl body_co_cyl_src = { + // dCcD_SrcGObjInf + { + /* Flags */ 0, + /* SrcObjAt Type */ 0x1000, + /* SrcObjAt Atp */ 0, + /* SrcObjAt SPrm */ 0, + /* SrcObjTg Type */ ~(0x100 | 0x20000 | AT_TYPE_LEAF_WIND | 0x400000 | 0x800000), + /* SrcObjTg SPrm */ 0x03, + /* SrcObjCo SPrm */ 0x75, + /* SrcGObjAt Se */ 0, + /* SrcGObjAt HitMark */ 0, + /* SrcGObjAt Spl */ 0, + /* SrcGObjAt Mtrl */ 0, + /* SrcGObjAt GFlag */ 0, + /* SrcGObjTg Se */ 0, + /* SrcGObjTg HitMark */ 0x0C, + /* SrcGObjTg Spl */ 0, + /* SrcGObjTg Mtrl */ 0, + /* SrcGObjTg GFlag */ 0x03, + /* SrcGObjCo GFlag */ 0, + }, + // cM3dGCylS + { + /* Center */ 0.0f, 0.0f, 0.0f, + /* Radius */ 15.0f, + /* Height */ 0.0f, + }, + }; + i_this->mBodyCyl.Set(body_co_cyl_src); + i_this->mBodyCyl.SetStts(&i_this->mStts); + + static dCcD_SrcCyl sword_co_cyl_src = { + // dCcD_SrcGObjInf + { + /* Flags */ 0, + /* SrcObjAt Type */ 0x1000, + /* SrcObjAt Atp */ 2, + /* SrcObjAt SPrm */ 0x0F, + /* SrcObjTg Type */ 0, + /* SrcObjTg SPrm */ 0, + /* SrcObjCo SPrm */ 0x75, + /* SrcGObjAt Se */ 0, + /* SrcGObjAt HitMark */ 0, + /* SrcGObjAt Spl */ 0x06, + /* SrcGObjAt Mtrl */ 0, + /* SrcGObjAt GFlag */ 0, + /* SrcGObjTg Se */ 0, + /* SrcGObjTg HitMark */ 0x0C, + /* SrcGObjTg Spl */ 0, + /* SrcGObjTg Mtrl */ 0, + /* SrcGObjTg GFlag */ 0x03, + /* SrcGObjCo GFlag */ 0, + }, + // cM3dGCylS + { + /* Center */ 0.0f, 0.0f, 0.0f, + /* Radius */ 15.0f, + /* Height */ 0.0f, + }, + }; + i_this->mSwordCyl.Set(sword_co_cyl_src); + i_this->mSwordCyl.SetStts(&i_this->mStts); + + i_this->mSwordCyl.OffAtSetBit(); + i_this->mSwordCyl.OffAtSetBit(); + + i_this->m02DA = i_this->current.angle.y; + i_this->m0324 = i_this->current.pos; + i_this->m02DC = i_this->current.angle.y; + + draw_SUB(i_this); + } + + return phase_state; } -/* 00003F5C-000042A4 .text __ct__8am_classFv */ -am_class::am_class() { - /* Nonmatching */ -} - -/* 000042A4-00004370 .text __dt__8dCcD_CylFv */ -dCcD_Cyl::~dCcD_Cyl() { - /* Nonmatching */ -} - -/* 00004370-000043B8 .text __dt__8cM3dGCylFv */ -cM3dGCyl::~cM3dGCyl() { - /* Nonmatching */ -} - -/* 000043B8-00004484 .text __dt__8dCcD_SphFv */ -dCcD_Sph::~dCcD_Sph() { - /* Nonmatching */ -} - -/* 00004484-000044CC .text __dt__8cM3dGSphFv */ -cM3dGSph::~cM3dGSph() { - /* Nonmatching */ -} - -/* 000044CC-00004528 .text __dt__14cCcD_ShapeAttrFv */ -cCcD_ShapeAttr::~cCcD_ShapeAttr() { - /* Nonmatching */ -} - -/* 00004528-00004570 .text __dt__8cM3dGAabFv */ -cM3dGAab::~cM3dGAab() { - /* Nonmatching */ -} - -/* 00004570-000045CC .text __dt__10dCcD_GSttsFv */ -dCcD_GStts::~dCcD_GStts() { - /* Nonmatching */ -} - -/* 000045CC-0000463C .text __dt__12dBgS_ObjAcchFv */ -dBgS_ObjAcch::~dBgS_ObjAcch() { - /* Nonmatching */ -} - -/* 0000463C-000046C4 .text __dt__12dBgS_AcchCirFv */ -dBgS_AcchCir::~dBgS_AcchCir() { - /* Nonmatching */ -} - -/* 000046C4-00004740 .text __dt__18dPa_smokeEcallBackFv */ -dPa_smokeEcallBack::~dPa_smokeEcallBack() { - /* Nonmatching */ -} - -/* 00004740-00004764 .text __defctor__18dPa_smokeEcallBackFv */ -void dPa_smokeEcallBack::__defctor() { - /* Nonmatching */ -} - -/* 00004764-00004768 .text draw__34JPACallBackBaseFP14JPABaseEmitter */ -void JPACallBackBase::draw(JPABaseEmitter*) { - /* Nonmatching */ -} - -/* 00004768-0000476C .text executeAfter__34JPACallBackBaseFP14JPABaseEmitter */ -void JPACallBackBase::executeAfter(JPABaseEmitter*) { - /* Nonmatching */ -} - -/* 0000476C-00004770 .text execute__34JPACallBackBaseFP14JPABaseEmitter */ -void JPACallBackBase::execute(JPABaseEmitter*) { - /* Nonmatching */ -} - -/* 00004770-00004774 .text init__34JPACallBackBaseFP14JPABaseEmitter */ -void JPACallBackBase::init(JPABaseEmitter*) { - /* Nonmatching */ -} - -/* 00004774-000047BC .text __dt__34JPACallBackBaseFv */ -JPACallBackBase::~JPACallBackBase() { - /* Nonmatching */ -} - -/* 000047BC-00004818 .text __dt__18dPa_levelEcallBackFv */ -dPa_levelEcallBack::~dPa_levelEcallBack() { - /* Nonmatching */ -} - -/* 00004818-00004860 .text __dt__8cM2dGCirFv */ -cM2dGCir::~cM2dGCir() { - /* Nonmatching */ -} - -/* 00004860-000048BC .text __dt__8cM3dGCirFv */ -cM3dGCir::~cM3dGCir() { - /* Nonmatching */ -} - -/* 000048BC-00004904 .text __dt__10cCcD_GSttsFv */ -cCcD_GStts::~cCcD_GStts() { - /* Nonmatching */ -} - -/* 00004904-00004914 .text GetShapeAttr__8dCcD_CylFv */ -void dCcD_Cyl::GetShapeAttr() { - /* Nonmatching */ -} - -/* 00004914-0000491C .text GetCoCP__12cCcD_CylAttrFv */ -void cCcD_CylAttr::GetCoCP() { - /* Nonmatching */ -} - -/* 0000491C-00004924 .text GetCoCP__12cCcD_CylAttrCFv */ -void cCcD_CylAttr::GetCoCP() const { - /* Nonmatching */ -} - -/* 00004924-0000492C .text CrossAtTg__12cCcD_CylAttrCFRC12cCcD_AabAttrP4cXyz */ -void cCcD_CylAttr::CrossAtTg(const cCcD_AabAttr&, cXyz*) const { - /* Nonmatching */ -} - -/* 0000492C-00004934 .text CrossAtTg__12cCcD_CylAttrCFRC12cCcD_PntAttrP4cXyz */ -void cCcD_CylAttr::CrossAtTg(const cCcD_PntAttr&, cXyz*) const { - /* Nonmatching */ -} - -/* 00004934-0000496C .text CrossAtTg__12cCcD_CylAttrCFRC14cCcD_ShapeAttrP4cXyz */ -void cCcD_CylAttr::CrossAtTg(const cCcD_ShapeAttr&, cXyz*) const { - /* Nonmatching */ -} - -/* 0000496C-00004974 .text CrossCo__12cCcD_CylAttrCFRC12cCcD_AabAttrPf */ -void cCcD_CylAttr::CrossCo(const cCcD_AabAttr&, float*) const { - /* Nonmatching */ -} - -/* 00004974-0000497C .text CrossCo__12cCcD_CylAttrCFRC12cCcD_TriAttrPf */ -void cCcD_CylAttr::CrossCo(const cCcD_TriAttr&, float*) const { - /* Nonmatching */ -} - -/* 0000497C-00004984 .text CrossCo__12cCcD_CylAttrCFRC12cCcD_PntAttrPf */ -void cCcD_CylAttr::CrossCo(const cCcD_PntAttr&, float*) const { - /* Nonmatching */ -} - -/* 00004984-000049BC .text CrossCo__12cCcD_CylAttrCFRC14cCcD_ShapeAttrPf */ -void cCcD_CylAttr::CrossCo(const cCcD_ShapeAttr&, float*) const { - /* Nonmatching */ -} - -/* 000049BC-000049C0 .text GetGObjInf__12cCcD_GObjInfCFv */ -void cCcD_GObjInf::GetGObjInf() const { - /* Nonmatching */ -} - -/* 000049C0-000049C8 .text GetShapeAttr__8cCcD_ObjCFv */ -void cCcD_Obj::GetShapeAttr() const { - /* Nonmatching */ -} - -/* 000049C8-000049D8 .text GetShapeAttr__8dCcD_SphFv */ -void dCcD_Sph::GetShapeAttr() { - /* Nonmatching */ -} - -/* 000049D8-000049E0 .text GetCoCP__12cCcD_SphAttrFv */ -void cCcD_SphAttr::GetCoCP() { - /* Nonmatching */ -} - -/* 000049E0-000049E8 .text GetCoCP__12cCcD_SphAttrCFv */ -void cCcD_SphAttr::GetCoCP() const { - /* Nonmatching */ -} - -/* 000049E8-000049F0 .text CrossAtTg__12cCcD_SphAttrCFRC12cCcD_AabAttrP4cXyz */ -void cCcD_SphAttr::CrossAtTg(const cCcD_AabAttr&, cXyz*) const { - /* Nonmatching */ -} - -/* 000049F0-000049F8 .text CrossAtTg__12cCcD_SphAttrCFRC12cCcD_PntAttrP4cXyz */ -void cCcD_SphAttr::CrossAtTg(const cCcD_PntAttr&, cXyz*) const { - /* Nonmatching */ -} - -/* 000049F8-00004A30 .text CrossAtTg__12cCcD_SphAttrCFRC14cCcD_ShapeAttrP4cXyz */ -void cCcD_SphAttr::CrossAtTg(const cCcD_ShapeAttr&, cXyz*) const { - /* Nonmatching */ -} - -/* 00004A30-00004A38 .text CrossCo__12cCcD_SphAttrCFRC12cCcD_AabAttrPf */ -void cCcD_SphAttr::CrossCo(const cCcD_AabAttr&, float*) const { - /* Nonmatching */ -} - -/* 00004A38-00004A40 .text CrossCo__12cCcD_SphAttrCFRC12cCcD_TriAttrPf */ -void cCcD_SphAttr::CrossCo(const cCcD_TriAttr&, float*) const { - /* Nonmatching */ -} - -/* 00004A40-00004A48 .text CrossCo__12cCcD_SphAttrCFRC12cCcD_PntAttrPf */ -void cCcD_SphAttr::CrossCo(const cCcD_PntAttr&, float*) const { - /* Nonmatching */ -} - -/* 00004A48-00004A80 .text CrossCo__12cCcD_SphAttrCFRC14cCcD_ShapeAttrPf */ -void cCcD_SphAttr::CrossCo(const cCcD_ShapeAttr&, float*) const { - /* Nonmatching */ -} - -/* 00004A80-00004A88 .text CrossAtTg__14cCcD_ShapeAttrCFRC14cCcD_ShapeAttrP4cXyz */ -void cCcD_ShapeAttr::CrossAtTg(const cCcD_ShapeAttr&, cXyz*) const { - /* Nonmatching */ -} - -/* 00004A88-00004A90 .text CrossCo__14cCcD_ShapeAttrCFRC14cCcD_ShapeAttrPf */ -void cCcD_ShapeAttr::CrossCo(const cCcD_ShapeAttr&, float*) const { - /* Nonmatching */ -} - -/* 00004A90-00004A9C .text GetCoCP__14cCcD_ShapeAttrFv */ -void cCcD_ShapeAttr::GetCoCP() { - /* Nonmatching */ -} - -/* 00004A9C-00004AA8 .text GetCoCP__14cCcD_ShapeAttrCFv */ -void cCcD_ShapeAttr::GetCoCP() const { - /* Nonmatching */ -} - -/* 00004AA8-00004AB0 .text @20@__dt__11cBgS_LinChkFv */ -void @20@__dt__11cBgS_LinChkFv { - /* Nonmatching */ -} - -/* 00004AB0-00004AB8 .text @12@__dt__8dBgS_ChkFv */ -void @12@__dt__8dBgS_ChkFv { - /* Nonmatching */ -} - -/* 00004AB8-00004AC0 .text @20@__dt__11dBgS_LinChkFv */ -void @20@__dt__11dBgS_LinChkFv { - /* Nonmatching */ -} - -/* 00004AC0-00004AC8 .text @100@__dt__11dBgS_LinChkFv */ -void @100@__dt__11dBgS_LinChkFv { - /* Nonmatching */ -} - -/* 00004AC8-00004AD0 .text @88@__dt__11dBgS_LinChkFv */ -void @88@__dt__11dBgS_LinChkFv { - /* Nonmatching */ -} - -/* 00004AD0-00004AD8 .text @32@__dt__12dBgS_ObjAcchFv */ -void @32@__dt__12dBgS_ObjAcchFv { - /* Nonmatching */ -} - -/* 00004AD8-00004AE0 .text @20@__dt__12dBgS_ObjAcchFv */ -void @20@__dt__12dBgS_ObjAcchFv { - /* Nonmatching */ -} - -/* 00004AE0-00004AE8 .text @280@__dt__8dCcD_SphFv */ -void @280@__dt__8dCcD_SphFv { - /* Nonmatching */ -} - -/* 00004AE8-00004AF0 .text @248@__dt__8dCcD_SphFv */ -void @248@__dt__8dCcD_SphFv { - /* Nonmatching */ -} - -/* 00004AF0-00004AF8 .text @280@__dt__8dCcD_CylFv */ -void @280@__dt__8dCcD_CylFv { - /* Nonmatching */ -} - -/* 00004AF8-00004B00 .text @248@__dt__8dCcD_CylFv */ -void @248@__dt__8dCcD_CylFv { - /* Nonmatching */ -} +static actor_method_class l_daAM_Method = { + (process_method_func)daAM_Create, + (process_method_func)daAM_Delete, + (process_method_func)daAM_Execute, + (process_method_func)daAM_IsDelete, + (process_method_func)daAM_Draw, +}; +extern actor_process_profile_definition g_profile_AM = { + /* LayerID */ fpcLy_CURRENT_e, + /* ListID */ 7, + /* ListPrio */ fpcPi_CURRENT_e, + /* ProcName */ PROC_AM, + /* Proc SubMtd */ &g_fpcLf_Method.mBase, + /* Size */ sizeof(am_class), + /* SizeOther */ 0, + /* Parameters */ 0, + /* Leaf SubMtd */ &g_fopAc_Method.base, + /* Priority */ 0x00BD, + /* Actor SubMtd */ &l_daAM_Method, + /* Status */ 0x00040120, + /* Group */ fopAc_ENEMY_e, + /* CullType */ fopAc_CULLBOX_CUSTOM_e, +}; diff --git a/src/d/actor/d_a_arrow.cpp b/src/d/actor/d_a_arrow.cpp index f7416f835..8c82317ab 100644 --- a/src/d/actor/d_a_arrow.cpp +++ b/src/d/actor/d_a_arrow.cpp @@ -274,7 +274,7 @@ void daArrow_c::arrowShooting() { setArrowShootSe(); if (mArrowType == TYPE_LIGHT && !mbShotByZelda) { - if (strcmp(dComIfGp_getStartStageName(), "GanonK") != 0) { + if (strcmp(dComIfGp_getStartStageName(), "GanonK") != 0) { // Not in Puppet Ganon's boss room. mCps.SetAtSpl((dCcG_At_Spl)0xB); } @@ -368,8 +368,61 @@ void daArrow_c::ShieldReflect() { } /* 800D50A0-800D5388 .text check_water_in__9daArrow_cFv */ -void daArrow_c::check_water_in() { - /* Nonmatching */ +bool daArrow_c::check_water_in() { + u8 prev_field_0x699 = field_0x699; + field_0x699 = daPy_lk_c::setItemWaterEffect(this, field_0x699, 1); + if (prev_field_0x699 == 0 && field_0x699 == 1) { + f32 waterY; + fopAcM_getWaterY(¤t.pos, &waterY); + + f32 deltaY = fabs(next.pos.y - current.pos.y); + f32 waterDist = fabs(waterY - current.pos.y); + cXyz waterHitPos; + if (deltaY < 1.0f) { + waterHitPos = current.pos; + } else { + f32 weight = waterDist / deltaY; + if (weight > 1.0f) { + weight = 1.0f; + } + waterHitPos = (next.pos * weight) + (current.pos * (1.0f - weight)); + } + + mCurrProcFunc = &procWater; + fopAcM_SetParam(this, 4); + + if (mArrowType == TYPE_FIRE) { + mInWaterTimer = 1; + dComIfGp_particle_setToon(0x35A, &waterHitPos, NULL, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + if (field_0x6e4 == 0) { + dKy_arrowcol_chg_on(¤t.pos, 0); + } + } else if (mArrowType == TYPE_ICE) { + mInWaterTimer = 300; + fopAcM_createChild( + PROC_ARROW_ICEEFF, fpcM_GetID(this), mArrowType, + &waterHitPos, current.roomNo, ¤t.angle, NULL, -1, NULL + ); + if (field_0x6e4 == 0) { + dKy_arrowcol_chg_on(¤t.pos, 1); + } + } else if (mArrowType == TYPE_LIGHT) { + dComIfGp_particle_setToon(0x2A1, &waterHitPos, NULL, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + fopAcM_seStartCurrent(this, JA_SE_OBJ_LIGHT_ARW_EFF, 0); + if (field_0x6e4 == 0) { + dKy_arrowcol_chg_on(¤t.pos, 2); + } + mInWaterTimer = 1; + } else { + mInWaterTimer = 1; + } + + field_0x698 = 0; + + return TRUE; + } else { + return FALSE; + } } /* 800D5388-800D53AC .text changeArrowMp__9daArrow_cFv */ @@ -379,8 +432,50 @@ BOOL daArrow_c::changeArrowMp() { } /* 800D53AC-800D553C .text changeArrowType__9daArrow_cFv */ -void daArrow_c::changeArrowType() { - /* Nonmatching */ +daArrow_c* daArrow_c::changeArrowType() { + u8 origArrowType = mArrowType; + mBtkFrame = 0.0f; + + daArrow_c* ret = this; + + if (mArrowType == TYPE_NORMAL) { + if (dComIfGs_getMagic() < 1 || !(dComIfGs_getItem(0xC) == MAGIC_ARROW || dComIfGs_getItem(0xC) == LIGHT_ARROW)) { + mArrowType = TYPE_NORMAL; + } else { + mArrowType = TYPE_FIRE; + } + } else if (mArrowType == TYPE_FIRE) { + if (dComIfGs_getMagic() < 1 || !(dComIfGs_getItem(0xC) == MAGIC_ARROW || dComIfGs_getItem(0xC) == LIGHT_ARROW)) { + mArrowType = TYPE_NORMAL; + } else { + mArrowType = TYPE_ICE; + } + } else if (mArrowType == TYPE_ICE) { + if (dComIfGs_getMagic() < 2 || dComIfGs_getItem(0xC) != LIGHT_ARROW) { + mArrowType = TYPE_NORMAL; + } else { + mArrowType = TYPE_LIGHT; + } + } else if (mArrowType == TYPE_LIGHT) { + mArrowType = TYPE_NORMAL; + } + + if (mArrowType != origArrowType) { + m_keep_type = mArrowType; + daArrow_c* newNockedArrow = (daArrow_c*)fopAcM_fastCreate(PROC_ARROW, 0, ¤t.pos, current.roomNo, NULL, NULL, -1, NULL, NULL); + if (!newNockedArrow) { + mArrowType = origArrowType; + m_keep_type = origArrowType; + setDrawShapeMaterial(); + ret = this; + } else { + mArrowType = origArrowType; + fopAcM_delete(this); + ret = newNockedArrow; + } + } + + return ret; } /* 800D553C-800D560C .text changeArrowTypeNotReady__9daArrow_cFv */ @@ -453,7 +548,7 @@ void daArrow_c::setKeepMatrix() { } else { daPy_py_c* player = daPy_getPlayerActorClass(); - mDoMtx_stack_c::transS(0.7f, -0.07f, -0.2f); + mDoMtx_stack_c::transS(7.6f, -0.8f, -0.5f); // This function takes three signed shorts, but one of the literals passed here is unsigned. // X rotation must be a float literal to force the compiler to pass an unsigned short. // Z rotation must be an int literal to pass a signed short as normal. @@ -512,27 +607,410 @@ void daArrow_c::setStopActorMatrix() { /* 800D5A70-800D5B20 .text procWait__9daArrow_cFv */ BOOL daArrow_c::procWait() { - /* Nonmatching */ + speedF = 0.0f; + setKeepMatrix(); + cMtx_copy(mpModel->getBaseTRMtx(), field_0x6b4); + field_0x6e6 = shape_angle; + + if (fopAcM_GetParam(this) == 1) { + if (!mbShotByZelda) { + arrowUseMp(); + checkRestMp(); + } + + mCurrProcFunc = &procMove; + arrowShooting(); + } + + return TRUE; } /* 800D5B20-800D6BF4 .text procMove__9daArrow_cFv */ BOOL daArrow_c::procMove() { - /* Nonmatching */ + speedF = 100.0f; + current.pos += speed; + cXyz quarterStepPos = current.pos + speed*0.25f; + mLinChk.Set(&next.pos, &quarterStepPos, this); + field_0x6e6 = shape_angle; + + cMtx_copy(mpModel->getBaseTRMtx(), field_0x6b4); + field_0x67c.z += 0x889; + + s32 hitType = 0; // No hit + if (mCps.ChkAtHit()) { + cXyz temp12; + cXyz hitPos; + csXyz temp11; + if (mArrowType == TYPE_LIGHT && field_0x664 == 0 && mCps.ChkAtShieldHit() && fpcM_GetName(mCps.GetAtHitAc()) == PROC_PLAYER) { + mCps.GetAtHitAc(); + hitPos = *mCps.GetAtHitPosP(); + hitType = -1; // Reflected hit + field_0x664 = 1; + ShieldReflect(); + } else { + fopAc_ac_c* hitActor; + BOOL hitWasBlocked; + s32 bHitActor = mbHitActor; + if (bHitActor) { + hitActor = field_0x6ec; + hitPos = mNearestHitPos; + hitWasBlocked = FALSE; + } else { + hitActor = mCps.GetAtHitAc(); + hitPos = *mCps.GetAtHitPosP(); + hitWasBlocked = mCps.ChkAtShieldHit(); + } + + if (hitActor) { + JntHit_c* jntHit = fopAcM_GetJntHit(hitActor); + if (mArrowType == TYPE_LIGHT) { + if (fpcM_GetName(mCps.GetAtHitAc()) == PROC_BGN + || fpcM_GetName(mCps.GetAtHitAc()) == PROC_BGN2 + || fpcM_GetName(mCps.GetAtHitAc()) == PROC_BGN3) { + // Hit Puppet Ganon. + if (hitWasBlocked) { + field_0x6a8 = hitPos; + current.pos = hitPos - (speed * 0.25f); + + if (field_0x6e4 == 0) { + dKy_arrowcol_chg_on(¤t.pos, 2); + } + + mCurrProcFunc = &procStop_BG; + fopAcM_OnStatus(this, 0x4000); + fopAcM_SetParam(this, 2); + field_0x604 = 0x28; + + dComIfG_Bgsp()->i_GetTriPla(mLinChk); + + csXyz temp10; + temp10.x = cM_atan2s(speed.y, speed.absXZ()); + temp10.y = cM_atan2s(speed.x, speed.z); + temp10.z = 0; + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(temp10.x, temp10.y, 0); + cMtx_copy(mDoMtx_stack_c::get(), field_0x6b4); + + dComIfGp_particle_setToon(0x2A1, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + fopAcM_seStartCurrent(this, JA_SE_OBJ_LIGHT_ARW_EFF, 0); + fopAcM_delete(this); + } else { + hitType = 0; // No hit (pass through) + } + } else { + hitType = 0; // No hit (pass through) + } + } else if (hitWasBlocked) { + hitType = 1; // Blocked hit + } else if (jntHit) { + mHitJointIndex = jntHit->searchJntHitPosAngleOffset(&hitPos, &shape_angle, &temp12, &temp11); + if (mHitJointIndex >= 0) { + field_0x6e6 = temp11; + field_0x618 = temp12; + hitType = 2; // Hit a joint + } else if (mHitJointIndex == -3) { + fopAcM_delete(this); + return TRUE; + } + } + } + } + } + + if (hitType > 0) { + field_0x604 = 0x28; + fopAcM_OnStatus(this, 0x4000); + + if (mPtclFollowCb.mpEmitter) { + mPtclFollowCb.end(); + } + + if (hitType == 1) { // Blocked hit + fopAcM_SetParam(this, 3); + mCurrProcFunc = &procReturn; + speed *= -0.1f; + speed.y += speed.absXZ(); + current.pos = next.pos; + field_0x69c = 0x2C00; + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, 0); + mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); + fopAcM_seStartCurrent(this, JA_SE_LK_ARROW_REBOUND, 0x20); + } else if (hitType == 2) { // Hit a joint + fpcM_SetParam(this, 2); + mCurrProcFunc = &procStop_Actor; + + if (mArrowType == TYPE_FIRE) { + fopAcM_seStartCurrent(this, JA_SE_OBJ_FIRE_ARW_EFF, 0); + field_0x698 = 0; + } else if (mArrowType == TYPE_ICE) { + fopAcM_seStartCurrent(this, JA_SE_OBJ_ICE_ARW_EFF, 0); + } else if (mArrowType == TYPE_LIGHT) { + fopAcM_seStartCurrent(this, JA_SE_OBJ_LIGHT_ARW_EFF, 0); + field_0x698 = 0; + } + + setStopActorMatrix(); + } + } else if (dComIfG_Bgsp()->LineCross(&mLinChk)) { + cXyz* linEnd = &mLinChk.GetLinP()->GetEndP(); + field_0x6a8 = *linEnd; + current.pos = *linEnd - (speed * 0.25f); + + if (!check_water_in()) { + s32 temp8; + switch (mArrowType) { + case TYPE_FIRE: + temp8 = 0; + break; + case TYPE_ICE: + temp8 = 1; + break; + case TYPE_LIGHT: + temp8 = 2; + break; + default: + temp8 = -1; + } + + if (temp8 >= 0 && field_0x6e4 == 0) { + dKy_arrowcol_chg_on(¤t.pos, temp8); + } + + mCurrProcFunc = &procStop_BG; + fopAcM_OnStatus(this, 0x4000); + fopAcM_SetParam(this, 2); + field_0x604 = 0x28; + cM3dGPla* triPla = dComIfG_Bgsp()->i_GetTriPla(mLinChk); + + csXyz temp10; + temp10.x = cM_atan2s(-triPla->mNormal.y, -triPla->mNormal.absXZ()); + temp10.y = cM_atan2s(-triPla->mNormal.x, -triPla->mNormal.z); + temp10.z = 0; + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(temp10.x, temp10.y, 0); + cMtx_copy(mDoMtx_stack_c::get(), field_0x6b4); + + if (mArrowType == TYPE_FIRE) { + dComIfGp_particle_setToon(0x29A, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + dComIfGp_particle_setToon(0x29B, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + fopAcM_seStartCurrent(this, JA_SE_OBJ_FIRE_ARW_EFF, 0); + field_0x698 = 0; + } else if (mArrowType == TYPE_ICE) { + if (dComIfG_Bgsp()->ChkGrpInf(mLinChk, 0x200)) { + fopAcM_create(PROC_Obj_Magmarock, NULL, &field_0x6a8, current.roomNo, NULL, NULL, -1, NULL); + } else { + dComIfGp_particle_setToon(0x29E, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + + fopAcM_createChild( + PROC_ARROW_ICEEFF, fpcM_GetID(this), + mArrowType, &field_0x6a8, + current.roomNo, &field_0x6e6, NULL, -1, NULL + ); + + fopAcM_seStartCurrent(this, JA_SE_OBJ_ICE_ARW_EFF, 0); + } + } else if (mArrowType == TYPE_LIGHT) { + dComIfGp_particle_setToon(0x2A1, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + fopAcM_seStartCurrent(this, JA_SE_OBJ_LIGHT_ARW_EFF, 0); + field_0x698 = 0; + } + + s32 attribCode = dComIfG_Bgsp()->GetAttributeCode(mLinChk); + s32 mtrlSndId = dComIfG_Bgsp()->GetMtrlSndId(mLinChk); + + if (mArrowType == TYPE_NORMAL && (attribCode == 0x3 || attribCode == 0x14 || attribCode == 0xF || attribCode == 0x9 || attribCode == 0x15)) { + mCurrProcFunc = &procReturn; + fopAcM_SetParam(this, 3); + speed *= -0.1f; + speed.y += speed.absXZ(); + current.pos = next.pos; + field_0x69c = 0x2C00; + csXyz temp9; + cM3d_CalcVecZAngle(triPla->mNormal, &temp9); + + dComIfGp_particle_setToon(0xC, &field_0x6a8, &temp9, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + fopAcM_seStartCurrent(this, JA_SE_LK_ARROW_REBOUND, mtrlSndId); + } else { + fopAcM_seStartCurrent(this, JA_SE_LK_ARROW_HIT, mtrlSndId); + } + } + } else if (check_water_in()) { + // Do nothing. + // There was probably some code here that got commented out. + } + + if (mCurrProcFunc == &procWater) { + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, 0); + mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); + } else { + if ((current.pos - field_0x6a8).abs() > 25000.0f) { + speed.y -= 2.0f; + if (speed.y < -100.0f) { + speed.y = -100.0f; + } + if (field_0x6a8.y > current.pos.y) { + fopAcM_delete(this); + return TRUE; + } + } else if ((current.pos - field_0x6a8).abs() > 20000.0f) { + field_0x6e4 = 1; + } + + createBlur(); + + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, 0); + mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); + + cXyz end = current.pos + speed*1.25f; + mCps.SetStartEnd(current.pos, end); + mCps.SetR(5.0f); + mCps.CalcAtVec(); + + dComIfG_Ccsp()->Set(&mCps); + // Using the dComIfG_Ccsp inline here breaks the match. + // dComIfG_Ccsp()->SetMass(&mCps, 1); + g_dComIfG_gameInfo.play.mCcS.SetMass(&mCps, 1); + } + + return TRUE; } /* 800D6BF4-800D6E70 .text procReturn__9daArrow_cFv */ BOOL daArrow_c::procReturn() { - /* Nonmatching */ + speedF = 0.0f; + speed.y -= 2.0f; + current.pos += speed; + shape_angle.x += field_0x69c; + cXyz quarterStepPos = current.pos + speed*0.25f; + field_0x699 = daPy_lk_c::setItemWaterEffect(this, field_0x699, 1); + mLinChk.Set(&next.pos, &quarterStepPos, this); + setBlur(); + + if (dComIfG_Bgsp()->LineCross(&mLinChk)) { + cM3dGPla* triPla = dComIfG_Bgsp()->i_GetTriPla(mLinChk); + f32 temp2 = speed.abs(); + cXyz temp1; + C_VECReflect(&speed, &triPla->mNormal, &temp1); + speed.x = temp1.x*temp2*0.5f; + speed.y = temp1.y*temp2*0.5f; + speed.z = temp1.z*temp2*0.5f; + + s32 temp3 = -field_0x69c; + field_0x69c = (temp3 / 2); + triPla = dComIfG_Bgsp()->i_GetTriPla(mLinChk); + if (triPla->mNormal.y >= 0.5f) { + field_0x69a = 1; + } + } else if (field_0x69a && speed.y < 0.0f) { + fopAcM_delete(this); + } + + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, 0); + mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); + + return TRUE; } /* 800D6E70-800D71F8 .text procStop_BG__9daArrow_cFv */ BOOL daArrow_c::procStop_BG() { - /* Nonmatching */ + speedF = 0.0f; + + if (!dComIfG_Bgsp()->ChkPolySafe(mLinChk)) { + fopAcM_delete(this); + return TRUE; + } + + BOOL temp2 = FALSE; + + if (field_0x604 > 0) { + field_0x604--; + f32 temp4 = (field_0x604*(1/40.0f)) * 1024.0f * (field_0x604*(1/40.0f)) * cM_ssin(field_0x604*0x52FB); + shape_angle.x = field_0x6e6.x + temp4; + shape_angle.y = field_0x6e6.y; + temp2 = TRUE; + } else if (field_0x600) { + fopAcM_delete(this); + return TRUE; + } + + setBlur(); + + if (dComIfG_Bgsp()->ChkMoveBG(mLinChk)) { + dComIfG_Bgsp()->MoveBgTransPos(mLinChk, true, &field_0x6a8, ¤t.angle, &shape_angle); + temp2 = TRUE; + } + + if (temp2) { + f32 xCos = cM_scos(shape_angle.x); + current.pos.x = field_0x6a8.x - cM_ssin(shape_angle.y) * 50.0f * xCos; + current.pos.y = field_0x6a8.y + cM_ssin(shape_angle.x) * 50.0f; + current.pos.z = field_0x6a8.z - cM_scos(shape_angle.y) * 50.0f * xCos; + + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, 0); + mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); + } + + if (mArrowType == TYPE_NORMAL) { + mSph.SetC(current.pos); + dComIfG_Ccsp()->Set(&mSph); + + if (field_0x6a0 == 0) { + field_0x600 = true; + field_0x698 = 0; + } else { + field_0x6a0--; + + if (field_0x6a0 < 60) { + // This matches but probably isn't what they actually wrote. + u32 signBit = ((u32)field_0x6a0)>>31; + if ((((field_0x6a0&1) ^ signBit) - signBit) == 0) { + field_0x698 = 0; + } else { + field_0x698 = 1; + } + } else { + field_0x698 = 1; + } + } + + if (mSph.ChkCoHit()) { + dComIfGp_getItemArrowNumCount(1); + fopAcM_createItemForSimpleDemo(¤t.pos, ARROW_10, -1, NULL, NULL, 0.0f, 0.0f); + mDoAud_seStart(JA_SE_CONSUMP_ITEM_GET, NULL, 0, 0); + fopAcM_delete(this); + return TRUE; + } + } + + if (mbShotByZelda) { + field_0x600 = true; + } + + return TRUE; } /* 800D71F8-800D727C .text procStop_Actor__9daArrow_cFv */ BOOL daArrow_c::procStop_Actor() { - /* Nonmatching */ + speedF = 0.0f; + if (field_0x600) { + fopAcM_delete(this); + return TRUE; + } + + setBlur(); + + if (fopAcM_SearchByID(mHitActorProcID)) { + setStopActorMatrix(); + } else { + field_0x600 = true; + } + + return TRUE; } /* 800D727C-800D72BC .text procWater__9daArrow_cFv */ @@ -620,7 +1098,88 @@ BOOL daArrow_c::createInit() { /* 800D74FC-800D7820 .text _execute__9daArrow_cFv */ BOOL daArrow_c::_execute() { - /* Nonmatching */ + if (mbShotByZelda) { + if (field_0x664 == 0) { + if (daPy_getPlayerLinkActorClass()->checkPlayerGuard()) { + mCps.SetAtSpl((dCcG_At_Spl)0); + mCps.SetAtType(AT_TYPE_NORMAL_ARROW); + } else { + mCps.SetAtSpl((dCcG_At_Spl)0xB); + mCps.SetAtType(AT_TYPE_LIGHT_ARROW); + } + } else { + mCps.SetAtSpl((dCcG_At_Spl)0); + mCps.SetAtType(AT_TYPE_NORMAL_ARROW); + } + } + + if (field_0x608 != 0) { + field_0x608--; + s8 temp4 = 0; + daPy_py_c* player = daPy_getPlayerActorClass(); + + cXyz offset; + offset.x = 0.0f; + offset.y = g_regHIO.mChild->mFloatRegs[8] + 45.0f; + offset.z = g_regHIO.mChild->mFloatRegs[9] + 30.0f; + mDoMtx_YrotS(*calc_mtx, player->shape_angle.y); + cXyz offsetOut; + MtxPosition(&offset, &offsetOut); + current.pos = player->current.pos + offsetOut; + + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, 0); + mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); + + if (mpSparkleEmitter) { + if (field_0x608) { + f32 scale = field_0x608*2.0f; + if (scale > 7.0f) { + scale = 7.0f; + } + mpSparkleEmitter->setGlobalTranslation(current.pos.x, current.pos.y, current.pos.z); + JGeometry::TVec3 scaleVec; + scaleVec.x = scale; + scaleVec.y = scale; + scaleVec.z = scale; + mpSparkleEmitter->setGlobalParticleScale(scaleVec); + } else { + mpSparkleEmitter->becomeInvalidEmitter(); + mpSparkleEmitter = NULL; + temp4 = 1; + } + } + if (temp4 == 0) { + return TRUE; + } + } + + if (field_0x602 == m_count) { + field_0x600 = true; + } + + if (mBtkFrame > 0.0f) { + mBtkFrame += 1.0f; + if (mBtkFrame >= mpBtk->getFrameMax()) { + mBtkFrame = 0.0f; + } + } else { + if (cM_rnd() < 0.02f) { + mBtkFrame += 1.0f; + } + } + + setLightEffect(); + + if (mCurrProcFunc) { + (this->*mCurrProcFunc)(); + } + + mAttentionInfo.mPosition = current.pos; + mEyePos = current.pos; + setRoomInfo(); + + return TRUE; } /* 800D7820-800D7960 .text _draw__9daArrow_cFv */ diff --git a/src/d/actor/d_a_branch.cpp b/src/d/actor/d_a_branch.cpp index e70c727a9..7d71368c1 100644 --- a/src/d/actor/d_a_branch.cpp +++ b/src/d/actor/d_a_branch.cpp @@ -120,7 +120,7 @@ s32 daBranch_c::CreateHeap() { 0, 0, static_cast(dComIfG_getObjectIDRes(m_arcname, bckIds[i])), - 0, + -1, 1.0f, 0, -1, diff --git a/src/d/actor/d_a_item.cpp b/src/d/actor/d_a_item.cpp index 1f5a2e500..194139443 100644 --- a/src/d/actor/d_a_item.cpp +++ b/src/d/actor/d_a_item.cpp @@ -11,39 +11,17 @@ #include "d/d_com_inf_game.h" #include "JSystem/JKernel/JKRHeap.h" #include "d/d_procname.h" +#include "m_Do/m_Do_mtx.h" +#include "f_op/f_op_camera_mng.h" #include "dolphin/types.h" class dCcD_GObjInf; -dCcD_SrcCyl daItem_c::m_cyl_src = { - // dCcD_SrcGObjInf - { - /* Flags */ 0, - /* SrcObjAt Type */ 0, - /* SrcObjAt Atp */ 0, - /* SrcObjAt SPrm */ 0, - /* SrcObjTg Type */ 0xFFFFFFFF, - /* SrcObjTg SPrm */ 0x09, - /* SrcObjCo SPrm */ 0x59, - /* SrcGObjAt Se */ 0, - /* SrcGObjAt HitMark */ 0, - /* SrcGObjAt Spl */ 0, - /* SrcGObjAt Mtrl */ 0, - /* SrcGObjAt GFlag */ 0, - /* SrcGObjTg Se */ 0, - /* SrcGObjTg HitMark */ 0, - /* SrcGObjTg Spl */ 0, - /* SrcGObjTg Mtrl */ 0, - /* SrcGObjTg GFlag */ 0x04, - /* SrcGObjCo GFlag */ 0, - }, - // cM3dGCylS - { - /* Center */ 0.0f, 0.0f, 0.0f, - /* Radius */ 10.0f, - /* Height */ 50.0f, - }, -}; +// Needed for the .data section to match. +static f32 dummy1[3] = {1.0f, 1.0f, 1.0f}; +static f32 dummy2[3] = {1.0f, 1.0f, 1.0f}; + +s32 daItem_c::m_timer_max = 10000; /* 800F4BC8-800F4BD4 .text getData__12daItemBase_cFv */ daItemBase_c_m_data* daItemBase_c::getData() { @@ -51,8 +29,11 @@ daItemBase_c_m_data* daItemBase_c::getData() { } /* 800F4BD4-800F4C4C .text setArrowTrans__Fs4cXyz */ -void setArrowTrans(short, cXyz) { - /* Nonmatching */ +cXyz setArrowTrans(s16 yRot, cXyz offset) { + cXyz arrowTrans = offset; + mDoMtx_stack_c::YrotS(yRot); + mDoMtx_stack_c::multVec(&arrowTrans, &arrowTrans); + return arrowTrans; } /* 800F4C4C-800F4CD8 .text getYOffset__8daItem_cFv */ @@ -72,10 +53,10 @@ float daItem_c::getYOffset() { case GREEN_JELLY: case BLUE_JELLY: return 0.0f; - case SWORD: - return 20.0f; case SHIELD: return 23.0f; + case SWORD: + return 20.0f; case DROPPED_SWORD: return 10.0f; case GREEN_RUPEE: @@ -99,22 +80,61 @@ float daItem_c::getYOffset() { /* 800F4CD8-800F4E6C .text set_mtx__8daItem_cFv */ void daItem_c::set_mtx() { - /* Nonmatching */ + cXyz pos = current.pos; + csXyz rot = current.angle; + if (m_itemNo == UTUWA_HEART) { + rot.y = shape_angle.y; + } + set_mtx_base(mpModel, pos, rot); + + if (isArrow(m_itemNo)) { + cXyz offset(5.0f, 0.0f, 10.0f); + cXyz arrowTrans = setArrowTrans(current.angle.y, offset); + + pos += arrowTrans; + set_mtx_base(mpModelArrow[0], pos, rot); + + pos += arrowTrans; + set_mtx_base(mpModelArrow[1], pos, rot); + } } /* 800F4E6C-800F4FDC .text set_mtx_base__8daItem_cFP8J3DModel4cXyz5csXyz */ -void daItem_c::set_mtx_base(J3DModel*, cXyz, csXyz) { - /* Nonmatching */ +void daItem_c::set_mtx_base(J3DModel* pModel, cXyz pos, csXyz rot) { + if (!pModel) { + return; + } + + pModel->setBaseScale(mScale); + + mDoMtx_stack_c::transS(pos.x, pos.y + getYOffset(), pos.z); + + if (isRupee(m_itemNo)) { + u8 height = dItem_data::getH(m_itemNo); + mDoMtx_stack_c::transM(0.0f, height/2.0f, 0.0f); + } + + mDoMtx_stack_c::ZXYrotM(rot.x, rot.y, rot.z + mExtraZRot); + + if (isRupee(m_itemNo)) { + u8 height = dItem_data::getH(m_itemNo); + mDoMtx_stack_c::transM(0.0f, -height/2.0f, 0.0f); + } + + pModel->setBaseTRMtx(mDoMtx_stack_c::get()); } /* 800F4FDC-800F5044 .text itemGetCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf */ -void itemGetCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*) { - /* Nonmatching */ +void itemGetCallBack(fopAc_ac_c* item_actor, dCcD_GObjInf*, fopAc_ac_c* collided_actor, dCcD_GObjInf*) { + daItem_c* item = (daItem_c*)item_actor; + daPy_lk_c* link = daPy_getPlayerLinkActorClass(); + if (item && item->checkPlayerGet() && collided_actor && collided_actor == link) { + item->itemGetExecute(); + } } /* 800F5044-800F53EC .text CreateInit__8daItem_cFv */ void daItem_c::CreateInit() { - /* Nonmatching */ mAcchCir.SetWall(30.0f, 30.0f); cXyz* speedPtr; mAcch.Set(¤t.pos, &next.pos, this, 1, &mAcchCir, speedPtr = &speed, NULL, NULL); @@ -139,17 +159,15 @@ void daItem_c::CreateInit() { mCyl.SetH(height); mItemTimer = getData()->mDuration; - field7_0x65a = getData()->field7_0x18; - field3_0x650 = speedPtr->y; + field_0x65a = getData()->field_0x18; + field_0x650 = speedPtr->y; mCurState = 0; - mUnknownParam = (fpcM_GetParam(this) & 0x03000000) >> 0x18; - // TODO: should probably add inlines here - // e.g. getType__10daItem_prmFP8daItem_c etc - if ((fpcM_GetParam(this) & 0x03000000) >> 0x18 == 3 || (fpcM_GetParam(this) & 0x03000000) >> 0x18 == 1) { + mType = daItem_prm::getType(this); + if (daItem_prm::getType(this) == 3 || daItem_prm::getType(this) == 1) { mStatusFlags |= 2; } - mItemAction = (fpcM_GetParam(this) & 0xFC000000) >> 0x1A; + mAction = daItem_prm::getAction(this); show(); @@ -174,12 +192,12 @@ void daItem_c::CreateInit() { break; } - mSwitchId = (fpcM_GetParam(this) & 0x00FF0000) >> 0x10; + mSwitchId = daItem_prm::getSwitchNo2(this); if (mSwitchId != 0xFF && !fopAcM_isSwitch(this, mSwitchId)) { hide(); mStatusFlags |= 2; } - mActivationSwitch = (orig.angle.z & 0x00FF) >> 0; + mActivationSwitch = daItem_prm::getSwitchNo(this); current.angle.z = 0; orig.angle.z = 0; @@ -198,25 +216,23 @@ void daItem_c::CreateInit() { set_mtx(); animPlay(1.0f, 1.0f, 1.0f, 1.0f, 1.0f); - s16 procname = PROC_BST; // Gohdan - if (fopAcIt_Judge(&fpcSch_JudgeForPName, &procname)) { + if (fopAcM_SearchByName(PROC_BST)) { // Gohdan mpParticleEmitter = dComIfGp_particle_set(0x81E1, ¤t.pos, NULL, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); } } /* 800F53EC-800F5668 .text _daItem_create__8daItem_cFv */ s32 daItem_c::_daItem_create() { - /* Nonmatching */ fopAcM_SetupActor(this, daItem_c); - m_itemNo = (fpcM_GetParam(this) & 0x000000FF) >> 0x00; + m_itemNo = daItem_prm::getItemNo(this); if (!dItem_data::getFieldArc(m_itemNo)) { setLoadError(); return cPhs_ERROR_e; } - mPickupFlag = (fpcM_GetParam(this) & 0x0000FF00) >> 0x08; + mPickupFlag = daItem_prm::getItemBitNo(this); if (m_itemNo != BLUE_JELLY) { // Blue Chu Jelly uses mPickupFlag as if it was a switch. mPickupFlag &= 0x7F; if (dComIfGs_isItem(mPickupFlag, orig.roomNo) && mPickupFlag != 0x7F) { @@ -228,11 +244,11 @@ s32 daItem_c::_daItem_create() { s32 phase_state = dComIfG_resLoad(&mPhs, dItem_data::getFieldArc(m_itemNo)); if (phase_state == cPhs_COMPLEATE_e) { - s32 result = fopAcM_entrySolidHeap(this, &CheckFieldItemCreateHeap, dItem_data::getFieldHeapSize(m_itemNo)); - if (!result) { + // Note: The demo version calls getHeapSize instead of getFieldHeapSize here. + u32 heap_size = dItem_data::getFieldHeapSize(m_itemNo); + if (!fopAcM_entrySolidHeap(this, &CheckFieldItemCreateHeap, heap_size)) { return cPhs_ERROR_e; } - CreateInit(); } @@ -240,57 +256,191 @@ s32 daItem_c::_daItem_create() { } /* 800F5668-800F5834 .text _daItem_execute__8daItem_cFv */ -s32 daItem_c::_daItem_execute() { - /* Nonmatching */ +BOOL daItem_c::_daItem_execute() { + if (mSwitchId != 0xFF && !fopAcM_isSwitch(this, mSwitchId)) { + return TRUE; + } + if (mSwitchId != 0xFF && fopAcM_isSwitch(this, mSwitchId)) { + show(); + } + + timeCount(); + + mEyePos = current.pos; + mEyePos.y += dItem_data::getH(m_itemNo)/2.0f; + mAttentionInfo.mPosition = current.pos; + + switch (mCurState) { + case 3: + execBringNezumi(); + break; + case 0: + case 1: + if (checkActionNow()) { + mCurState = 1; + } else { + mCurState = 0; + } + case 2: + execWaitMain(); + break; + case 5: + execInitNormalDirection(); + case 6: + execMainNormalDirection(); + break; + case 7: + execInitGetDemoDirection(); + break; + case 8: + execWaitGetDemoDirection(); + break; + case 9: + execMainGetDemoDirection(); + break; + case 0xA: + case 0xB: + execWaitMainFromBoss(); + break; + } + + animPlay(1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + set_mtx(); + + return TRUE; } /* 800F5834-800F59CC .text mode_proc_call__8daItem_cFv */ void daItem_c::mode_proc_call() { - /* Nonmatching */ + static daItem_c_ModeFunc mode_proc[] = { + &mode_wait, + &mode_wait, + &mode_water, + }; + + if (mType == 1) { + itemDefaultRotateY(); + } else { + (this->*mode_proc[mMode])(); + } + + if (mStatusFlags & 0x08) { + fopAc_ac_c* boomerang = (fopAc_ac_c*)fopAcM_SearchByName(PROC_BOOMERANG); + if (boomerang) { + current.pos = boomerang->current.pos; + } else { + mStatusFlags &= ~0x08; + } + } + + if (mStatusFlags & 0x40) { + fopAc_ac_c* grappling_hook = (fopAc_ac_c*)fopAcM_SearchByName(PROC_HIMO2); + if (grappling_hook) { + current.pos = grappling_hook->current.pos; + } else { + mStatusFlags &= ~0x40; + } + } + + if (mType == 1 && (fopAcM_checkHookCarryNow(this) || mStatusFlags & 0x08)) { + mType = 3; + } } /* 800F59CC-800F5AFC .text execInitNormalDirection__8daItem_cFv */ void daItem_c::execInitNormalDirection() { - /* Nonmatching */ - daPy_getPlayerActorClass()->getHeadTopPos(); - - field8_0x65c = getData()->field45_0x40; + daPy_py_c* player = daPy_getPlayerActorClass(); + cXyz headPos = player->getHeadTopPos(); + headPos.y += 15.0f; + current.pos = headPos; + current.angle.z = 0; + current.angle.x = 0; + mScale.set(mScaleTarget.x, mScaleTarget.y, mScaleTarget.z); + mExtraZRot = 0; + field_0x65c = getData()->field_0x40; f32 speedY = getData()->mPickedUpInitialSpeedY; - speed.x = 0; - speed.y = speedY; - speed.z = 0; + speed.set(0.0f, speedY, 0.0f); mGravity = getData()->mPickedUpGravity; show(); - // TODO dPa_smokeEcallBack - // TODO mpParticleEmitter + mCyl.SetTgType(0); + mCyl.OffCoSPrmBit(1); + + mPtclSmokeCb.end(); + if (mpParticleEmitter) { + mpParticleEmitter->becomeInvalidEmitter(); + mpParticleEmitter = NULL; + } + + mCurState = 6; } /* 800F5AFC-800F5BC8 .text execMainNormalDirection__8daItem_cFv */ void daItem_c::execMainNormalDirection() { - /* Nonmatching */ + daPy_py_c* player = daPy_getPlayerActorClass(); + cXyz headPos = player->getHeadTopPos(); + headPos.y += 15.0f; + current.pos.x = headPos.x; + current.pos.z = headPos.z; + fopAcM_posMoveF(this, NULL); + if (current.pos.y < headPos.y) { + current.pos.y = headPos.y; + } + + current.angle = dComIfGp_getCamera(0)->mAngle; + + field_0x65c--; + if (field_0x65c < 0) { + fopAcM_delete(this); + } } /* 800F5BC8-800F5C68 .text execInitGetDemoDirection__8daItem_cFv */ void daItem_c::execInitGetDemoDirection() { - /* Nonmatching */ + fopAc_ac_c* player = daPy_getPlayerActorClass(); + daPy_lk_c* link = daPy_getPlayerLinkActorClass(); + + hide(); + mPtclFollowCb.end(); + + if (player == link) { + fopAcM_orderItemEvent(this); + mEvtInfo.onCondition(dEvtCnd_CANGETITEM_e); + mDemoItemBsPcId = fopAcM_createItemForTrBoxDemo(¤t.pos, m_itemNo, -1, current.roomNo, NULL, NULL); + mCurState = 8; + } } /* 800F5C68-800F5CDC .text execWaitGetDemoDirection__8daItem_cFv */ void daItem_c::execWaitGetDemoDirection() { - /* Nonmatching */ + hide(); + + if (mEvtInfo.checkCommandItem()) { + mCurState = 9; + if (mDemoItemBsPcId != -1) { + dComIfGp_event_setItemPartnerId(mDemoItemBsPcId); + } + } else { + fopAcM_orderItemEvent(this); + mEvtInfo.onCondition(dEvtCnd_CANGETITEM_e); + } } /* 800F5CDC-800F5D44 .text execMainGetDemoDirection__8daItem_cFv */ void daItem_c::execMainGetDemoDirection() { - /* Nonmatching */ + hide(); + + if (dComIfGp_evmng_endCheck("DEFAULT_GETITEM")) { + dComIfGp_event_reset(); + fopAcM_delete(this); + } } /* 800F5D44-800F5D88 .text execBringNezumi__8daItem_cFv */ void daItem_c::execBringNezumi() { - if (mUnknownParam != 1) { + if (mType != 1) { fopAcM_posMoveF(this, mStts.GetCCMoveP()); } mode_proc_call(); @@ -298,25 +448,79 @@ void daItem_c::execBringNezumi() { /* 800F5D88-800F5F40 .text execWaitMain__8daItem_cFv */ void daItem_c::execWaitMain() { - /* Nonmatching */ + checkGetItem(); + if (mType != 1) { + fopAcM_posMoveF(this, mStts.GetCCMoveP()); + } + mode_proc_call(); + + if (!(mStatusFlags & 0x02)) { + f32 temp1 = mScaleTarget.x / getData()->mScaleAnimSpeed; + f32 temp2 = mScaleTarget.y / getData()->mScaleAnimSpeed; + f32 temp3 = mScaleTarget.z / getData()->mScaleAnimSpeed; + cLib_chaseF(&mScale.x, mScaleTarget.x, temp1); + cLib_chaseF(&mScale.y, mScaleTarget.y, temp2); + cLib_chaseF(&mScale.z, mScaleTarget.z, temp3); + } + + if (checkItemDisappear() && mItemTimer == 0) { + if (field_0x65a == 0) { + fopAcM_delete(this); + } + s32 temp1 = getData()->field_0x14; + s32 temp2 = field_0x634 / temp1; + if (!(field_0x634 - temp2 * temp1)) { + changeDraw(); + } + } + + if (!dItem_data::chkFlag(m_itemNo, 2)) { + if (mActivationSwitch == 0xFF || (mActivationSwitch != 0xFF && fopAcM_isSwitch(this, mActivationSwitch))) { + mCyl.SetC(current.pos); + dComIfG_Ccsp()->Set(&mCyl); + } + } } /* 800F5F40-800F5FC0 .text execWaitMainFromBoss__8daItem_cFv */ void daItem_c::execWaitMainFromBoss() { - /* Nonmatching */ + checkGetItem(); + if (mType != 1) { + fopAcM_posMoveF(this, mStts.GetCCMoveP()); + } + mode_proc_call(); + + if (mCurState != 0xB) { + scaleAnimFromBossItem(); + } + + mCyl.SetC(current.pos); + dComIfG_Ccsp()->Set(&mCyl); } /* 800F5FC0-800F60C0 .text scaleAnimFromBossItem__8daItem_cFv */ void daItem_c::scaleAnimFromBossItem() { - /* Nonmatching */ + if (field_0x638 < 30) { + mScale.x = cM_ssin(field_0x634*0x2000 - 0x4000)*2.0f / field_0x634+1.0f; + if (mScale.x < 0.0f) { + mScale.x = 0.0f; + } + mScale.y = mScale.x; + mScale.z = mScale.x; + } else { + if (field_0x638 == 30) { + fopAcM_seStart(this, JA_SE_CM_BOSS_HEART_APPEAR, 0); + } + mScale.setAll(1.0f); + } } /* 800F60C0-800F6110 .text _daItem_draw__8daItem_cFv */ -s32 daItem_c::_daItem_draw() { +BOOL daItem_c::_daItem_draw() { if (chkDraw()) { return DrawBase(); } - return 1; + return TRUE; } /* 800F6110-800F61C8 .text setTevStr__8daItem_cFv */ @@ -340,22 +544,241 @@ void daItem_c::setTevStr() { } /* 800F61C8-800F6268 .text _daItem_delete__8daItem_cFv */ -s32 daItem_c::_daItem_delete() { - /* Nonmatching */ +BOOL daItem_c::_daItem_delete() { mPtclRippleCb.end(); - // TODO + mPtclFollowCb.end(); + mPtclSmokeCb.end(); + if (mpParticleEmitter) { + mpParticleEmitter->becomeInvalidEmitter(); + mpParticleEmitter = NULL; + } + DeleteBase(dItem_data::getFieldArc(m_itemNo)); + + return TRUE; } /* 800F6268-800F6434 .text Reflect__FR4cXyzP4cXyzff */ -void Reflect(cXyz&, cXyz*, float, float) { - /* Nonmatching */ +bool Reflect(cXyz& surfVec, cXyz* moveVec, f32 param_2, f32 xzMult) { + // Reflects a vector off the normal of a surface. + cXyz reflectVec; + cXyz moveNorm; + cXyz surfNorm; + f32 mag = moveVec->abs(); + moveNorm = moveVec->normalize(); + surfNorm = surfVec.normalize(); + moveNorm = moveNorm * -1.0f; + f32 dot = 2.0f*surfNorm.getDotProduct(moveNorm); + bool hitFront = true; + if (dot < 0.0f) { + hitFront = false; + } + reflectVec = (surfNorm * dot) - moveNorm; + reflectVec *= mag; + moveVec->x = reflectVec.x * xzMult; + moveVec->y = reflectVec.y; + moveVec->z = reflectVec.z * xzMult; + return hitFront; } /* 800F6434-800F6D24 .text itemGetExecute__8daItem_cFv */ void daItem_c::itemGetExecute() { - /* Nonmatching */ - execItemGet(m_itemNo); + if (mCurState == 5) { + return; + } + mCurState = 5; + + switch (m_itemNo) { + case HEART: + mDoAud_seStart(JA_SE_HEART_PIECE, NULL, 0, 0); + execItemGet(m_itemNo); + break; + case GREEN_RUPEE: + mDoAud_seStart(JA_SE_LUPY_GET, NULL, 0, 0); + execItemGet(m_itemNo); + break; + case BLUE_RUPEE: + mDoAud_seStart(JA_SE_BLUE_LUPY_GET, NULL, 0, 0); + execItemGet(m_itemNo); + break; + case YELLOW_RUPEE: + mDoAud_seStart(JA_SE_BLUE_LUPY_GET, NULL, 0, 0); + execItemGet(m_itemNo); + break; + case RED_RUPEE: + mDoAud_seStart(JA_SE_RED_LUPY_GET, NULL, 0, 0); + execItemGet(m_itemNo); + break; + case PURPLE_RUPEE: + mDoAud_seStart(JA_SE_RED_LUPY_GET, NULL, 0, 0); + execItemGet(m_itemNo); + break; + case ORANGE_RUPEE: + mDoAud_seStart(JA_SE_RED_LUPY_GET, NULL, 0, 0); + execItemGet(m_itemNo); + break; + case SILVER_RUPEE: + mDoAud_seStart(JA_SE_RED_LUPY_GET, NULL, 0, 0); + execItemGet(m_itemNo); + break; + case UTUWA_HEART: + mDoAud_seStart(JA_SE_HEART_PIECE, NULL, 0, 0); + mCurState = 7; + break; + case KAKERA_HEART: + mDoAud_seStart(JA_SE_HEART_PIECE, NULL, 0, 0); + mCurState = 7; + break; + case S_MAGIC: + mDoAud_seStart(JA_SE_MAGIC_POT_GET_S, NULL, 0, 0); + execItemGet(m_itemNo); + break; + case L_MAGIC: + mDoAud_seStart(JA_SE_MAGIC_POT_GET_L, NULL, 0, 0); + execItemGet(m_itemNo); + break; + case BOMB_5: + case BOMB_10: + case BOMB_20: + case BOMB_30: + mDoAud_seStart(JA_SE_CONSUMP_ITEM_GET, NULL, 0, 0); + execItemGet(m_itemNo); + break; + case SMALL_KEY: + mCurState = 7; + break; + case TRIPLE_HEART: + mDoAud_seStart(JA_SE_HEART_PIECE, NULL, 0, 0); + execItemGet(m_itemNo); + break; + case PENDANT: + mDoAud_seStart(JA_SE_SPOILS_GET, NULL, 0, 0); + if (!dComIfGs_isGetItemBeast(7)) { + mCurState = 7; + dComIfGs_onGetItemBeast(7); + } else { + execItemGet(m_itemNo); + } + break; + case DEKU_LEAF: + mCurState = 7; + break; + case SWORD: + daItem_c* item = (daItem_c*)fopAcM_SearchByName(PROC_ITEM); + if (item && item->m_itemNo == SHIELD) { + item->itemGetExecute(); + } + mCurState = 7; + break; + case SHIELD: + item = (daItem_c*)fopAcM_SearchByName(PROC_ITEM); + if (item && item->m_itemNo == SWORD) { + item->itemGetExecute(); + } + mCurState = 7; + break; + case DROPPED_SWORD: + mCurState = 7; + break; + case SKULL_NECKLACE: + mDoAud_seStart(JA_SE_SPOILS_GET, NULL, 0, 0); + if (!dComIfGs_isGetItemBeast(0)) { + mCurState = 7; + dComIfGs_onGetItemBeast(0); + } else { + execItemGet(m_itemNo); + } + break; + case BOKOBABA_SEED: + mDoAud_seStart(JA_SE_SPOILS_GET, NULL, 0, 0); + if (!dComIfGs_isGetItemBeast(1)) { + mCurState = 7; + dComIfGs_onGetItemBeast(1); + } else { + execItemGet(m_itemNo); + } + break; + case GOLDEN_FEATHER: + mDoAud_seStart(JA_SE_SPOILS_GET, NULL, 0, 0); + if (!dComIfGs_isGetItemBeast(2)) { + mCurState = 7; + dComIfGs_onGetItemBeast(2); + } else { + execItemGet(m_itemNo); + } + break; + case BOKO_BELT: + mDoAud_seStart(JA_SE_SPOILS_GET, NULL, 0, 0); + if (!dComIfGs_isGetItemBeast(3)) { + mCurState = 7; + dComIfGs_onGetItemBeast(3); + } else { + execItemGet(m_itemNo); + } + break; + case RED_JELLY: + mDoAud_seStart(JA_SE_SPOILS_GET, NULL, 0, 0); + if (!dComIfGs_isGetItemBeast(4)) { + mCurState = 7; + dComIfGs_onGetItemBeast(4); + } else { + execItemGet(m_itemNo); + } + break; + case GREEN_JELLY: + mDoAud_seStart(JA_SE_SPOILS_GET, NULL, 0, 0); + if (!dComIfGs_isGetItemBeast(5)) { + mCurState = 7; + dComIfGs_onGetItemBeast(5); + } else { + execItemGet(m_itemNo); + } + break; + case BLUE_JELLY: + mDoAud_seStart(JA_SE_SPOILS_GET, NULL, 0, 0); + if (!dComIfGs_isGetItemBeast(6)) { + mCurState = 7; + dComIfGs_onGetItemBeast(6); + } else { + execItemGet(m_itemNo); + } + break; + case ANIMAL_ESA: + mDoAud_seStart(JA_SE_ESA_GET, NULL, 0, 0); + if (!dComIfGs_isGetItemBait(0)) { + mCurState = 7; + dComIfGs_onGetItemBait(0); + } else { + execItemGet(m_itemNo); + } + break; + case BIRD_ESA_5: + mDoAud_seStart(JA_SE_ESA_GET, NULL, 0, 0); + if (!dComIfGs_isGetItemBait(1)) { + mCurState = 7; + dComIfGs_onGetItemBait(1); + } else { + execItemGet(m_itemNo); + } + break; + } + + u8 roomNo = getRoomNo(); + s32 flag = mPickupFlag; + if (m_itemNo == BLUE_JELLY) { + // Blue Chu Jelly uses mPickupFlag as if it was a switch. + // Specifically a switch in stageNo 0xE, which is not used for anything else. + dComIfGs_onSaveSwitch(0xE, flag); + } else { + dComIfGs_onItem(flag, (s8)roomNo); + } + + mStatusFlags &= ~0x4; + + mCyl.SetTgType(0); + mCyl.OffCoSPrmBit(1); + mCyl.ClrTgHit(); + mCyl.ClrCoHit(); } /* 800F6D24-800F6D78 .text itemDefaultRotateY__8daItem_cFv */ @@ -366,8 +789,8 @@ void daItem_c::itemDefaultRotateY() { } /* 800F6D78-800F6E54 .text checkItemDisappear__8daItem_cFv */ -bool daItem_c::checkItemDisappear() { - bool disappearing = true; +BOOL daItem_c::checkItemDisappear() { + BOOL disappearing = true; if (mCurState == 3) { disappearing = false; show(); @@ -405,7 +828,7 @@ void daItem_c::setItemTimer(int timer) { /* 800F6E74-800F6EC8 .text checkPlayerGet__8daItem_cFv */ BOOL daItem_c::checkPlayerGet() { - if (field_0x638 < getData()->field47_0x42) { + if (field_0x638 < getData()->field_0x42) { return FALSE; } if (mCurState == 3) { @@ -446,18 +869,77 @@ void daItem_c::itemActionForArrow() { /* 800F7AF0-800F7BF8 .text checkWall__8daItem_cFv */ void daItem_c::checkWall() { - /* Nonmatching */ + // If the item hit a wall, bounce off. + if (!mAcch.ChkWallHit()) { + return; + } + + cM3dGPla* wallPlane = dComIfG_Bgsp()->GetTriPla(mAcchCir.GetBgIndex(), mAcchCir.GetPolyIndex()); + cXyz wallNorm = wallPlane->mNormal; + + cXyz vel; + vel.x = speedF * cM_ssin(current.angle.y); + vel.y = speed.y; + vel.z = speedF * cM_scos(current.angle.y); + + if (!cM3d_IsZero(vel.x) || !cM3d_IsZero(vel.z)) { + Reflect(wallNorm, &vel, 1.0f, 1.0f); + if (!cM3d_IsZero(vel.x)) { + current.angle.y = cM_atan2s(vel.x, vel.z); + } + } } /* 800F7BF8-800F7DDC .text set_bound_se__8daItem_cFv */ void daItem_c::set_bound_se() { - /* Nonmatching */ + if (field_0x638 < 10) { + return; + } + + f32 temp2 = fabs(field_0x650); + temp2 = 2.0f * temp2; + u32 temp = temp2; + if (temp > 100) { + temp = 100; + } + + switch (m_itemNo) { + case GREEN_RUPEE: + case BLUE_RUPEE: + case YELLOW_RUPEE: + case RED_RUPEE: + case PURPLE_RUPEE: + case ORANGE_RUPEE: + fopAcM_seStart(this, JA_SE_OBJ_LUPY_BOUND, temp); + break; + case S_MAGIC: + case L_MAGIC: + fopAcM_seStart(this, JA_SE_OBJ_M_POT_BOUND, temp); + break; + case ARROW_10: + case ARROW_20: + case ARROW_30: + case MAGIC_ARROW: + case LIGHT_ARROW: + fopAcM_seStart(this, JA_SE_CM_BST_ARROW_BOUND, temp); + break; + case KAKERA_HEART: + case UTUWA_HEART: + fopAcM_seStart(this, JA_SE_CM_BST_HEART_BOUND, temp); + break; + case BOMB_5: + case BOMB_10: + case BOMB_20: + case BOMB_30: + fopAcM_seStart(this, JA_SE_CM_BST_BOMB_BOUND, temp); + break; + } } /* 800F7DDC-800F7E6C .text checkGetItem__8daItem_cFv */ -s32 daItem_c::checkGetItem() { +BOOL daItem_c::checkGetItem() { if (!checkPlayerGet()) { - return 0; + return FALSE; } if (mCyl.ChkTgHit()) { @@ -466,24 +948,39 @@ s32 daItem_c::checkGetItem() { u32 atType = hitObj->GetAtType(); if (atType & AT_TYPE_SWORD) { itemGetExecute(); - return 1; + return TRUE; } else if (atType & AT_TYPE_BOOMERANG) { mStatusFlags |= 0x08; } } } - return 0; + return FALSE; } /* 800F7E6C-800F7F0C .text timeCount__8daItem_cFv */ -void daItem_c::timeCount() { - /* Nonmatching */ +BOOL daItem_c::timeCount() { + field_0x634++; + if (field_0x638 < m_timer_max) { + field_0x638++; + } + + if (checkPlayerGet() && !dComIfGp_event_runCheck()) { + if (mItemTimer > 0) { + mItemTimer--; + } else if (field_0x65a > 0) { + field_0x65a--; + } + } + + return TRUE; } /* 800F7F0C-800F7F50 .text mode_wait_init__8daItem_cFv */ void daItem_c::mode_wait_init() { - /* Nonmatching */ + mMode = 0; + mGravity = getData()->mFieldItemGravity; + mPtclRippleCb.end(); } /* 800F7F50-800F80CC .text mode_water_init__8daItem_cFv */ @@ -507,22 +1004,22 @@ void daItem_c::initAction() { } /* 800F8950-800F8970 .text daItem_Draw__FP8daItem_c */ -s32 daItem_Draw(daItem_c* i_this) { +BOOL daItem_Draw(daItem_c* i_this) { return i_this->_daItem_draw(); } /* 800F8970-800F8990 .text daItem_Execute__FP8daItem_c */ -s32 daItem_Execute(daItem_c* i_this) { +BOOL daItem_Execute(daItem_c* i_this) { return i_this->_daItem_execute(); } /* 800F8990-800F89B0 .text daItem_IsDelete__FP8daItem_c */ -s32 daItem_IsDelete(daItem_c* i_this) { +BOOL daItem_IsDelete(daItem_c* i_this) { return i_this->_daItem_isdelete(); } /* 800F89B0-800F89D0 .text daItem_Delete__FP8daItem_c */ -s32 daItem_Delete(daItem_c* i_this) { +BOOL daItem_Delete(daItem_c* i_this) { return i_this->_daItem_delete(); } @@ -532,10 +1029,40 @@ s32 daItem_Create(fopAc_ac_c* i_this) { } /* 800F89F0-800F89F8 .text _daItem_isdelete__8daItem_cFv */ -s32 daItem_c::_daItem_isdelete() { - return 1; +BOOL daItem_c::_daItem_isdelete() { + return TRUE; } +dCcD_SrcCyl daItem_c::m_cyl_src = { + // dCcD_SrcGObjInf + { + /* Flags */ 0, + /* SrcObjAt Type */ 0, + /* SrcObjAt Atp */ 0, + /* SrcObjAt SPrm */ 0, + /* SrcObjTg Type */ 0xFFFFFFFF, + /* SrcObjTg SPrm */ 0x09, + /* SrcObjCo SPrm */ 0x59, + /* SrcGObjAt Se */ 0, + /* SrcGObjAt HitMark */ 0, + /* SrcGObjAt Spl */ 0, + /* SrcGObjAt Mtrl */ 0, + /* SrcGObjAt GFlag */ 0, + /* SrcGObjTg Se */ 0, + /* SrcGObjTg HitMark */ 0, + /* SrcGObjTg Spl */ 0, + /* SrcGObjTg Mtrl */ 0, + /* SrcGObjTg GFlag */ 0x04, + /* SrcGObjCo GFlag */ 0, + }, + // cM3dGCylS + { + /* Center */ 0.0f, 0.0f, 0.0f, + /* Radius */ 10.0f, + /* Height */ 50.0f, + }, +}; + static actor_method_class l_daItem_Method = { (process_method_func)daItem_Create, (process_method_func)daItem_Delete, diff --git a/src/d/actor/d_a_kaji.cpp b/src/d/actor/d_a_kaji.cpp index 84e5dbc90..860484442 100644 --- a/src/d/actor/d_a_kaji.cpp +++ b/src/d/actor/d_a_kaji.cpp @@ -48,7 +48,7 @@ BOOL daKaji_c::CreateHeap() { modelData, NULL, NULL, (J3DAnmTransformKey*)dComIfG_getObjectRes("Kaji", 0xE), // kj_wait.bck - 2, 0.0f, 0, -1, 1, + J3DFrameCtrl::LOOP_REPEAT_e, 0.0f, 0, -1, 1, dComIfG_getObjectRes("Kaji", 0x8), // kj_wait.bas 0x00080000, 0x11000002 diff --git a/src/d/actor/d_a_kytag04.cpp b/src/d/actor/d_a_kytag04.cpp index 450280b75..6b68e4043 100644 --- a/src/d/actor/d_a_kytag04.cpp +++ b/src/d/actor/d_a_kytag04.cpp @@ -1,33 +1,96 @@ -// -// Generated by dtk -// Translation Unit: d_a_kytag04.cpp -// - -#include "d_a_kytag04.h" +/** +* d_a_kytag04.cpp +*/ +#include "JSystem/JKernel/JKRHeap.h" +#include "f_op/f_op_actor_mng.h" +#include "d/d_com_inf_game.h" +#include "d/d_procname.h" #include "dolphin/types.h" -/* 00000078-00000080 .text daKytag04_Draw__FP13kytag04_class */ -void daKytag04_Draw(kytag04_class*) { - /* Nonmatching */ +struct kytag04_class : public fopAc_ac_c { +public: + /* 0x00 */ u8 mState; + /* 0x01 */ u8 mOffColPat; + /* 0x02 */ u8 mOnColPat; + /* 0x03 */ u8 mSwitchId; + /* 0x04 */ int mTimer; + /* 0x08 */ int mTimerThreshold; + /* 0x0C */ f32 mScaleX; + /* 0x10 */ f32 mScaleY; +}; /* size = 0x2A0 */ + +BOOL daKytag04_Draw(kytag04_class*) { + return true; } /* 00000080-00000138 .text daKytag04_Execute__FP13kytag04_class */ -void daKytag04_Execute(kytag04_class*) { - /* Nonmatching */ +BOOL daKytag04_Execute(kytag04_class* i_this) { + if (i_this->mSwitchId != 0xff && dComIfGs_isSwitch(i_this->mSwitchId, dComIfGp_roomControl_getStayNo())) { + if (i_this->mState == 0) { + if (i_this->mTimer >= i_this->mTimerThreshold) { + i_this->mTimer = 0; + dKy_change_colpat(i_this->mOnColPat); + i_this->mState = 1; + } else { + i_this->mTimer = i_this->mTimer + 1; + } + } + } else if(i_this->mState == 1) { + dKy_change_colpat(i_this->mOffColPat); + i_this->mState = 0; + } + + return 1; } /* 00000138-00000160 .text daKytag04_IsDelete__FP13kytag04_class */ -void daKytag04_IsDelete(kytag04_class*) { - /* Nonmatching */ +BOOL daKytag04_IsDelete(kytag04_class* i_this) { + dKy_change_colpat(i_this->mOffColPat); + return true; } /* 00000160-00000168 .text daKytag04_Delete__FP13kytag04_class */ -void daKytag04_Delete(kytag04_class*) { - /* Nonmatching */ +BOOL daKytag04_Delete(kytag04_class*) { + return true; } /* 00000168-00000208 .text daKytag04_Create__FP10fopAc_ac_c */ -void daKytag04_Create(fopAc_ac_c*) { - /* Nonmatching */ +int daKytag04_Create(fopAc_ac_c* i_this) { + fopAcM_SetupActor(i_this, kytag04_class); + kytag04_class* a_this = (kytag04_class*)i_this; + a_this->mState = 0; + a_this->mOffColPat = a_this->mBase.mParameters; + a_this->mOnColPat = a_this->mBase.mParameters >> 8; + a_this->mSwitchId = a_this->current.angle.x;; + a_this->mScaleX = a_this->mScale.x * 100.0f; + a_this->mScaleY = a_this->mScale.y * 100.0f; + a_this->mTimer = 0; + a_this->mTimerThreshold = 5; + return 4; } +static actor_method_class l_daKytag04_Method = { + (process_method_func)daKytag04_Create, + (process_method_func)daKytag04_Delete, + (process_method_func)daKytag04_Execute, + (process_method_func)daKytag04_IsDelete, + (process_method_func)daKytag04_Draw, +}; + +extern actor_process_profile_definition g_profile_KYTAG04 = { + fpcLy_CURRENT_e, + 7, + fpcLy_CURRENT_e, + PROC_KYTAG04, + &g_fpcLf_Method.mBase, + sizeof(kytag04_class), + 0, + 0, + &g_fopAc_Method.base, + 0xA4, + &l_daKytag04_Method, + 0x00044000, + fopAc_ACTOR_e, + fopAc_CULLBOX_0_e, +}; + diff --git a/src/d/actor/d_a_kytag06.cpp b/src/d/actor/d_a_kytag06.cpp index 2a7637549..25ffecec5 100644 --- a/src/d/actor/d_a_kytag06.cpp +++ b/src/d/actor/d_a_kytag06.cpp @@ -1,33 +1,99 @@ -// -// Generated by dtk -// Translation Unit: d_a_kytag06.cpp -// - -#include "d_a_kytag06.h" +/** +* d_a_kytag06.cpp +*/ +#include "JSystem/JKernel/JKRHeap.h" +#include "f_op/f_op_actor.h" +#include "f_op/f_op_actor_mng.h" +#include "d/d_com_inf_game.h" +#include "d/d_kankyo.h" +#include "d/d_kankyo_wether.h" +#include "d/d_procname.h" #include "dolphin/types.h" -/* 00000078-00000080 .text daKytag06_Draw__FP13kytag06_class */ -void daKytag06_Draw(kytag06_class*) { - /* Nonmatching */ +class kytag06_class : public fopAc_ac_c { +public: + /* 0x290 */ int field_0x290; + /* 0x294 */ float field_0x294; +}; + +static bool daKytag06_Draw(kytag06_class*) { + return true; } -/* 00000080-00000194 .text daKytag06_Execute__FP13kytag06_class */ -void daKytag06_Execute(kytag06_class*) { - /* Nonmatching */ +static BOOL daKytag06_Execute(kytag06_class* i_this) { + f32 time; + int date; + + if (g_dComIfG_gameInfo.play.mEvtCtrl.mMode == 0) { + return 1; + } + if(dComIfGp_evmng_startCheck("ARRIVAL_BRK") == 0) { + return 1; + } + + time = dComIfGs_getTime(); + date = dComIfGs_getDate(); + if (time >= 90.0f && time < 345) { + time += 0.05f; + } + dComIfGs_setTime(time); + dComIfGs_setDate(date); + + dKy_change_colpat(1); + date = i_this->field_0x294 * 250.0f; + if (date > g_env_light.mRainCount) { + dKyw_rain_set(date); + } + g_env_light.mThunderEff.mMode = 1; + cLib_addCalc(&i_this->field_0x294, 1.0f, 0.1f, 0.001f, 0.0001); + return 1; } -/* 00000194-0000019C .text daKytag06_IsDelete__FP13kytag06_class */ -void daKytag06_IsDelete(kytag06_class*) { - /* Nonmatching */ +static BOOL daKytag06_IsDelete(kytag06_class*) { + return true; } -/* 0000019C-000001A4 .text daKytag06_Delete__FP13kytag06_class */ -void daKytag06_Delete(kytag06_class*) { - /* Nonmatching */ +static BOOL daKytag06_Delete(kytag06_class*) { + return true; } -/* 000001A4-00000224 .text daKytag06_Create__FP10fopAc_ac_c */ -void daKytag06_Create(fopAc_ac_c*) { - /* Nonmatching */ +static int daKytag06_Create(fopAc_ac_c* i_this) { + kytag06_class* tag = (kytag06_class*)i_this; + int var; + + fopAcM_SetupActor(tag, kytag06_class); + + if(dComIfGs_isSymbol(0) != 0) { + var = 5; + } else { + tag->field_0x294 = 0; + var = 4; + } + + return var; } +static actor_method_class l_daKytag06_Method = { + (process_method_func)daKytag06_Create, + (process_method_func)daKytag06_Delete, + (process_method_func)daKytag06_Execute, + (process_method_func)daKytag06_IsDelete, + (process_method_func)daKytag06_Draw, +}; + +extern actor_process_profile_definition g_profile_KYTAG06 = { + fpcLy_CURRENT_e, + 7, + fpcLy_CURRENT_e, + PROC_KYTAG06, + &g_fpcLf_Method.mBase, + sizeof(kytag06_class), + 0, + 0, + &g_fopAc_Method.base, + 0xA6, + &l_daKytag06_Method, + 0x00044000, + fopAc_ACTOR_e, + fopAc_CULLBOX_0_e, +}; \ No newline at end of file diff --git a/src/d/actor/d_a_mbdoor.cpp b/src/d/actor/d_a_mbdoor.cpp index f786c7fcb..c01529029 100644 --- a/src/d/actor/d_a_mbdoor.cpp +++ b/src/d/actor/d_a_mbdoor.cpp @@ -3,166 +3,638 @@ // Translation Unit: d_a_mbdoor.cpp // -#include "d_a_mbdoor.h" -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +#include "JSystem/JKernel/JKRHeap.h" +#include "d/d_procname.h" +#include "d/d_com_inf_game.h" +#include "m_Do/m_Do_ext.h" +#include "m_Do/m_Do_mtx.h" +#include "d/actor/d_a_player.h" + +class daMbdoor_c : public fopAc_ac_c { +public: + inline BOOL draw(); + inline BOOL execute(); + s32 create(); + + u8 getSwbit(); + u8 getType(); + u8 getShapeType(); + const char* getArcName(); + u32 getFuBdl(); + u32 getLBdl(); + u32 getRBdl(); + u32 getToBdl(); + u32 getDzb(); + f32 getLOffset(); + f32 getROffset(); + f32 getToOffset(); + BOOL CreateHeap(); + void calcMtx(); + BOOL CreateInit(); + s32 getDemoAction(); + void demoProc(); + BOOL checkArea(); + BOOL checkUnlock(); + +public: + /* 0x290 */ request_of_phase_process_class mPhs; + /* 0x298 */ J3DModel* mpFuModel; + /* 0x29C */ J3DModel* mpLModel; + /* 0x2A0 */ J3DModel* mpRModel; + /* 0x2A4 */ J3DModel* mpToModel; + /* 0x2A8 */ dBgW* mpBgW; + /* 0x2AC */ bool field_0x2ac; + /* 0x2AD */ u8 field_0x2ad; + /* 0x2AE */ u8 mCurActionIdx; + /* 0x2AF */ u8 field_0x2AF[0x2B0 - 0x2AF]; + /* 0x2B0 */ s16 field_0x2b0; + /* 0x2B2 */ s16 field_0x2b2; + /* 0x2B4 */ s16 field_0x2b4; + /* 0x2B6 */ u8 field_0x2b6; + /* 0x2B7 */ u8 field_0x2B7[0x2B8 - 0x2B7]; + /* 0x2B8 */ s16 field_0x2b8; + /* 0x2BA */ u8 field_0x2BA[0x2BC - 0x2BA]; + /* 0x2BC */ s32 field_0x2bc; + /* 0x2C0 */ s32 mEvtStaffId; + /* 0x2C4 */ cXyz field_0x2c4; + /* 0x2D0 */ cXyz field_0x2d0; + /* 0x2DC */ cXyz field_0x2dc; +}; + +typedef BOOL (daMbdoor_c_ActionFunc)(daMbdoor_c*); /* 00000078-00000084 .text getSwbit__10daMbdoor_cFv */ -void daMbdoor_c::getSwbit() { - /* Nonmatching */ +u8 daMbdoor_c::getSwbit() { + return fopAcM_GetParam(this) & 0xFF; } /* 00000084-00000090 .text getType__10daMbdoor_cFv */ -void daMbdoor_c::getType() { - /* Nonmatching */ +u8 daMbdoor_c::getType() { + return orig.angle.z & 0x3F; } /* 00000090-0000009C .text getShapeType__10daMbdoor_cFv */ -void daMbdoor_c::getShapeType() { - /* Nonmatching */ +u8 daMbdoor_c::getShapeType() { + return (fopAcM_GetParam(this) & 0x00000F00) >> 0x08; } /* 0000009C-000000E4 .text getArcName__10daMbdoor_cFv */ -void daMbdoor_c::getArcName() { - /* Nonmatching */ +const char* daMbdoor_c::getArcName() { + switch (getShapeType()) { + case 1: + return "Gbdoor"; + default: + return "Mbdoor"; + } } /* 000000E4-00000120 .text getFuBdl__10daMbdoor_cFv */ -void daMbdoor_c::getFuBdl() { - /* Nonmatching */ +u32 daMbdoor_c::getFuBdl() { + switch (getShapeType()) { + case 1: + return 6; // v_gbdfu.bdl + default: + return 6; // s_mbdfu.bdl + } } /* 00000120-0000015C .text getLBdl__10daMbdoor_cFv */ -void daMbdoor_c::getLBdl() { - /* Nonmatching */ +u32 daMbdoor_c::getLBdl() { + switch (getShapeType()) { + case 1: + return 4; // v_gbd_l.bdl + default: + return 4; // s_mbd_l.bdl + } } /* 0000015C-00000198 .text getRBdl__10daMbdoor_cFv */ -void daMbdoor_c::getRBdl() { - /* Nonmatching */ +u32 daMbdoor_c::getRBdl() { + switch (getShapeType()) { + case 1: + return 5; // v_gbd_r.bdl + default: + return 5; // s_mbd_r.bdl + } } /* 00000198-000001D4 .text getToBdl__10daMbdoor_cFv */ -void daMbdoor_c::getToBdl() { - /* Nonmatching */ +u32 daMbdoor_c::getToBdl() { + switch (getShapeType()) { + case 1: + return 7; // v_gbdto.bdl + default: + return 7; // s_mbdto.bdl + } } /* 000001D4-00000210 .text getDzb__10daMbdoor_cFv */ -void daMbdoor_c::getDzb() { - /* Nonmatching */ +u32 daMbdoor_c::getDzb() { + switch (getShapeType()) { + case 1: + return 0xA; // gbd.dzb + default: + return 0xA; // s_mbdfu.dzb + } } /* 00000210-00000254 .text getLOffset__10daMbdoor_cFv */ -void daMbdoor_c::getLOffset() { - /* Nonmatching */ +f32 daMbdoor_c::getLOffset() { + switch (getShapeType()) { + case 1: + return -300.0f; + default: + return -255.0f; + } } /* 00000254-00000298 .text getROffset__10daMbdoor_cFv */ -void daMbdoor_c::getROffset() { - /* Nonmatching */ +f32 daMbdoor_c::getROffset() { + switch (getShapeType()) { + case 1: + return 300.0f; + default: + return 277.0f; + } } /* 00000298-000002DC .text getToOffset__10daMbdoor_cFv */ -void daMbdoor_c::getToOffset() { - /* Nonmatching */ +f32 daMbdoor_c::getToOffset() { + switch (getShapeType()) { + case 1: + return 335.0f; + default: + return 300.0f; + } } /* 000002DC-000002FC .text CheckCreateHeap__FP10fopAc_ac_c */ -void CheckCreateHeap(fopAc_ac_c*) { - /* Nonmatching */ +BOOL CheckCreateHeap(fopAc_ac_c* i_this) { + return ((daMbdoor_c*)i_this)->CreateHeap(); } /* 000002FC-0000060C .text CreateHeap__10daMbdoor_cFv */ -void daMbdoor_c::CreateHeap() { - /* Nonmatching */ +BOOL daMbdoor_c::CreateHeap() { + void* modelData = dComIfG_getObjectRes(getArcName(), getFuBdl()); + JUT_ASSERT(198, modelData != 0) + mpFuModel = mDoExt_J3DModel__create((J3DModelData*)modelData, 0x80000, 0x11000022); + if (!mpFuModel) { return FALSE; } + + modelData = dComIfG_getObjectRes(getArcName(), getLBdl()); + JUT_ASSERT(209, modelData != 0) + mpLModel = mDoExt_J3DModel__create((J3DModelData*)modelData, 0x80000, 0x11000022); + if (!mpLModel) { return FALSE; } + + modelData = dComIfG_getObjectRes(getArcName(), getRBdl()); + JUT_ASSERT(220, modelData != 0) + mpRModel = mDoExt_J3DModel__create((J3DModelData*)modelData, 0x80000, 0x11000022); + if (!mpRModel) { return FALSE; } + + modelData = dComIfG_getObjectRes(getArcName(), getToBdl()); + JUT_ASSERT(231, modelData != 0) + mpToModel = mDoExt_J3DModel__create((J3DModelData*)modelData, 0x80000, 0x11000022); + if (!mpToModel) { return FALSE; } + + mpBgW = new dBgW(); + if (!mpBgW) { return FALSE; } + cBgD_t* dzbData = (cBgD_t*)dComIfG_getObjectRes(getArcName(), getDzb()); + if (!dzbData) { return FALSE; } + calcMtx(); + bool error = mpBgW->Set(dzbData, 1, &mpFuModel->getBaseTRMtx()); + return error != true ? TRUE : FALSE; } /* 0000060C-00000898 .text calcMtx__10daMbdoor_cFv */ void daMbdoor_c::calcMtx() { - /* Nonmatching */ + // Transform the door's frame. + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::YrotM(orig.angle.y); + mpFuModel->setBaseTRMtx(mDoMtx_stack_c::now); + + cXyz offset; + offset.set(0.0f, 0.0f, -150.0f); + mDoMtx_stack_c::multVec(&offset, &field_0x2d0); + offset.set(0.0f, 0.0f, -400.0f); + mDoMtx_stack_c::multVec(&offset, &field_0x2dc); + + // Transform door's right half. + if (field_0x2ad == 0) { + mpLModel->setBaseTRMtx(mDoMtx_stack_c::now); + if (field_0x2b2) { + mDoMtx_stack_c::transM(getROffset(), 0.0f, 0.0f); + mDoMtx_stack_c::YrotM(field_0x2b2); + mDoMtx_stack_c::transM(-getROffset(), 0.0f, 0.0f); + } + offset.set(80.0f, 0.0f, 75.0f); + mDoMtx_stack_c::multVec(&offset, &field_0x2c4); + } + mpRModel->setBaseTRMtx(mDoMtx_stack_c::now); + + // Transform door's left half. + if (field_0x2ad == 1) { + if (field_0x2b2) { + mDoMtx_stack_c::transM(getLOffset(), 0.0f, 0.0f); + mDoMtx_stack_c::YrotM(-field_0x2b2); + mDoMtx_stack_c::transM(-getLOffset(), 0.0f, 0.0f); + } + offset.set(-80.0f, 0.0f, 75.0f); + mDoMtx_stack_c::multVec(&offset, &field_0x2c4); + mpLModel->setBaseTRMtx(mDoMtx_stack_c::now); + } + + // Transform door's bar. + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::YrotM(orig.angle.y); + if (field_0x2b0) { + mDoMtx_stack_c::transM(getToOffset(), 231.0f, 0.0f); + mDoMtx_stack_c::ZrotM(field_0x2b0); + mDoMtx_stack_c::transM(-getToOffset(), -231.0f, 0.0f); + } + mpToModel->setBaseTRMtx(mDoMtx_stack_c::now); } /* 00000898-00000A44 .text CreateInit__10daMbdoor_cFv */ -void daMbdoor_c::CreateInit() { - /* Nonmatching */ +BOOL daMbdoor_c::CreateInit() { + s32 swbit = getSwbit(); + s32 type = getType(); + + if (dComIfG_Bgsp()->Regist(mpBgW, this)) { + JUT_ASSERT(334, 0); + } + field_0x2ac = true; + mTevStr.mRoomNo = current.roomNo; + + if (type == 2) { + mCurActionIdx = 1; + field_0x2b0 = 0; + field_0x2b2 = 0; + } else if ((type == 0 && (swbit != 0xFF && !dComIfGs_isSwitch(swbit, fopAcM_GetRoomNo(this)))) + || (type == 1 && (swbit == 0xFF || dComIfGs_isSwitch(swbit, fopAcM_GetRoomNo(this))))) { + mCurActionIdx = 1; + field_0x2b0 = 0; + field_0x2b2 = 0; + } else { + mCurActionIdx = 4; + field_0x2b0 = -0x3F65; + field_0x2b2 = 0; + } + + field_0x2bc = 30; + mAttentionInfo.mPosition.y += 250.0f; + mEyePos.y += 250.0f; + mAttentionInfo.mFlags = 0x20; + calcMtx(); + mpBgW->Move(); + mStatus = mStatus & ~0x3F | 0x2B; + + return TRUE; } /* 00000A44-00000AF4 .text create__10daMbdoor_cFv */ -void daMbdoor_c::create() { - /* Nonmatching */ +s32 daMbdoor_c::create() { + s32 phase_state = dComIfG_resLoad(&mPhs, getArcName()); + + fopAcM_SetupActor(this, daMbdoor_c); + + if (phase_state != cPhs_COMPLEATE_e) { + return phase_state; + } + if (!fopAcM_entrySolidHeap(this, CheckCreateHeap, 0x8200)) { + return cPhs_ERROR_e; + } + + CreateInit(); + + return cPhs_COMPLEATE_e; } /* 00000AF4-00000B3C .text getDemoAction__10daMbdoor_cFv */ -void daMbdoor_c::getDemoAction() { - /* Nonmatching */ +s32 daMbdoor_c::getDemoAction() { + static char* action_table[] = { + "WAIT", + "SET_START", + "SET_ANGLE", + "END", + "OPEN", + "STOP_OPEN", + "SET_GOAL", + "SET_GOAL2", + "ADJUSTMENT", + }; + + return dComIfGp_evmng_getMyActIdx(mEvtStaffId, action_table, 9, 0, 0); } /* 00000B3C-00000F78 .text demoProc__10daMbdoor_cFv */ void daMbdoor_c::demoProc() { - /* Nonmatching */ + // Explicit cast from daPy_py_c to daPy_py_c necessary for matching regalloc. + daPy_py_c* player = (daPy_py_c*)daPy_getPlayerActorClass(); + s32 actIdx = getDemoAction(); + cXyz goal; + s16 angle; + + if (dComIfGp_evmng_getIsAddvance(mEvtStaffId)) { + switch (actIdx) { + case 1: + calcMtx(); + goal = field_0x2c4; + dComIfGp_evmng_setGoal(&goal); + break; + case 2: + angle = current.angle.y + 0x7FFF; + player->changeDemoMoveAngle(angle); + break; + case 4: + fopAcM_seStart(this, JA_SE_OBJ_MJ_GATE_OPEN, 0); + field_0x2b4 = 0; + break; + case 5: + fopAcM_seStart(this, JA_SE_OBJ_MJ_GATE_BAR_OPEN, 0); + field_0x2b4 = 0; + field_0x2b6 = 1; + break; + case 6: + goal = field_0x2d0; + dComIfGp_evmng_setGoal(&goal); + break; + case 7: + goal = field_0x2dc; + dComIfGp_evmng_setGoal(&goal); + break; + case 8: + calcMtx(); + field_0x2b8 = 0; + u32* timerP = dComIfGp_evmng_getMyIntegerP(mEvtStaffId, "Timer"); + if (timerP) { + field_0x2b8 = *timerP; + } + break; + } + } + + switch (actIdx) { + case 3: + break; + case 4: + if (field_0x2b4 < 250) { + field_0x2b4 += 50; + } + s32 temp = field_0x2b2 - field_0x2b4; + if (temp < -0x1C71) { + field_0x2b2 = -0x1C71; + dComIfGp_evmng_cutEnd(mEvtStaffId); + } else { + field_0x2b2 = temp; + } + calcMtx(); + if (field_0x2ad) { + angle = current.angle.y + 0x7FFF - field_0x2b2; + } else { + angle = current.angle.y + 0x7FFF + field_0x2b2; + } + player->setPlayerPosAndAngle(&field_0x2c4, angle); + break; + case 5: + if (field_0x2b6) { + if (field_0x2b4 < 400) { + field_0x2b4 += 40; + } + temp = field_0x2b0 - field_0x2b4; + if (temp < -0x3F65) { + field_0x2b0 = -0x3F65; + dComIfGp_evmng_cutEnd(mEvtStaffId); + field_0x2b6 = 0; + fopAcM_seStart(this, JA_SE_OBJ_MJ_GATE_BAR_STOP, 0); + } else { + field_0x2b0 = temp; + } + calcMtx(); + } else { + dComIfGp_evmng_cutEnd(mEvtStaffId); + } + break; + case 8: + angle = player->shape_angle.y; + cLib_addCalcAngleS2(&angle, current.angle.y + 0x7FFF, 10, 0x800); + goal = player->current.pos; + goal.x = goal.x*0.9f + field_0x2c4.x*0.1f; + goal.z = goal.z*0.9f + field_0x2c4.z*0.1f; + player->setPlayerPosAndAngle(&goal, angle); + if (field_0x2b8 > 0) { + field_0x2b8--; + } else { + dComIfGp_evmng_cutEnd(mEvtStaffId); + } + break; + default: + dComIfGp_evmng_cutEnd(mEvtStaffId); + break; + } } /* 00000F78-000010CC .text checkArea__10daMbdoor_cFv */ -void daMbdoor_c::checkArea() { - /* Nonmatching */ +BOOL daMbdoor_c::checkArea() { + daPy_py_c* player = daPy_getPlayerActorClass(); + cXyz relPos1 = player->current.pos - orig.pos; + cXyz relPos2 = relPos1; + relPos2.x = relPos1.z * cM_ssin(current.angle.y) - relPos1.x * cM_scos(current.angle.y); + relPos2.z = relPos1.z * cM_scos(current.angle.y) + relPos1.x * cM_ssin(current.angle.y); + + if (relPos2.z > 160.0f) { + return FALSE; + } + if (relPos2.x > 200.0f || relPos2.x < -200.0f) { + return FALSE; + } + if (fopAcM_seenActorAngleY(player, this) > 0x2000) { + return FALSE; + } + + if (relPos2.x > 0.0f) { + field_0x2ad = 1; + } else { + field_0x2ad = 0; + } + + return TRUE; } /* 000010CC-00001198 .text checkUnlock__10daMbdoor_cFv */ -void daMbdoor_c::checkUnlock() { - /* Nonmatching */ +BOOL daMbdoor_c::checkUnlock() { + s32 swbit = getSwbit(); + switch (getType()) { + case 0: + return dComIfGs_isSwitch(swbit, fopAcM_GetRoomNo(this)); + case 1: + if (!fopAcM_myRoomSearchEnemy(fopAcM_GetRoomNo(this))) { + if (field_0x2bc > 0) { + field_0x2bc--; + } else { + if (swbit != 0xFF) { + dComIfGs_onSwitch(swbit, fopAcM_GetRoomNo(this)); + } + return TRUE; + } + } + } + return FALSE; } /* 00001198-000011BC .text daMbdoor_actionWait__FP10daMbdoor_c */ -void daMbdoor_actionWait(daMbdoor_c*) { - /* Nonmatching */ +BOOL daMbdoor_actionWait(daMbdoor_c* i_this) { + i_this->calcMtx(); + return TRUE; } /* 000011BC-0000121C .text daMbdoor_actionLockWait__FP10daMbdoor_c */ -void daMbdoor_actionLockWait(daMbdoor_c*) { - /* Nonmatching */ +BOOL daMbdoor_actionLockWait(daMbdoor_c* i_this) { + if (i_this->checkUnlock()) { + i_this->mCurActionIdx = 2; + fopAcM_orderOtherEvent2(i_this, "MBDOOR_STOP_OPEN", 1, -1); + } + return TRUE; } /* 0000121C-000012AC .text daMbdoor_actionLockOff__FP10daMbdoor_c */ -void daMbdoor_actionLockOff(daMbdoor_c*) { - /* Nonmatching */ +BOOL daMbdoor_actionLockOff(daMbdoor_c* i_this) { + if (i_this->mEvtInfo.checkCommandDemoAccrpt()) { + i_this->mEvtStaffId = dComIfGp_evmng_getMyStaffId("MBDOOR", NULL, 0); + i_this->demoProc(); + i_this->mCurActionIdx = 3; + } else { + fopAcM_orderOtherEvent2(i_this, "MBDOOR_STOP_OPEN", 1, -1); + } + return TRUE; } /* 000012AC-00001324 .text daMbdoor_actionLockDemo__FP10daMbdoor_c */ -void daMbdoor_actionLockDemo(daMbdoor_c*) { - /* Nonmatching */ +BOOL daMbdoor_actionLockDemo(daMbdoor_c* i_this) { + if (dComIfGp_evmng_endCheck("MBDOOR_STOP_OPEN")) { + dComIfGp_event_reset(); + i_this->mCurActionIdx = 4; + } else { + i_this->demoProc(); + } + return TRUE; } /* 00001324-000013E4 .text daMbdoor_actionCloseWait__FP10daMbdoor_c */ -void daMbdoor_actionCloseWait(daMbdoor_c*) { - /* Nonmatching */ +BOOL daMbdoor_actionCloseWait(daMbdoor_c* i_this) { + if (i_this->mEvtInfo.checkCommandDoor()) { + i_this->mEvtStaffId = dComIfGp_evmng_getMyStaffId("MBDOOR", NULL, 0); + i_this->demoProc(); + i_this->mCurActionIdx = 5; + dComIfG_Bgsp()->Release(i_this->mpBgW); + i_this->field_0x2ac = false; + } else { + if (i_this->checkArea()) { + i_this->mEvtInfo.setEventName("MBDOOR_OPEN"); + i_this->mEvtInfo.onCondition(dEvtCnd_CANDOOR_e); + } + } + return TRUE; } /* 000013E4-00001408 .text daMbdoor_actionOpen__FP10daMbdoor_c */ -void daMbdoor_actionOpen(daMbdoor_c*) { - /* Nonmatching */ +BOOL daMbdoor_actionOpen(daMbdoor_c* i_this) { + i_this->demoProc(); + return TRUE; +} + +BOOL daMbdoor_c::draw() { + g_env_light.settingTevStruct(TEV_TYPE_BG0, ¤t.pos, &mTevStr); + + g_env_light.setLightTevColorType(mpFuModel, &mTevStr); + mDoExt_modelUpdateDL(mpFuModel); + + g_env_light.setLightTevColorType(mpLModel, &mTevStr); + mDoExt_modelUpdateDL(mpLModel); + + g_env_light.setLightTevColorType(mpRModel, &mTevStr); + mDoExt_modelUpdateDL(mpRModel); + + g_env_light.setLightTevColorType(mpToModel, &mTevStr); + mDoExt_modelUpdateDL(mpToModel); + + return TRUE; } /* 00001408-000014BC .text daMbdoor_Draw__FP10daMbdoor_c */ -void daMbdoor_Draw(daMbdoor_c*) { - /* Nonmatching */ +BOOL daMbdoor_Draw(daMbdoor_c* i_this) { + return i_this->draw(); +} + +BOOL daMbdoor_c::execute() { + static daMbdoor_c_ActionFunc* l_action[] = { + &daMbdoor_actionWait, + &daMbdoor_actionLockWait, + &daMbdoor_actionLockOff, + &daMbdoor_actionLockDemo, + &daMbdoor_actionCloseWait, + &daMbdoor_actionOpen, + }; + + dDemo_actor_c* demoActor = dComIfGp_demo_getActor(mDemoActorId); + if (demoActor) { + field_0x2ad = 0; + if (demoActor->checkEnable(0x8)) { + field_0x2b2 = demoActor->getRatate()->y; + field_0x2b0 = demoActor->getRatate()->z; + } + calcMtx(); + } else { + (l_action[mCurActionIdx])(this); + } + return TRUE; } /* 000014BC-00001558 .text daMbdoor_Execute__FP10daMbdoor_c */ -void daMbdoor_Execute(daMbdoor_c*) { - /* Nonmatching */ +BOOL daMbdoor_Execute(daMbdoor_c* i_this) { + return i_this->execute(); } /* 00001558-00001560 .text daMbdoor_IsDelete__FP10daMbdoor_c */ -void daMbdoor_IsDelete(daMbdoor_c*) { - /* Nonmatching */ +BOOL daMbdoor_IsDelete(daMbdoor_c* i_this) { + return TRUE; } /* 00001560-000015D4 .text daMbdoor_Delete__FP10daMbdoor_c */ -void daMbdoor_Delete(daMbdoor_c*) { - /* Nonmatching */ +BOOL daMbdoor_Delete(daMbdoor_c* i_this) { + if (i_this->heap) { + dComIfG_Bgsp()->Release(i_this->mpBgW); + } + dComIfG_resDelete(&i_this->mPhs, i_this->getArcName()); + i_this->~daMbdoor_c(); + return TRUE; } /* 000015D4-000015F4 .text daMbdoor_Create__FP10fopAc_ac_c */ -void daMbdoor_Create(fopAc_ac_c*) { - /* Nonmatching */ +s32 daMbdoor_Create(fopAc_ac_c* i_this) { + return ((daMbdoor_c*)i_this)->create(); } +static actor_method_class l_daMbdoor_Method = { + (process_method_func)daMbdoor_Create, + (process_method_func)daMbdoor_Delete, + (process_method_func)daMbdoor_Execute, + (process_method_func)daMbdoor_IsDelete, + (process_method_func)daMbdoor_Draw, +}; + +extern actor_process_profile_definition g_profile_MBDOOR = { + /* LayerID */ fpcLy_CURRENT_e, + /* ListID */ 3, + /* ListPrio */ fpcPi_CURRENT_e, + /* ProcName */ PROC_MBDOOR, + /* Proc SubMtd */ &g_fpcLf_Method.mBase, + /* Size */ sizeof(daMbdoor_c), + /* SizeOther */ 0, + /* Parameters */ 0, + /* Leaf SubMtd */ &g_fopAc_Method.base, + /* Priority */ 0x0132, + /* Actor SubMtd */ &l_daMbdoor_Method, + /* Status */ 0x00044000, + /* Group */ fopAc_ACTOR_e, + /* CullType */ fopAc_CULLBOX_6_e, +}; diff --git a/src/d/actor/d_a_mozo.cpp b/src/d/actor/d_a_mozo.cpp index ab57828d1..d2e3775e1 100644 --- a/src/d/actor/d_a_mozo.cpp +++ b/src/d/actor/d_a_mozo.cpp @@ -131,7 +131,7 @@ s32 daMozo_c::CreateHeap() { 0, 0, static_cast(dComIfG_getObjectRes("Mozo", 6)), - 2, + J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, diff --git a/src/d/actor/d_a_nh.cpp b/src/d/actor/d_a_nh.cpp index 8a8f0bd6e..b436f08a7 100644 --- a/src/d/actor/d_a_nh.cpp +++ b/src/d/actor/d_a_nh.cpp @@ -334,8 +334,8 @@ BOOL daNh_c::searchPlayer() { f32 playerDistDelta = mPlayerDist - playerDist; mPlayerDist = playerDist; if (playerDelta.absXZ() > 0.001f && playerDist < 600.0f && playerDistDelta > l_HIO.prm.mMinFrightenSpeed) { - // Player is nearby and moving closer. The Forest Firefly becomes frightened and tries to head home. - setAction(&returnAction, NULL); + // Player is nearby and moving closer. The Forest Firefly becomes frightened and tries to escape. + setAction(&escapeAction, NULL); return TRUE; } @@ -549,7 +549,7 @@ void daNh_c::playBrkAnm() { /* 800FACE8-800FAE1C .text draw__6daNh_cFv */ BOOL daNh_c::draw() { - g_env_light.settingTevStruct(0, ¤t.pos, &mTevStr); + g_env_light.settingTevStruct(TEV_TYPE_ACTOR, ¤t.pos, &mTevStr); g_env_light.setLightTevColorType(mpModel, &mTevStr); J3DModelData* modelData = mpModel->getModelData(); @@ -562,12 +562,12 @@ BOOL daNh_c::draw() { if (mat) { J3DTevBlock* tevBlock = mat->getTevBlock(); if (tevBlock) { - GXColorS10* color = tevBlock->getTevColor(1); + GXColorS10* color = &tevBlock->getTevColor(1)->mColor; if (color) { mGlowAlpha = ((color->r + color->g + color->b) / 3) >> 2; } - GXColor* kColor = tevBlock->getTevKColor(3); + GXColor* kColor = &tevBlock->getTevKColor(3)->mColor; if (kColor) { kColor->a = mAlpha; } diff --git a/src/d/actor/d_a_obj_Ygush00.cpp b/src/d/actor/d_a_obj_Ygush00.cpp index 631871a20..107a0955c 100644 --- a/src/d/actor/d_a_obj_Ygush00.cpp +++ b/src/d/actor/d_a_obj_Ygush00.cpp @@ -62,13 +62,9 @@ bool daObjYgush00_c::create_heap() { static u32 btk_table[] = { 0x0E, 0x0D, 0x0D, 0x0D }; static u32 bck_table[] = { 0x06, 0x05, 0x05, 0x05 }; - J3DModelData * pModelData; bool ret = true; - // TODO regswap - // r29 -> r30: g_dComIfG_gameInfo.mResControl.mObjectInfo / btkRet - // r30 -> r29: pModelData - pModelData = (J3DModelData *)dComIfG_getObjectRes(l_arcname, mdl_table[mType]); + void* pModelData = dComIfG_getObjectRes(l_arcname, mdl_table[mType]); J3DAnmTextureSRTKey * pBtk = (J3DAnmTextureSRTKey *)dComIfG_getObjectRes(l_arcname, btk_table[mType]); J3DAnmTransform * pBck = (J3DAnmTransform *)dComIfG_getObjectRes(l_arcname, bck_table[mType]); @@ -76,9 +72,9 @@ bool daObjYgush00_c::create_heap() { JUT_ASSERT(207, 0); ret = false; } else { - mpModel = mDoExt_J3DModel__create(pModelData, 0x80000, 0x11000222); - s32 btkRet = mBtkAnm.init(pModelData, pBtk, 1, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, false, 0); - s32 bckRet = mBckAnm.init(pModelData, pBck, 1, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, false); + mpModel = mDoExt_J3DModel__create((J3DModelData*)pModelData, 0x80000, 0x11000222); + s32 btkRet = mBtkAnm.init((J3DModelData*)pModelData, pBtk, 1, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, false, 0); + s32 bckRet = mBckAnm.init((J3DModelData*)pModelData, pBck, 1, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, false); if (!mpModel || !btkRet || !bckRet) ret = false; diff --git a/src/d/actor/d_a_obj_barrier.cpp b/src/d/actor/d_a_obj_barrier.cpp index fe3217efa..69d80200e 100644 --- a/src/d/actor/d_a_obj_barrier.cpp +++ b/src/d/actor/d_a_obj_barrier.cpp @@ -3,311 +3,731 @@ // Translation Unit: d_a_obj_barrier.cpp // -#include "d_a_obj_barrier.h" -#include "dolphin/types.h" +#include "JSystem/JKernel/JKRHeap.h" +#include "JSystem/JUtility/JUTAssert.h" +#include "d/actor/d_a_player_link.h" +#include "d/d_a_obj.h" +#include "d/d_com_inf_game.h" +#include "d/d_item_data.h" +#include "d/d_procname.h" +#include "f_op/f_op_actor_mng.h" +#include "m_Do/m_Do_graphic.h" +#include "m_Do/m_Do_mtx.h" + +class daObjBarrier_anm_c { +public: + daObjBarrier_anm_c() { mBrkFrame = 0.0f; } + + bool init(); + + J3DModel* getMdlP() { return mpModel; } + mDoExt_btkAnm* getBtkAnmP() { return &mBtk; } + mDoExt_brkAnm* getBrkAnmP() { return &mBrk; } + + f32 getBrkFrame() { return mBrkFrame; } + void setBrkFrame(f32 i_frame) { mBrkFrame = i_frame; } + + /* 0x00 */ J3DModel* mpModel; + /* 0x04 */ mDoExt_btkAnm mBtk; + /* 0x18 */ mDoExt_brkAnm mBrk; + /* 0x30 */ f32 mBrkFrame; +}; + +class daObjBarrier_ef_c { +public: + void setDummyTexture(int); + bool checkHitActor(fopAc_ac_c*); + void birth(fopAc_ac_c*, f32, cXyz, cXyz, int); + bool init(); + void create(); + void execute(); + void draw(); + + f32 getBtkFrame(int i_idx) { return mBtk[i_idx].getFrame(); } + + /* 0x000 */ u32 mActiveEffFlags; + /* 0x004 */ J3DModel* mpModel[4]; + /* 0x014 */ mDoExt_btkAnm mBtk[4]; + /* 0x064 */ mDoExt_bckAnm mBck[4]; + /* 0x0A4 */ mDoExt_brkAnm mBrk[4]; + /* 0x104 */ cXyz mPos[4]; + /* 0x134 */ s16 mAngle[4]; + /* 0x13C */ fopAc_ac_c* mHitActor[4]; +}; + +class daObjBarrier_c : public fopAc_ac_c { +public: + enum PROC_e { + PROC_BREAK_START_WAIT, + PROC_BREAK_ORDER, + PROC_BREAK_END_WAIT, + }; + + daObjBarrier_c(); + + void init_mtx(); + static int solidHeapCB(fopAc_ac_c*); + bool create_heap(); + bool checkCollision_Tg(); + void checkCollision_At(); + void registCollisionTable(); + void brkAnmPlay(); + void break_start_wait_proc(); + void break_order_proc(); + void break_end_wait_proc(); + bool break_check(); + int _create(); + bool _delete(); + bool _execute(); + bool _draw(); + + bool param_get_damage() const { return daObj::PrmAbstract(this, 1, 0x10); } + int param_get_moya() const { return daObj::PrmAbstract(this, 1, 8); } + + /* 0x290 */ daObjBarrier_anm_c mAnm; + /* 0x2C4 */ request_of_phase_process_class mPhase; + /* 0x2CC */ dBgW* mpBgW; + /* 0x2D0 */ Mtx mBgMtx; + /* 0x300 */ dCcD_Stts mAtStts; + /* 0x33C */ dCcD_Stts mTgStts; + /* 0x378 */ dCcD_Cyl mAtCyl; + /* 0x4A8 */ dCcD_Cyl mTgCyl; + /* 0x5D8 */ daObjBarrier_ef_c mEffect; + /* 0x724 */ u8 mBarrierActive; + /* 0x728 */ int mMoya; + /* 0x72C */ s16 mEventID; + /* 0x730 */ int mBarrierProc; +}; + +namespace { +static const char l_arcName[] = "Ycage"; + +static const dCcD_SrcCyl l_cyl_at_src = { + // dCcD_SrcGObjInf + { + /* Flags */ 0, + /* SrcObjAt Type */ 0x800, + /* SrcObjAt Atp */ 1, + /* SrcObjAt SPrm */ 5, + /* SrcObjTg Type */ 0, + /* SrcObjTg SPrm */ 0, + /* SrcObjCo SPrm */ 0, + /* SrcGObjAt Se */ 0, + /* SrcGObjAt HitMark */ 0, + /* SrcGObjAt Spl */ 9, + /* SrcGObjAt Mtrl */ 0, + /* SrcGObjAt GFlag */ 3, + /* SrcGObjTg Se */ 0, + /* SrcGObjTg HitMark */ 0, + /* SrcGObjTg Spl */ 0, + /* SrcGObjTg Mtrl */ 0, + /* SrcGObjTg GFlag */ 0, + /* SrcGObjCo GFlag */ 0, + }, + // cM3dGCylS + { + /* Center */ 0.0f, + 0.0f, + 0.0f, + /* Radius */ 1000.0f, + /* Height */ 10000.0f, + }, +}; + +static const dCcD_SrcCyl l_cyl_tg_src = { + // dCcD_SrcGObjInf + { + /* Flags */ 0, + /* SrcObjAt Type */ 0, + /* SrcObjAt Atp */ 0, + /* SrcObjAt SPrm */ 0, + /* SrcObjTg Type */ 0xFF3DFEFF, + /* SrcObjTg SPrm */ 9, + /* SrcObjCo SPrm */ 0, + /* SrcGObjAt Se */ 0, + /* SrcGObjAt HitMark */ 0, + /* SrcGObjAt Spl */ 0, + /* SrcGObjAt Mtrl */ 0, + /* SrcGObjAt GFlag */ 0, + /* SrcGObjTg Se */ 0, + /* SrcGObjTg HitMark */ 0, + /* SrcGObjTg Spl */ 0, + /* SrcGObjTg Mtrl */ 0, + /* SrcGObjTg GFlag */ 6, + /* SrcGObjCo GFlag */ 0, + }, + // cM3dGCylS + { + /* Center */ 0.0f, + 0.0f, + 0.0f, + /* Radius */ 1000.0f, + /* Height */ 10000.0f, + }, +}; + +static cXyz l_ef_scale; +} // namespace /* 000000EC-0000018C .text init_mtx__14daObjBarrier_cFv */ +// NONMATCHING - load order flipped void daObjBarrier_c::init_mtx() { - /* Nonmatching */ + mAnm.mpModel->setBaseScale(mScale); + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::YrotM(shape_angle.y); + mAnm.mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); + + mDoMtx_stack_c::scaleM(mScale); + cMtx_copy(mDoMtx_stack_c::get(), mBgMtx); } /* 0000018C-000001B0 .text solidHeapCB__14daObjBarrier_cFP10fopAc_ac_c */ -void daObjBarrier_c::solidHeapCB(fopAc_ac_c*) { - /* Nonmatching */ +int daObjBarrier_c::solidHeapCB(fopAc_ac_c* i_this) { + return static_cast(i_this)->create_heap(); } /* 000001B0-00000340 .text init__18daObjBarrier_anm_cFv */ -void daObjBarrier_anm_c::init() { - /* Nonmatching */ +bool daObjBarrier_anm_c::init() { + bool rt = true; + void* modelData = dComIfG_getObjectRes(l_arcName, 10); + void* pbtk = dComIfG_getObjectRes(l_arcName, 18); + void* pbrk = dComIfG_getObjectRes(l_arcName, 14); + + if (modelData == NULL || pbtk == NULL || pbrk == NULL) { + JUT_PANIC(407); + rt = false; + } else { + mpModel = mDoExt_J3DModel__create((J3DModelData*)modelData, 0x80000, 0x1000200); + BOOL btk_init = mBtk.init( + (J3DModelData*)modelData, (J3DAnmTextureSRTKey*)pbtk, + TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, false, 0); + BOOL brk_init = mBrk.init( + (J3DModelData*)modelData, (J3DAnmTevRegKey*)pbrk, + TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, false, 0); + + if (mpModel == NULL || !btk_init || !brk_init) { + rt = false; + } + } + + return rt; } /* 00000340-000003E8 .text create_heap__14daObjBarrier_cFv */ -void daObjBarrier_c::create_heap() { - /* Nonmatching */ +bool daObjBarrier_c::create_heap() { + bool rt = true; + bool anm_init = mAnm.init(); + bool eff_init = mEffect.init(); + + if (!anm_init || !eff_init) { + rt = false; + } else { + cBgD_t* dzb = (cBgD_t*)dComIfG_getObjectRes(l_arcName, 22); + mpBgW = dBgW_NewSet(dzb, cBgW::MOVE_BG_e, &mBgMtx); + if (mpBgW == NULL) { + rt = false; + } + } + + return rt; } /* 000003E8-00000508 .text checkCollision_Tg__14daObjBarrier_cFv */ -void daObjBarrier_c::checkCollision_Tg() { - /* Nonmatching */ -} +bool daObjBarrier_c::checkCollision_Tg() { + if (mTgCyl.ChkTgHit()) { + fopAc_ac_c* hit_actor = mTgCyl.GetTgHitAc(); + if (hit_actor != NULL) { + cXyz hit_pos = hit_actor->current.pos; + int no_set_effect = true; -/* 00000508-00000544 .text __dt__4cXyzFv */ -cXyz::~cXyz() { - /* Nonmatching */ + if (hit_actor == dComIfGp_getPlayer(0)) { + no_set_effect = false; + if (mTgCyl.GetTgHitObj() != NULL) { + hit_pos = *mTgCyl.GetTgHitPosP(); + } + } + + mEffect.birth(hit_actor, mScale.x * 1000.0f, mTgCyl.GetC(), hit_pos, no_set_effect); + } + + mTgCyl.ClrTgHit(); + } + + return false; } /* 00000544-00000608 .text checkCollision_At__14daObjBarrier_cFv */ void daObjBarrier_c::checkCollision_At() { - /* Nonmatching */ + if (mAtCyl.ChkAtHit()) { + fopAc_ac_c* hit_actor = mAtCyl.GetAtHitAc(); + fopAc_ac_c* player_p = dComIfGp_getPlayer(0); + + if (hit_actor != NULL && hit_actor == player_p) { + mEffect.birth(hit_actor, mScale.x * 1000.0f, mAtCyl.GetC(), hit_actor->current.pos, 1); + } + + mAtCyl.ClrAtHit(); + } } /* 00000608-00000754 .text registCollisionTable__14daObjBarrier_cFv */ void daObjBarrier_c::registCollisionTable() { - /* Nonmatching */ + cXyz pos = current.pos; + pos.y -= 300.0f; + + f32 base_radius = mScale.x * 1000.0f; + f32 height = mScale.y * 10000.0f + 300.0f; + + mAtCyl.SetC(pos); + mAtCyl.SetR(base_radius - 60.0f); + mAtCyl.SetH(height); + + mTgCyl.SetC(pos); + mTgCyl.SetR(base_radius - 20.0f); + mTgCyl.SetH(height); + + cXyz at_vec = current.pos - dComIfGp_getPlayer(0)->current.pos; + mAtCyl.SetAtVec(at_vec); + + dComIfG_Ccsp()->Set(&mAtCyl); + dComIfG_Ccsp()->Set(&mTgCyl); } /* 00000754-00000884 .text brkAnmPlay__14daObjBarrier_cFv */ void daObjBarrier_c::brkAnmPlay() { - /* Nonmatching */ + f32 dist_to_playerXZ = (dComIfGp_getPlayer(0)->current.pos - current.pos).absXZ(); + f32 radius = mScale.x * 1000.0f - 150.0f; + + f32 var_r3; + if (dist_to_playerXZ > radius) { + var_r3 = 0.0f; + } else { + var_r3 = radius - dist_to_playerXZ; + } + + f32 brk_frame; + if (var_r3 > 700.0f) { + brk_frame = 1.0f; + } else { + brk_frame = (1.0f - var_r3 / 700.0f) * 59.0f + 1.0f; + } + + mAnm.setBrkFrame(brk_frame); } /* 00000884-000009F0 .text break_start_wait_proc__14daObjBarrier_cFv */ void daObjBarrier_c::break_start_wait_proc() { - /* Nonmatching */ + // 0x3980: Saw Hyrule 3 Electric Barrier Demo + if (dComIfGs_isEventBit(0x3980) == true) { + daPy_py_c* player_p = (daPy_py_c*)daPy_getPlayerActorClass(); + + if ((player_p->current.pos - current.pos).absXZ() >= 8800.0f && + dComIfGs_getSelectEquip(0) == MASTER_SWORD_EX) + { + switch (player_p->mAttackState) { + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + // 0x2C02: Destroyed Hyrule Barrier + dComIfGs_onEventBit(0x2C02); + mEventID = dComIfGp_evmng_getEventIdx("seal", 0xFF); + mBarrierProc = PROC_BREAK_ORDER; + break; + } + } + } } /* 000009F0-00000A58 .text break_order_proc__14daObjBarrier_cFv */ void daObjBarrier_c::break_order_proc() { - /* Nonmatching */ + if (mEvtInfo.checkCommandDemoAccrpt()) { + mBarrierProc = PROC_BREAK_END_WAIT; + } else { + fopAcM_orderOtherEventId(this, mEventID, 0xFF, 0xFFFF, 0, 1); + mEvtInfo.onCondition(2); + } } /* 00000A58-00000AB8 .text break_end_wait_proc__14daObjBarrier_cFv */ void daObjBarrier_c::break_end_wait_proc() { - /* Nonmatching */ + if (dComIfGp_evmng_endCheck(mEventID)) { + dComIfGp_event_onEventFlag(8); + fopAcM_delete(this); + } } /* 00000AB8-00000B34 .text break_check__14daObjBarrier_cFv */ -void daObjBarrier_c::break_check() { - /* Nonmatching */ +bool daObjBarrier_c::break_check() { + bool chk = false; + + if (mMoya == 0) { + switch (mBarrierProc) { + case PROC_BREAK_START_WAIT: + break_start_wait_proc(); + break; + case PROC_BREAK_ORDER: + break_order_proc(); + chk = true; + break; + case PROC_BREAK_END_WAIT: + break_end_wait_proc(); + chk = true; + break; + } + } + + return chk; } /* 00000B34-00000D24 .text setDummyTexture__17daObjBarrier_ef_cFi */ -void daObjBarrier_ef_c::setDummyTexture(int) { - /* Nonmatching */ +void daObjBarrier_ef_c::setDummyTexture(int i_idx) { + J3DModelData* modelData = mpModel[i_idx]->getModelData(); + J3DTexture* texture = modelData->getTexture(); + JUTNameTab* textureName = modelData->getTextureName(); + + JUT_ASSERT(808, texture != 0); + JUT_ASSERT(809, textureName != 0); + + for (u16 i = 0; i < texture->getNum(); i++) { + if (strcmp(textureName->getName(i), "__dummy") == 0) { + texture->setResTIMG(i, *mDoGph_gInf_c::getFrameBufferTimg()); + } + } + + mDoExt_modelTexturePatch(modelData); } /* 00000D24-00000D5C .text checkHitActor__17daObjBarrier_ef_cFP10fopAc_ac_c */ -void daObjBarrier_ef_c::checkHitActor(fopAc_ac_c*) { - /* Nonmatching */ +bool daObjBarrier_ef_c::checkHitActor(fopAc_ac_c* i_checkActor) { + bool chk = false; + + for (int i = 0; i < 4; i++) { + if (mHitActor[i] == i_checkActor) { + chk = true; + break; + } + } + + return chk; } /* 00000D5C-000011B8 .text birth__17daObjBarrier_ef_cFP10fopAc_ac_cf4cXyz4cXyzi */ -void daObjBarrier_ef_c::birth(fopAc_ac_c*, float, cXyz, cXyz, int) { - /* Nonmatching */ +// NONMATCHING +void daObjBarrier_ef_c::birth(fopAc_ac_c* i_hitActor, f32 i_radius, cXyz i_center, cXyz i_hitPos, + int i_isNoEff) { + if (!i_isNoEff || !checkHitActor(i_hitActor)) { + int effect_idx = -1; + csXyz angle(0, 0, 0); + angle.y = cM_atan2s(i_center.x - i_hitPos.x, i_center.z - i_hitPos.z); + + cXyz pos; + pos.x = i_center.x + i_radius * -cM_ssin(angle.y); + pos.z = i_center.z + i_radius * -cM_scos(angle.y); + pos.y = i_hitPos.y; + + int active_flags = mActiveEffFlags; + for (int i = 0; i < 4; i++) { + if (!((active_flags >> i) & 1)) { + effect_idx = i; + break; + } + } + + if (effect_idx == -1) { + f32 var_f1 = -1.0f; + for (int i = 0; i < 4; i++) { // nonmatching + if (mBtk[i].getFrame() > var_f1) { + var_f1 = mBtk[i].getFrame(); + effect_idx = i; + } + } + } + + for (int i = 0; i < 4; i++) { + if ((int)((active_flags >> i) & 1) == true) { + if (i != effect_idx) { + mBtk[i].setPlaySpeed((mBtk[i].getEndFrame() - mBtk[i].getFrame()) / 3.0f); + } + break; + } + } + + mActiveEffFlags |= 1 << effect_idx; + mPos[effect_idx] = pos; + mAngle[effect_idx] = angle.y; + mHitActor[effect_idx] = i_hitActor; + + J3DModelData* modelData = mpModel[effect_idx]->getModelData(); + + void* btk_anm_p = dComIfG_getObjectRes(l_arcName, 19); + JUT_ASSERT(937, btk_anm_p != 0); + + void* bck_anm_p = dComIfG_getObjectRes(l_arcName, 7); + JUT_ASSERT(942, bck_anm_p != 0); + + void* brk_anm_p = dComIfG_getObjectRes(l_arcName, 15); + JUT_ASSERT(947, brk_anm_p != 0); + + mBtk[effect_idx].init(modelData, (J3DAnmTextureSRTKey*)btk_anm_p, TRUE, + J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1, true, 0); + mBck[effect_idx].init(modelData, (J3DAnmTransform*)bck_anm_p, TRUE, + J3DFrameCtrl::LOOP_ONCE_e, 0.0f, 0, -1, true); + mBrk[effect_idx].init(modelData, (J3DAnmTevRegKey*)brk_anm_p, TRUE, + J3DFrameCtrl::LOOP_ONCE_e, 0.0f, 0, -1, true, 0); + + mDoMtx_stack_c::transS(pos.x, pos.y, pos.z); + mDoMtx_stack_c::ZXYrotM(0, angle.y, 0); + mpModel[effect_idx]->setBaseTRMtx(mDoMtx_stack_c::get()); + + dComIfGp_particle_set(0x81A9, &pos, &angle, NULL); + } } /* 000011B8-000013E0 .text init__17daObjBarrier_ef_cFv */ -void daObjBarrier_ef_c::init() { - /* Nonmatching */ +bool daObjBarrier_ef_c::init() { + bool rt = true; + void* modelData = dComIfG_getObjectRes(l_arcName, 11); + void* pbtk = dComIfG_getObjectRes(l_arcName, 19); + void* pbck = dComIfG_getObjectRes(l_arcName, 7); + void* pbrk = dComIfG_getObjectRes(l_arcName, 15); + + if (modelData == NULL || pbtk == NULL || pbck == NULL || pbrk == NULL) { + JUT_PANIC(1016); + rt = false; + } else { + for (int i = 0; i < 4; i++) { + mpModel[i] = mDoExt_J3DModel__create((J3DModelData*)modelData, 0x80000, 0x5020200); + setDummyTexture(i); + + BOOL btk_init = mBtk[i].init( + (J3DModelData*)modelData, (J3DAnmTextureSRTKey*)pbtk, + TRUE, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1, false, 0); + BOOL bck_init = mBck[i].init( + (J3DModelData*)modelData, (J3DAnmTransform*)pbck, + TRUE, J3DFrameCtrl::LOOP_ONCE_e, 0.0f, 0, -1, false); + BOOL brk_init = mBrk[i].init( + (J3DModelData*)modelData, (J3DAnmTevRegKey*)pbrk, + TRUE, J3DFrameCtrl::LOOP_ONCE_e, 0.0f, 0, -1, false, 0); + + if (mpModel[i] == NULL || !btk_init || !bck_init || !brk_init) { + rt = false; + break; + } + } + } + + return rt; } /* 000013E0-00001420 .text create__17daObjBarrier_ef_cFv */ void daObjBarrier_ef_c::create() { - /* Nonmatching */ + for (int i = 0; i < 4; i++) { + mpModel[i]->setBaseScale(l_ef_scale); + } } /* 00001420-000014E0 .text execute__17daObjBarrier_ef_cFv */ void daObjBarrier_ef_c::execute() { - /* Nonmatching */ + int active_flags = mActiveEffFlags; + for (int i = 0; i < 4; i++) { + if (((active_flags >> i) & 1)) { + mBtk[i].play(); + + if ((int)mBtk[i].isStop() == true) { + active_flags ^= 1 << i; + mHitActor[i] = NULL; + } + } + } + + mActiveEffFlags = active_flags; } /* 000014E0-00001638 .text draw__17daObjBarrier_ef_cFv */ void daObjBarrier_ef_c::draw() { - /* Nonmatching */ + J3DModel* model_p; + + int active_flags = mActiveEffFlags; + for (int i = 0; i < 4; i++) { + if (((active_flags >> i) & 1)) { + model_p = mpModel[i]; + + J3DModelData* modelData = model_p->getModelData(); + mBtk[i].entry(modelData, getBtkFrame(i)); + mBck[i].entry(model_p->getModelData(), (s16)getBtkFrame(i)); + mBrk[i].entry(model_p->getModelData(), (s16)getBtkFrame(i)); + + dComIfGd_setListInvisisble(); + mDoExt_modelUpdateDL(model_p); + dComIfGd_setList(); + } + } } /* 00001638-0000182C .text _create__14daObjBarrier_cFv */ -void daObjBarrier_c::_create() { - /* Nonmatching */ +int daObjBarrier_c::_create() { + int phase = cPhs_ERROR_e; + fopAcM_SetupActor(this, daObjBarrier_c); + + if (fopAcM_IsFirstCreating(this)) { + mMoya = param_get_moya(); + if (mMoya != 0) { + mBarrierActive = true; + } else if (dComIfGs_isEventBit(0x2C02) == true) { // 0x2C02: Destroyed Hyrule Barrier + mBarrierActive = false; + } else { + mBarrierActive = true; + } + } + + if (mBarrierActive == true) { + phase = dComIfG_resLoad(&mPhase, l_arcName); + } + + if (phase == cPhs_COMPLEATE_e) { + if (fopAcM_entrySolidHeap(this, solidHeapCB, 0x30E0)) { + if (dComIfG_Bgsp()->Regist(mpBgW, this)) { + phase = cPhs_ERROR_e; + } else { + mpBgW->SetCrrFunc(NULL); + mScale.z = mScale.x; + fopAcM_SetMtx(this, mAnm.mpModel->getBaseTRMtx()); + init_mtx(); + + mAtStts.Init(0xFF, 0xFF, this); + mAtCyl.Set(l_cyl_at_src); + mAtCyl.SetStts(&mAtStts); + mAtCyl.OnBsRevHit(); + + mTgStts.Init(0xFF, 0xFF, this); + mTgCyl.Set(l_cyl_tg_src); + mTgCyl.SetStts(&mTgStts); + mTgCyl.OnBsRevHit(); + + if (param_get_damage()) { + mAtCyl.SetAtAtp(0); + } + + mEffect.create(); + } + } else { + phase = cPhs_ERROR_e; + } + } + + return phase; } /* 0000182C-00001A38 .text __ct__14daObjBarrier_cFv */ daObjBarrier_c::daObjBarrier_c() { - /* Nonmatching */ + mEffect.mActiveEffFlags = 0; } /* 00001A38-00001AD8 .text _delete__14daObjBarrier_cFv */ -void daObjBarrier_c::_delete() { - /* Nonmatching */ +bool daObjBarrier_c::_delete() { + if (mBarrierActive == true) { + dComIfG_resDelete(&mPhase, l_arcName); + + if (heap != NULL && mpBgW != NULL) { + if (mpBgW->ChkUsed()) { + dComIfG_Bgsp()->Release(mpBgW); + } + + mpBgW = NULL; + } + } + + return true; } /* 00001AD8-00001B64 .text _execute__14daObjBarrier_cFv */ -void daObjBarrier_c::_execute() { - /* Nonmatching */ +bool daObjBarrier_c::_execute() { + mAnm.mBtk.play(); + brkAnmPlay(); + + mpBgW->Move(); + mAtStts.Move(); + mTgStts.Move(); + + checkCollision_At(); + if (!checkCollision_Tg()) { + registCollisionTable(); + } + + if (!break_check()) { + mEffect.execute(); + } + + return true; } /* 00001B64-00001C1C .text _draw__14daObjBarrier_cFv */ -void daObjBarrier_c::_draw() { - /* Nonmatching */ +bool daObjBarrier_c::_draw() { + if (mBarrierProc) { + return true; + } + + if (mMoya == 0) { + mAnm.getBtkAnmP()->entry(mAnm.getMdlP()->getModelData()); + mAnm.getBrkAnmP()->entry(mAnm.getMdlP()->getModelData(), (s16)mAnm.getBrkFrame()); + mDoExt_modelUpdateDL(mAnm.getMdlP()); + } + + mEffect.draw(); + return true; } /* 00001C1C-00001C3C .text daObjBarrier_Create__FP10fopAc_ac_c */ -void daObjBarrier_Create(fopAc_ac_c*) { - /* Nonmatching */ +int daObjBarrier_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->_create(); } /* 00001C3C-00001C60 .text daObjBarrier_Delete__FP14daObjBarrier_c */ -void daObjBarrier_Delete(daObjBarrier_c*) { - /* Nonmatching */ +int daObjBarrier_Delete(daObjBarrier_c* i_this) { + return static_cast(i_this)->_delete(); } /* 00001C60-00001C84 .text daObjBarrier_Execute__FP14daObjBarrier_c */ -void daObjBarrier_Execute(daObjBarrier_c*) { - /* Nonmatching */ +int daObjBarrier_Execute(daObjBarrier_c* i_this) { + return static_cast(i_this)->_execute(); } /* 00001C84-00001CA8 .text daObjBarrier_Draw__FP14daObjBarrier_c */ -void daObjBarrier_Draw(daObjBarrier_c*) { - /* Nonmatching */ +int daObjBarrier_Draw(daObjBarrier_c* i_this) { + return static_cast(i_this)->_draw(); } /* 00001CA8-00001CB0 .text daObjBarrier_IsDelete__FP14daObjBarrier_c */ -void daObjBarrier_IsDelete(daObjBarrier_c*) { - /* Nonmatching */ +int daObjBarrier_IsDelete(daObjBarrier_c* i_this) { + return 1; } -/* 00001CB0-00001CC0 .text GetShapeAttr__8dCcD_CylFv */ -void dCcD_Cyl::GetShapeAttr() { - /* Nonmatching */ -} - -/* 00001CC0-00001CC8 .text GetCoCP__12cCcD_CylAttrFv */ -void cCcD_CylAttr::GetCoCP() { - /* Nonmatching */ -} - -/* 00001CC8-00001CD0 .text GetCoCP__12cCcD_CylAttrCFv */ -void cCcD_CylAttr::GetCoCP() const { - /* Nonmatching */ -} - -/* 00001CD0-00001CD8 .text CrossAtTg__12cCcD_CylAttrCFRC12cCcD_AabAttrP4cXyz */ -void cCcD_CylAttr::CrossAtTg(const cCcD_AabAttr&, cXyz*) const { - /* Nonmatching */ -} - -/* 00001CD8-00001CE0 .text CrossAtTg__12cCcD_CylAttrCFRC12cCcD_PntAttrP4cXyz */ -void cCcD_CylAttr::CrossAtTg(const cCcD_PntAttr&, cXyz*) const { - /* Nonmatching */ -} - -/* 00001CE0-00001D18 .text CrossAtTg__12cCcD_CylAttrCFRC14cCcD_ShapeAttrP4cXyz */ -void cCcD_CylAttr::CrossAtTg(const cCcD_ShapeAttr&, cXyz*) const { - /* Nonmatching */ -} - -/* 00001D18-00001D20 .text CrossCo__12cCcD_CylAttrCFRC12cCcD_AabAttrPf */ -void cCcD_CylAttr::CrossCo(const cCcD_AabAttr&, float*) const { - /* Nonmatching */ -} - -/* 00001D20-00001D28 .text CrossCo__12cCcD_CylAttrCFRC12cCcD_TriAttrPf */ -void cCcD_CylAttr::CrossCo(const cCcD_TriAttr&, float*) const { - /* Nonmatching */ -} - -/* 00001D28-00001D30 .text CrossCo__12cCcD_CylAttrCFRC12cCcD_PntAttrPf */ -void cCcD_CylAttr::CrossCo(const cCcD_PntAttr&, float*) const { - /* Nonmatching */ -} - -/* 00001D30-00001D68 .text CrossCo__12cCcD_CylAttrCFRC14cCcD_ShapeAttrPf */ -void cCcD_CylAttr::CrossCo(const cCcD_ShapeAttr&, float*) const { - /* Nonmatching */ -} - -/* 00001D68-00001D6C .text GetGObjInf__12cCcD_GObjInfCFv */ -void cCcD_GObjInf::GetGObjInf() const { - /* Nonmatching */ -} - -/* 00001D6C-00001D74 .text GetShapeAttr__8cCcD_ObjCFv */ -void cCcD_Obj::GetShapeAttr() const { - /* Nonmatching */ -} - -/* 00001D74-00001D7C .text CrossAtTg__14cCcD_ShapeAttrCFRC14cCcD_ShapeAttrP4cXyz */ -void cCcD_ShapeAttr::CrossAtTg(const cCcD_ShapeAttr&, cXyz*) const { - /* Nonmatching */ -} - -/* 00001D7C-00001D84 .text CrossCo__14cCcD_ShapeAttrCFRC14cCcD_ShapeAttrPf */ -void cCcD_ShapeAttr::CrossCo(const cCcD_ShapeAttr&, float*) const { - /* Nonmatching */ -} - -/* 00001D84-00001D90 .text GetCoCP__14cCcD_ShapeAttrFv */ -void cCcD_ShapeAttr::GetCoCP() { - /* Nonmatching */ -} - -/* 00001D90-00001D9C .text GetCoCP__14cCcD_ShapeAttrCFv */ -void cCcD_ShapeAttr::GetCoCP() const { - /* Nonmatching */ -} - -/* 00001D9C-00001DA0 .text __ct__4cXyzFv */ -cXyz::cXyz() { - /* Nonmatching */ -} - -/* 00001DA0-00001DCC .text __ct__13mDoExt_brkAnmFv */ -mDoExt_brkAnm::mDoExt_brkAnm() { - /* Nonmatching */ -} - -/* 00001DCC-00001E28 .text __dt__13mDoExt_bckAnmFv */ -mDoExt_bckAnm::~mDoExt_bckAnm() { - /* Nonmatching */ -} - -/* 00001E28-00001E50 .text __ct__13mDoExt_bckAnmFv */ -mDoExt_bckAnm::mDoExt_bckAnm() { - /* Nonmatching */ -} - -/* 00001E50-00001E78 .text __ct__13mDoExt_btkAnmFv */ -mDoExt_btkAnm::mDoExt_btkAnm() { - /* Nonmatching */ -} - -/* 00001E78-00001F44 .text __dt__8dCcD_CylFv */ -dCcD_Cyl::~dCcD_Cyl() { - /* Nonmatching */ -} - -/* 00001F44-00001F8C .text __dt__8cM3dGCylFv */ -cM3dGCyl::~cM3dGCyl() { - /* Nonmatching */ -} - -/* 00001F8C-00001FE8 .text __dt__14cCcD_ShapeAttrFv */ -cCcD_ShapeAttr::~cCcD_ShapeAttr() { - /* Nonmatching */ -} - -/* 00001FE8-00002030 .text __dt__8cM3dGAabFv */ -cM3dGAab::~cM3dGAab() { - /* Nonmatching */ -} - -/* 00002030-0000208C .text __dt__13mDoExt_brkAnmFv */ -mDoExt_brkAnm::~mDoExt_brkAnm() { - /* Nonmatching */ -} - -/* 0000208C-000020E8 .text __dt__13mDoExt_btkAnmFv */ -mDoExt_btkAnm::~mDoExt_btkAnm() { - /* Nonmatching */ -} - -/* 000020E8-00002130 .text __dt__14mDoExt_baseAnmFv */ -mDoExt_baseAnm::~mDoExt_baseAnm() { - /* Nonmatching */ -} - -/* 00002130-0000214C .text PrmAbstract__5daObjFPC10fopAc_ac_cQ214daObjBarrier_c7Param_eQ214daObjBarrier_c7Param_e */ -void daObj::PrmAbstract(const fopAc_ac_c*, daObjBarrier_c::Param_e, daObjBarrier_c::Param_e) { - /* Nonmatching */ -} - -/* 00002194-0000219C .text @280@__dt__8dCcD_CylFv */ -void @280@__dt__8dCcD_CylFv { - /* Nonmatching */ -} - -/* 0000219C-000021A4 .text @248@__dt__8dCcD_CylFv */ -void @248@__dt__8dCcD_CylFv { - /* Nonmatching */ -} +static actor_method_class l_daObjBarrier_Method = { + (process_method_func)daObjBarrier_Create, (process_method_func)daObjBarrier_Delete, + (process_method_func)daObjBarrier_Execute, (process_method_func)daObjBarrier_IsDelete, + (process_method_func)daObjBarrier_Draw, +}; +extern actor_process_profile_definition g_profile_Obj_Barrier = { + /* LayerID */ fpcLy_CURRENT_e, + /* ListID */ 7, + /* ListPrio */ fpcPi_CURRENT_e, + /* ProcName */ PROC_Obj_Barrier, + /* Proc SubMtd */ &g_fpcLf_Method.mBase, + /* Size */ sizeof(daObjBarrier_c), + /* SizeOther */ 0, + /* Parameters */ 0, + /* Leaf SubMtd */ &g_fopAc_Method.base, + /* Priority */ 131, + /* Actor SubMtd */ &l_daObjBarrier_Method, + /* Status */ 0x40000, + /* Group */ fopAc_ACTOR_e, + /* CullType */ fopAc_CULLBOX_CUSTOM_e, +}; diff --git a/src/d/actor/d_a_obj_movebox.cpp b/src/d/actor/d_a_obj_movebox.cpp index 1c2e18a68..c3af525d9 100644 --- a/src/d/actor/d_a_obj_movebox.cpp +++ b/src/d/actor/d_a_obj_movebox.cpp @@ -558,8 +558,8 @@ namespace daObjMovebox { } else { numPnts = 4; } - if (numPnts > mPath->mNum) { - numPnts = mPath->mNum; + if (numPnts > mPath->m_num) { + numPnts = mPath->m_num; } s32 pntIdx; diff --git a/src/d/d_bg_s_movebg_actor.cpp b/src/d/d_bg_s_movebg_actor.cpp index b745e0710..dae989c2a 100644 --- a/src/d/d_bg_s_movebg_actor.cpp +++ b/src/d/d_bg_s_movebg_actor.cpp @@ -31,17 +31,11 @@ int dBgS_MoveBgActor::MoveBGCreateHeap() { } mpBgW = new dBgW(); - if (mpBgW != NULL) { - cBgD_t* res = (cBgD_t*)dComIfG_getObjectRes(m_name, m_dzb_id); - if (!mpBgW->Set(res, cBgW::MOVE_BG_e, &mBgMtx)) { - if (m_set_func != NULL) { - mpBgW->SetCrrFunc(m_set_func); - } - } else { - goto RET; // probably fake match, clean up later + if (mpBgW && !mpBgW->Set((cBgD_t*)dComIfG_getObjectRes(m_name, m_dzb_id), cBgW::MOVE_BG_e, &mBgMtx)) { + if (m_set_func != NULL) { + mpBgW->SetCrrFunc(m_set_func); } } else { - RET: mpBgW = NULL; return 0; } diff --git a/src/d/d_cc_d.cpp b/src/d/d_cc_d.cpp index 0377e51df..41ed90c59 100644 --- a/src/d/d_cc_d.cpp +++ b/src/d/d_cc_d.cpp @@ -29,8 +29,8 @@ void dCcD_GAtTgCoCommonBase::SetEffCounterTimer() { /* 800AB334-800AB384 .text __ct__10dCcD_GSttsFv */ dCcD_GStts::dCcD_GStts() { - mAt = 0; - mTg = 0; + mAtSpl = 0; + mTgSpl = 0; mRoomId = 0; field_0x08 = -1; mAtApid = -1; @@ -42,7 +42,15 @@ dCcD_GStts::dCcD_GStts() { /* 800AB384-800AB3BC .text Ct__10dCcD_GSttsFv */ void dCcD_GStts::Ct() { - /* Nonmatching */ + mAtSpl = 0; + mTgSpl = 0; + mRoomId = 0; + field_0x08 = -1; + mAtApid = -1; + mAtOldApid = -1; + mTgApid = -1; + mTgOldApid = -1; + field_0x1C = 0; } /* 800AB3BC-800AB3DC .text Move__10dCcD_GSttsFv */ @@ -79,17 +87,28 @@ void dCcD_Stts::Init(int param_0, int param_1, fopAc_ac_c* pActor) { /* 800AB46C-800AB4A0 .text Ct__9dCcD_SttsFv */ void dCcD_Stts::Ct() { - /* Nonmatching */ + cCcD_Stts::Ct(); + dCcD_GStts::Ct(); } /* 800AB4A0-800AB4D0 .text Set__11dCcD_GObjAtFRC14dCcD_SrcGObjAt */ -void dCcD_GObjAt::Set(const dCcD_SrcGObjAt&) { - /* Nonmatching */ +void dCcD_GObjAt::Set(const dCcD_SrcGObjAt& src) { + dCcD_GAtTgCoCommonBase::Set(src.mBase); + mSe = src.mSe; + mMtrl = 0; + mHitMark = src.mHitMark; + mSpl = src.mSpl; } /* 800AB4D0-800AB520 .text Set__11dCcD_GObjTgFRC14dCcD_SrcGObjTg */ -void dCcD_GObjTg::Set(const dCcD_SrcGObjTg&) { - /* Nonmatching */ +void dCcD_GObjTg::Set(const dCcD_SrcGObjTg& src) { + dCcD_GAtTgCoCommonBase::Set(src.mBase); + mSe = src.mSe; + mMtrl = 0; + mHitMark = src.mHitMark; + mSpl = src.mSpl; + mHitPos = cXyz::Zero; + mShieldFrontRangeYAngle = NULL; } /* 800AB520-800AB63C .text __ct__12dCcD_GObjInfFv */ @@ -97,7 +116,6 @@ dCcD_GObjInf::dCcD_GObjInf() { /* Nonmatching */ } -/* 800AB63C-800AB7C0 .text __dt__12dCcD_GObjInfFv */ dCcD_GObjInf::~dCcD_GObjInf() { /* Nonmatching */ } @@ -109,21 +127,23 @@ cCcD_GObjInf* dCcD_GObjInf::GetGObjInf() { /* 800AB7C4-800AB81C .text ClrAtHit__12dCcD_GObjInfFv */ void dCcD_GObjInf::ClrAtHit() { - OffAtHitBit(); cCcD_Obj::ClrAtHit(); mGObjAt.ClrHit(); OffAtShieldHit(); OffAtHitNoActor(); SubtractAtEffCounter(); - if (!ChkAtEffCounter()) { - ClrAtEffCounter(); - } } #if VERSION != VERSION_JPN /* 800AB81C-800AB874 .text ChkAtHit__12dCcD_GObjInfFv */ u32 dCcD_GObjInf::ChkAtHit() { - /* Nonmatching */ + if (!cCcD_ObjHitInf::ChkAtHit()) + return 0; + + if (!ChkAtHitNoActor() && !GetAtHitAc()) + return 0; + else + return 1; } #endif @@ -135,7 +155,10 @@ void dCcD_GObjInf::ResetAtHit() { /* 800AB8B4-800AB904 .text GetAtHitObj__12dCcD_GObjInfFv */ cCcD_Obj* dCcD_GObjInf::GetAtHitObj() { - /* Nonmatching */ + if (!ChkAtHitNoActor() && !GetAtHitAc()) + return NULL; + + return cCcD_ObjHitInf::GetAtHitObj(); } /* 800AB904-800AB938 .text GetAtHitGObj__12dCcD_GObjInfFv */ @@ -154,241 +177,167 @@ u8 dCcD_GObjInf::ChkAtNoGuard() { /* 800AB958-800AB9B0 .text ClrTgHit__12dCcD_GObjInfFv */ void dCcD_GObjInf::ClrTgHit() { - /* Nonmatching */ + cCcD_ObjHitInf::ClrTgHit(); + mGObjTg.ClrHit(); + OffTgHitNoActor(); + OffTgShieldHit(); + SubtractTgEffCounter(); } #if VERSION != VERSION_JPN /* 800AB9B0-800ABA08 .text ChkTgHit__12dCcD_GObjInfFv */ u32 dCcD_GObjInf::ChkTgHit() { - /* Nonmatching */ + if (!cCcD_ObjHitInf::ChkTgHit()) + return 0; + + if (!ChkTgHitNoActor() && !GetTgHitAc()) + return 0; + else + return 1; } #endif /* 800ABA08-800ABA48 .text ResetTgHit__12dCcD_GObjInfFv */ void dCcD_GObjInf::ResetTgHit() { - /* Nonmatching */ + // cCcD_ObjHitInf::ResetTgHit(); + ClrTgEffCounter(); } /* 800ABA48-800ABA98 .text GetTgHitObj__12dCcD_GObjInfFv */ cCcD_Obj* dCcD_GObjInf::GetTgHitObj() { - /* Nonmatching */ + if (!ChkTgHitNoActor() && !GetTgHitAc()) + return NULL; + return cCcD_ObjHitInf::GetTgHitObj(); } /* 800ABA98-800ABACC .text GetTgHitGObj__12dCcD_GObjInfFv */ dCcD_GObjInf* dCcD_GObjInf::GetTgHitGObj() { - /* Nonmatching */ + cCcD_Obj * pHitObj = GetTgHitObj(); + if (pHitObj == NULL) + return NULL; + return dCcD_GetGObjInf(pHitObj); } /* 800ABACC-800ABB00 .text GetTgHitObjSe__12dCcD_GObjInfFv */ u8 dCcD_GObjInf::GetTgHitObjSe() { - /* Nonmatching */ + dCcD_GObjInf * pHitInf = GetTgHitGObj(); + if (pHitInf == NULL) + return 0; + return pHitInf->GetAtSe(); } /* 800ABB00-800ABB4C .text ClrCoHit__12dCcD_GObjInfFv */ void dCcD_GObjInf::ClrCoHit() { - /* Nonmatching */ + cCcD_ObjHitInf::ClrCoHit(); + mGObjCo.ClrHit(); + OffCoHitNoActor(); + SubtractCoEffCounter(); } #if VERSION != VERSION_JPN /* 800ABB4C-800ABBA4 .text ChkCoHit__12dCcD_GObjInfFv */ u32 dCcD_GObjInf::ChkCoHit() { - /* Nonmatching */ + if (!cCcD_ObjHitInf::ChkCoHit()) + return 0; + + if (!ChkCoHitNoActor() && !GetCoHitAc()) + return 0; + else + return 1; } #endif /* 800ABBA4-800ABBF4 .text GetCoHitObj__12dCcD_GObjInfFv */ cCcD_Obj* dCcD_GObjInf::GetCoHitObj() { - /* Nonmatching */ + if (!ChkCoHitNoActor() && !GetCoHitAc()) + return NULL; + + return cCcD_ObjHitInf::GetCoHitObj(); } /* 800ABBF4-800ABC54 .text Set__12dCcD_GObjInfFRC15dCcD_SrcGObjInf */ -void dCcD_GObjInf::Set(const dCcD_SrcGObjInf&) { - /* Nonmatching */ +void dCcD_GObjInf::Set(const dCcD_SrcGObjInf& src) { + cCcD_Obj::Set(src.mObj); + mGObjAt.Set(src.mGObjAt); + mGObjTg.Set(src.mGObjTg); + mGObjCo.Set(src.mGObjCo); } /* 800ABC54-800ABCC4 .text dCcD_GetGObjInf__FP8cCcD_Obj */ dCcD_GObjInf* dCcD_GetGObjInf(cCcD_Obj* pobj) { - /* Nonmatching */ JUT_ASSERT(531, pobj != 0); return (dCcD_GObjInf*)pobj->GetGObjInf(); } /* 800ABCC4-800ABD34 .text Set__8dCcD_CpsFRC11dCcD_SrcCps */ -void dCcD_Cps::Set(const dCcD_SrcCps&) { - /* Nonmatching */ +void dCcD_Cps::Set(const dCcD_SrcCps& src) { + dCcD_GObjInf::Set(src.mObjInf); + cCcD_CpsAttr::Set(src.mCpsAttr); } /* 800ABD34-800ABD54 .text Set__8dCcD_TriFRC11dCcD_SrcTri */ -void dCcD_Tri::Set(const dCcD_SrcTri&) { - /* Nonmatching */ +void dCcD_Tri::Set(const dCcD_SrcTri& src) { + dCcD_GObjInf::Set(src.mObjInf); } /* 800ABD54-800ABDCC .text Set__8dCcD_CylFRC11dCcD_SrcCyl */ -void dCcD_Cyl::Set(const dCcD_SrcCyl&) { - /* Nonmatching */ +void dCcD_Cyl::Set(const dCcD_SrcCyl& src) { + dCcD_GObjInf::Set(src.mObjInf); + cCcD_CylAttr::Set(src.mCylAttr); } /* 800ABDCC-800ABE18 .text StartCAt__8dCcD_CylFR4cXyz */ -void dCcD_Cyl::StartCAt(cXyz&) { - /* Nonmatching */ +void dCcD_Cyl::StartCAt(cXyz& pos) { + cXyz vel = cXyz::Zero; + SetAtVec(vel); + SetC(pos); } /* 800ABE18-800ABE64 .text StartCTg__8dCcD_CylFR4cXyz */ -void dCcD_Cyl::StartCTg(cXyz&) { - /* Nonmatching */ +void dCcD_Cyl::StartCTg(cXyz& pos) { + cXyz vel = cXyz::Zero; + SetTgVec(vel); + SetC(pos); } /* 800ABE64-800ABEE0 .text MoveCAtTg__8dCcD_CylFR4cXyz */ -void dCcD_Cyl::MoveCAtTg(cXyz&) { - /* Nonmatching */ +void dCcD_Cyl::MoveCAtTg(cXyz& pos) { + cXyz vel = pos - GetC(); + SetAtVec(vel); + SetTgVec(vel); + SetC(pos); } /* 800ABEE0-800ABF50 .text MoveCAt__8dCcD_CylFR4cXyz */ -void dCcD_Cyl::MoveCAt(cXyz&) { - /* Nonmatching */ +void dCcD_Cyl::MoveCAt(cXyz& pos) { + cXyz vel = pos - GetC(); + SetAtVec(vel); + SetC(pos); } /* 800ABF50-800ABFC0 .text MoveCTg__8dCcD_CylFR4cXyz */ -void dCcD_Cyl::MoveCTg(cXyz&) { - /* Nonmatching */ +void dCcD_Cyl::MoveCTg(cXyz& pos) { + cXyz vel = pos - GetC(); + SetTgVec(vel); + SetC(pos); } /* 800ABFC0-800AC02C .text Set__8dCcD_SphFRC11dCcD_SrcSph */ -void dCcD_Sph::Set(const dCcD_SrcSph&) { - /* Nonmatching */ +void dCcD_Sph::Set(const dCcD_SrcSph& src) { + dCcD_GObjInf::Set(src.mObjInf); + cCcD_SphAttr::Set(src.mSphAttr); } /* 800AC02C-800AC078 .text StartCAt__8dCcD_SphFR4cXyz */ -void dCcD_Sph::StartCAt(cXyz&) { - /* Nonmatching */ +void dCcD_Sph::StartCAt(cXyz& pos) { + cXyz atVec = cXyz::Zero; + SetAtVec(atVec); + SetC(pos); } /* 800AC078-800AC0E8 .text MoveCAt__8dCcD_SphFR4cXyz */ -void dCcD_Sph::MoveCAt(cXyz&) { - /* Nonmatching */ -} - -// /* 800AC0E8-800AC130 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -// /* Nonmatching */ -// } - -// /* 800AC130-800AC228 .text __dt__12cCcD_GObjInfFv */ -// cCcD_GObjInf::~cCcD_GObjInf() { -// /* Nonmatching */ -// } - -// /* 800AC228-800AC310 .text __dt__8cCcD_ObjFv */ -// cCcD_Obj::~cCcD_Obj() { -// /* Nonmatching */ -// } - -// /* 800AC310-800AC3D0 .text __dt__14cCcD_ObjHitInfFv */ -// cCcD_ObjHitInf::~cCcD_ObjHitInf() { -// /* Nonmatching */ -// } - -// /* 800AC3D0-800AC42C .text __dt__10cCcD_ObjCoFv */ -// cCcD_ObjCo::~cCcD_ObjCo() { -// /* Nonmatching */ -// } - -// /* 800AC42C-800AC488 .text __dt__10cCcD_ObjTgFv */ -// cCcD_ObjTg::~cCcD_ObjTg() { -// /* Nonmatching */ -// } - -// /* 800AC488-800AC4E4 .text __dt__10cCcD_ObjAtFv */ -// cCcD_ObjAt::~cCcD_ObjAt() { -// /* Nonmatching */ -// } - -// /* 800AC4E4-800AC52C .text __dt__18cCcD_ObjCommonBaseFv */ -// cCcD_ObjCommonBase::~cCcD_ObjCommonBase() { -// /* Nonmatching */ -// } - -// /* 800AC52C-800AC534 .text GetGObjInf__8cCcD_ObjFv */ -// cCcD_GObjInf* cCcD_Obj::GetGObjInf() { -// /* Nonmatching */ -// } - -// /* 800AC534-800AC538 .text GetGObjInf__12cCcD_GObjInfCFv */ -// cCcD_GObjInf const* cCcD_GObjInf::GetGObjInf() const { -// /* Nonmatching */ -// } - -// /* 800AC538-800AC540 .text GetShapeAttr__8cCcD_ObjCFv */ -// cCcD_ShapeAttr const* cCcD_Obj::GetShapeAttr() const { -// /* Nonmatching */ -// } - -// /* 800AC540-800AC558 .text ClrAtHit__12cCcD_GObjInfFv */ -// void cCcD_GObjInf::ClrAtHit() { -// /* Nonmatching */ -// } - -// /* 800AC558-800AC570 .text ClrTgHit__12cCcD_GObjInfFv */ -// void cCcD_GObjInf::ClrTgHit() { -// /* Nonmatching */ -// } - -// /* 800AC570-800AC588 .text ClrCoHit__12cCcD_GObjInfFv */ -// void cCcD_GObjInf::ClrCoHit() { -// /* Nonmatching */ -// } - -// /* 800AC588-800AC58C .text GetGObjInf__12cCcD_GObjInfFv */ -// cCcD_GObjInf* cCcD_GObjInf::GetGObjInf() { -// /* Nonmatching */ -// } - -// /* 800AC58C-800AC594 .text GetGObjInf__8cCcD_ObjCFv */ -// cCcD_GObjInf const* cCcD_Obj::GetGObjInf() const { -// /* Nonmatching */ -// } - -/* 800AC594-800AC5F0 .text __dt__11dCcD_GObjCoFv */ -dCcD_GObjCo::~dCcD_GObjCo() { - /* Nonmatching */ -} - -/* 800AC5F0-800AC64C .text __dt__11dCcD_GObjTgFv */ -dCcD_GObjTg::~dCcD_GObjTg() { - /* Nonmatching */ -} - -/* 800AC64C-800AC6A8 .text __dt__11dCcD_GObjAtFv */ -dCcD_GObjAt::~dCcD_GObjAt() { - /* Nonmatching */ -} - -/* 800AC6A8-800AC6F0 .text __dt__22dCcD_GAtTgCoCommonBaseFv */ -dCcD_GAtTgCoCommonBase::~dCcD_GAtTgCoCommonBase() { - /* Nonmatching */ -} - -/* 800AC6F0-800AC700 .text GetGStts__9dCcD_SttsFv */ -cCcD_GStts* dCcD_Stts::GetGStts() { - /* Nonmatching */ -} - -/* 800AC700-800AC70C .text ClrAt__9dCcD_SttsFv */ -void dCcD_Stts::ClrAt() { - /* Nonmatching */ -} - -/* 800AC70C-800AC71C .text ClrTg__9dCcD_SttsFv */ -void dCcD_Stts::ClrTg() { - /* Nonmatching */ -} - -/* 800AC71C-800AC7AC .text __dt__9dCcD_SttsFv */ -dCcD_Stts::~dCcD_Stts() { - /* Nonmatching */ -} - -/* 800AC7AC-800AC808 .text __dt__10dCcD_GSttsFv */ -dCcD_GStts::~dCcD_GStts() { - /* Nonmatching */ +void dCcD_Sph::MoveCAt(cXyz& pos) { + cXyz atVec = pos - *GetCP(); + SetAtVec(atVec); + SetC(pos); } diff --git a/src/d/d_event_manager.cpp b/src/d/d_event_manager.cpp index b98ab9763..f0f0caf97 100644 --- a/src/d/d_event_manager.cpp +++ b/src/d/d_event_manager.cpp @@ -109,10 +109,11 @@ void dEvent_manager_c::order(short) { /* 800744E8-80074528 .text startCheck__16dEvent_manager_cFs */ void dEvent_manager_c::startCheck(short) { /* Nonmatching */ + startCheckOld() } /* 80074528-80074564 .text startCheckOld__16dEvent_manager_cFPCc */ -void dEvent_manager_c::startCheckOld(const char*) { +int dEvent_manager_c::startCheckOld(const char*) { /* Nonmatching */ } diff --git a/src/d/d_jnt_hit.cpp b/src/d/d_jnt_hit.cpp index 411fd0647..2b8c197a2 100644 --- a/src/d/d_jnt_hit.cpp +++ b/src/d/d_jnt_hit.cpp @@ -3,7 +3,7 @@ // Translation Unit: d_jnt_hit.cpp // -#include "d_jnt_hit.h" +#include "d/d_jnt_hit.h" #include "dolphin/types.h" /* 80060BE8-80060C44 .text __ct__12JntHit_HIO_cFv */ @@ -17,17 +17,17 @@ void JntHit_c::CreateInit() { } /* 80060EC4-80061440 .text CylHitPosAngleOffset__8JntHit_cFP4cXyzP5csXyzP4cXyzP5csXyz4cXyz4cXyzf */ -void JntHit_c::CylHitPosAngleOffset(cXyz*, csXyz*, cXyz*, csXyz*, cXyz, cXyz, float) { +void JntHit_c::CylHitPosAngleOffset(cXyz*, csXyz*, cXyz*, csXyz*, cXyz, cXyz, f32) { /* Nonmatching */ } /* 80061440-80061830 .text Cyl2HitPosAngleOffset__8JntHit_cFP4cXyzP5csXyzP4cXyzP5csXyz4cXyz4cXyzf */ -void JntHit_c::Cyl2HitPosAngleOffset(cXyz*, csXyz*, cXyz*, csXyz*, cXyz, cXyz, float) { +void JntHit_c::Cyl2HitPosAngleOffset(cXyz*, csXyz*, cXyz*, csXyz*, cXyz, cXyz, f32) { /* Nonmatching */ } /* 80061830-80061ACC .text SphHitPosAngleOffset__8JntHit_cFP4cXyzP5csXyzP4cXyzP5csXyz4cXyzf */ -void JntHit_c::SphHitPosAngleOffset(cXyz*, csXyz*, cXyz*, csXyz*, cXyz, float) { +void JntHit_c::SphHitPosAngleOffset(cXyz*, csXyz*, cXyz*, csXyz*, cXyz, f32) { /* Nonmatching */ } @@ -37,12 +37,12 @@ void JntHit_c::HitBufferUpdate(int*, cXyz*, int, csXyz*, cXyz*) { } /* 80061C28-800627DC .text searchJntHitPosAngleOffset__8JntHit_cFP4cXyzP5csXyzP4cXyzP5csXyz */ -void JntHit_c::searchJntHitPosAngleOffset(cXyz*, csXyz*, cXyz*, csXyz*) { +s32 JntHit_c::searchJntHitPosAngleOffset(cXyz*, csXyz*, cXyz*, csXyz*) { /* Nonmatching */ } /* 800627DC-8006286C .text JntHit_create__FP8J3DModelP16__jnt_hit_data_cs */ -void JntHit_create(J3DModel*, __jnt_hit_data_c*, short) { +JntHit_c* JntHit_create(J3DModel* model, __jnt_hit_data_c* jntHitData, s16 hitDataCount) { /* Nonmatching */ } diff --git a/src/d/d_kankyo.cpp b/src/d/d_kankyo.cpp index 4da5c6f7a..1f7221a9b 100644 --- a/src/d/d_kankyo.cpp +++ b/src/d/d_kankyo.cpp @@ -18,9 +18,11 @@ #include "m_Do/m_Do_mtx.h" #include "m_Do/m_Do_printf.h" +#include "src/d/d_kankyo_dayproc.inc" + // stripped or compiler generated? -static u32 unused_lit_2100[] = {0x3F800000, 0x3F800000, 0x3F800000, - 0x3F800000, 0x3F800000, 0x3F800000}; +static Vec unused_lit_2100[] = {1.0f, 1.0f, 1.0f}; +static Vec unused_lit_210c[] = {1.0f, 1.0f, 1.0f}; struct dKy_setLight__Status { /* 0x00 */ Vec mPos; @@ -528,10 +530,8 @@ void dScnKy_env_light_c::setDaytime() { } /* 80190A18-80190A20 .text GetTimePass__20dStage_roomControl_cFv */ -// NONMATCHING -// making this return s8 matches this, but places where it's used want it to be s32? s32 dStage_roomControl_c::GetTimePass() { - return m_time_pass; + return (u8)m_time_pass; } /* 80190A20-80190ACC .text SetSchbit__18dScnKy_env_light_cFv */ @@ -1564,7 +1564,7 @@ void setLightTevColorType_sub(J3DMaterial* i_material, dKy_tevstr_c* i_tevstr) { J3DColorChan* colorchan_p = i_material->getColorBlock()->getColorChan(0); colorchan_p->setLightMask(1); int var_r28; - int prev_a = i_material->getTevColor(3)->a; + int prev_a = i_material->getTevColor(3)->mColor.a; var_r28 = 0xFF; if (prev_a > 0 && i_material->getTevBlock()->getTevKColorSel(prev_a - 1) == 13) { @@ -1593,33 +1593,33 @@ void setLightTevColorType_sub(J3DMaterial* i_material, dKy_tevstr_c* i_tevstr) { i_material->getColorBlock()->setLight(0, &i_tevstr->mLightObj); if (toon_proc_check() && i_tevstr->mLightMode != 0) { - GXColor* kcol_p = i_material->getTevKColor(0); + GXColor* kcol_p = &i_material->getTevKColor(0)->mColor; if (kcol_p != NULL) { J3DGXColor kcol; - kcol.a = kcol_p->a; - kcol.r = i_tevstr->mColorC0.r; - kcol.g = i_tevstr->mColorC0.g; - kcol.b = i_tevstr->mColorC0.b; + kcol.mColor.a = kcol_p->a; + kcol.mColor.r = i_tevstr->mColorC0.r; + kcol.mColor.g = i_tevstr->mColorC0.g; + kcol.mColor.b = i_tevstr->mColorC0.b; i_material->setTevKColor(0, &kcol); } - GXColorS10* col_p = i_material->getTevColor(0); + GXColorS10* col_p = &i_material->getTevColor(0)->mColor; if (col_p != NULL) { J3DGXColorS10 col; - col.a = col_p->a; - col.r = i_tevstr->mColorK0.r; - col.g = i_tevstr->mColorK0.g; - col.b = i_tevstr->mColorK0.b; + col.mColor.a = col_p->a; + col.mColor.r = i_tevstr->mColorK0.r; + col.mColor.g = i_tevstr->mColorK0.g; + col.mColor.b = i_tevstr->mColorK0.b; i_material->setTevColor(0, &col); } } else { - GXColorS10* col_p = i_material->getTevColor(0); + GXColorS10* col_p = &i_material->getTevColor(0)->mColor; if (col_p != NULL) { i_tevstr->mColorC0.a = col_p->a; i_material->setTevColor(0, (J3DGXColorS10*)&i_tevstr->mColorC0); } - GXColor* kcol_p = i_material->getTevKColor(0); + GXColor* kcol_p = &i_material->getTevKColor(0)->mColor; if (kcol_p != NULL) { i_tevstr->mColorK0.a = kcol_p->a; i_material->setTevKColor(0, (J3DGXColor*)&i_tevstr->mColorK0); @@ -1746,7 +1746,6 @@ void dScnKy_env_light_c::SetBaseLight() { } /* 80193EE4-801940EC .text exeKankyo__18dScnKy_env_light_cFv */ -// NONMATCHING - one block with regswaps void dScnKy_env_light_c::exeKankyo() { g_env_light.mColPatMode = g_env_light.mColPatModeGather; @@ -1788,10 +1787,11 @@ void dScnKy_env_light_c::exeKankyo() { g_env_light.mColpatPrevGather = 0xFF; } - if (g_env_light.mColpatCurrGather != 0xFF) { - g_env_light.mColpatCurr = g_env_light.mColpatCurrGather; + u8 currGather = g_env_light.mColpatCurrGather; + if (currGather != 0xFF) { + g_env_light.mColpatCurr = currGather; g_env_light.mColpatCurrGather = 0xFF; - g_env_light.mColpatWeather = g_env_light.mColpatCurrGather; + g_env_light.mColpatWeather = currGather; } if (g_env_light.mColPatBlendGather >= 0.0f) { @@ -2171,12 +2171,32 @@ void dKy_setLight() { /* 8019514C-80195270 .text dKy_setLight_again__Fv */ void dKy_setLight_again() { - /* Nonmatching */ + Mtx invView; + Vec tmp; + GXLightObj lightObj; + + mDoMtx_inverseTranspose(j3dSys.getViewMtx(), invView); + + MTXMultVec(j3dSys.getViewMtx(), &lightStatusData[0].mPos, &tmp); + GXInitLightPos(&lightObj, tmp.x, tmp.y, tmp.z); + MTXMultVec(invView, &lightStatusData[0].mLightDir, &tmp); + GXInitLightPos(&lightObj, tmp.x, tmp.y, tmp.z); + GXInitLightColor(&lightObj, lightStatusData[0].mColor); + if (lightStatusData[0].mAttnType == 0) { + GXInitLightAttn(&lightObj, + lightStatusData[0].mLightA[0], lightStatusData[0].mLightA[1], lightStatusData[0].mLightA[2], + lightStatusData[0].mLightK[0], lightStatusData[0].mLightK[1], lightStatusData[0].mLightK[2]); + } else { + GXInitLightDistAttn(&lightObj, lightStatusData[0].mRefDistance, lightStatusData[0].mRefBrightness, lightStatusData[0].mDistAttnFn); + GXInitLightSpot(&lightObj, lightStatusData[0].mSpotCutoff, lightStatusData[0].mSpotFn); + } + + GXLoadLightObjImm(&lightObj, GXLightID(lightMaskData[0])); } /* 80195270-80195280 .text dKy_Get_DifCol__Fv */ -void dKy_Get_DifCol() { - /* Nonmatching */ +GXColorS10 * dKy_Get_DifCol() { + return &g_env_light.mActorK0; } /* 80195280-801952BC .text dKy_light_influence_pos__Fi */ @@ -2464,33 +2484,66 @@ void dKy_Sound_set(cXyz, int, unsigned int, int) { } /* 801969A8-801969B8 .text dKy_Sound_get__Fv */ -void dKy_Sound_get() { - /* Nonmatching */ +SND_INFLUENCE * dKy_Sound_get() { + return &g_env_light.mSound; } /* 801969B8-80196A08 .text dKy_SordFlush_set__F4cXyzi */ -void dKy_SordFlush_set(cXyz, int) { - /* Nonmatching */ +void dKy_SordFlush_set(cXyz hitPos, int lightType) { + if (g_env_light.mEfLightProc.mSwordState == 0) { + g_env_light.mEfLightProc.mSwordState = 1; + g_env_light.mEfLightProc.mSwordLightType = lightType; + g_env_light.mEfLightProc.mSwordLight.mPos = hitPos; + } else if (g_env_light.mEfLightProc.mSwordState == 2) { + g_env_light.mEfLightProc.mSwordState = 4; + } } /* 80196A08-80196A34 .text dKy_FirstlightVec_get__FP4cXyz */ -void dKy_FirstlightVec_get(cXyz*) { - /* Nonmatching */ +cXyz dKy_FirstlightVec_get(cXyz *pDst) { + pDst->x = 0.0f; + pDst->y = 0.0f; + pDst->z = 0.0f; + return *pDst; } /* 80196A34-80196AE4 .text GxFogSet_Sub__FP8_GXColor */ -void GxFogSet_Sub(GXColor*) { - /* Nonmatching */ +void GxFogSet_Sub(GXColor* pFogColor) { + f32 near = 1.0f; + f32 far = 160000.0f; + + GXColor fogColor; + fogColor.r = pFogColor->r; + fogColor.g = pFogColor->g; + fogColor.b = pFogColor->b; + fogColor.a = pFogColor->a; + + if (g_dComIfG_gameInfo.drawlist.mpCamera != NULL) { + if (g_dComIfG_gameInfo.drawlist.mpCamera->mNear >= 0.0f && g_dComIfG_gameInfo.drawlist.mpCamera->mFar >= 0.0f && g_dComIfG_gameInfo.drawlist.mpCamera->mNear < g_dComIfG_gameInfo.drawlist.mpCamera->mFar) { + near = g_dComIfG_gameInfo.drawlist.mpCamera->mNear; + far = g_dComIfG_gameInfo.drawlist.mpCamera->mFar; + } + } + + GXSetFog(GX_FOG_PERSP_LIN, g_env_light.mFogStartZ__setLight, g_env_light.mFogEndZ__setLight, near, far, fogColor); } /* 80196AE4-80196B28 .text GxFog_set__Fv */ void GxFog_set() { - /* Nonmatching */ + GXColor fogColor; + fogColor.r = g_env_light.mFogColor.r; + fogColor.g = g_env_light.mFogColor.g; + fogColor.b = g_env_light.mFogColor.b; + GxFogSet_Sub(&fogColor); } /* 80196B28-80196B6C .text GxFog_sea_set__Fv */ void GxFog_sea_set() { - /* Nonmatching */ + GXColor fogColor; + fogColor.r = g_env_light.mVrUsoUmiColor.r; + fogColor.g = g_env_light.mVrUsoUmiColor.g; + fogColor.b = g_env_light.mVrUsoUmiColor.b; + GxFogSet_Sub(&fogColor); } /* 80196B6C-80196B90 .text dKy_GxFog_set__Fv */ @@ -2506,18 +2559,53 @@ void dKy_GxFog_sea_set() { } /* 80196BB4-80196C5C .text dKy_GxFog_tevstr_set__FP12dKy_tevstr_c */ -void dKy_GxFog_tevstr_set(dKy_tevstr_c*) { - /* Nonmatching */ +void dKy_GxFog_tevstr_set(dKy_tevstr_c* pTevStr) { + f32 near = 1.0f; + f32 far = 160000.0f; + + GXColor fogColor; + fogColor.r = pTevStr->mFogColor.r; + fogColor.g = pTevStr->mFogColor.g; + fogColor.b = pTevStr->mFogColor.b; + + if (g_dComIfG_gameInfo.drawlist.mpCamera != NULL) { + if (g_dComIfG_gameInfo.drawlist.mpCamera->mNear >= 0.0f && g_dComIfG_gameInfo.drawlist.mpCamera->mFar >= 0.0f && g_dComIfG_gameInfo.drawlist.mpCamera->mNear < g_dComIfG_gameInfo.drawlist.mpCamera->mFar) { + near = g_dComIfG_gameInfo.drawlist.mpCamera->mNear; + far = g_dComIfG_gameInfo.drawlist.mpCamera->mFar; + } + } + + GXSetFog(GX_FOG_PERSP_LIN, pTevStr->mFogStartZ, pTevStr->mFogEndZ, near, far, fogColor); + GxXFog_set(); } +extern void GFSetFog(GXFogType type, f32 startZ, f32 endZ, f32 nearZ, f32 farZ, GXColor color); + /* 80196C5C-80196D04 .text dKy_GfFog_tevstr_set__FP12dKy_tevstr_c */ -void dKy_GfFog_tevstr_set(dKy_tevstr_c*) { - /* Nonmatching */ +void dKy_GfFog_tevstr_set(dKy_tevstr_c* pTevStr) { + f32 near = 1.0f; + f32 far = 160000.0f; + + GXColor fogColor; + fogColor.r = pTevStr->mFogColor.r; + fogColor.g = pTevStr->mFogColor.g; + fogColor.b = pTevStr->mFogColor.b; + + if (g_dComIfG_gameInfo.drawlist.mpCamera != NULL) { + if (g_dComIfG_gameInfo.drawlist.mpCamera->mNear >= 0.0f && g_dComIfG_gameInfo.drawlist.mpCamera->mFar >= 0.0f && g_dComIfG_gameInfo.drawlist.mpCamera->mNear < g_dComIfG_gameInfo.drawlist.mpCamera->mFar) { + near = g_dComIfG_gameInfo.drawlist.mpCamera->mNear; + far = g_dComIfG_gameInfo.drawlist.mpCamera->mFar; + } + } + + GFSetFog(GX_FOG_PERSP_LIN, pTevStr->mFogStartZ, pTevStr->mFogEndZ, near, far, fogColor); + GxXFog_set(); } /* 80196D04-80196D48 .text GxXFog_set__Fv */ void GxXFog_set() { - /* Nonmatching */ + dKyd_xfog_table_set(g_env_light.mFogAdjTableType); + GXSetFogRangeAdj(g_env_light.mFogAdjEnable, g_env_light.mFogAdjCenter, &g_env_light.mFogAdjTable); } /* 80196D48-80196D70 .text dKy_change_colset__FUcUcf */ @@ -2557,8 +2645,20 @@ void dKy_custom_timeset(f32 i_speed) { } /* 80196DEC-80196EB4 .text dKy_setLight_mine__FP12dKy_tevstr_c */ -void dKy_setLight_mine(dKy_tevstr_c*) { - /* Nonmatching */ +void dKy_setLight_mine(dKy_tevstr_c* pTevStr) { + GXLightObj lightObj; + + if (!toon_proc_check()) + GXInitLightPos(&lightObj, pTevStr->mLightObj.mInfo.mLightPosition.x, pTevStr->mLightObj.mInfo.mLightPosition.y, pTevStr->mLightObj.mInfo.mLightPosition.z); + else + GXInitLightPos(&lightObj, -pTevStr->mLightObj.mInfo.mLightPosition.x, -pTevStr->mLightObj.mInfo.mLightPosition.y, -pTevStr->mLightObj.mInfo.mLightPosition.z); + + GXInitLightDir(&lightObj, pTevStr->mLightObj.mInfo.mLightDirection.x, pTevStr->mLightObj.mInfo.mLightDirection.y, pTevStr->mLightObj.mInfo.mLightDirection.z); + GXInitLightColor(&lightObj, pTevStr->mLightObj.mInfo.mColor); + GXInitLightAttn(&lightObj, + pTevStr->mLightObj.mInfo.mCosAtten.x, pTevStr->mLightObj.mInfo.mCosAtten.y, pTevStr->mLightObj.mInfo.mCosAtten.z, + pTevStr->mLightObj.mInfo.mDistAtten.x, pTevStr->mLightObj.mInfo.mDistAtten.y, pTevStr->mLightObj.mInfo.mDistAtten.z); + GXLoadLightObjImm(&lightObj, GXLightID(lightMaskData[0])); } /* 80196EB4-80196F78 .text dKy_tevstr_init__FP12dKy_tevstr_cScUc */ @@ -2625,8 +2725,44 @@ int dKy_get_schbit_timer() { } /* 80197018-80197144 .text dKy_get_seacolor__FP8_GXColorP8_GXColor */ -void dKy_get_seacolor(GXColor*, GXColor*) { - /* Nonmatching */ +void dKy_get_seacolor(GXColor* amb, GXColor* dif) { + s16 ambr = g_env_light.mBG1_C0.r + g_env_light.mBg1AddColAmb.r; + s16 ambg = g_env_light.mBG1_C0.g + g_env_light.mBg1AddColAmb.g; + s16 ambb = g_env_light.mBG1_C0.b + g_env_light.mBg1AddColAmb.b; + if (ambr < 0x00) + ambr = 0x00; + if (ambg < 0x00) + ambg = 0x00; + if (ambb < 0x00) + ambb = 0x00; + if (ambr > 0xFF) + ambr = 0xFF; + if (ambg > 0xFF) + ambg = 0xFF; + if (ambb > 0xFF) + ambb = 0xFF; + amb->r = ambr; + amb->g = ambg; + amb->b = ambb; + + s16 difr = g_env_light.mBG1_K0.r + g_env_light.mBg1AddColDif.r; + s16 difg = g_env_light.mBG1_K0.g + g_env_light.mBg1AddColDif.g; + s16 difb = g_env_light.mBG1_K0.b + g_env_light.mBg1AddColDif.b; + if (difr < 0x00) + difr = 0x00; + if (difg < 0x00) + difg = 0x00; + if (difb < 0x00) + difb = 0x00; + if (difr > 0xFF) + difr = 0xFF; + if (difg > 0xFF) + difg = 0xFF; + if (difb > 0xFF) + difb = 0xFF; + dif->r = difr; + dif->g = difg; + dif->b = difb; } /* 80197144-80197154 .text dKy_set_allcol_ratio__Ff */ @@ -2696,7 +2832,7 @@ u8 dKy_contrast_flg_get() { /* 801972CC-801972EC .text dKy_get_dayofweek__Fv */ int dKy_get_dayofweek() { - return dComIfGs_getDate(); + return dComIfGs_getDate() % 7; } /* 801972EC-801972FC .text dKy_set_nexttime__Ff */ @@ -2743,7 +2879,7 @@ u32 dKy_moon_type_chk() { } /* 80197404-80197504 .text dKy_telescope_lookin_chk__FP4cXyzff */ -bool dKy_telescope_lookin_chk(cXyz*, f32, f32) { +bool dKy_telescope_lookin_chk(cXyz* pPos, f32, f32) { /* Nonmatching */ } @@ -2776,12 +2912,22 @@ cXyz dKy_get_moon_pos() { /* 80197614-80197668 .text dKy_get_hokuto_pos__Fv */ cXyz dKy_get_hokuto_pos() { - /* Nonmatching */ + const Vec & eyePos = dComIfGp_getCamera(0)->mLookat.mEye; + cXyz pos; + pos.x = eyePos.x + 10300.0f; + pos.y = eyePos.y + 13400.0f; + pos.z = eyePos.z - 13525.0f; + return pos; } /* 80197668-801976BC .text dKy_get_orion_pos__Fv */ cXyz dKy_get_orion_pos() { - /* Nonmatching */ + const Vec & eyePos = dComIfGp_getCamera(0)->mLookat.mEye; + cXyz pos; + pos.x = eyePos.x + -9400.0f; + pos.y = eyePos.y + 22500.0f; + pos.z = eyePos.z + 15900.0f; + return pos; } /* 801976BC-801976D0 .text dKy_pship_existense_set__Fv */ diff --git a/src/d/d_kankyo_dayproc.inc b/src/d/d_kankyo_dayproc.inc new file mode 100644 index 000000000..318f952bf --- /dev/null +++ b/src/d/d_kankyo_dayproc.inc @@ -0,0 +1,94 @@ + +#include "d/d_com_inf_game.h" +#include "d/d_letter.h" +#include "SSystem/SComponent/c_lib.h" + +/* 80197AB8-80197FE4 .text dKankyo_DayProc__Fv */ +static void dKankyo_DayProc() { + if (dComIfGs_isEventBit(0x1820)) + dLetter_autoStock(0x8b03); + + if (dComIfGs_isEventBit(0x1820) && dComIfGs_isEventBit(0x0b80)) + dLetter_autoStock(0xb203); + + dLetter_delivery(0xac03); + dLetter_delivery(0xae03); + dLetter_delivery(0xb003); + dLetter_delivery(0xaf03); + dLetter_delivery(0x9d03); + + dComIfGs_setEventReg(0xcf03, cLib_maxLimit(dComIfGs_getEventReg(0xcf03) + 1, 3)); + dComIfGs_setEventReg(0xab03, cLib_maxLimit(dComIfGs_getEventReg(0xab03) + 1, 3)); + + if (dComIfGs_isGetItemReserve(0x0F) && !dComIfGs_checkReserveItem(0x9B)) + dComIfGs_setEventReg(0xccff, cLib_maxLimit(dComIfGs_getEventReg(0xccff) + 1, 2)); + + dComIfGs_setEventReg(0xbcff, 0); + dComIfGs_setEventReg(0xcb03, 0); + dComIfGs_setEventReg(0xca03, 0); + dComIfGs_setEventReg(0xc903, 0); + dComIfGs_offEventBit(0x1304); + dComIfGs_offEventBit(0x1302); + dComIfGs_offEventBit(0x1301); + dComIfGs_offTmpBit(0x0120); + dComIfGs_offTmpBit(0x0040); + dComIfGs_offTmpBit(0x0020); + dComIfGs_offTmpBit(0x0010); + dComIfGs_offTmpBit(0x0008); + dComIfGs_offTmpBit(0x0004); + dComIfGs_offTmpBit(0x0002); + dComIfGs_offTmpBit(0x0001); + dComIfGs_offTmpBit(0x0180); + dComIfGs_offTmpBit(0x0140); + dComIfGs_offTmpBit(0x0580); + dComIfGs_offTmpBit(0x0104); + + if (dComIfGs_getEventReg(0xc103) == 1) + dComIfGs_setEventReg(0xc103, 2); + + if (dComIfGs_isEventBit(0x1f10)) { + u8 reg = dComIfGs_getEventReg(0xbb07); + if (reg == 7) { + dComIfGs_onEventBit(0x1f08); + } else { + dComIfGs_setEventReg(0xbb07, cLib_maxLimit(reg + 1, 7)); + } + } + + if (dComIfGs_getEventReg(0xc407) == 6) + dComIfGs_setEventReg(0xc407, 7); + + u8 reg = dComIfGs_getEventReg(0xb907); + if (reg & 1) + dComIfGs_setEventReg(0xb907, reg + 1); + + dComIfGs_offEventBit(0x2680); + + if (dComIfGs_isEventBit(0x2a20)) + dComIfGs_setEventReg(0xa60f, cLib_maxLimit(dComIfGs_getEventReg(0xa60f) + 1, 3)); + + if (dKy_get_dayofweek() == 5) { + dComIfGs_offEventBit(0x2080); + dComIfGs_offEventBit(0x2004); + dComIfGs_offEventBit(0x2002); + dComIfGs_offEventBit(0x2804); + dComIfGs_offEventBit(0x2802); + dComIfGs_offEventBit(0x2801); + dComIfGs_offEventBit(0x2980); + dComIfGs_offEventBit(0x2940); + dComIfGs_offEventBit(0x3b01); + dComIfGs_offEventBit(0x3c80); + dComIfGs_offEventBit(0x3c40); + dComIfGs_offEventBit(0x3c20); + dComIfGs_offEventBit(0x3c10); + dComIfGs_offEventBit(0x3c08); + dComIfGs_offEventBit(0x3c04); + dComIfGs_offEventBit(0x3c02); + } + + dComIfGs_offTmpBit(0x0208); + if (dComIfGs_isEventBit(0x2f01)) + dComIfGs_onEventBit(0x3080); + dComIfGs_offTmpBit(0x0302); + dComIfGs_offTmpBit(0x0301); +} diff --git a/src/d/d_kankyo_rain.cpp b/src/d/d_kankyo_rain.cpp index b0668b507..7ebc4ac71 100644 --- a/src/d/d_kankyo_rain.cpp +++ b/src/d/d_kankyo_rain.cpp @@ -10,6 +10,9 @@ #include "d/d_kankyo_wether.h" #include "f_op/f_op_camera_mng.h" #include "m_Do/m_Do_lib.h" +#include "JSystem/JKernel/JKRHeap.h" + +static u32 now_room; /* 8008AA30-8008AB3C .text vectle_calc__FP10DOUBLE_POSP4cXyz */ void vectle_calc(DOUBLE_POS* i_pos, cXyz* o_out) { @@ -165,7 +168,10 @@ void dKyr_lenzflare_move() { /* 8008C888-8008C8B8 .text dKyr_moon_arrival_check__Fv */ BOOL dKyr_moon_arrival_check() { - /* Nonmatching */ + BOOL ret = false; + if (g_env_light.mCurTime > 277.5f || g_env_light.mCurTime < 112.5f) + ret = true; + return ret; } /* 8008C8B8-8008CF68 .text dKyr_sun_move__Fv */ @@ -175,7 +181,24 @@ void dKyr_sun_move() { /* 8008CF68-8008D0B4 .text dKyr_rain_init__Fv */ void dKyr_rain_init() { - /* Nonmatching */ + camera_class * pCamera = dComIfGp_getCamera(0); + g_env_light.mpRainPacket->mpTxSnow01 = (u8*)dComIfG_getObjectRes("Always", 0x81); + g_env_light.mpRainPacket->mpTxRingAHalf = (u8*)dComIfG_getObjectRes("Always", 0x85); + g_env_light.mpRainPacket->mCamEyePos = pCamera->mLookat.mEye; + g_env_light.mpRainPacket->mCamCenterPos = pCamera->mLookat.mCenter; + g_env_light.mpRainPacket->mCenterDeltaMul = 0.0f; + g_env_light.mpRainPacket->field_0x3700 = 0.0f; + g_env_light.mpRainPacket->mSibukiAlpha = 0.0f; + g_env_light.mpRainPacket->mOverheadFade = 0.0f; + g_env_light.mpRainPacket->mFwd1Fade = 0.0f; + g_env_light.mpRainPacket->mFwdFade2 = 0.0f; + g_env_light.mpRainPacket->mStatus = 0; + g_env_light.mpRainPacket->mCenterDelta.x = 0.0f; + g_env_light.mpRainPacket->mCenterDelta.y = 0.0f; + g_env_light.mpRainPacket->mCenterDelta.z = 0.0f; + for (u32 i = 0; i < ARRAY_SIZE(g_env_light.mpRainPacket->mRainEff); i++) + g_env_light.mpRainPacket->mRainEff[i].mStatus = 0; + g_env_light.mpRainPacket->mRainCount = 0; } /* 8008D0B4-8008D0DC .text rain_bg_chk__FP19dKankyo_rain_Packeti */ @@ -205,7 +228,19 @@ void dKyr_housi_move() { /* 8008F0BC-8008F23C .text dKyr_snow_init__Fv */ void dKyr_snow_init() { - /* Nonmatching */ + camera_class * pCamera = dComIfGp_getCamera(0); + g_env_light.mpSnowPacket = new(0x20) dKankyo_snow_Packet(); + if (g_env_light.mpSnowPacket != NULL) { + if (strcmp(dComIfGp_getStartStageName(), "Adanmae") != 0) { + g_env_light.mpSnowPacket->mpTexture = (u8*)dComIfG_getObjectRes("Always", 0x81); + } else { + g_env_light.mpSnowPacket->mpTexture = (u8*)dComIfG_getStageRes("Stage", "ak_kazanbai00.bti"); + } + } + for (u32 i = 0; i < ARRAY_SIZE(g_env_light.mpSnowPacket->mEff); i++) + g_env_light.mpSnowPacket->mEff[i].mStatus = 0; + g_env_light.mpSnowPacket->mEffCount = 0; + g_env_light.mpSnowPacket->mOldEyePos = pCamera->mLookat.mEye; } /* 8008F23C-8008F9FC .text dKyr_snow_move__Fv */ @@ -225,12 +260,24 @@ void dKyr_kazanbai_tamari_move() { /* 80090C68-80090D50 .text dKyr_star_init__Fv */ void dKyr_star_init() { - /* Nonmatching */ + g_env_light.mpStarPacket = new(0x20) dKankyo_star_Packet(); + if (g_env_light.mpStarPacket != NULL) { + g_env_light.mpStarPacket->field_0x10 = (u8*)dComIfG_getObjectRes("Always", 0x81); + g_env_light.mpStarPacket->mStarEff[0].mSin = 1.0f; + g_env_light.mpStarPacket->mCount = 0; + } } /* 80090D50-80090DE0 .text dKyr_star_move__Fv */ void dKyr_star_move() { - /* Nonmatching */ + dKankyo_star_Packet * pPkt = g_env_light.mpStarPacket; + pPkt->mCount = g_env_light.mStarCount; + if (pPkt->mCount != 0) { + f32 wave = fabsf(cM_fsin(pPkt->mStarEff[0].mAnimCounter)); + pPkt->mStarEff[0].mAnimCounter += 0.01f; + pPkt->mStarEff[0].mSin = wave; + cLib_addCalc(&pPkt->mStarEff[0].mSin, wave, 0.5f, 0.1f, 0.01f); + } } /* 80090DE0-80091964 .text wave_move__Fv */ @@ -260,7 +307,18 @@ void dKyr_poison_light_colision() { /* 80092448-8009258C .text poison_init__Fv */ void poison_init() { - /* Nonmatching */ + g_env_light.mpPoisonPacket = new(0x20) dKankyo_poison_Packet(); + g_env_light.mpPoisonPacket->field_0xbb9c.x = 0.0f; + g_env_light.mpPoisonPacket->field_0xbb9c.y = 0.0f; + g_env_light.mpPoisonPacket->field_0xbb9c.z = 0.0f; + g_env_light.mpPoisonPacket->mCount = 0; + if (g_env_light.mpPoisonPacket != NULL) { + g_env_light.mpPoisonPacket->mpTex = (u8*)dComIfG_getObjectRes("Always", 0x6e); + for (u32 i = 0; i < ARRAY_SIZE(g_env_light.mpPoisonPacket->mEff); i++) + g_env_light.mpPoisonPacket->mEff[i].mStatus = 0; + poison_move(); + now_room = dComIfGp_roomControl_getStayNo(); + } } /* 8009258C-800937BC .text poison_move__Fv */ @@ -312,6 +370,7 @@ void dKyr_drawRain(Mtx, u8**) { /* 8009682C-80096D18 .text dKyr_drawSibuki__FPA4_fPPUc */ void dKyr_drawSibuki(Mtx drawMtx, u8** pImg) { + /* Nonmatching */ dKankyo_rain_Packet * pPkt = g_env_light.mpRainPacket; camera_class *pCamera = dComIfGp_getCamera(0); @@ -403,7 +462,7 @@ void dKyr_drawSibuki(Mtx drawMtx, u8** pImg) { GXTexCoord2s16(0x1FF, 0x1FF); GXPosition3f32(p3.x, p3.y, p3.z); GXTexCoord2s16(0, 0x1FF); - i_GXEnd(); + GXEnd(); } GXSetClipMode(GX_CLIP_ENABLE); diff --git a/src/d/d_kankyo_wether.cpp b/src/d/d_kankyo_wether.cpp index 64883b07e..9a6c86d22 100644 --- a/src/d/d_kankyo_wether.cpp +++ b/src/d/d_kankyo_wether.cpp @@ -96,7 +96,7 @@ STAR_EFF::STAR_EFF() {} /* 800872D8-80087308 .text draw__19dKankyo_star_PacketFv */ void dKankyo_star_Packet::draw() { - dKyr_drawStar(j3dSys.getViewMtx(), &field_0x10); + dKyr_drawStar(j3dSys.getViewMtx(), &mpTexture); } /* 80087308-80087344 .text __dt__10POISON_EFFFv */ @@ -107,7 +107,7 @@ POISON_EFF::POISON_EFF() {} /* 80087348-8008737C .text draw__21dKankyo_poison_PacketFv */ void dKankyo_poison_Packet::draw() { - drawPoison(j3dSys.getViewMtx(), &field_0xbbac); + drawPoison(j3dSys.getViewMtx(), &mpTexture); } /* 8008737C-800873B8 .text __dt__9CLOUD_EFFFv */ @@ -754,9 +754,8 @@ void wether_move_moya() { } /* 800891A8-80089698 .text wether_move_vrkumo__Fv */ -// NONMATCHING - almost, regswap void wether_move_vrkumo() { - camera_class* camera_p = dComIfGp_getCamera(0); + camera_process_class* camera_p = dComIfGp_getCamera(0); static cXyz r09o(-180000.0f, 750.0f, -200000.0f); if (strcmp(dComIfGp_getStartStageName(), "Name") != 0) { @@ -1188,7 +1187,8 @@ void dKyw_pntwind_get_info(cXyz* param_0, cXyz* i_dir, f32* i_power) { *i_power = 0.0f; WIND_INFLUENCE* influence; - for (int i = 0; i < ARRAY_SIZE(g_env_light.mpWindInfluence); i++) { + s32 influence_count = ARRAY_SIZE(g_env_light.mpWindInfluence); + for (int i = 0; i < influence_count; i++) { influence = g_env_light.mpWindInfluence[i]; if (influence != NULL) { f32 dist = param_0->abs(influence->mPos); @@ -1291,7 +1291,6 @@ cXyz dKyw_get_AllWind_vecpow(cXyz* param_0) { } /* 8008A7D0-8008A870 .text dKyw_tact_wind_set__Fss */ -// NONMATCHING - small regswap... void dKyw_tact_wind_set(s16 i_windX, s16 i_windY) { dScnKy_env_light_c& env_light = dKy_getEnvlight(); cXyz* wind_vec = dKyw_get_wind_vec(); @@ -1301,10 +1300,10 @@ void dKyw_tact_wind_set(s16 i_windX, s16 i_windY) { dComIfGs_setWindX(i_windX); dComIfGs_setWindY(i_windY); - s16 temp_r29 = -(cM_atan2s(wind_vec->x, wind_vec->z) + 0x4000); + i_windY = -(cM_atan2s(wind_vec->x, wind_vec->z) + 0x4000); env_light.mWind.mTactWindAngleFlags = 1; - if ((s16)(temp_r29 - env_light.mWind.mTactWindAngleY) < 0) { + if ((s16)(i_windY - env_light.mWind.mTactWindAngleY) < 0) { env_light.mWind.mTactWindAngleFlags |= 0x80; } } diff --git a/src/d/d_particle.cpp b/src/d/d_particle.cpp index 840c39a59..747015b63 100644 --- a/src/d/d_particle.cpp +++ b/src/d/d_particle.cpp @@ -3,7 +3,7 @@ // Translation Unit: d_particle.cpp // -#include "d_particle.h" +#include "d/d_particle.h" #include "dolphin/types.h" /* 8007A4D8-8007A514 .text __ct__18dPa_modelEmitter_cFv */ @@ -16,14 +16,16 @@ dPa_J3DmodelEmitter_c::dPa_J3DmodelEmitter_c(JPABaseEmitter*, J3DModelData*, dKy /* Nonmatching */ } -/* 8007A804-8007A84C .text __dt__18dPa_modelEmitter_cFv */ -dPa_modelEmitter_c::~dPa_modelEmitter_c() { - /* Nonmatching */ -} +// /* 8007A804-8007A84C .text __dt__18dPa_modelEmitter_cFv */ +// dPa_modelEmitter_c::~dPa_modelEmitter_c() { +// /* Nonmatching */ +// } /* 8007A84C-8007A8C8 .text __dt__21dPa_J3DmodelEmitter_cFv */ -dPa_J3DmodelEmitter_c::~dPa_J3DmodelEmitter_c() { - /* Nonmatching */ +dPa_J3DmodelEmitter_c::~dPa_J3DmodelEmitter_c() { + if (mpHeap) { + mDoExt_destroySolidHeap(mpHeap); + } } /* 8007A8C8-8007ADC4 .text draw__21dPa_J3DmodelEmitter_cFv */ @@ -43,7 +45,13 @@ dPa_J3Dmodel_c::dPa_J3Dmodel_c() { /* 8007AED8-8007AF64 .text __dt__18dPa_modelControl_cFv */ dPa_modelControl_c::~dPa_modelControl_c() { - /* Nonmatching */ + node_class* node = parent.mpHead; + while (node) { + node_class* nextNode = node->mpNextNode; + cLs_SingleCut(node); + // delete node; + node = nextNode; + } } /* 8007AF64-8007B074 .text newModel__18dPa_modelControl_cFP12J3DModelData */ @@ -86,10 +94,10 @@ dPa_smokeEcallBack::dPa_smokeEcallBack(unsigned char) { /* Nonmatching */ } -/* 8007B444-8007B4B0 .text __dt__19dPa_followEcallBackFv */ -dPa_followEcallBack::~dPa_followEcallBack() { - /* Nonmatching */ -} +// /* 8007B444-8007B4B0 .text __dt__19dPa_followEcallBackFv */ +// dPa_followEcallBack::~dPa_followEcallBack() { +// /* Nonmatching */ +// } /* 8007B4B0-8007B558 .text __ct__18dPa_smokeEcallBackFUcUcUcUc */ dPa_smokeEcallBack::dPa_smokeEcallBack(unsigned char, unsigned char, unsigned char, unsigned char) { @@ -106,15 +114,15 @@ void dPa_smokeEcallBack::setup(JPABaseEmitter*, const cXyz*, const csXyz*, signe /* Nonmatching */ } -/* 8007B698-8007B6F4 .text __dt__18dPa_smokePcallBackFv */ -dPa_smokePcallBack::~dPa_smokePcallBack() { - /* Nonmatching */ -} +// /* 8007B698-8007B6F4 .text __dt__18dPa_smokePcallBackFv */ +// dPa_smokePcallBack::~dPa_smokePcallBack() { +// /* Nonmatching */ +// } -/* 8007B6F4-8007B73C .text __dt__54JPACallBackBase2Fv */ -JPACallBackBase2::~JPACallBackBase2() { - /* Nonmatching */ -} +// /* 8007B6F4-8007B73C .text __dt__54JPACallBackBase2Fv */ +// JPACallBackBase2::~JPACallBackBase2() { +// /* Nonmatching */ +// } /* 8007B73C-8007B804 .text initiateLighting__FR11_GXColorS10R8_GXColorR8_GXColor */ void initiateLighting(_GXColorS10&, _GXColor&, _GXColor&) { @@ -136,10 +144,6 @@ void dPa_smokeEcallBack::end() { /* Nonmatching */ } -void dPa_smokeEcallBack::~dPa_smokeEcallBack() { - -} - /* 8007BBD8-8007BC84 .text dPa_setWindPower__FP15JPABaseParticle */ void dPa_setWindPower(JPABaseParticle*) { /* Nonmatching */ @@ -162,13 +166,14 @@ void dPa_selectTexEcallBack::draw(JPABaseEmitter*) { /* 8007C3B0-8007C420 .text __ct__19dPa_simpleEcallBackFv */ dPa_simpleEcallBack::dPa_simpleEcallBack() { - /* Nonmatching */ + mpBaseEmitter = NULL; + mCount = 0; } -/* 8007C420-8007C45C .text __dt__16dPa_simpleData_cFv */ -dPa_simpleData_c::~dPa_simpleData_c() { - /* Nonmatching */ -} +// /* 8007C420-8007C45C .text __dt__16dPa_simpleData_cFv */ +// dPa_simpleData_c::~dPa_simpleData_c() { +// /* Nonmatching */ +// } /* 8007C45C-8007C460 .text __ct__16dPa_simpleData_cFv */ dPa_simpleData_c::dPa_simpleData_c() { @@ -180,10 +185,10 @@ void dPa_simpleEcallBack::executeAfter(JPABaseEmitter*) { /* Nonmatching */ } -/* 8007C618-8007C674 .text __dt__17dPa_windPcallBackFv */ -dPa_windPcallBack::~dPa_windPcallBack() { - /* Nonmatching */ -} +// /* 8007C618-8007C674 .text __dt__17dPa_windPcallBackFv */ +// dPa_windPcallBack::~dPa_windPcallBack() { +// /* Nonmatching */ +// } /* 8007C674-8007C6EC .text draw__19dPa_simpleEcallBackFP14JPABaseEmitter */ void dPa_simpleEcallBack::draw(JPABaseEmitter*) { @@ -215,10 +220,10 @@ dPa_control_c::dPa_control_c() { /* Nonmatching */ } -/* 8007C9A4-8007CA28 .text __dt__19dPa_simpleEcallBackFv */ -dPa_simpleEcallBack::~dPa_simpleEcallBack() { - /* Nonmatching */ -} +// /* 8007C9A4-8007CA28 .text __dt__19dPa_simpleEcallBackFv */ +// dPa_simpleEcallBack::~dPa_simpleEcallBack() { +// /* Nonmatching */ +// } /* 8007CA28-8007CA30 .text getRM_ID__13dPa_control_cFUs */ void dPa_control_c::getRM_ID(unsigned short) { @@ -281,7 +286,7 @@ void dPa_control_c::draw(JPADrawInfo*, unsigned char) { } /* 8007D1DC-8007D378 .text set__13dPa_control_cFUcUsPC4cXyzPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyz */ -void dPa_control_c::set(unsigned char, unsigned short, const cXyz*, const csXyz*, const cXyz*, unsigned char, dPa_levelEcallBack*, signed char, const _GXColor*, const _GXColor*, const cXyz*) { +JPABaseEmitter* dPa_control_c::set(unsigned char, unsigned short, const cXyz*, const csXyz*, const cXyz*, unsigned char, dPa_levelEcallBack*, signed char, const _GXColor*, const _GXColor*, const cXyz*) { /* Nonmatching */ } @@ -460,80 +465,80 @@ void dPa_trackEcallBack::draw(JPABaseEmitter*) { /* Nonmatching */ } -/* 8007F62C-8007F698 .text __dt__18dPa_trackEcallBackFv */ -dPa_trackEcallBack::~dPa_trackEcallBack() { - /* Nonmatching */ -} +// /* 8007F62C-8007F698 .text __dt__18dPa_trackEcallBackFv */ +// dPa_trackEcallBack::~dPa_trackEcallBack() { +// /* Nonmatching */ +// } -/* 8007F698-8007F704 .text __dt__22dPa_bombSmokeEcallBackFv */ -dPa_bombSmokeEcallBack::~dPa_bombSmokeEcallBack() { - /* Nonmatching */ -} +// /* 8007F698-8007F704 .text __dt__22dPa_bombSmokeEcallBackFv */ +// dPa_bombSmokeEcallBack::~dPa_bombSmokeEcallBack() { +// /* Nonmatching */ +// } /* 8007F704-8007F708 .text setup__22dPa_bombSmokeEcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc */ void dPa_bombSmokeEcallBack::setup(JPABaseEmitter*, const cXyz*, const csXyz*, signed char) { /* Nonmatching */ } -/* 8007F708-8007F764 .text __dt__19dPa_kageroEcallBackFv */ -dPa_kageroEcallBack::~dPa_kageroEcallBack() { - /* Nonmatching */ -} +// /* 8007F708-8007F764 .text __dt__19dPa_kageroEcallBackFv */ +// dPa_kageroEcallBack::~dPa_kageroEcallBack() { +// /* Nonmatching */ +// } -/* 8007F764-8007F7D0 .text __dt__20dPa_stripesEcallBackFv */ -dPa_stripesEcallBack::~dPa_stripesEcallBack() { - /* Nonmatching */ -} +// /* 8007F764-8007F7D0 .text __dt__20dPa_stripesEcallBackFv */ +// dPa_stripesEcallBack::~dPa_stripesEcallBack() { +// /* Nonmatching */ +// } /* 8007F7D0-8007F7D4 .text setup__20dPa_stripesEcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc */ void dPa_stripesEcallBack::setup(JPABaseEmitter*, const cXyz*, const csXyz*, signed char) { /* Nonmatching */ } -/* 8007F7D4-8007F840 .text __dt__22dPa_cutTurnEcallBack_cFv */ -dPa_cutTurnEcallBack_c::~dPa_cutTurnEcallBack_c() { - /* Nonmatching */ -} +// /* 8007F7D4-8007F840 .text __dt__22dPa_cutTurnEcallBack_cFv */ +// dPa_cutTurnEcallBack_c::~dPa_cutTurnEcallBack_c() { +// /* Nonmatching */ +// } -/* 8007F840-8007F8AC .text __dt__19dPa_splashEcallBackFv */ -dPa_splashEcallBack::~dPa_splashEcallBack() { - /* Nonmatching */ -} +// /* 8007F840-8007F8AC .text __dt__19dPa_splashEcallBackFv */ +// dPa_splashEcallBack::~dPa_splashEcallBack() { +// /* Nonmatching */ +// } -/* 8007F8AC-8007F940 .text __dt__17dPa_waveEcallBackFv */ -dPa_waveEcallBack::~dPa_waveEcallBack() { - /* Nonmatching */ -} +// /* 8007F8AC-8007F940 .text __dt__17dPa_waveEcallBackFv */ +// dPa_waveEcallBack::~dPa_waveEcallBack() { +// /* Nonmatching */ +// } -/* 8007F940-8007F99C .text __dt__19dPa_ripplePcallBackFv */ -dPa_ripplePcallBack::~dPa_ripplePcallBack() { - /* Nonmatching */ -} +// /* 8007F940-8007F99C .text __dt__19dPa_ripplePcallBackFv */ +// dPa_ripplePcallBack::~dPa_ripplePcallBack() { +// /* Nonmatching */ +// } /* 8007F99C-8007F9A0 .text init__54JPACallBackBase2FP14JPABaseEmitterP15JPABaseParticle */ void JPACallBackBase2::init(JPABaseEmitter*, JPABaseParticle*) { /* Nonmatching */ } -/* 8007F9A0-8007FA0C .text __dt__25dPa_singleRippleEcallBackFv */ -dPa_singleRippleEcallBack::~dPa_singleRippleEcallBack() { - /* Nonmatching */ -} +// /* 8007F9A0-8007FA0C .text __dt__25dPa_singleRippleEcallBackFv */ +// dPa_singleRippleEcallBack::~dPa_singleRippleEcallBack() { +// /* Nonmatching */ +// } -/* 8007FA0C-8007FA78 .text __dt__19dPa_rippleEcallBackFv */ -dPa_rippleEcallBack::~dPa_rippleEcallBack() { - /* Nonmatching */ -} +// /* 8007FA0C-8007FA78 .text __dt__19dPa_rippleEcallBackFv */ +// dPa_rippleEcallBack::~dPa_rippleEcallBack() { +// /* Nonmatching */ +// } /* 8007FA78-8007FA7C .text draw__54JPACallBackBase2FP14JPABaseEmitterP15JPABaseParticle */ void JPACallBackBase2::draw(JPABaseEmitter*, JPABaseParticle*) { /* Nonmatching */ } -/* 8007FA7C-8007FAE8 .text __dt__22dPa_selectTexEcallBackFv */ -dPa_selectTexEcallBack::~dPa_selectTexEcallBack() { - /* Nonmatching */ -} +// /* 8007FA7C-8007FAE8 .text __dt__22dPa_selectTexEcallBackFv */ +// dPa_selectTexEcallBack::~dPa_selectTexEcallBack() { +// /* Nonmatching */ +// } /* 8007FAE8-8007FAEC .text setup__22dPa_selectTexEcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc */ void dPa_selectTexEcallBack::setup(JPABaseEmitter*, const cXyz*, const csXyz*, signed char) { @@ -545,11 +550,6 @@ void JPACallBackBase2::execute(JPABaseEmitter /* Nonmatching */ } -/* 8007FAF0-8007FB0C .text cLib_calcTimer
    __FPUl */ -void cLib_calcTimer(unsigned long*) { - /* Nonmatching */ -} - /* 8007FF78-8007FFA8 .text draw__21dPa_setColorEcallBackFP14JPABaseEmitter */ void dPa_setColorEcallBack::draw(JPABaseEmitter*) { /* Nonmatching */ @@ -560,7 +560,7 @@ void dPa_setColorEcallBack::setup(JPABaseEmitter*, const cXyz*, const csXyz*, si /* Nonmatching */ } -/* 8007FFAC-80080018 .text __dt__21dPa_setColorEcallBackFv */ -dPa_setColorEcallBack::~dPa_setColorEcallBack() { - /* Nonmatching */ -} +// /* 8007FFAC-80080018 .text __dt__21dPa_setColorEcallBackFv */ +// dPa_setColorEcallBack::~dPa_setColorEcallBack() { +// /* Nonmatching */ +// } diff --git a/src/d/d_resorce.cpp b/src/d/d_resorce.cpp index 0c0e51596..8f2d68922 100644 --- a/src/d/d_resorce.cpp +++ b/src/d/d_resorce.cpp @@ -91,7 +91,7 @@ static void setToonTex(J3DModelData* pModel) { J3DTevBlock * pTevBlock = pMaterial->getTevBlock(); if (pTevBlock != NULL) { - GXColorS10 * pTev3 = pTevBlock->getTevColor(3); + GXColorS10 * pTev3 = &pTevBlock->getTevColor(3)->mColor; if (pTev3 != NULL) pTev3->a = pTevBlock->getTevStageNum(); @@ -131,7 +131,7 @@ static void setToonTex(J3DMaterialTable* pMaterialTable) { J3DTevBlock * pTevBlock = pMaterial->getTevBlock(); if (pTevBlock != NULL) { - GXColorS10 * pTev3 = pTevBlock->getTevColor(3); + GXColorS10 * pTev3 = &pTevBlock->getTevColor(3)->mColor; if (pTev3 != NULL) pTev3->a = pTevBlock->getTevStageNum(); } @@ -142,8 +142,6 @@ static void setToonTex(J3DMaterialTable* pMaterialTable) { /* 8006DFD4-8006E7A4 .text loadResource__11dRes_info_cFv */ int dRes_info_c::loadResource() { - // nonmatching, missing mDoExt_transAnmBas anm case - JUT_ASSERT(0x254, mRes == 0); s32 fileNum = mpArchive->countFile(); @@ -317,8 +315,19 @@ int dRes_info_c::loadResource() { pRes = J3DClusterLoaderDataBase::load(pRes); if (pRes == NULL) return -1; - } else if (resType == 'BCKS' || resType == 'BCK') { - // TODO + } else if (resType == 'BCKS' || resType == 'BCK ') { + void *pBasData; + if (*((u32*)((char*)pRes + 0x1C)) != 0xFFFFFFFF) + pBasData = (void*)(*((u32*)((char*)pRes + 0x1C)) + ((u32)pRes)); + else + pBasData = NULL; + + mDoExt_transAnmBas *pAnm = new mDoExt_transAnmBas(pBasData); + if (pAnm == NULL) + return -1; + + J3DAnmLoaderDataBase::setResource(pAnm, pRes); + pRes = pAnm; } else if (resType == 'BTP ' || resType == 'BTK ' || resType == 'BPK ' || resType == 'BRK ' || resType == 'BLK ' || resType == 'BVA ') { pRes = J3DAnmLoaderDataBase::load(pRes); if (pRes == NULL) diff --git a/src/d/d_s_actor_data_mng.cpp b/src/d/d_s_actor_data_mng.cpp index a09f9d517..e68b2bd80 100644 --- a/src/d/d_s_actor_data_mng.cpp +++ b/src/d/d_s_actor_data_mng.cpp @@ -3,37 +3,73 @@ // Translation Unit: d_s_actor_data_mng.cpp // -#include "d_s_actor_data_mng.h" -#include "dolphin/types.h" +#include "d/d_s_actor_data_mng.h" +#include "JSystem/JUtility/JUTAssert.h" /* 800C26D4-800C2704 .text __ct__12dADM_CharTblFv */ dADM_CharTbl::dADM_CharTbl() { - /* Nonmatching */ -} - -/* 800C2704-800C2758 .text __dt__12dADM_CharTblFv */ -dADM_CharTbl::~dADM_CharTbl() { - /* Nonmatching */ } /* 800C2758-800C2844 .text SetData__12dADM_CharTblFUlUlUlUlUlUlUl */ -void dADM_CharTbl::SetData(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) { - /* Nonmatching */ +void dADM_CharTbl::SetData(u32 offs, u32 row_num, u32 pRow, u32 colum_num, u32 pColumn, u32 dat_size, u32 data) { + for (u32 i = 0; i < row_num; i++, pRow += 4) + *((u32*)pRow) += offs; + + for (u32 i = 0; i < colum_num; i++, pColumn += 4) + *((u32*)pColumn) += offs; + + JUT_ASSERT(0x39, dat_size == row_num * colum_num); + cDT::Set(row_num, (char**)pRow, colum_num, (char**)pColumn, (u8*)data); + SetUpIndex(); } /* 800C2844-800C2B40 .text SetUpIndex__12dADM_CharTblFv */ void dADM_CharTbl::SetUpIndex() { - /* Nonmatching */ + mIndex_ARG = mFmt.GetIndex("ARG", 0); + mIndex_N_ITEM[0] = mFmt.GetIndex("N_ITEM0", 0); + mIndex_N_ITEM[1] = mFmt.GetIndex("N_ITEM1", 0); + mIndex_N_ITEM[2] = mFmt.GetIndex("N_ITEM2", 0); + mIndex_N_ITEM[3] = mFmt.GetIndex("N_ITEM3", 0); + mIndex_N_ITEM[4] = mFmt.GetIndex("N_ITEM4", 0); + mIndex_N_ITEM[5] = mFmt.GetIndex("N_ITEM5", 0); + mIndex_N_ITEM[6] = mFmt.GetIndex("N_ITEM6", 0); + mIndex_N_ITEM[7] = mFmt.GetIndex("N_ITEM7", 0); + mIndex_N_ITEM[8] = mFmt.GetIndex("N_ITEM8", 0); + mIndex_N_ITEM[9] = mFmt.GetIndex("N_ITEM9", 0); + mIndex_N_ITEM[10] = mFmt.GetIndex("N_ITEM10", 0); + mIndex_N_ITEM[11] = mFmt.GetIndex("N_ITEM11", 0); + mIndex_N_ITEM[12] = mFmt.GetIndex("N_ITEM12", 0); + mIndex_N_ITEM[13] = mFmt.GetIndex("N_ITEM13", 0); + mIndex_N_ITEM[14] = mFmt.GetIndex("N_ITEM14", 0); + mIndex_N_ITEM[15] = mFmt.GetIndex("N_ITEM15", 0); + mIndex_percent = mFmt.GetIndex("percent", 0); + mIndex_ITEM[0] = mFmt.GetIndex("ITEM0", 0); + mIndex_ITEM[1] = mFmt.GetIndex("ITEM1", 0); + mIndex_ITEM[2] = mFmt.GetIndex("ITEM2", 0); + mIndex_ITEM[3] = mFmt.GetIndex("ITEM3", 0); + mIndex_ITEM[4] = mFmt.GetIndex("ITEM4", 0); + mIndex_ITEM[5] = mFmt.GetIndex("ITEM5", 0); + mIndex_ITEM[6] = mFmt.GetIndex("ITEM6", 0); + mIndex_ITEM[7] = mFmt.GetIndex("ITEM7", 0); } /* 800C2B40-800C2BC8 .text GetNameIndex2__12dADM_CharTblCFPCci */ -void dADM_CharTbl::GetNameIndex2(const char*, int) const { - /* Nonmatching */ +int dADM_CharTbl::GetNameIndex2(const char* pName, int index) const { + for (int start = 0; ; start++) { + int col = mName.GetIndex(pName, start); + if (col == -1) + return -1; + + int inf = GetInf(mIndex_ARG, col); + if (index == inf) + return start; + } } /* 800C2BC8-800C2C14 .text __ct__4dADMFv */ dADM::dADM() { - /* Nonmatching */ + mBlockCount = 0; + mpData = NULL; } /* 800C2C14-800C2C78 .text __dt__4dADMFv */ @@ -42,12 +78,39 @@ dADM::~dADM() { } /* 800C2C78-800C2CC0 .text FindTag__4dADMFUlPUlPUl */ -void dADM::FindTag(unsigned long, unsigned long*, unsigned long*) { - /* Nonmatching */ +bool dADM::FindTag(u32 tag, u32* pSize, u32* pOffs) { + u32 *pData = (u32*)mpData; + for (s32 i = 0; i < mBlockCount; i++) { + if (tag == pData[0]) { + *pSize = pData[1]; + *pOffs = pData[2]; + return true; + } + + pData += 3; + } + + return false; } /* 800C2CC0-800C2DFC .text SetData__4dADMFPv */ -void dADM::SetData(void*) { - /* Nonmatching */ +void dADM::SetData(void* pData) { + u32 row, rowOffs; + u32 name, nameOffs; + u32 dat_size, dataOffs; + + mBlockCount = *((s32*)pData); + mpData = (u8*)pData + 4; + + u32 *pHeader = (u32*)mpData; + for (s32 i = 0; i < mBlockCount; i++) { + pHeader[2] = pHeader[2] + (u32)pData; + pHeader += 3; + } + + if (FindTag('ACFN', &row, &rowOffs) && FindTag('ACNA', &name, &nameOffs) && FindTag('ACDS', &dat_size, &dataOffs)) { + JUT_ASSERT(0xca, row * name == dat_size); + mCharTbl.SetData((u32)pData, row, rowOffs, name, nameOffs, dat_size, dataOffs); + } } diff --git a/src/d/d_s_open.cpp b/src/d/d_s_open.cpp index 082eb712e..d9596ee8f 100644 --- a/src/d/d_s_open.cpp +++ b/src/d/d_s_open.cpp @@ -3,56 +3,180 @@ // Translation Unit: d_s_open.cpp // -#include "d_s_open.h" -#include "dolphin/types.h" +#include "f_op/f_op_scene.h" +#include "f_op/f_op_draw_iter.h" +#include "f_op/f_op_scene_mng.h" +#include "f_op/f_op_overlap_mng.h" +#include "JSystem/JKernel/JKRSolidHeap.h" +#include "d/d_com_inf_game.h" +#include "d/d_procname.h" +#include "m_Do/m_Do_audio.h" +#include "m_Do/m_Do_controller_pad.h" + +class dScnOpen_message_c; +class J2DScreen; + +class dScnOpen_proc_c : public dDlst_base_c { +public: + dScnOpen_proc_c(); + virtual ~dScnOpen_proc_c(); + void proc_execute(); + + /* 0x004 */ JKRExpHeap* exp_heap; + /* 0x008 */ dScnOpen_message_c* m_message; + /* 0x00C */ J2DScreen* m_Screen; + /* 0x010 */ u8 pad[0x2a0]; + /* 0x2B0 */ s32 field_0x2b0; + /* 0x010 */ u8 pad2[0x014]; +}; + +class dScnOpen_c : public scene_class { +public: + ~dScnOpen_c(); + void changeGameScene(); + s32 create(); + BOOL draw(); + BOOL execute(); + + /* 0x1C4 */ request_of_phase_process_class mPhs; + /* 0x1CC */ JKRSolidHeap* solid_heap; + /* 0x1D0 */ dScnOpen_proc_c* mpProc; + /* 0x1D4 */ u8 field_0x1d4; +}; /* 80232A68-80232BC4 .text create__10dScnOpen_cFv */ -void dScnOpen_c::create() { - /* Nonmatching */ +s32 dScnOpen_c::create() { + dComIfGp_offEnableNextStage(); + mpProc = NULL; + + s32 rt = dComIfG_resLoad(&mPhs, "Opening"); + if (rt == cPhs_COMPLEATE_e) { + solid_heap = mDoExt_createSolidHeapFromGameToCurrent(0x20000, 0); + JUT_ASSERT(0x3b, solid_heap != 0); + mpProc = new dScnOpen_proc_c(); + field_0x1d4 = NULL; + mDoExt_restoreCurrentHeap(); + mDoExt_adjustSolidHeap(solid_heap); + // mDoGph_gInf_c::setTickRate(); + } else if (rt == cPhs_ERROR_e) { + JUT_ASSERT(0x48, rt == cPhs_COMPLEATE_e); + } + return rt; } /* 80232BC4-80232CAC .text execute__10dScnOpen_cFv */ -void dScnOpen_c::execute() { - /* Nonmatching */ +BOOL dScnOpen_c::execute() { + if (mpProc->field_0x2b0 >= 5 && !fopOvlpM_IsPeek() && !dComIfG_resetToOpening(this)) { + if (fpcM_GetName(this) == PROC_OPEN2_SCENE && (CPad_CHECK_TRIG_A(0) || CPad_CHECK_TRIG_B(0) || CPad_CHECK_TRIG_START(0))) { + field_0x1d4 = 1; + mDoAud_bgmStop(20); + } + + if (field_0x1d4 == 1 && !mDoAud_isUsedHeapForStreamBuffer()) + dComIfG_changeOpeningScene(this, PROC_OPENING2_SCENE); + } + + mpProc->proc_execute(); + if (mpProc->field_0x2b0 == 44) + changeGameScene(); + + return TRUE; } /* 80232CAC-80232D38 .text draw__10dScnOpen_cFv */ -void dScnOpen_c::draw() { - /* Nonmatching */ +BOOL dScnOpen_c::draw() { + dComIfGd_setWindow(dComIfGp_getWindow(0)); + dComIfGd_setViewPort(dComIfGp_getWindow(0)->getViewPort()); + for (create_tag_class* pTag = fopDwIt_Begin(); pTag != NULL; pTag = fopDwIt_Next(pTag)) + fpcM_Draw(pTag->mpTagData); + dComIfGd_set2DOpa(mpProc); + return TRUE; } /* 80232D38-80232DD8 .text __dt__10dScnOpen_cFv */ dScnOpen_c::~dScnOpen_c() { - /* Nonmatching */ + if (mpProc != NULL) + delete mpProc; + if (solid_heap != NULL) + mDoExt_destroySolidHeap(solid_heap); + dComIfG_resDelete(&mPhs, "Opening"); + g_dComIfG_gameInfo.play.field_0x4841 = 0; } /* 80232DD8-80232E6C .text changeGameScene__10dScnOpen_cFv */ void dScnOpen_c::changeGameScene() { - /* Nonmatching */ + if (fopOvlpM_IsPeek()) + return; + + if (fpcM_GetName(this) == PROC_OPEN2_SCENE) { + dComIfG_changeOpeningScene(this, PROC_OPENING2_SCENE); + } else { + if (fopScnM_ChangeReq(this, PROC_PLAY_SCENE, 0, 5)) { + dComIfGs_setRestartRoomParam(0); + mDoAud_setSceneName(dComIfGp_getNextStageName(), dComIfGp_getNextStageRoomNo(), dComIfGp_getNextStageLayer()); + } + } } /* 80232E6C-80232E8C .text dScnOpen_Draw__FP10dScnOpen_c */ -void dScnOpen_Draw(dScnOpen_c*) { - /* Nonmatching */ +BOOL dScnOpen_Draw(dScnOpen_c* i_this) { + return i_this->draw(); } /* 80232E8C-80232EAC .text dScnOpen_Execute__FP10dScnOpen_c */ -void dScnOpen_Execute(dScnOpen_c*) { - /* Nonmatching */ +BOOL dScnOpen_Execute(dScnOpen_c* i_this) { + return i_this->execute(); } /* 80232EAC-80232EB4 .text dScnOpen_IsDelete__FP10dScnOpen_c */ -void dScnOpen_IsDelete(dScnOpen_c*) { - /* Nonmatching */ +BOOL dScnOpen_IsDelete(dScnOpen_c* i_this) { + return TRUE; } /* 80232EB4-80232EDC .text dScnOpen_Delete__FP10dScnOpen_c */ -void dScnOpen_Delete(dScnOpen_c*) { - /* Nonmatching */ +BOOL dScnOpen_Delete(dScnOpen_c* i_this) { + i_this->~dScnOpen_c(); + return TRUE; } /* 80232EDC-80232EFC .text dScnOpen_Create__FP11scene_class */ -void dScnOpen_Create(scene_class*) { - /* Nonmatching */ +s32 dScnOpen_Create(scene_class* i_scn) { + dScnOpen_c* i_this = (dScnOpen_c*)i_scn; + return i_this->create(); } +static scene_method_class l_dScnOpen_Method = { + (process_method_func)dScnOpen_Create, + (process_method_func)dScnOpen_Delete, + (process_method_func)dScnOpen_Execute, + (process_method_func)dScnOpen_IsDelete, + (process_method_func)dScnOpen_Draw, +}; + +extern scene_process_profile_definition g_profile_OPEN_SCENE = { + fpcLy_ROOT_e, + 1, + fpcPi_CURRENT_e, + PROC_OPEN_SCENE, + &g_fpcLf_Method.mBase, + sizeof(dScnOpen_c), + 0, + 0, + &g_fopScn_Method.mBase, + &l_dScnOpen_Method, + NULL, +}; + +extern scene_process_profile_definition g_profile_OPEN2_SCENE = { + fpcLy_ROOT_e, + 1, + fpcPi_CURRENT_e, + PROC_OPEN2_SCENE, + &g_fpcLf_Method.mBase, + sizeof(dScnOpen_c), + 0, + 0, + &g_fopScn_Method.mBase, + &l_dScnOpen_Method, + NULL, +}; diff --git a/src/d/d_stage.cpp b/src/d/d_stage.cpp index 550fc271a..5d2def581 100644 --- a/src/d/d_stage.cpp +++ b/src/d/d_stage.cpp @@ -13,6 +13,7 @@ #include "d/d_bg_s.h" #include "d/d_bg_s_gnd_chk.h" #include "d/d_com_inf_game.h" +#include "d/d_path.h" #include "d/d_procname.h" #include "f_op/f_op_actor_mng.h" #include "f_op/f_op_camera_mng.h" @@ -220,7 +221,7 @@ dStage_darkStatus_c* dStage_roomControl_c::getDarkStatus() { return NULL; // pointer math here seems wrong... - return &mDarkStatus[plist_p->mParam & 0x78]; + return &mDarkStatus[(plist_p->mParam & 0x78) >> 3]; } /* 80041330-80041370 .text getDarkMode__20dStage_roomControl_cFv */ @@ -1338,22 +1339,20 @@ int dStage_arrowInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) { /* 80041F3C-80041F54 .text dStage_mapInfo_GetOceanX__FP20stage_map_info_class */ int dStage_mapInfo_GetOceanX(stage_map_info_class* i_mapInfo) { int rt = (i_mapInfo->mOceanXZ & 0xF); - if (!(i_mapInfo->mOceanXZ & 8)) { + if (rt & 8) + return rt - 0x10; + else return rt; - } - - return rt - 0x10; } /* 80041F54-80041F6C .text dStage_mapInfo_GetOceanZ__FP20stage_map_info_class */ // NONMATCHING int dStage_mapInfo_GetOceanZ(stage_map_info_class* i_mapInfo) { - int rt = (i_mapInfo->mOceanXZ >> 4) & 0xF; - if ((i_mapInfo->mOceanXZ >> 4) & 8) { + int rt = (i_mapInfo->mOceanXZ >> 4) & 0x0F; + if (rt & 8) return rt - 0x10; - } - - return rt; + else + return rt; } /* 80041F6C-80041FD0 .text dStage_mapInfoInit__FP11dStage_dt_cPviPv */ @@ -1578,7 +1577,13 @@ int dStage_ppntInfoInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) { /* 8004268C-8004271C .text dStage_pathInfoInit__FP11dStage_dt_cPviPv */ int dStage_pathInfoInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) { - /* Nonmatching */ + dStage_dPath_c* pStagePath = (dStage_dPath_c*)((char*)i_data + 4); + dPath* pPath = pStagePath->m_path; + + i_stage->setPathInfo(pStagePath); + for (s32 i = 0; i < pStagePath->num; i++, pPath++) + *(u32*)pPath->mpPnt += (u32)i_stage->getPntInf(); + return 1; } /* 8004271C-80042750 .text dStage_rppnInfoInit__FP11dStage_dt_cPviPv */ @@ -2151,7 +2156,23 @@ void dStage_restartRoom(u32 roomParam, u32 mode) { /* 80043B10-80043BD0 .text dStage_turnRestart__Fv */ void dStage_turnRestart() { - /* Nonmatching */ + s8 layerNo = dComIfGp_getStartStageLayer(); + if (layerNo >= 0) + layerNo = dComIfGp_getStartStageLayer() ^ 1; + + dComIfGp_setNextStage(dComIfGp_getStartStageName(), -3, dComIfGs_getTurnRestartRoomNo(), layerNo, 0.0f, 0, 0, 6); + + s32 hour = dKy_getdaytime_hour(); + f32 nextTime = 180.0f; + if (hour >= 6 && hour < 18) + nextTime = 0.0f; + + if (hour >= 6 && hour <= 23) { + dComIfGs_setDate(dComIfGs_getDate() + 1); + dKy_DayProc(); + } + + dKy_set_nexttime(nextTime); } /* 80043BD0-80043C84 .text dStage_escapeRestart__Fv */ diff --git a/src/d/d_throwstone.cpp b/src/d/d_throwstone.cpp index 9b3ad1d08..cf7dde4e4 100644 --- a/src/d/d_throwstone.cpp +++ b/src/d/d_throwstone.cpp @@ -3,41 +3,145 @@ // Translation Unit: d_throwstone.cpp // -#include "d_throwstone.h" -#include "dolphin/types.h" +#include "f_op/f_op_actor.h" +#include "f_op/f_op_actor_mng.h" +#include "d/d_com_inf_game.h" +#include "d/d_demo.h" +#include "d/d_procname.h" +#include "m_Do/m_Do_mtx.h" +#include "JSystem/JKernel/JKRHeap.h" + +class daThrowstone_c : fopAc_ac_c { +public: + s32 CreateHeap(); + inline s32 _create(); + inline BOOL _delete(); + inline BOOL _execute(); + inline bool _draw(); + static const char M_arcname[5]; + +public: + /* 0x290 */ request_of_phase_process_class mPhs; + /* 0x298 */ J3DModel * mpModel; + /* 0x29C */ Mtx mMtx; +}; + +const char daThrowstone_c::M_arcname[] = "Aisi"; /* 8023B544-8023B564 .text CheckCreateHeap__FP10fopAc_ac_c */ -void CheckCreateHeap(fopAc_ac_c*) { - /* Nonmatching */ +s32 CheckCreateHeap(fopAc_ac_c* i_actor) { + daThrowstone_c* i_this = (daThrowstone_c*)i_actor; + return i_this->CreateHeap(); } /* 8023B564-8023B5DC .text CreateHeap__14daThrowstone_cFv */ -void daThrowstone_c::CreateHeap() { - /* Nonmatching */ +s32 daThrowstone_c::CreateHeap() { + J3DModelData* pModelData = (J3DModelData*)dComIfG_getObjectRes(M_arcname, 0x03); + if (pModelData == NULL) + return FALSE; + + mpModel = mDoExt_J3DModel__create(pModelData, 0x80000, 0x11000002); + return (mpModel != NULL) ? TRUE : FALSE; +} + +s32 daThrowstone_c::_create() { + s32 result = dComIfG_resLoad(&mPhs, M_arcname); + + if (result == cPhs_COMPLEATE_e) { + fopAcM_SetupActor(this, daThrowstone_c); + + if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckCreateHeap, 0x4C0)) { + result = cPhs_ERROR_e; + } else { + mDoMtx_stack_c::transS(getPosition()); + mDoMtx_stack_c::YrotM(shape_angle.y); + mDoMtx_stack_c::scaleM(mScale); + + mDoMtx_copy(mDoMtx_stack_c::get(), mMtx); + mCullMtx = mpModel->getBaseTRMtx(); + + mDoMtx_copy(mpModel->getBaseTRMtx(), mMtx); + } + } + + return result; } /* 8023B5DC-8023B6DC .text daThrowstoneCreate__FPv */ -void daThrowstoneCreate(void*) { - /* Nonmatching */ +s32 daThrowstoneCreate(void* ptr) { + return ((daThrowstone_c*)ptr)->_create(); +} + +BOOL daThrowstone_c::_delete() { + dComIfG_resDelete(&mPhs, M_arcname); + return TRUE; } /* 8023B6DC-8023B708 .text daThrowstoneDelete__FPv */ -void daThrowstoneDelete(void*) { - /* Nonmatching */ +BOOL daThrowstoneDelete(void* ptr) { + return ((daThrowstone_c*)ptr)->_delete(); +} + +BOOL daThrowstone_c::_execute() { + dDemo_setDemoData(this, 0x6a, NULL, NULL, 0, NULL, 0, 0); + + mpModel->setBaseScale(mScale); + mDoMtx_stack_c::transS(getPosition()); + mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z); + + mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); + mDoMtx_copy(mDoMtx_stack_c::get(), mMtx); + + return FALSE; } /* 8023B708-8023B7C4 .text daThrowstoneExecute__FPv */ -void daThrowstoneExecute(void*) { - /* Nonmatching */ +BOOL daThrowstoneExecute(void* ptr) { + return ((daThrowstone_c*)ptr)->_execute(); +} + +bool daThrowstone_c::_draw() { + if (!dComIfGs_isEventBit(0x0310)) + return TRUE; + + g_env_light.settingTevStruct(TEV_TYPE_ACTOR, getPositionP(), &mTevStr); + g_env_light.setLightTevColorType(mpModel, &mTevStr); + mDoExt_modelUpdateDL(mpModel); + + return TRUE; } /* 8023B7C4-8023B858 .text daThrowstoneDraw__FPv */ -void daThrowstoneDraw(void*) { - /* Nonmatching */ +BOOL daThrowstoneDraw(void* ptr) { + return ((daThrowstone_c*)ptr)->_draw(); } /* 8023B858-8023B860 .text daThrowstoneIsDelete__FPv */ -void daThrowstoneIsDelete(void*) { - /* Nonmatching */ +BOOL daThrowstoneIsDelete(void*) { + return TRUE; } +static actor_method_class l_daThrowstone_Method = { + (process_method_func)daThrowstoneCreate, + (process_method_func)daThrowstoneDelete, + (process_method_func)daThrowstoneExecute, + (process_method_func)daThrowstoneIsDelete, + (process_method_func)daThrowstoneDraw, +}; + +actor_process_profile_definition g_profile_THROWSTONE = { + fpcLy_CURRENT_e, + 2, + fpcPi_CURRENT_e, + PROC_THROWSTONE, + &g_fpcLf_Method.mBase, + sizeof(daThrowstone_c), + 0, + 0, + &g_fopAc_Method.base, + 0x01CE, + &l_daThrowstone_Method, + 0x00040100, + fopAc_ACTOR_e, + fopAc_CULLBOX_0_e, +}; diff --git a/src/d/d_vib_pattern.cpp b/src/d/d_vib_pattern.cpp index 63ca40200..2d73d450b 100644 --- a/src/d/d_vib_pattern.cpp +++ b/src/d/d_vib_pattern.cpp @@ -5,4 +5,3 @@ #include "d_vib_pattern.h" #include "dolphin/types.h" - diff --git a/src/dolphin/gba/GBA.c b/src/dolphin/gba/GBA.c new file mode 100644 index 000000000..f2dd2c8b8 --- /dev/null +++ b/src/dolphin/gba/GBA.c @@ -0,0 +1,93 @@ +#include "dolphin/gba/GBAPriv.h" + +static GBASecParam SecParams[4]; +GBAControl __GBA[4]; +BOOL __GBAReset = FALSE; + +static s32 OnReset(s32); + +static OSResetFunctionInfo ResetFunctionInfo = {OnReset, 127}; + +static void ShortCommandProc(s32 chan) { + GBAControl* gba; + gba = &__GBA[chan]; + + if (gba->ret != 0) { + return; + } + + if (gba->input[0] != 0 || gba->input[1] != 4) { + gba->ret = 1; + return; + } + + gba->status[0] = gba->input[2] & GBA_JSTAT_MASK; +} + +void GBAInit() { + GBAControl* gba; + s32 chan; + + for (chan = 0; chan < 4; ++chan) { + gba = &__GBA[chan]; + gba->delay = OSMicrosecondsToTicks(60); + OSInitThreadQueue(&gba->threadQueue); + gba->param = &SecParams[chan]; + } + + OSInitAlarm(); + + __GBAReset = FALSE; + OSRegisterResetFunction(&ResetFunctionInfo); +} + +s32 GBAGetStatusAsync(s32 chan, u8* status, GBACallback callback) { + GBAControl* gba; + gba = &__GBA[chan]; + if (gba->callback != NULL) { + return GBA_BUSY; + } + + gba->output[0] = 0; + gba->status = status; + gba->callback = callback; + return __GBATransfer(chan, 1, 3, ShortCommandProc); +} + +s32 GBAGetStatus(s32 chan, u8* status) { + GBAControl* gba = &__GBA[chan]; + + s32 ret = GBAGetStatusAsync(chan, status, __GBASyncCallback); + if (ret != GBA_READY) { + return ret; + } + return __GBASync(chan); +} + +s32 GBAResetAsync(s32 chan, u8* status, GBACallback callback) { + GBAControl* gba = &__GBA[chan]; + s32 ret; + if (gba->callback != NULL) { + return GBA_BUSY; + } + gba->output[0] = 0xFF; + gba->status = status; + gba->callback = callback; + return __GBATransfer(chan, 1, 3, ShortCommandProc); +} + +s32 GBAReset(s32 chan, u8* status) { + GBAControl* gba = &__GBA[chan]; + s32 ret; + + ret = GBAResetAsync(chan, status, __GBASyncCallback); + if (ret != GBA_READY) { + return ret; + } + return __GBASync(chan); +} + +s32 OnReset(s32) { + __GBAReset = TRUE; + return TRUE; +} \ No newline at end of file diff --git a/src/dolphin/gba/GBAGetProcessStatus.c b/src/dolphin/gba/GBAGetProcessStatus.c new file mode 100644 index 000000000..c8bf442c5 --- /dev/null +++ b/src/dolphin/gba/GBAGetProcessStatus.c @@ -0,0 +1,39 @@ +#include "dolphin/gba/GBAPriv.h" + +s32 GBAGetProcessStatus(s32 chan, u8* percentp) { + BOOL enabled; // r26 + s32 ret; // r29 + GBAControl* gba; // r25 + GBABootInfo* bootInfo; // r31 + u8 percent; // r30 + OSTime t; // r27 + + gba = &__GBA[chan]; + bootInfo = &__GBA[chan].bootInfo; + + if (gba->callback != NULL || bootInfo->callback != NULL) { + ret = 2; + + if (bootInfo->callback != NULL) { + percent = (bootInfo->curOffset * 100) / bootInfo->realLength; + if (bootInfo->begin != 0) { + t = OSGetTime() - bootInfo->begin; + if (OSTicksToMilliseconds(t) < 5500) { + percent = (percent * t) / OSMillisecondsToTicks(5500ll); + } + + if (percent >= 100) { + percent = 100; + } + } + + if (percentp != NULL) { + *percentp = percent; + } + } + } else { + ret = 0; + } + + return ret; +} diff --git a/src/dolphin/gba/GBAJoyBoot.c b/src/dolphin/gba/GBAJoyBoot.c new file mode 100644 index 000000000..6d85b4b21 --- /dev/null +++ b/src/dolphin/gba/GBAJoyBoot.c @@ -0,0 +1,385 @@ +#include "dolphin/gba/GBAPriv.h" + +static volatile u8 D54[] = { + 0x18, 0xFC, 0xC0, 0x80, 0x7f, 0x40, 0x3f, 0x01, 0x00, 0x2f, 0x2f, 0x20, 0x43, 0x6f, 0x64, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x4b, 0x61, 0x77, 0x61, 0x73, 0x65, 0x64, 0x6f, 0x00, + 0x00, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0xAC, 0xC4, 0xF8, 0x08, 0x10, 0xBF, 0x18, +}; + +static void F23(s32 chan, s32 ret); +static void F25(s32 chan, s32 ret); +static void F27(s32 chan, s32 ret); +static void F29(s32 chan, s32 ret); +static void F31(s32 chan, s32 ret); +static void F33(s32 chan, s32 ret); +static void F35(s32 chan, s32 ret); +static void F37(s32 chan, s32 ret); +static void F39(s32 chan, s32 ret); + +static u32 F72(u32 crc, u32 src, vu8* keyp) { + int i; // r31 + int poly = + (keyp[0x13] << 8) + ((keyp[0x15] + (keyp[0x18] - (keyp[0x18] << 4))) - keyp[0x10]); // r30 + for (i = keyp[1]; i > keyp[11]; --i) { + if ((src ^ crc) & 1) { + crc >>= 1; + crc ^= poly; + } else { + crc >>= 1; + } + + src >>= 1; + } + + return crc; +} + +static u32 F95(u32 src, vu8* keyp) { + src = (src * ((keyp[3] << keyp[0x16]) | + ((keyp[1] | (keyp[4] << keyp[0x11])) | (keyp[4] << keyp[0x18])))) - + (keyp[7] - keyp[6]); + return src; +} + +static void F104(s32 chan, s32 ret) { + GBABootInfo* bootInfo; + GBACallback callback; + + bootInfo = &__GBA[chan].bootInfo; + bootInfo->begin = 0; + if (bootInfo->callback != NULL) { + callback = bootInfo->callback; + bootInfo->callback = NULL; + callback(chan, ret); + } +} + +s32 GBAJoyBootAsync(s32 chan, s32 paletteColor, s32 paletteSpeed, u8* programp, s32 length, + u8* status, GBACallback callback) { + int ret; + GBABootInfo* bootInfo = &__GBA[chan].bootInfo; + u8 percent; + if (chan & ~3) { + return GBA_JOYBOOT_ERR_INVALID; + } else if (length == 0 || GBA_JOYBOOT_PROGRAM_SIZE_MAX < length) { + return GBA_JOYBOOT_ERR_INVALID; + } else if (paletteSpeed < -4 || paletteSpeed > 4) { + return GBA_JOYBOOT_ERR_INVALID; + } else if (paletteColor < 0 || paletteColor > 6) { + return GBA_JOYBOOT_ERR_INVALID; + } else if (programp[0xac] * programp[0xad] * programp[0xae] * programp[0xaf] == 0) { + return GBA_JOYBOOT_ERR_INVALID; + } + + ret = GBAGetProcessStatus(chan, &percent); + if (ret != 0) { + return ret; + } + + bootInfo->paletteColor = paletteColor; + bootInfo->paletteSpeed = paletteSpeed; + bootInfo->programp = programp; + bootInfo->length = length; + bootInfo->status = status; + bootInfo->callback = callback; + bootInfo->curOffset = D54[8]; + ret = GBAGetStatusAsync(chan, bootInfo->status, F23); + if (ret != GBA_READY) { + bootInfo->callback = NULL; + } + + return ret; +} + +static void F23(s32 chan, s32 ret) { + GBAControl* gba; + GBABootInfo* bootInfo; + + gba = &__GBA[chan]; + bootInfo = &__GBA[chan].bootInfo; + + if (ret != GBA_READY || (ret = GBAResetAsync(chan, bootInfo->status, F25)) != GBA_READY) { + F104(chan, ret); + } + + gba->ret = ret; +} + +static void F25(s32 chan, s32 ret) { + GBAControl* gba = &__GBA[chan]; + GBABootInfo* bootInfo = &__GBA[chan].bootInfo; + + if (ret == GBA_READY && *bootInfo->status != D54[37]) { + ret = GBA_JOYBOOT_UNKNOWN_STATE; + } + + if (ret != GBA_READY || (ret = GBAGetStatusAsync(chan, bootInfo->status, F27))) { + F104(chan, ret); + } + + gba->ret = ret; +} + +static void F27(s32 chan, s32 ret) { + GBAControl* gba = &__GBA[chan]; + GBABootInfo* bootInfo = &__GBA[chan].bootInfo; + + if (ret == GBA_READY && *bootInfo->status != D54[0]) { + ret = GBA_JOYBOOT_UNKNOWN_STATE; + } + + if (ret != GBA_READY || (ret = GBAReadAsync(chan, bootInfo->readbuf, bootInfo->status, F29))) { + F104(chan, ret); + } + + gba->ret = ret; +} + +// NONMATCHING +static void F29(s32 chan, s32 ret) { + GBAControl* gba = &__GBA[chan]; + GBABootInfo* bootInfo = &__GBA[chan].bootInfo; + + if (ret == GBA_READY) { + __GBAX02(chan, bootInfo->readbuf); + } else { + F104(chan, ret); + } + + gba->ret = ret; +} + +void __GBAX01(s32 chan, s32 ret) { + GBAControl* gba = &__GBA[chan]; + GBABootInfo* bootInfo = &__GBA[chan].bootInfo; + int val200; + + if (ret == GBA_READY) { + bootInfo->keyA = gba->param->keyA; + bootInfo->keyB = gba->param->keyB; + if (bootInfo->readbuf[3] == 0 || bootInfo->readbuf[2] == 0 || + (bootInfo->keyA & (D54[5] << 9)) == 0 || bootInfo->readbuf[1] == 0 || + (bootInfo->keyA >> 15) == 0 || bootInfo->readbuf[0] == 0) + { + ret = GBA_JOYBOOT_UNKNOWN_STATE; + } else { + bootInfo->i = ~D54[36] & bootInfo->length + D54[36]; + val200 = D54[20] << D54[33]; + + if (bootInfo->i < val200) { + bootInfo->i = val200; + } + + bootInfo->realLength = bootInfo->i; + bootInfo->i -= val200; + bootInfo->i >>= D54[32]; + bootInfo->writebuf[0] = (u8)(bootInfo->keyB >> 0); + bootInfo->writebuf[1] = (u8)(bootInfo->keyB >> 8); + bootInfo->writebuf[3] = (u8)(bootInfo->keyB >> 24); + bootInfo->writebuf[2] = (u8)(bootInfo->keyB >> 16); + bootInfo->crc = (D54[38] + 1) << D54[34]; + bootInfo->curOffset = D54[8]; + bootInfo->begin = OSGetTime(); + bootInfo->firstXfer = TRUE; + ret = GBAWriteAsync(chan, bootInfo->writebuf, bootInfo->status, F31); + } + } + + if (ret != GBA_READY) { + F104(chan, ret); + } + gba->ret = ret; +} + +static void F31(s32 chan, s32 ret) { + GBAControl* gba; + GBABootInfo* bootInfo; + u32 writeWord; + + gba = &__GBA[chan]; + bootInfo = &__GBA[chan].bootInfo; + + if (ret == GBA_READY) { + if (bootInfo->firstXfer != FALSE) { + bootInfo->firstXfer = FALSE; + } else if ((*bootInfo->status & D54[20]) == 0 || + (*bootInfo->status & D54[42]) >> D54[33] != + (bootInfo->curOffset & D54[33]) >> D54[31]) + { + ret = GBA_JOYBOOT_UNKNOWN_STATE; + goto exit; + } else { + bootInfo->curOffset -= D54[25] - D54[23]; + } + + if (bootInfo->curOffset <= bootInfo->realLength) { + if (bootInfo->curOffset < bootInfo->realLength) { + writeWord = D54[29]; + for (bootInfo->i = D54[29]; bootInfo->i < D54[33]; ++bootInfo->i) { + if (bootInfo->length != 0) { + writeWord |= *(bootInfo->programp++) << (bootInfo->i * D54[37]); + --bootInfo->length; + } + } + + if (bootInfo->curOffset == D54[38]) { + bootInfo->initialCode = writeWord; + } else if (bootInfo->curOffset == D54[39]) { + writeWord = chan << D54[37]; + } + + if (bootInfo->curOffset >= D54[2]) { + bootInfo->crc = F72(bootInfo->crc, writeWord, &D54[19]); + } + + if (bootInfo->curOffset == D54[40] + 0x100) { + bootInfo->dummyWord[0] = writeWord; + } else if (bootInfo->curOffset == D54[1] + 0x100) { + bootInfo->i = D54[7]; + bootInfo->dummyWord[bootInfo->i] = writeWord; + } + } else { + writeWord = bootInfo->crc | (bootInfo->curOffset << 16); + } + + if (bootInfo->curOffset > D54[43]) { + bootInfo->keyA = F95(bootInfo->keyA, &D54[20]); + writeWord ^= bootInfo->keyA; + writeWord ^= -(bootInfo->curOffset + D54[11] * 0x100000); + writeWord ^= (D54[11] | (D54[11] << 24)) | (D54[19] << 16) | (D54[18] << 8); + } + + bootInfo->writebuf[3] = (writeWord >> D54[0]); + bootInfo->writebuf[0] = (writeWord >> D54[30]); + bootInfo->writebuf[1] = (writeWord >> D54[41]); + bootInfo->writebuf[2] = (writeWord >> D54[42]); + + if (bootInfo->curOffset == D54[1] + D54[1]) { + bootInfo->dummyWord[2] = writeWord; + } + + if (bootInfo->i < D54[33]) { + bootInfo->dummyWord[3 - (1 - bootInfo->i)] = writeWord; + bootInfo->dummyWord[5 - bootInfo->i] = + bootInfo->dummyWord[(2 - (1 - bootInfo->i))] * + bootInfo->dummyWord[4 - bootInfo->i]; + bootInfo->dummyWord[5 - (1 - bootInfo->i)] = + bootInfo->dummyWord[((1 - bootInfo->i))] * + bootInfo->dummyWord[1 - (1 - bootInfo->i)]; + bootInfo->dummyWord[7 - bootInfo->i] = bootInfo->dummyWord[(-(1 - bootInfo->i))] * + bootInfo->dummyWord[4 - bootInfo->i]; + } + + ret = GBAWriteAsync(chan, bootInfo->writebuf, bootInfo->status, F31); + } else { + bootInfo->start = OSGetTick(); + ret = GBAReadAsync(chan, bootInfo->readbuf, bootInfo->status, F33); + } + } +exit: + if (ret != GBA_READY) { + F104(chan, ret); + } + + gba->ret = ret; +} +static void F33(s32 chan, s32 ret) { + GBAControl* gba = &__GBA[chan]; + GBABootInfo* bootInfo = &__GBA[chan].bootInfo; + + if (ret == GBA_READY) { + for (bootInfo->i = 33; bootInfo->i < 36; ++bootInfo->i) { + ret = (((bootInfo->readbuf[3] ^ (bootInfo->dummyWord[D54[bootInfo->i]] >> 24)) | + (bootInfo->readbuf[2] ^ (bootInfo->dummyWord[D54[bootInfo->i]] >> 16)) | + (bootInfo->readbuf[1] ^ (bootInfo->dummyWord[D54[bootInfo->i]] >> 8)) | + (bootInfo->readbuf[0] ^ (bootInfo->dummyWord[D54[bootInfo->i]] >> 0))) + << 24); + + if (ret == GBA_READY) { + break; + } + } + + if (ret != GBA_READY) { + ret = GBA_JOYBOOT_UNKNOWN_STATE; + } else { + bootInfo->start = OSGetTick(); + ret = GBAGetStatusAsync(chan, bootInfo->status, F35); + } + } + + if (ret != GBA_READY) { + F104(chan, ret); + } + + gba->ret = ret; +} +static void F35(s32 chan, s32 ret) { + GBAControl* gba = &__GBA[chan]; + GBABootInfo* bootInfo = &__GBA[chan].bootInfo; + + if (ret == 0) { + if (OSSecondsToTicks(10) <= OSGetTick() - bootInfo->start) { + ret = GBA_JOYBOOT_UNKNOWN_STATE; + } else if ((*bootInfo->status & 0x32) != 0) { + ret = GBA_JOYBOOT_UNKNOWN_STATE; + } else if (*bootInfo->status != 8) { + ret = GBAGetStatusAsync(chan, bootInfo->status, F35); + } else { + __GBASetDelay(chan, OSMillisecondsToTicks(8)); + ret = GBAReadAsync(chan, bootInfo->readbuf, bootInfo->status, F37); + __GBASetDelay(chan, OSMicrosecondsToTicks(60)); + } + } + + if (ret != GBA_READY) { + F104(chan, ret); + } + + gba->ret = ret; +} + +static void F37(s32 chan, s32 ret) { + GBAControl* gba = &__GBA[chan]; + GBABootInfo* bootInfo = &__GBA[chan].bootInfo; + + if (ret == GBA_READY) { + if ((((bootInfo->readbuf[3] ^ (bootInfo->initialCode >> 24)) | + (bootInfo->readbuf[2] ^ (bootInfo->initialCode >> 16)) | + (bootInfo->readbuf[1] ^ (bootInfo->initialCode >> 8)) | + (bootInfo->readbuf[0] ^ (bootInfo->initialCode >> 0))) + << 24) != 0) + { + ret = GBA_JOYBOOT_UNKNOWN_STATE; + } else { + ret = GBAWriteAsync(chan, bootInfo->readbuf, bootInfo->status, F39); + } + } + + if (ret != GBA_READY) { + F104(chan, ret); + } + gba->ret = ret; +} + +static void F39(s32 chan, s32 ret) { + GBAControl* gba = &__GBA[chan]; + GBABootInfo* bootInfo = &__GBA[chan].bootInfo; + + if (ret == GBA_READY) { + *bootInfo->status = 0; + } + + F104(chan, ret); + gba->ret = ret; +} + +s32 GBAJoyBoot(s32 chan, s32 paletteColor, s32 paletteSpeed, u8* programp, s32 length, u8* status) { + s32 ret = GBAJoyBootAsync(chan, paletteColor, paletteSpeed, programp, length, status, + __GBASyncCallback); + if (ret != GBA_READY) { + return ret; + } + + return __GBASync(chan); +} \ No newline at end of file diff --git a/src/dolphin/gba/GBARead.c b/src/dolphin/gba/GBARead.c new file mode 100644 index 000000000..9891af43b --- /dev/null +++ b/src/dolphin/gba/GBARead.c @@ -0,0 +1,40 @@ +#include "dolphin/gba/GBAPriv.h" + +static void ReadProc(s32 chan) { + GBAControl* gba; + gba = &__GBA[chan]; + + if (gba->ret == 0) { + memcpy(gba->ptr, gba->input, 4); + gba->status[0] = gba->input[4] & GBA_JSTAT_MASK; + } +} + +s32 GBAReadAsync(s32 chan, u8* dst, u8* status, GBACallback callback) { + GBAControl* gba; + + gba = &__GBA[chan]; + + if (gba->callback != NULL) { + return 2; + } + + gba->output[0] = 0x14; + gba->ptr = dst; + gba->status = status; + gba->callback = callback; + + return __GBATransfer(chan, 1, 5, ReadProc); +} + +s32 GBARead(s32 chan, u8* dst, u8* status) { + s32 tmp; + GBAControl* gba = &__GBA[chan]; + s32 ret; + ret = GBAReadAsync(chan, dst, status, __GBASyncCallback); + if (ret != GBA_READY) { + return ret; + } + + return __GBASync(chan); +} \ No newline at end of file diff --git a/src/dolphin/gba/GBAWrite.c b/src/dolphin/gba/GBAWrite.c new file mode 100644 index 000000000..bbbe20b9a --- /dev/null +++ b/src/dolphin/gba/GBAWrite.c @@ -0,0 +1,37 @@ +#include "dolphin/gba/GBAPriv.h" + +static void WriteProc(s32 chan) { + GBAControl* gba; + gba = &__GBA[chan]; + + if (gba->ret != 0) { + return; + } + + gba->status[0] = gba->input[0] & GBA_JSTAT_MASK; +} + +s32 GBAWriteAsync(s32 chan, u8* src, u8* status, GBACallback callback) { + GBAControl* gba = &__GBA[chan]; + + if (gba->callback != NULL) { + return GBA_BUSY; + } + gba->output[0] = 0x15; + memcpy(&gba->output[1], src, 4); + gba->ptr = src; + gba->status = status; + gba->callback = callback; + return __GBATransfer(chan, 5, 1, WriteProc); +} + +s32 GBAWrite(s32 chan, u8* src, u8* status) { + s32 tmp; + GBAControl* gba = &__GBA[chan]; + s32 ret; + ret = GBAWriteAsync(chan, src, status, __GBASyncCallback); + if (ret != GBA_READY) { + return ret; + } + return __GBASync(chan); +} \ No newline at end of file diff --git a/src/dolphin/gba/GBAXfer.c b/src/dolphin/gba/GBAXfer.c new file mode 100644 index 000000000..c1199a7cb --- /dev/null +++ b/src/dolphin/gba/GBAXfer.c @@ -0,0 +1,121 @@ +#include "dolphin/gba/GBAPriv.h" + +static void __GBAHandler(s32 chan, u32 error, OSContext* context) { + GBAControl* gba; + GBATransferCallback proc; + GBACallback callback; + OSContext exceptionContext; + + gba = &__GBA[chan]; + if (__GBAReset != 0) { + return; + } + + if ((error & 0xf)) { + gba->ret = 1; + } else { + gba->ret = 0; + } + + if (gba->proc != NULL) { + proc = gba->proc; + gba->proc = NULL; + proc(chan); + } + + if (gba->callback == NULL) { + return; + } + + OSClearContext(&exceptionContext); + OSSetCurrentContext(&exceptionContext); + callback = gba->callback; + gba->callback = NULL; + callback(chan, gba->ret); + OSClearContext(&exceptionContext); + OSSetCurrentContext(context); +} + +void __GBASyncCallback(s32 chan, s32 ret) { + GBAControl* gba = &__GBA[chan]; + OSWakeupThread(&gba->threadQueue); +} + +s32 __GBASync(s32 chan) { + GBAControl* gba; + s32 ret; + s32 enabled; + gba = &__GBA[chan]; + + enabled = OSDisableInterrupts(); + while (gba->callback != NULL) { + OSSleepThread(&gba->threadQueue); + } + + ret = gba->ret; + OSRestoreInterrupts(enabled); + + return ret; +} + +void TypeAndStatusCallback(s32 chan, u32 type) { + GBAControl* gba; + GBATransferCallback proc; + GBACallback callback; + OSContext exceptionContext; + OSContext* context; + + gba = &__GBA[chan]; + + if ((type & 0xFF) != 0 || (type & 0xffff0000) != 0x40000) { + gba->ret = GBA_NOT_READY; + } else { + if (SITransfer(chan, gba->output, gba->outputBytes, gba->input, gba->inputBytes, + __GBAHandler, gba->delay)) + { + return; + } + gba->ret = GBA_BUSY; + } + + if (gba->proc != NULL) { + proc = gba->proc; + gba->proc = NULL; + proc(chan); + } + + if (gba->callback != NULL) { + context = OSGetCurrentContext(); + OSClearContext(&exceptionContext); + OSSetCurrentContext(&exceptionContext); + callback = gba->callback; + gba->callback = NULL; + callback(chan, gba->ret); + OSClearContext(&exceptionContext); + OSSetCurrentContext(context); + __OSReschedule(); + } +} + +s32 __GBATransfer(s32 chan, s32 w1, s32 w2, GBATransferCallback callback) { + s32 enabled; + GBAControl* gba; + gba = &__GBA[chan]; + enabled = OSDisableInterrupts(); + gba->proc = callback; + gba->outputBytes = w1; + gba->inputBytes = w2; + SIGetTypeAsync(chan, TypeAndStatusCallback); + OSRestoreInterrupts(enabled); + + return GBA_READY; +} + +OSTime __GBASetDelay(s32 chan, OSTime delay) { + OSTime oldDelay; + GBAControl* gba; + gba = &__GBA[chan]; + oldDelay = gba->delay; + gba->delay = delay; + return oldDelay; +} \ No newline at end of file diff --git a/src/f_op/f_op_scene.cpp b/src/f_op/f_op_scene.cpp index 56b134ddb..8e4e304a2 100644 --- a/src/f_op/f_op_scene.cpp +++ b/src/f_op/f_op_scene.cpp @@ -12,16 +12,16 @@ static void fopScn_Draw(scene_class* i_this) { } static void fopScn_Execute(scene_class* i_this) { - fpcMtd_Execute(i_this->mpMtd, i_this); + fpcMtd_Execute((process_method_class*)i_this->mpMtd, i_this); } static s32 fopScn_IsDelete(void* i_this) { - return fpcMtd_IsDelete(static_cast(i_this)->mpMtd, i_this); + return fpcMtd_IsDelete((process_method_class*)((scene_class*)i_this)->mpMtd, i_this); } static s32 fopScn_Delete(void* i_this) { scene_class* scene = static_cast(i_this); - s32 ret = fpcMtd_Delete(scene->mpMtd, scene); + s32 ret = fpcMtd_Delete((process_method_class*)scene->mpMtd, scene); if (ret == 1) { fopScnTg_QueueTo(&scene->mScnTg); } @@ -32,8 +32,7 @@ static s32 fopScn_Delete(void* i_this) { static s32 fopScn_Create(void* i_this) { scene_class* scene = static_cast(i_this); if (fpcM_IsFirstCreating(i_this)) { - scene_process_profile_definition* profile = - (scene_process_profile_definition*)fpcM_GetProfile(i_this); + scene_process_profile_definition* profile = (scene_process_profile_definition*)fpcM_GetProfile(i_this); scene->mpMtd = profile->mpMtd; fopScnTg_Init(&scene->mScnTg, i_this); fopScnTg_ToQueue(&scene->mScnTg); @@ -44,11 +43,13 @@ static s32 fopScn_Create(void* i_this) { } } - return fpcMtd_Create(scene->mpMtd, i_this); + return fpcMtd_Create((process_method_class*)scene->mpMtd, i_this); } leafdraw_method_class g_fopScn_Method = { - (process_method_func)fopScn_Create, (process_method_func)fopScn_Delete, - (process_method_func)fopScn_Execute, (process_method_func)fopScn_IsDelete, + (process_method_func)fopScn_Create, + (process_method_func)fopScn_Delete, + (process_method_func)fopScn_Execute, + (process_method_func)fopScn_IsDelete, (process_method_func)fopScn_Draw, }; diff --git a/src/f_op/f_op_scene_mng.cpp b/src/f_op/f_op_scene_mng.cpp index dab07cd23..465c88600 100644 --- a/src/f_op/f_op_scene_mng.cpp +++ b/src/f_op/f_op_scene_mng.cpp @@ -15,8 +15,8 @@ scene_class* fopScnM_SearchByID(unsigned int id) { static u32 l_scnRqID = 0xFFFFFFFF; -int fopScnM_ChangeReq(scene_class* i_scene, s16 param_2, s16 param_3, u16 param_4) { - u32 sceneRequestID = fopScnRq_Request(2, i_scene, param_2, 0, param_3, param_4); +int fopScnM_ChangeReq(scene_class* i_scene, s16 procName, s16 fadeTime, u16 param_4) { + u32 sceneRequestID = fopScnRq_Request(2, i_scene, procName, 0, fadeTime, param_4); if (sceneRequestID == 0xFFFFFFFF) { return 0; diff --git a/src/f_op/f_op_scene_req.cpp b/src/f_op/f_op_scene_req.cpp index 505ebf378..0d6475df4 100644 --- a/src/f_op/f_op_scene_req.cpp +++ b/src/f_op/f_op_scene_req.cpp @@ -82,8 +82,7 @@ static scene_request_class* fopScnRq_FadeRequest(s16 param_1, u16 param_2) { return (scene_request_class*)req; } -s32 fopScnRq_Request(int param_1, scene_class* i_scene, s16 param_3, void* param_4, s16 param_5, - u16 param_6) { +s32 fopScnRq_Request(int param_1, scene_class* i_scene, s16 param_3, void* param_4, s16 param_5, u16 param_6) { static node_create_request_method_class submethod = { (process_method_func)fopScnRq_Execute, (process_method_func)fopScnRq_Cancel, diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp index 66b2d8eeb..3851df113 100644 --- a/src/m_Do/m_Do_ext.cpp +++ b/src/m_Do/m_Do_ext.cpp @@ -4,126 +4,281 @@ // #include "m_Do/m_Do_ext.h" -#include "dolphin/types.h" +#include "JSystem/J3DGraphBase/J3DTransform.h" +#include "JSystem/JKernel/JKRArchive.h" +#include "JSystem/JKernel/JKRSolidHeap.h" +#include "JSystem/JUtility/JUTAssert.h" +#include "SSystem/SComponent/c_m3d.h" +#include "d/d_s_play.h" +#include "m_Do/m_Do_printf.h" /* 8000DA70-8000DCF0 .text mDoExt_setJ3DData__FPA4_fPC16J3DTransformInfoUs */ -void mDoExt_setJ3DData(float(*)[4], const J3DTransformInfo*, unsigned short) { - /* Nonmatching */ +void mDoExt_setJ3DData(Mtx mtx, const J3DTransformInfo* transformInfo, u16 param_2) { + bool local_28; + if (cM3d_IsZero(transformInfo->mScale.x - 1.0f) && cM3d_IsZero(transformInfo->mScale.y - 1.0f) && cM3d_IsZero(transformInfo->mScale.z - 1.0f)) { + j3dSys.getModel()->setScaleFlag(param_2, 1); + local_28 = true; + } else { + j3dSys.getModel()->setScaleFlag(param_2, 0); + local_28 = false; + } + mtx[0][3] = transformInfo->mTranslate.x; + mtx[1][3] = transformInfo->mTranslate.y; + mtx[2][3] = transformInfo->mTranslate.z; + + if (!local_28) { + mtx[0][0] *= transformInfo->mScale.x; + mtx[0][1] *= transformInfo->mScale.y; + mtx[0][2] *= transformInfo->mScale.z; + mtx[1][0] *= transformInfo->mScale.x; + mtx[1][1] *= transformInfo->mScale.y; + mtx[1][2] *= transformInfo->mScale.z; + mtx[2][0] *= transformInfo->mScale.x; + mtx[2][1] *= transformInfo->mScale.y; + mtx[2][2] *= transformInfo->mScale.z; + } + if (j3dSys.getModel()->getModelData()->getJointNodePointer(param_2)->getScaleCompensate() == 1) { + f32 x = 1.0f / J3DSys::mParentS.x; + f32 y = 1.0f / J3DSys::mParentS.y; + f32 z = 1.0f / J3DSys::mParentS.z; + mtx[0][0] *= x; + mtx[0][1] *= x; + mtx[0][2] *= x; + mtx[1][0] *= y; + mtx[1][1] *= y; + mtx[1][2] *= y; + mtx[2][0] *= z; + mtx[2][1] *= z; + mtx[2][2] *= z; + } + //mDoMtx_concat(J3DSys::mCurrentMtx, mtx, J3DSys::mCurrentMtx); + j3dSys.getModel()->setAnmMtx(param_2, J3DSys::mCurrentMtx); + J3DSys::mParentS.x = transformInfo->mScale.x; + J3DSys::mParentS.y = transformInfo->mScale.y; + J3DSys::mParentS.z = transformInfo->mScale.z; } /* 8000DCF0-8000DCF4 .text getTransform__15J3DAnmTransformCFUsP16J3DTransformInfo */ -void J3DAnmTransform::getTransform(unsigned short, J3DTransformInfo*) const { - /* Nonmatching */ -} +void J3DAnmTransform::getTransform(u16, J3DTransformInfo*) const {} /* 8000DCF4-8000DD4C .text isCurrentSolidHeap__Fv */ -void isCurrentSolidHeap() { - /* Nonmatching */ +bool isCurrentSolidHeap() { + if (JKRGetCurrentHeap()->getHeapType() != 'SLID') { + OSReport_Error("ソリッドヒープちゃうがな!\n"); + return false; + } + return true; } /* 8000DD4C-8000DF24 .text initPlay__14mDoExt_baseAnmFsifssb */ -int mDoExt_baseAnm::initPlay(short, int, float, short, short, bool) { - /* Nonmatching */ +int mDoExt_baseAnm::initPlay(s16 i_frameMax, int i_attribute, f32 i_rate, s16 i_startF, s16 i_endF, bool i_modify) { + JUT_ASSERT(421, i_modify || isCurrentSolidHeap()); + if (!i_modify) { + mFrameCtrl = new J3DFrameCtrl(); + if (!mFrameCtrl) { + return 0; + } + } + + mFrameCtrl->setStart(i_startF); + + if (i_endF < 0) { + mFrameCtrl->init(i_frameMax); + } else { + mFrameCtrl->init(i_endF); + } + mFrameCtrl->setAttribute(i_attribute); + mFrameCtrl->setRate(i_rate); + + if (i_rate >= 0.0f) { + mFrameCtrl->setFrame(i_startF); + } else { + mFrameCtrl->setFrame(mFrameCtrl->getEnd()); + } + + mFrameCtrl->setLoop(mFrameCtrl->getFrame()); + + return 1; } /* 8000DF24-8000DFC4 .text play__14mDoExt_baseAnmFv */ int mDoExt_baseAnm::play() { - /* Nonmatching */ + JUT_ASSERT(462, mFrameCtrl != 0); + mFrameCtrl->update(); + return isStop(); } /* 8000DFC4-8000DFF0 .text init__13mDoExt_bpkAnmFP12J3DModelDataP11J3DAnmColoriifssbi */ -void mDoExt_bpkAnm::init(J3DModelData*, J3DAnmColor*, int, int, float, short, short, bool, int) { - /* Nonmatching */ +int mDoExt_bpkAnm::init(J3DModelData* i_modelData, J3DAnmColor* i_bpk, int i_anmPlay, int i_attribute, f32 i_rate, s16 i_startF, s16 i_endF, bool i_modify, int i_entry) { + return init(&i_modelData->getMaterialTable(), i_bpk, i_anmPlay, i_attribute, i_rate, i_startF, i_endF, i_modify, i_entry); } /* 8000DFF0-8000E014 .text entry__13mDoExt_bpkAnmFP12J3DModelDataf */ -void mDoExt_bpkAnm::entry(J3DModelData*, float) { +void mDoExt_bpkAnm::entry(J3DModelData* i_modelData, f32 param_1) { + entry(&i_modelData->getMaterialTable(), param_1); /* Nonmatching */ } /* 8000E014-8000E2A8 .text init__13mDoExt_bpkAnmFP16J3DMaterialTableP11J3DAnmColoriifssbi */ -void mDoExt_bpkAnm::init(J3DMaterialTable*, J3DAnmColor*, int, int, float, short, short, bool, int) { - /* Nonmatching */ -} +int mDoExt_bpkAnm::init(J3DMaterialTable* i_matTable, J3DAnmColor* i_bpk, int i_anmPlay, int i_attribute, f32 i_rate, s16 i_startF, s16 i_endF, bool i_modify, int i_entry) { -/* 8000E2A8-8000E2E4 .text __dt__14J3DMatColorAnmFv */ -J3DMatColorAnm::~J3DMatColorAnm() { - /* Nonmatching */ -} + JUT_ASSERT(531, i_modify || isCurrentSolidHeap()); + JUT_ASSERT(533, i_matTable != 0 && i_bpk != 0); + mpAnm = i_bpk; + mpAnm->searchUpdateMaterialID(i_matTable); -/* 8000E2E4-8000E2F4 .text __ct__14J3DMatColorAnmFv */ -J3DMatColorAnm::J3DMatColorAnm() { - /* Nonmatching */ + u16 updateMaterialNum = mpAnm->getUpdateMaterialNum(); + if (!i_modify) { + mUpdateMaterialNum = updateMaterialNum; + JUT_ASSERT(541, mUpdateMaterialNum); + field_0xc = new J3DMatColorAnm[mUpdateMaterialNum]; + if (!field_0xc) { + return 0; + } + } + JUT_ASSERT(548, updateMaterialNum <= mUpdateMaterialNum); + J3DMatColorAnm* matColorAnm = field_0xc; + for (u16 i = 0; i < updateMaterialNum; i++) { + matColorAnm->setAnmColor(mpAnm); + matColorAnm->setAnmIndex(i); + matColorAnm++; + } + + if (!i_modify && i_entry) { + i_matTable->setMatColorAnimator(mpAnm, field_0xc); + } + + if (i_anmPlay) { + if (initPlay(mpAnm->getFrameMax(), i_attribute, i_rate, i_startF, i_endF, i_modify) == 0) { + return 0; + } + } + return 1; } /* 8000E2F4-8000E32C .text entry__13mDoExt_bpkAnmFP16J3DMaterialTablef */ -void mDoExt_bpkAnm::entry(J3DMaterialTable*, float) { - /* Nonmatching */ +void mDoExt_bpkAnm::entry(J3DMaterialTable* i_matTable, f32 i_frame) { + mpAnm->setFrame(i_frame); + i_matTable->setMatColorAnimator(mpAnm, field_0xc); } /* 8000E32C-8000E358 .text init__13mDoExt_btpAnmFP12J3DModelDataP16J3DAnmTexPatterniifssbi */ -void mDoExt_btpAnm::init(J3DModelData*, J3DAnmTexPattern*, int, int, float, short, short, bool, int) { - /* Nonmatching */ +int mDoExt_btpAnm::init(J3DModelData* i_modelData, J3DAnmTexPattern* i_btp, int i_anmPlay, int i_attribute, f32 i_rate, s16 i_startF, s16 i_endF, bool i_modify, int i_entry) { + init(&i_modelData->getMaterialTable(), i_btp, i_anmPlay, i_attribute, i_rate, i_startF, i_endF, i_modify, i_entry); } /* 8000E358-8000E37C .text entry__13mDoExt_btpAnmFP12J3DModelDatas */ -void mDoExt_btpAnm::entry(J3DModelData*, short) { - /* Nonmatching */ +void mDoExt_btpAnm::entry(J3DModelData* i_modelData, s16 i_frame) { + entry(&i_modelData->getMaterialTable(), i_frame); } /* 8000E37C-8000E610 .text init__13mDoExt_btpAnmFP16J3DMaterialTableP16J3DAnmTexPatterniifssbi */ -void mDoExt_btpAnm::init(J3DMaterialTable*, J3DAnmTexPattern*, int, int, float, short, short, bool, int) { +int mDoExt_btpAnm::init(J3DMaterialTable* i_matTable, J3DAnmTexPattern* i_btp, int i_anmPlay, int i_attribute, f32 i_rate, s16 i_startF, s16 i_endF, bool i_modify, int i_entry) { /* Nonmatching */ -} + JUT_ASSERT(648, i_modify || isCurrentSolidHeap()); + JUT_ASSERT(650, i_matTable != 0 && i_btp != 0); + mpAnm = i_btp; + mpAnm->searchUpdateMaterialID(i_matTable); -/* 8000E610-8000E658 .text __dt__11J3DTexNoAnmFv */ -J3DTexNoAnm::~J3DTexNoAnm() { - /* Nonmatching */ -} + u16 updateMaterialNum = mpAnm->getUpdateMaterialNum(); + if (!i_modify) { + mUpdateMaterialNum = updateMaterialNum; + JUT_ASSERT(658, mUpdateMaterialNum); + field_0xc = new J3DTexNoAnm[mUpdateMaterialNum]; + if (!field_0xc) { + return 0; + } + } + JUT_ASSERT(665, updateMaterialNum <= mUpdateMaterialNum); + J3DTexNoAnm* texNoAnm = field_0xc; + for (u16 i = 0; i < updateMaterialNum; i++) { + texNoAnm->setAnmTexPattern(mpAnm); + texNoAnm->setAnmIndex(i); + texNoAnm++; + } -/* 8000E658-8000E674 .text __ct__11J3DTexNoAnmFv */ -J3DTexNoAnm::J3DTexNoAnm() { - /* Nonmatching */ + if (!i_modify && i_entry) { + i_matTable->setTexNoAnimator(mpAnm, field_0xc); + } + + if (i_anmPlay) { + if (initPlay(mpAnm->getFrameMax(), i_attribute, i_rate, i_startF, i_endF, i_modify) == 0) { + return 0; + } + } + return 1; } /* 8000E674-8000E6CC .text entry__13mDoExt_btpAnmFP16J3DMaterialTables */ -void mDoExt_btpAnm::entry(J3DMaterialTable*, short) { - /* Nonmatching */ +void mDoExt_btpAnm::entry(J3DMaterialTable* i_matTable, s16 i_frame) { + mpAnm->setFrame(i_frame); + i_matTable->setTexNoAnimator(mpAnm, field_0xc); } /* 8000E6CC-8000E6F8 .text init__13mDoExt_btkAnmFP12J3DModelDataP19J3DAnmTextureSRTKeyiifssbi */ -void mDoExt_btkAnm::init(J3DModelData*, J3DAnmTextureSRTKey*, int, int, float, short, short, bool, int) { - /* Nonmatching */ +int mDoExt_btkAnm::init(J3DModelData* i_modelData, J3DAnmTextureSRTKey* i_btk, int i_anmPlay, int i_attribute, f32 i_rate, s16 i_startF, s16 i_endF, bool i_modify, int i_entry) { + init(&i_modelData->getMaterialTable(), i_btk, i_anmPlay, i_attribute, i_rate, i_startF, i_endF, i_modify, i_entry); } /* 8000E6F8-8000E71C .text entry__13mDoExt_btkAnmFP12J3DModelDataf */ -void mDoExt_btkAnm::entry(J3DModelData*, float) { - /* Nonmatching */ +void mDoExt_btkAnm::entry(J3DModelData* i_modelData, f32 i_frame) { + entry(&i_modelData->getMaterialTable(), i_frame); } /* 8000E71C-8000EAE4 .text init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifssbi */ -void mDoExt_btkAnm::init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, float, short, short, bool, int) { +int mDoExt_btkAnm::init(J3DMaterialTable* i_matTable, J3DAnmTextureSRTKey* i_btk, int i_anmPlay, int i_attribute, f32 i_rate, s16 i_startF, s16 i_endF, bool i_modify, int i_entry) { /* Nonmatching */ -} + JUT_ASSERT(781, i_modify || isCurrentSolidHeap()); + JUT_ASSERT(783, i_matTable != 0 && i_btk != 0); + mpAnm = i_btk; + mpAnm->searchUpdateMaterialID(i_matTable); -/* 8000EAE4-8000EB20 .text __dt__12J3DTexMtxAnmFv */ -J3DTexMtxAnm::~J3DTexMtxAnm() { - /* Nonmatching */ -} + u16 updateMaterialNum = mpAnm->getUpdateMaterialNum(); + if (!i_modify) { + mUpdateMaterialNum = updateMaterialNum; + JUT_ASSERT(791, mUpdateMaterialNum); + for (u16 i = 0; i < mUpdateMaterialNum; i++) { + u16 materialId = mpAnm->getUpdateMaterialID(i); + if (materialId != 0xFFFF) { + J3DMaterial* material = i_matTable->getMaterialNodePointer(materialId); + u8 texMtxId = mpAnm->getUpdateTexMtxID(i); + if (texMtxId != 0xFF) { + J3DTexMtx* texMtx = material->getTexGenBlock()->getTexMtx(texMtxId); + if (!texMtx) { + texMtx = new J3DTexMtx(); + } + } + } + } + mpTexMtxAnm = new J3DTexMtxAnm[mUpdateMaterialNum]; + if (!mpTexMtxAnm) { + return 0; + } + } + JUT_ASSERT(811, updateMaterialNum <= mUpdateMaterialNum); + J3DTexMtxAnm* texMtxAnm = mpTexMtxAnm; + for (u16 i = 0; i < updateMaterialNum; i++) { + texMtxAnm->setAnmTransform(mpAnm); + texMtxAnm->setAnmIndex(i); + texMtxAnm++; + } -/* 8000EB20-8000EB30 .text __ct__12J3DTexMtxAnmFv */ -J3DTexMtxAnm::J3DTexMtxAnm() { - /* Nonmatching */ -} + if (!i_modify && i_entry) { + i_matTable->setTexMtxAnimator(mpAnm, mpTexMtxAnm, NULL); + } -/* 8000EB30-8000EB38 .text getTexMtx__14J3DTexGenBlockFUl */ -void J3DTexGenBlock::getTexMtx(unsigned long) { - /* Nonmatching */ + if (i_anmPlay) { + if (initPlay(mpAnm->getFrameMax(), i_attribute, i_rate, i_startF, i_endF, i_modify) == 0) { + return 0; + } + } + return 1; } /* 8000EB38-8000EB74 .text entry__13mDoExt_btkAnmFP16J3DMaterialTablef */ -void mDoExt_btkAnm::entry(J3DMaterialTable*, float) { - /* Nonmatching */ +void mDoExt_btkAnm::entry(J3DMaterialTable* i_matTable, f32 i_frame) { + mpAnm->setFrame(i_frame); + i_matTable->setTexMtxAnimator(mpAnm, mpTexMtxAnm, NULL); } /* 8000EB74-8000EBA0 .text init__13mDoExt_brkAnmFP12J3DModelDataP15J3DAnmTevRegKeyiifssbi */ @@ -134,398 +289,415 @@ int mDoExt_brkAnm::init(J3DModelData* i_modelData, J3DAnmTevRegKey* i_brk, int i } /* 8000EBA0-8000EBC4 .text entry__13mDoExt_brkAnmFP12J3DModelDataf */ -void mDoExt_brkAnm::entry(J3DModelData* i_modelData, float i_frame) { +void mDoExt_brkAnm::entry(J3DModelData* i_modelData, f32 i_frame) { entry(&i_modelData->getMaterialTable(), i_frame); } /* 8000EBC4-8000EEE8 .text init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifssbi */ -int mDoExt_brkAnm::init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, float, short, short, bool, int) { - /* Nonmatching */ -} +int mDoExt_brkAnm::init(J3DMaterialTable* i_matTable, J3DAnmTevRegKey* i_brk, int i_anmPlay, int i_attribute, f32 i_rate, s16 i_startF, s16 i_endF, bool i_modify, int i_entry) { + JUT_ASSERT(910, i_modify || isCurrentSolidHeap()); + JUT_ASSERT(912, i_matTable != 0 && i_brk != 0); + mpAnm = i_brk; + mpAnm->searchUpdateMaterialID(i_matTable); -/* 8000EEE8-8000EF24 .text __dt__15J3DTevKColorAnmFv */ -J3DTevKColorAnm::~J3DTevKColorAnm() { - /* Nonmatching */ -} + u16 CRegUpdateMaterialNum = mpAnm->getCRegUpdateMaterialNum(); + if (!i_modify) { + mCRegUpdateMaterialNum = CRegUpdateMaterialNum; + mpCRegAnm = new J3DTevColorAnm[mCRegUpdateMaterialNum]; + if (!mpCRegAnm) { + return 0; + } + } + JUT_ASSERT(926, CRegUpdateMaterialNum <= mCRegUpdateMaterialNum); + u16 KRegUpdateMaterialNum = mpAnm->getKRegUpdateMaterialNum(); + if (!i_modify) { + mKRegUpdateMaterialNum = KRegUpdateMaterialNum; + mpKRegAnm = new J3DTevKColorAnm[mKRegUpdateMaterialNum]; + if (!mpKRegAnm) { + return 0; + } + } + JUT_ASSERT(937, KRegUpdateMaterialNum <= mKRegUpdateMaterialNum); -/* 8000EF24-8000EF34 .text __ct__15J3DTevKColorAnmFv */ -J3DTevKColorAnm::J3DTevKColorAnm() { - /* Nonmatching */ -} + J3DTevColorAnm* cRegAnm = mpCRegAnm; + for (u16 i = 0; i < CRegUpdateMaterialNum; i++) { + cRegAnm->setAnmIndex(i); + cRegAnm->setAnmTevReg(mpAnm); + cRegAnm++; + } + J3DTevKColorAnm* kRegAnm = mpKRegAnm; + for (u16 i = 0; i < KRegUpdateMaterialNum; i++) { + kRegAnm->setAnmIndex(i); + kRegAnm->setAnmTevReg(mpAnm); + kRegAnm++; + } -/* 8000EF34-8000EF70 .text __dt__14J3DTevColorAnmFv */ -J3DTevColorAnm::~J3DTevColorAnm() { - /* Nonmatching */ -} + if (!i_modify && i_entry) { + i_matTable->setTevRegAnimator(mpAnm, mpCRegAnm, mpKRegAnm); + } -/* 8000EF70-8000EF80 .text __ct__14J3DTevColorAnmFv */ -J3DTevColorAnm::J3DTevColorAnm() { - /* Nonmatching */ + if (i_anmPlay) { + if (initPlay(mpAnm->getFrameMax(), i_attribute, i_rate, i_startF, i_endF, i_modify) == 0) { + return 0; + } + } + return 1; } /* 8000EF80-8000EFBC .text entry__13mDoExt_brkAnmFP16J3DMaterialTablef */ -void mDoExt_brkAnm::entry(J3DMaterialTable*, float) { - /* Nonmatching */ +void mDoExt_brkAnm::entry(J3DMaterialTable* i_matTable, f32 i_frame) { + mpAnm->setFrame(i_frame); + i_matTable->setTevRegAnimator(mpAnm, mpCRegAnm, mpKRegAnm); } /* 8000EFBC-8000F178 .text init__13mDoExt_bvaAnmFP8J3DModelP20J3DAnmVisibilityFulliifssbi */ -void mDoExt_bvaAnm::init(J3DModel*, J3DAnmVisibilityFull*, int, int, float, short, short, bool, int) { - /* Nonmatching */ +int mDoExt_bvaAnm::init(J3DModel* i_model, J3DAnmVisibilityFull* i_bva, int i_anmPlay, int i_attribute, f32 i_rate, s16 i_startF, s16 i_endF, bool i_modify, int i_entry) { + JUT_ASSERT(1002, i_modify || isCurrentSolidHeap()); + JUT_ASSERT(1004, i_model != 0 && i_bva != 0); + mpAnm = i_bva; + if (!i_modify) { + field_0xc = new J3DVisibilityManager(mpAnm); + if (!field_0xc) { + return 0; + } + if (i_entry) { + i_model->setVisibilityManager(field_0xc); + } + } else { + field_0xc->mAnmVisibility = mpAnm; + } + if (i_anmPlay) { + if (initPlay(mpAnm->getFrameMax(), i_attribute, i_rate, i_startF, i_endF, i_modify) == 0) { + return 0; + } + } + return 1; } /* 8000F178-8000F1B4 .text entry__13mDoExt_bvaAnmFP8J3DModels */ -void mDoExt_bvaAnm::entry(J3DModel*, short) { - /* Nonmatching */ +void mDoExt_bvaAnm::entry(J3DModel* i_model, s16 i_frame) { + mpAnm->setFrame(i_frame); + i_model->setVisibilityManager(field_0xc); } /* 8000F1B4-8000F408 .text init__13mDoExt_bckAnmFP12J3DModelDataP15J3DAnmTransformiifssb */ -void mDoExt_bckAnm::init(J3DModelData*, J3DAnmTransform*, int, int, float, short, short, bool) { - /* Nonmatching */ -} - -/* 8000F408-8000F49C .text __dt__13J3DMtxCalcAnmFv */ -J3DMtxCalcAnm::~J3DMtxCalcAnm() { - /* Nonmatching */ -} - -/* 8000F49C-8000F52C .text __dt__14J3DMtxCalcMayaFv */ -J3DMtxCalcMaya::~J3DMtxCalcMaya() { - /* Nonmatching */ -} - -/* 8000F52C-8000F590 .text __dt__15J3DMtxCalcBasicFv */ -J3DMtxCalcBasic::~J3DMtxCalcBasic() { +int mDoExt_bckAnm::init(J3DModelData* i_modelData, J3DAnmTransform* i_bck, int i_anmPlay, int i_attribute, f32 i_rate, s16 i_startF, s16 i_endF, bool i_modify) { /* Nonmatching */ + JUT_ASSERT(1065, i_modify || isCurrentSolidHeap()); + JUT_ASSERT(1067, i_bck != 0); + mAnm = i_bck; + if (!i_modify) { + mpMtxCalc = new J3DMtxCalcMayaAnm(mAnm); + if (!mpMtxCalc) { + return 0; + } + } else { + mpMtxCalc->mOne[0] = (u32)mAnm; + } + if (i_anmPlay) { + if (initPlay(mAnm->getFrameMax(), i_attribute, i_rate, i_startF, i_endF, i_modify) == 0) { + return 0; + } + } + return 1; } /* 8000F590-8000F610 .text changeBckOnly__13mDoExt_bckAnmFP15J3DAnmTransform */ -void mDoExt_bckAnm::changeBckOnly(J3DAnmTransform*) { +void mDoExt_bckAnm::changeBckOnly(J3DAnmTransform* i_bck) { + /* Nonmatching */ + mAnm = i_bck; + JUT_ASSERT(1104, mAnm != 0); + mpMtxCalc->mOne[0] = (u32)mAnm; /* Nonmatching */ } /* 8000F610-8000F638 .text entry__13mDoExt_bckAnmFP12J3DModelDataf */ -void mDoExt_bckAnm::entry(J3DModelData*, float) { - /* Nonmatching */ +void mDoExt_bckAnm::entry(J3DModelData* i_modelData, f32 i_frame) { + mAnm->setFrame(i_frame); + i_modelData->getJointNodePointer(0)->setMtxCalc(mpMtxCalc); } /* 8000F638-8000F6A0 .text mDoExt_changeMaterial__FP8J3DModel */ -void mDoExt_changeMaterial(J3DModel*) { - /* Nonmatching */ +void mDoExt_changeMaterial(J3DModel* i_model) { + J3DModelData* model_data = i_model->getModelData(); + + for (u16 i = 0; i < model_data->getMaterialNum(); i++) { + model_data->getMaterialNodePointer(i)->change(); + } } /* 8000F6A0-8000F758 .text mDoExt_modelTexturePatch__FP12J3DModelData */ -void mDoExt_modelTexturePatch(J3DModelData*) { - /* Nonmatching */ +void mDoExt_modelTexturePatch(J3DModelData* i_modelData) { + j3dSys.setTexture(i_modelData->getTexture()); + + for (u16 i = 0; i < i_modelData->getMaterialNum(); i++) { + J3DMaterial* mat = i_modelData->getMaterialNodePointer(i); + J3DTevBlock* tev = mat->getTevBlock(); + J3DDisplayListObj* dlObj = mat->getSharedDisplayListObj(); + + BOOL ret = OSDisableInterrupts(); + GDInitGDLObj(&J3DDisplayListObj::sGDLObj, dlObj->getDisplayList(0), + dlObj->getDisplayListSize()); + GDSetCurrent(&J3DDisplayListObj::sGDLObj); + tev->patchTexNoAndTexCoordScale(); + OSRestoreInterrupts(ret); + GDSetCurrent(NULL); + } } -/* 8000F758-8000F75C .text patchTexNoAndTexCoordScale__11J3DTevBlockFv */ -void J3DTevBlock::patchTexNoAndTexCoordScale() { - /* Nonmatching */ -} - -/* 8000F75C-8000F760 .text patch__10J3DPEBlockFv */ -void J3DPEBlock::patch() { - /* Nonmatching */ -} - -/* 8000F760-8000F764 .text patchLight__13J3DColorBlockFv */ -void J3DColorBlock::patchLight() { - /* Nonmatching */ -} - -/* 8000F764-8000F768 .text patch__11J3DTevBlockFv */ -void J3DTevBlock::patch() { - /* Nonmatching */ +static void dummy(J3DTevBlock* tev, J3DColorBlock* color, J3DPEBlock* pe) { + tev->patch(); + color->patchLight(); + pe->patch(); } /* 8000F768-8000F7BC .text mDoExt_modelDiff__FP8J3DModel */ -void mDoExt_modelDiff(J3DModel*) { - /* Nonmatching */ +void mDoExt_modelDiff(J3DModel* i_model) { + i_model->calcMaterial(); + i_model->diff(); + i_model->entry(); } /* 8000F7BC-8000F84C .text mDoExt_modelUpdate__FP8J3DModel */ -void mDoExt_modelUpdate(J3DModel*) { - /* Nonmatching */ +void mDoExt_modelUpdate(J3DModel* i_model) { + J3DModelData* model_data = i_model->getModelData(); + + if (model_data->getModelDataType() == 1 && !model_data->isLocked()) { + i_model->calc(); + mDoExt_modelDiff(i_model); + } else { + i_model->update(); + i_model->lock(); + } + + i_model->viewCalc(); } /* 8000F84C-8000F8F8 .text mDoExt_modelUpdateDL__FP8J3DModel */ -void mDoExt_modelUpdateDL(J3DModel*) { - /* Nonmatching */ +void mDoExt_modelUpdateDL(J3DModel* i_model) { + J3DModelData* model_data = i_model->getModelData(); + + if (model_data->getModelDataType() == 1 && !model_data->isLocked()) { + i_model->calc(); + mDoExt_modelDiff(i_model); + } else { + if (g_regHIO.mChild[2].mShortRegs[9] == 0) { + i_model->unlock(); + } + i_model->update(); + i_model->lock(); + } + + i_model->viewCalc(); } /* 8000F8F8-8000F974 .text mDoExt_modelEntry__FP8J3DModel */ -void mDoExt_modelEntry(J3DModel*) { - /* Nonmatching */ +void mDoExt_modelEntry(J3DModel* i_model) { + J3DModelData* model_data = i_model->getModelData(); + + if (model_data->getModelDataType() == 1 && !model_data->isLocked()) { + mDoExt_modelDiff(i_model); + } else { + i_model->entry(); + i_model->lock(); + } + + i_model->viewCalc(); } /* 8000F974-8000FA0C .text mDoExt_modelEntryDL__FP8J3DModel */ -void mDoExt_modelEntryDL(J3DModel*) { - /* Nonmatching */ +void mDoExt_modelEntryDL(J3DModel* i_model) { + J3DModelData* model_data = i_model->getModelData(); + + if (model_data->getModelDataType() == 1 && !model_data->isLocked()) { + mDoExt_modelDiff(i_model); + } else { + if (g_regHIO.mChild[2].mShortRegs[9] == 0) { + i_model->unlock(); + } + i_model->entry(); + i_model->lock(); + } + + i_model->viewCalc(); } /* 8000FA0C-800100F0 .text store__23mDoExt_backupMatBlock_cFP11J3DMaterial */ -void mDoExt_backupMatBlock_c::store(J3DMaterial*) { - /* Nonmatching */ -} - -/* 800100F0-800100F8 .text getZCompLoc__10J3DPEBlockCFv */ -void J3DPEBlock::getZCompLoc() const { - /* Nonmatching */ -} - -/* 800100F8-80010100 .text getZMode__10J3DPEBlockFv */ -void J3DPEBlock::getZMode() { - /* Nonmatching */ -} - -/* 80010100-80010108 .text getBlend__10J3DPEBlockFv */ -void J3DPEBlock::getBlend() { - /* Nonmatching */ -} - -/* 80010108-80010110 .text getAlphaComp__10J3DPEBlockFv */ -void J3DPEBlock::getAlphaComp() { - /* Nonmatching */ -} - -/* 80010110-80010118 .text getFog__10J3DPEBlockFv */ -void J3DPEBlock::getFog() { - /* Nonmatching */ -} - -/* 80010118-80010120 .text getIndTexCoordScale__11J3DIndBlockFUl */ -void J3DIndBlock::getIndTexCoordScale(unsigned long) { - /* Nonmatching */ -} - -/* 80010120-80010128 .text getIndTexMtx__11J3DIndBlockFUl */ -void J3DIndBlock::getIndTexMtx(unsigned long) { - /* Nonmatching */ -} - -/* 80010128-80010130 .text getIndTexOrder__11J3DIndBlockFUl */ -void J3DIndBlock::getIndTexOrder(unsigned long) { - /* Nonmatching */ -} - -/* 80010130-80010138 .text getIndTexStageNum__11J3DIndBlockCFv */ -void J3DIndBlock::getIndTexStageNum() const { - /* Nonmatching */ -} - -/* 80010138-80010140 .text getIndTevStage__11J3DTevBlockFUl */ -void J3DTevBlock::getIndTevStage(unsigned long) { - /* Nonmatching */ -} - -/* 80010140-80010148 .text getTevStage__11J3DTevBlockFUl */ -void J3DTevBlock::getTevStage(unsigned long) { - /* Nonmatching */ -} - -/* 80010148-80010154 .text getTexNo__11J3DTevBlockCFUl */ -void J3DTevBlock::getTexNo(unsigned long) const { - /* Nonmatching */ -} - -/* 80010154-8001015C .text getTevSwapModeTable__11J3DTevBlockFUl */ -void J3DTevBlock::getTevSwapModeTable(unsigned long) { - /* Nonmatching */ -} - -/* 8001015C-80010164 .text getTevKAlphaSel__11J3DTevBlockFUl */ -void J3DTevBlock::getTevKAlphaSel(unsigned long) { - /* Nonmatching */ -} - -/* 80010164-8001016C .text getTevKColorSel__11J3DTevBlockFUl */ -void J3DTevBlock::getTevKColorSel(unsigned long) { - /* Nonmatching */ -} - -/* 8001016C-80010174 .text getTevOrder__11J3DTevBlockFUl */ -void J3DTevBlock::getTevOrder(unsigned long) { - /* Nonmatching */ -} - -/* 80010174-8001017C .text getTevKColor__11J3DTevBlockFUl */ -void J3DTevBlock::getTevKColor(unsigned long) { - /* Nonmatching */ -} - -/* 8001017C-80010184 .text getTevColor__11J3DTevBlockFUl */ -void J3DTevBlock::getTevColor(unsigned long) { - /* Nonmatching */ -} - -/* 80010184-8001018C .text getTevStageNum__11J3DTevBlockCFv */ -void J3DTevBlock::getTevStageNum() const { - /* Nonmatching */ -} - -/* 8001018C-80010194 .text getTexCoord__14J3DTexGenBlockFUl */ -void J3DTexGenBlock::getTexCoord(unsigned long) { - /* Nonmatching */ -} - -/* 80010194-8001019C .text getTexGenNum__14J3DTexGenBlockCFv */ -void J3DTexGenBlock::getTexGenNum() const { - /* Nonmatching */ -} - -/* 8001019C-800101A4 .text getAmbColor__13J3DColorBlockFUl */ -void J3DColorBlock::getAmbColor(unsigned long) { - /* Nonmatching */ -} - -/* 800101A4-800101AC .text getColorChan__13J3DColorBlockFUl */ -void J3DColorBlock::getColorChan(unsigned long) { - /* Nonmatching */ -} - -/* 800101AC-800101B4 .text getMatColor__13J3DColorBlockFUl */ -void J3DColorBlock::getMatColor(unsigned long) { - /* Nonmatching */ -} - -/* 800101B4-800101BC .text getColorChanNum__13J3DColorBlockCFv */ -void J3DColorBlock::getColorChanNum() const { +void mDoExt_backupMatBlock_c::store(J3DMaterial* i_material) { /* Nonmatching */ + J3DColorBlock* colorBlock = i_material->getColorBlock(); + mColorChanNum = colorBlock->getColorChanNum(); + for (u32 i = 0; i < 2; i++) { + mMatColor[i] = *colorBlock->getMatColor(i); + } + for (u32 i = 0; i < 4; i++) { + mColorChan[i] = *colorBlock->getColorChan(i); + } + for (u32 i = 0; i < 2; i++) { + mAmbColor[i] = *colorBlock->getAmbColor(i); + } + J3DTexGenBlock* texGenBlock = i_material->getTexGenBlock(); + mTexGenNum = texGenBlock->getTexGenNum(); + u32 texGenMax = 8; + if (texGenBlock->getType() == 'TGB4') { + texGenMax = 4; + }; + for (u32 i = 0; i < texGenMax; i++) { + mTexCoord[i] = *texGenBlock->getTexCoord(i); + } + for (u32 i = 0; i < texGenMax; i++) { + if (texGenBlock->getTexMtx(i)) { + memcpy(&mTexMtx[i], texGenBlock->getTexMtx(i), sizeof(J3DTexMtx)); + DCStoreRange(&mTexMtx[i], sizeof(J3DTexMtx)); + } + } + J3DTevBlock* tevBlock = i_material->getTevBlock(); + mTevStageNum = tevBlock->getTevStageNum(); + for (u32 i = 0; i < 4; i++) { + mTevColor[i] = *tevBlock->getTevColor(i); + } + for (u32 i = 0; i < 4; i++) { + mTevKColor[i] = *tevBlock->getTevKColor(i); + } + u32 texNoMax = 8; + if (tevBlock->getType() == 'TVB4') { + texNoMax = 4; + for (u32 i = 0; i < 4; i++) { + mTevOrder[i] = *tevBlock->getTevOrder(i); + mTevKColorSel[i] = tevBlock->getTevKColorSel(i); + mTevKAlphaSel[i] = tevBlock->getTevKAlphaSel(i); + } + for (u32 i = 0; i < 4; i++) { + mTevSwapModeTable[i] = *tevBlock->getTevSwapModeTable(i); + } + } + for (u32 i = 0; i < texNoMax; i++) { + mTexNo[i] = tevBlock->getTexNo(i); + } + for (u32 i = 0; i < texNoMax; i++) { + mTevStage[i] = *tevBlock->getTevStage(i); + mIndTevStage[i] = *tevBlock->getIndTevStage(i); + } + J3DIndBlock* indBlock = i_material->getIndBlock(); + if (indBlock->getType() == 'IBLF') { + mIndTexStageNum = indBlock->getIndTexStageNum(); + for (u32 i = 0; i < 4; i++) { + mIndTexOrder[i] = *indBlock->getIndTexOrder(i); + } + for (u32 i = 0; i < 3; i++) { + mIndTexMtx[i] = *indBlock->getIndTexMtx(i); + } + for (u32 i = 0; i < 4; i++) { + mIndTexCoordScale[i] = *indBlock->getIndTexCoordScale(i); + } + } + J3DPEBlock* peBlock = i_material->getPEBlock(); + memcpy(&mFog, peBlock->getFog(), sizeof(J3DFog)); + DCStoreRange(&mFog, sizeof(J3DFog)); + mAlphaComp = *peBlock->getAlphaComp(); + mBlend = *peBlock->getBlend(); + mZMode = *peBlock->getZMode(); + mZCompLoc = peBlock->getZCompLoc(); + mMaterialAnm = i_material->getMaterialAnm(); + mMaterialMode = i_material->getMaterialMode(); } /* 800101BC-8001084C .text restore__23mDoExt_backupMatBlock_cFP11J3DMaterial */ -void mDoExt_backupMatBlock_c::restore(J3DMaterial*) { - /* Nonmatching */ -} - -/* 8001084C-80010850 .text setZCompLoc__10J3DPEBlockFUc */ -void J3DPEBlock::setZCompLoc(unsigned char) { - /* Nonmatching */ -} - -/* 80010850-80010854 .text setZMode__10J3DPEBlockF8J3DZMode */ -void J3DPEBlock::setZMode(J3DZMode) { - /* Nonmatching */ -} - -/* 80010854-80010858 .text setBlend__10J3DPEBlockF8J3DBlend */ -void J3DPEBlock::setBlend(J3DBlend) { - /* Nonmatching */ -} - -/* 80010858-8001085C .text setAlphaComp__10J3DPEBlockF12J3DAlphaComp */ -void J3DPEBlock::setAlphaComp(J3DAlphaComp) { - /* Nonmatching */ -} - -/* 8001085C-80010860 .text setIndTexCoordScale__11J3DIndBlockFUl19J3DIndTexCoordScale */ -void J3DIndBlock::setIndTexCoordScale(unsigned long, J3DIndTexCoordScale) { - /* Nonmatching */ -} - -/* 80010860-8001089C .text __dt__19J3DIndTexCoordScaleFv */ -J3DIndTexCoordScale::~J3DIndTexCoordScale() { - /* Nonmatching */ -} - -/* 8001089C-800108A0 .text setIndTexMtx__11J3DIndBlockFUl12J3DIndTexMtx */ -void J3DIndBlock::setIndTexMtx(unsigned long, J3DIndTexMtx) { - /* Nonmatching */ -} - -/* 800108A0-800108DC .text __dt__12J3DIndTexMtxFv */ -J3DIndTexMtx::~J3DIndTexMtx() { - /* Nonmatching */ -} - -/* 800108DC-800108E0 .text setIndTexStageNum__11J3DIndBlockFUc */ -void J3DIndBlock::setIndTexStageNum(unsigned char) { - /* Nonmatching */ -} - -/* 800108E0-800108E4 .text setIndTevStage__11J3DTevBlockFUl14J3DIndTevStage */ -void J3DTevBlock::setIndTevStage(unsigned long, J3DIndTevStage) { - /* Nonmatching */ -} - -/* 800108E4-800108E8 .text setTevStage__11J3DTevBlockFUl11J3DTevStage */ -void J3DTevBlock::setTevStage(unsigned long, J3DTevStage) { - /* Nonmatching */ -} - -/* 800108E8-800108EC .text setTexNo__11J3DTevBlockFUlUs */ -void J3DTevBlock::setTexNo(unsigned long, unsigned short) { - /* Nonmatching */ -} - -/* 800108EC-800108F0 .text setTevSwapModeTable__11J3DTevBlockFUl19J3DTevSwapModeTable */ -void J3DTevBlock::setTevSwapModeTable(unsigned long, J3DTevSwapModeTable) { - /* Nonmatching */ -} - -/* 800108F0-800108F4 .text setTevKAlphaSel__11J3DTevBlockFUlUc */ -void J3DTevBlock::setTevKAlphaSel(unsigned long, unsigned char) { - /* Nonmatching */ -} - -/* 800108F4-800108F8 .text setTevKColorSel__11J3DTevBlockFUlUc */ -void J3DTevBlock::setTevKColorSel(unsigned long, unsigned char) { - /* Nonmatching */ -} - -/* 800108F8-800108FC .text setTevOrder__11J3DTevBlockFUl11J3DTevOrder */ -void J3DTevBlock::setTevOrder(unsigned long, J3DTevOrder) { - /* Nonmatching */ -} - -/* 800108FC-80010900 .text setTevKColor__11J3DTevBlockFUl10J3DGXColor */ -void J3DTevBlock::setTevKColor(unsigned long, J3DGXColor) { - /* Nonmatching */ -} - -/* 80010900-80010904 .text setTevColor__11J3DTevBlockFUl13J3DGXColorS10 */ -void J3DTevBlock::setTevColor(unsigned long, J3DGXColorS10) { - /* Nonmatching */ -} - -/* 80010904-80010908 .text setTevStageNum__11J3DTevBlockFUc */ -void J3DTevBlock::setTevStageNum(unsigned char) { - /* Nonmatching */ -} - -/* 80010908-8001090C .text setTexCoord__14J3DTexGenBlockFUlPC11J3DTexCoord */ -void J3DTexGenBlock::setTexCoord(unsigned long, const J3DTexCoord*) { - /* Nonmatching */ -} - -/* 8001090C-80010910 .text setTexGenNum__14J3DTexGenBlockFUl */ -void J3DTexGenBlock::setTexGenNum(unsigned long) { - /* Nonmatching */ -} - -/* 80010910-80010914 .text setAmbColor__13J3DColorBlockFUl10J3DGXColor */ -void J3DColorBlock::setAmbColor(unsigned long, J3DGXColor) { - /* Nonmatching */ -} - -/* 80010914-80010918 .text setColorChan__13J3DColorBlockFUlRC12J3DColorChan */ -void J3DColorBlock::setColorChan(unsigned long, const J3DColorChan&) { - /* Nonmatching */ -} - -/* 80010918-8001091C .text setMatColor__13J3DColorBlockFUl10J3DGXColor */ -void J3DColorBlock::setMatColor(unsigned long, J3DGXColor) { - /* Nonmatching */ -} - -/* 8001091C-80010920 .text setColorChanNum__13J3DColorBlockFUc */ -void J3DColorBlock::setColorChanNum(unsigned char) { +void mDoExt_backupMatBlock_c::restore(J3DMaterial* i_material) { /* Nonmatching */ + J3DColorBlock* colorBlock = i_material->getColorBlock(); + colorBlock->setColorChanNum(mColorChanNum); + for (u32 i = 0; i < 2; i++) { + colorBlock->setMatColor(i, mMatColor[i]); + } + for (u32 i = 0; i < 4; i++) { + colorBlock->setColorChan(i, mColorChan[i]); + } + for (u32 i = 0; i < 2; i++) { + colorBlock->setAmbColor(i, mAmbColor[i]); + } + J3DTexGenBlock* texGenBlock = i_material->getTexGenBlock(); + texGenBlock->setTexGenNum(mTexGenNum); + u32 texGenMax = 8; + if (texGenBlock->getType() == 'TGB4') { + texGenMax = 4; + }; + for (u32 i = 0; i < texGenMax; i++) { + texGenBlock->setTexCoord(i, &mTexCoord[i]); + } + for (u32 i = 0; i < texGenMax; i++) { + if (texGenBlock->getTexMtx(i)) { + memcpy(texGenBlock->getTexMtx(i), &mTexMtx[i], sizeof(J3DTexMtx)); + DCStoreRange(texGenBlock->getTexMtx(i), sizeof(J3DTexMtx)); + } + } + J3DTevBlock* tevBlock = i_material->getTevBlock(); + tevBlock->setTevStageNum(mTevStageNum); + for (u32 i = 0; i < 4; i++) { + tevBlock->setTevColor(i, mTevColor[i]); + } + for (u32 i = 0; i < 4; i++) { + tevBlock->setTevKColor(i, mTevKColor[i]); + } + u32 texNoMax = 8; + if (tevBlock->getType() == 'TVB4') { + texNoMax = 4; + for (u32 i = 0; i < 4; i++) { + tevBlock->setTevOrder(i, mTevOrder[i]); + tevBlock->setTevKColorSel(i, mTevKColorSel[i]); + tevBlock->setTevKAlphaSel(i, mTevKAlphaSel[i]); + } + for (u32 i = 0; i < 4; i++) { + tevBlock->setTevSwapModeTable(i, mTevSwapModeTable[i]); + } + } + for (u32 i = 0; i < texNoMax; i++) { + tevBlock->setTexNo(i, mTexNo[i]); + } + for (u32 i = 0; i < texNoMax; i++) { + tevBlock->setTevStage(i, mTevStage[i]); + tevBlock->setIndTevStage(i, mIndTevStage[i]); + } + J3DIndBlock* indBlock = i_material->getIndBlock(); + if (indBlock->getType() == 'IBLF') { + indBlock->setIndTexStageNum(mIndTexStageNum); + for (u32 i = 0; i < 4; i++) { + *indBlock->getIndTexOrder(i) = mIndTexOrder[i]; + } + for (u32 i = 0; i < 3; i++) { + indBlock->setIndTexMtx(i, mIndTexMtx[i]); + } + for (u32 i = 0; i < 4; i++) { + indBlock->setIndTexCoordScale(i, mIndTexCoordScale[i]); + } + } + J3DPEBlock* peBlock = i_material->getPEBlock(); + memcpy(peBlock->getFog(), &mFog, sizeof(J3DFog)); + DCStoreRange(peBlock->getFog(), sizeof(J3DFog)); + peBlock->setAlphaComp(mAlphaComp); + peBlock->setBlend(mBlend); + peBlock->setZMode(mZMode); + peBlock->setZCompLoc(mZCompLoc); + i_material->setMaterialAnm(mMaterialAnm); + i_material->setMaterialMode(mMaterialMode); } /* 80010920-800109F4 .text create__23mDoExt_backupMaterial_cFP12J3DModelData */ -void mDoExt_backupMaterial_c::create(J3DModelData*) { +bool mDoExt_backupMaterial_c::create(J3DModelData* i_modelData) { /* Nonmatching */ + if (!mBackupMatBlock) { + mBackupMatBlock = new mDoExt_backupMatBlock_c[i_modelData->getMaterialNum()]; + if (!mBackupMatBlock) { + return false; + } + } + for (u16 i = 0; i < i_modelData->getMaterialNum(); i++) { + J3DMaterial* material = i_modelData->getMaterialNodePointer(i); + mBackupMatBlock[i].store(material); + } + mTexture = i_modelData->getTexture(); + mTextureName = i_modelData->getTextureName(); + return true; } /* 800109F4-80010A88 .text __dt__23mDoExt_backupMatBlock_cFv */ @@ -533,109 +705,50 @@ mDoExt_backupMatBlock_c::~mDoExt_backupMatBlock_c() { /* Nonmatching */ } -/* 80010A88-80010AC4 .text __dt__9J3DTexMtxFv */ -J3DTexMtx::~J3DTexMtx() { - /* Nonmatching */ -} - /* 80010AC4-80010D44 .text __ct__23mDoExt_backupMatBlock_cFv */ mDoExt_backupMatBlock_c::mDoExt_backupMatBlock_c() { /* Nonmatching */ } -/* 80010D44-80010D5C .text __ct__19J3DIndTexCoordScaleFv */ -J3DIndTexCoordScale::J3DIndTexCoordScale() { - /* Nonmatching */ -} - -/* 80010D5C-80010DB4 .text __ct__12J3DIndTexMtxFv */ -J3DIndTexMtx::J3DIndTexMtx() { - /* Nonmatching */ -} - -/* 80010DB4-80010DCC .text __ct__14J3DIndTexOrderFv */ -J3DIndTexOrder::J3DIndTexOrder() { - /* Nonmatching */ -} - -/* 80010DCC-80010DD8 .text __ct__19J3DTevSwapModeTableFv */ -J3DTevSwapModeTable::J3DTevSwapModeTable() { - /* Nonmatching */ -} - -/* 80010DD8-80010DF8 .text __ct__11J3DTevOrderFv */ -J3DTevOrder::J3DTevOrder() { - /* Nonmatching */ -} - -/* 80010DF8-80010EDC .text __ct__14J3DIndTevStageFv */ -J3DIndTevStage::J3DIndTevStage() { - /* Nonmatching */ -} - -/* 80010EDC-80010F44 .text __ct__11J3DTevStageFv */ -J3DTevStage::J3DTevStage() { - /* Nonmatching */ -} - /* 80010F44-8001110C .text setTevStageInfo__11J3DTevStageFRC15J3DTevStageInfo */ void J3DTevStage::setTevStageInfo(const J3DTevStageInfo&) { /* Nonmatching */ } -/* 8001110C-80011110 .text __ct__13J3DGXColorS10Fv */ -J3DGXColorS10::J3DGXColorS10() { - /* Nonmatching */ -} - -/* 80011110-800111B4 .text __ct__9J3DTexMtxFv */ -J3DTexMtx::J3DTexMtx() { - /* Nonmatching */ -} - -/* 800111B4-800111D4 .text __ct__11J3DTexCoordFv */ -J3DTexCoord::J3DTexCoord() { - /* Nonmatching */ -} - -/* 800111D4-80011290 .text __ct__12J3DColorChanFv */ -J3DColorChan::J3DColorChan() { - /* Nonmatching */ -} - -/* 80011290-80011294 .text __ct__10J3DGXColorFv */ -J3DGXColor::J3DGXColor() { - /* Nonmatching */ -} - /* 80011294-80011300 .text create__23mDoExt_backupMaterial_cFUs */ -void mDoExt_backupMaterial_c::create(unsigned short) { - /* Nonmatching */ +bool mDoExt_backupMaterial_c::create(u16 param_0) { + mBackupMatBlock = new mDoExt_backupMatBlock_c[param_0]; + return mBackupMatBlock != NULL; } /* 80011300-80011380 .text restore__23mDoExt_backupMaterial_cFP12J3DModelData */ -void mDoExt_backupMaterial_c::restore(J3DModelData*) { - /* Nonmatching */ +void mDoExt_backupMaterial_c::restore(J3DModelData* i_modelData) { + for (u16 i = 0; i < i_modelData->getMaterialNum(); i++) { + J3DMaterial* material = i_modelData->getMaterialNodePointer(i); + mBackupMatBlock[i].restore(material); + } + i_modelData->setTexture(mTexture); + i_modelData->setTextureName(mTextureName); } /* 80011380-80011434 .text create__21mDoExt_invisibleModelFP8J3DModel */ -void mDoExt_invisibleModel::create(J3DModel*) { - /* Nonmatching */ -} +bool mDoExt_invisibleModel::create(J3DModel* model) { + J3DModelData* modelData = model->getModelData(); -/* 80011434-80011490 .text __dt__19mDoExt_invJntPacketFv */ -mDoExt_invJntPacket::~mDoExt_invJntPacket() { - /* Nonmatching */ -} + mpPackets = new mDoExt_invJntPacket[modelData->getJointNum()]; + if (!mpPackets) { + return false; + } -/* 80011490-800114BC .text __ct__19mDoExt_invJntPacketFv */ -mDoExt_invJntPacket::mDoExt_invJntPacket() { - /* Nonmatching */ -} + mModel = model; + mDoExt_invJntPacket* packet = mpPackets; -/* 800114BC-80011504 .text __dt__9J3DPacketFv */ -J3DPacket::~J3DPacket() { - /* Nonmatching */ + for (u16 i = 0; i < modelData->getJointNum(); i++) { + packet->setJoint(mModel, i); + packet++; + } + + return true; } /* 80011504-800115AC .text entry__21mDoExt_invisibleModelFv */ @@ -658,153 +771,238 @@ void mDoExt_invisibleModel::updateDL(mDoExt_McaMorf*) { /* Nonmatching */ } +JKRExpHeap* gameHeap; + /* 80011734-800117E4 .text mDoExt_createGameHeap__FUlP7JKRHeap */ -void mDoExt_createGameHeap(unsigned long, JKRHeap*) { - /* Nonmatching */ +JKRExpHeap* mDoExt_createGameHeap(u32 heapSize, JKRHeap* i_heap) { + JUT_ASSERT(2050, gameHeap == 0 || heapSize == 0); + gameHeap = JKRExpHeap::create(heapSize, i_heap, true); + gameHeap->setAllocationMode(JKRExpHeap::ALLOC_MODE_1); + return gameHeap; } /* 800117E4-800117EC .text mDoExt_getGameHeap__Fv */ -void mDoExt_getGameHeap() { - /* Nonmatching */ +JKRExpHeap* mDoExt_getGameHeap() { + return gameHeap; } +s32 safeGameHeapSize; + /* 800117EC-80011814 .text mDoExt_setSafeGameHeapSize__Fv */ void mDoExt_setSafeGameHeapSize() { - /* Nonmatching */ + safeGameHeapSize = mDoExt_getGameHeap()->getTotalFreeSize(); } /* 80011814-8001181C .text mDoExt_getSafeGameHeapSize__Fv */ -void mDoExt_getSafeGameHeapSize() { - /* Nonmatching */ +s32 mDoExt_getSafeGameHeapSize() { + return safeGameHeapSize; } +JKRExpHeap* zeldaHeap; + /* 8001181C-800118C0 .text mDoExt_createZeldaHeap__FUlP7JKRHeap */ -void mDoExt_createZeldaHeap(unsigned long, JKRHeap*) { - /* Nonmatching */ +JKRExpHeap* mDoExt_createZeldaHeap(u32 heapSize, JKRHeap* i_heap) { + JUT_ASSERT(2112, zeldaHeap == 0 || heapSize == 0); + return zeldaHeap = JKRExpHeap::create(heapSize, i_heap, true); } /* 800118C0-800118C8 .text mDoExt_getZeldaHeap__Fv */ -void mDoExt_getZeldaHeap() { - /* Nonmatching */ +JKRExpHeap* mDoExt_getZeldaHeap() { + return zeldaHeap; } +s32 safeZeldaHeapSize; + /* 800118C8-800118F0 .text mDoExt_setSafeZeldaHeapSize__Fv */ -void mDoExt_setSafeZeldaHeapSize() { - /* Nonmatching */ +int mDoExt_setSafeZeldaHeapSize() { + safeZeldaHeapSize = mDoExt_getZeldaHeap()->getTotalFreeSize(); } /* 800118F0-800118F8 .text mDoExt_getSafeZeldaHeapSize__Fv */ -void mDoExt_getSafeZeldaHeapSize() { - /* Nonmatching */ +s32 mDoExt_getSafeZeldaHeapSize() { + return safeZeldaHeapSize; } +JKRExpHeap* commandHeap; + /* 800118F8-8001199C .text mDoExt_createCommandHeap__FUlP7JKRHeap */ -void mDoExt_createCommandHeap(unsigned long, JKRHeap*) { - /* Nonmatching */ +JKRExpHeap* mDoExt_createCommandHeap(u32 heapSize, JKRHeap* i_heap) { + JUT_ASSERT(2173, commandHeap == 0 || heapSize == 0); + return commandHeap = JKRExpHeap::create(heapSize, i_heap, true); } /* 8001199C-800119A4 .text mDoExt_getCommandHeap__Fv */ -void mDoExt_getCommandHeap() { - /* Nonmatching */ +JKRExpHeap* mDoExt_getCommandHeap() { + return commandHeap; } +s32 safeCommandHeapSize; + /* 800119A4-800119CC .text mDoExt_setSafeCommandHeapSize__Fv */ void mDoExt_setSafeCommandHeapSize() { - /* Nonmatching */ + safeCommandHeapSize = mDoExt_getCommandHeap()->getTotalFreeSize(); } /* 800119CC-800119D4 .text mDoExt_getSafeCommandHeapSize__Fv */ -void mDoExt_getSafeCommandHeapSize() { - /* Nonmatching */ +s32 mDoExt_getSafeCommandHeapSize() { + return safeCommandHeapSize; } +JKRExpHeap* archiveHeap; + /* 800119D4-80011A84 .text mDoExt_createArchiveHeap__FUlP7JKRHeap */ -void mDoExt_createArchiveHeap(unsigned long, JKRHeap*) { - /* Nonmatching */ +JKRExpHeap* mDoExt_createArchiveHeap(u32 heapSize, JKRHeap* i_heap) { + JUT_ASSERT(2237, archiveHeap == 0 || heapSize == 0); + archiveHeap = JKRExpHeap::create(heapSize, i_heap, true); + archiveHeap->setAllocationMode(JKRExpHeap::ALLOC_MODE_1); + return archiveHeap; } +s32 safeArchiveHeapSize; + /* 80011A84-80011AAC .text mDoExt_setSafeArchiveHeapSize__Fv */ void mDoExt_setSafeArchiveHeapSize() { - /* Nonmatching */ + safeArchiveHeapSize = mDoExt_getArchiveHeap()->getTotalFreeSize(); } /* 80011AAC-80011AB4 .text mDoExt_getSafeArchiveHeapSize__Fv */ -void mDoExt_getSafeArchiveHeapSize() { - /* Nonmatching */ +s32 mDoExt_getSafeArchiveHeapSize() { + return safeArchiveHeapSize; } /* 80011AB4-80011ABC .text mDoExt_getArchiveHeap__Fv */ -void mDoExt_getArchiveHeap() { - /* Nonmatching */ +JKRExpHeap* mDoExt_getArchiveHeap() { + return archiveHeap; } /* 80011ABC-80011B54 .text mDoExt_createSolidHeap__FUlP7JKRHeapUl */ -void mDoExt_createSolidHeap(unsigned long, JKRHeap*, unsigned long) { - /* Nonmatching */ +JKRSolidHeap* mDoExt_createSolidHeap(u32 i_size, JKRHeap* i_heap, u32 i_alignment) { + if (i_heap == NULL) { + i_heap = JKRHeap::getCurrentHeap(); + } + + JKRSolidHeap* createdHeap; + if (i_size == 0 || i_size == 0xFFFFFFFF) { + createdHeap = JKRSolidHeap::create(0xFFFFFFFFFF, i_heap, false); + } else { + i_size = ALIGN_NEXT(i_size, 0x10); + i_size += 0x80; + + if (0x10 < i_alignment) { + i_size = (i_alignment - 0x10 + i_size); + } + createdHeap = JKRSolidHeap::create(i_size, i_heap, false); + } + + if (createdHeap != NULL) { + createdHeap->setErrorFlag(true); + } + + return createdHeap; } /* 80011B54-80011B9C .text mDoExt_createSolidHeapFromGame__FUlUl */ -void mDoExt_createSolidHeapFromGame(unsigned long, unsigned long) { - /* Nonmatching */ +JKRSolidHeap* mDoExt_createSolidHeapFromGame(u32 i_size, u32 i_alignment) { + return mDoExt_createSolidHeap(i_size, mDoExt_getGameHeap(), i_alignment); } /* 80011B9C-80011BE4 .text mDoExt_createSolidHeapFromSystem__FUlUl */ -void mDoExt_createSolidHeapFromSystem(unsigned long, unsigned long) { - /* Nonmatching */ +JKRSolidHeap* mDoExt_createSolidHeapFromSystem(u32 i_size, u32 i_alignment) { + return mDoExt_createSolidHeap(i_size, mDoExt_getZeldaHeap(), i_alignment); } +static void dummy() { + OSReport("situationHeap == 0 || heapSize == 0"); + OSReport("situationHeapLocked == 0"); + OSReport("situationHeap"); + OSReport("situationHeapLocked"); + OSReport("heap == situationHeap"); +} + +JKRHeap* mDoExt_SaveCurrentHeap; + /* 80011BE4-80011CC0 .text mDoExt_createSolidHeapToCurrent__FUlP7JKRHeapUl */ -void mDoExt_createSolidHeapToCurrent(unsigned long, JKRHeap*, unsigned long) { - /* Nonmatching */ +JKRSolidHeap* mDoExt_createSolidHeapToCurrent(u32 i_size, JKRHeap* i_parent, u32 i_alignment) { + JKRSolidHeap* resultHeap = mDoExt_createSolidHeap(i_size, i_parent, i_alignment); + if (!resultHeap) { + return NULL; + } + JUT_ASSERT(2545, OSGetCurrentThread() == &mainThread); + JUT_ASSERT(2546, mDoExt_SaveCurrentHeap == 0); + mDoExt_SaveCurrentHeap = JKRGetCurrentHeap(); + mDoExt_setCurrentHeap(resultHeap); + + return resultHeap; } /* 80011CC0-80011D0C .text mDoExt_createSolidHeapFromGameToCurrent__FUlUl */ -void mDoExt_createSolidHeapFromGameToCurrent(unsigned long, unsigned long) { - /* Nonmatching */ +JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(u32 i_size, u32 i_alignment) { + mDoExt_getGameHeap(); + return mDoExt_createSolidHeapToCurrent(i_size, mDoExt_getGameHeap(), i_alignment); } /* 80011D0C-80011D48 .text mDoExt_adjustSolidHeap__FP12JKRSolidHeap */ -u32 mDoExt_adjustSolidHeap(JKRSolidHeap*) { - /* Nonmatching */ +u32 mDoExt_adjustSolidHeap(JKRSolidHeap* i_heap) { + if (i_heap == NULL) { + return 0; + } + + s32 result = i_heap->adjustSize(); + + if (result >= (u32)0x80) { + result -= 0x80; + } + + return result; } /* 80011D48-80011D68 .text mDoExt_destroySolidHeap__FP12JKRSolidHeap */ -void mDoExt_destroySolidHeap(JKRSolidHeap*) { - /* Nonmatching */ +void mDoExt_destroySolidHeap(JKRSolidHeap* i_heap) { + i_heap->destroy(); } /* 80011D68-80011DD4 .text mDoExt_setCurrentHeap__FP7JKRHeap */ -void mDoExt_setCurrentHeap(JKRHeap*) { - /* Nonmatching */ +JKRHeap* mDoExt_setCurrentHeap(JKRHeap* heap) { + JUT_ASSERT(2684, heap != 0); + return heap->becomeCurrentHeap(); } /* 80011DD4-80011DDC .text mDoExt_getCurrentHeap__Fv */ -void mDoExt_getCurrentHeap() { - /* Nonmatching */ +JKRHeap* mDoExt_getCurrentHeap() { + return JKRGetCurrentHeap(); } /* 80011DDC-80011E98 .text mDoExt_restoreCurrentHeap__Fv */ void mDoExt_restoreCurrentHeap() { - /* Nonmatching */ + JUT_ASSERT(2754, OSGetCurrentThread() == &mainThread); + JUT_ASSERT(2755, mDoExt_SaveCurrentHeap != 0); + mDoExt_SaveCurrentHeap->becomeCurrentHeap(); + mDoExt_SaveCurrentHeap = NULL; } /* 80011E98-80011EE4 .text mDoExt_resIDToIndex__FP10JKRArchiveUs */ -void mDoExt_resIDToIndex(JKRArchive*, unsigned short) { - /* Nonmatching */ +s32 mDoExt_resIDToIndex(JKRArchive* p_archive, u16 id) { + JKRArchive::SDIFileEntry* res = p_archive->findIdResource(id); + + if (res == NULL) { + return -1; + } + + return res - p_archive->mFiles; } /* 80011EE4-80012140 .text calc__25mDoExt_MtxCalcAnmBlendTblFUs */ -void mDoExt_MtxCalcAnmBlendTbl::calc(unsigned short) { +void mDoExt_MtxCalcAnmBlendTbl::calc(u16) { /* Nonmatching */ } /* 80012140-80012548 .text calc__28mDoExt_MtxCalcAnmBlendTblOldFUs */ -void mDoExt_MtxCalcAnmBlendTblOld::calc(unsigned short) { +void mDoExt_MtxCalcAnmBlendTblOld::calc(u16) { /* Nonmatching */ } /* 80012548-800125CC .text initOldFrameMorf__22mDoExt_MtxCalcOldFrameFfUsUs */ -void mDoExt_MtxCalcOldFrame::initOldFrameMorf(float, unsigned short, unsigned short) { +void mDoExt_MtxCalcOldFrame::initOldFrameMorf(f32, u16, u16) { /* Nonmatching */ } @@ -814,32 +1012,27 @@ void mDoExt_MtxCalcOldFrame::decOldFrameMorfCounter() { } /* 80012650-800129E4 .text __ct__14mDoExt_McaMorfFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiiPvUlUl */ -mDoExt_McaMorf::mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*, mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, float, int, int, int, void*, unsigned long, unsigned long) { - /* Nonmatching */ -} - -/* 800129E4-80012A2C .text __dt__12J3DFrameCtrlFv */ -J3DFrameCtrl::~J3DFrameCtrl() { +mDoExt_McaMorf::mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*, mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, int, void*, u32, u32) { /* Nonmatching */ } /* 80012A2C-80012D78 .text calc__14mDoExt_McaMorfFUs */ -void mDoExt_McaMorf::calc(unsigned short) { +void mDoExt_McaMorf::calc(u16) { /* Nonmatching */ } /* 80012D78-80012FC8 .text setAnm__14mDoExt_McaMorfFP15J3DAnmTransformiffffPv */ -void mDoExt_McaMorf::setAnm(J3DAnmTransform*, int, float, float, float, float, void*) { +void mDoExt_McaMorf::setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*) { /* Nonmatching */ } /* 80012FC8-8001300C .text setMorf__14mDoExt_McaMorfFf */ -void mDoExt_McaMorf::setMorf(float) { +void mDoExt_McaMorf::setMorf(f32) { /* Nonmatching */ } /* 8001300C-800130D0 .text play__14mDoExt_McaMorfFP3VecUlSc */ -void mDoExt_McaMorf::play(Vec*, unsigned long, signed char) { +void mDoExt_McaMorf::play(Vec*, u32, s8) { /* Nonmatching */ } @@ -884,7 +1077,7 @@ void mDoExt_McaMorf::stopZelAnime() { } /* 80013388-800136F4 .text __ct__15mDoExt_McaMorf2FP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformP15J3DAnmTransformifiiiPvUlUl */ -mDoExt_McaMorf2::mDoExt_McaMorf2(J3DModelData*, mDoExt_McaMorfCallBack1_c*, mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, J3DAnmTransform*, int, float, int, int, int, void*, unsigned long, unsigned long) { +mDoExt_McaMorf2::mDoExt_McaMorf2(J3DModelData*, mDoExt_McaMorfCallBack1_c*, mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, J3DAnmTransform*, int, f32, int, int, int, void*, u32, u32) { /* Nonmatching */ } @@ -894,22 +1087,22 @@ void mDoExt_McaMorf2::ERROR_EXIT() { } /* 80013770-80013E50 .text calc__15mDoExt_McaMorf2FUs */ -void mDoExt_McaMorf2::calc(unsigned short) { +void mDoExt_McaMorf2::calc(u16) { /* Nonmatching */ } /* 80013E50-800140A0 .text setAnm__15mDoExt_McaMorf2FP15J3DAnmTransformP15J3DAnmTransformfiffffPv */ -void mDoExt_McaMorf2::setAnm(J3DAnmTransform*, J3DAnmTransform*, float, int, float, float, float, float, void*) { +void mDoExt_McaMorf2::setAnm(J3DAnmTransform*, J3DAnmTransform*, f32, int, f32, f32, f32, f32, void*) { /* Nonmatching */ } /* 800140A0-800140D8 .text setMorf__15mDoExt_McaMorf2Ff */ -void mDoExt_McaMorf2::setMorf(float) { +void mDoExt_McaMorf2::setMorf(f32) { /* Nonmatching */ } /* 800140D8-8001419C .text play__15mDoExt_McaMorf2FP3VecUlSc */ -void mDoExt_McaMorf2::play(Vec*, unsigned long, signed char) { +void mDoExt_McaMorf2::play(Vec*, u32, s8) { /* Nonmatching */ } @@ -944,17 +1137,12 @@ void mDoExt_invJntPacket::draw() { } /* 800143B8-80014580 .text init__15mDoExt_3Dline_cFUsii */ -void mDoExt_3Dline_c::init(unsigned short, int, int) { - /* Nonmatching */ -} - -/* 80014580-80014584 .text __ct__4cXyzFv */ -cXyz::cXyz() { +int mDoExt_3Dline_c::init(u16, int, int) { /* Nonmatching */ } /* 80014584-80014664 .text init__19mDoExt_3DlineMat0_cFUsUsi */ -void mDoExt_3DlineMat0_c::init(unsigned short, unsigned short, int) { +int mDoExt_3DlineMat0_c::init(u16, u16, int) { /* Nonmatching */ } @@ -979,17 +1167,17 @@ void mDoExt_3DlineMat0_c::draw() { } /* 800148B4-80014E04 .text update__19mDoExt_3DlineMat0_cFUsfR8_GXColorUsP12dKy_tevstr_c */ -void mDoExt_3DlineMat0_c::update(unsigned short, float, _GXColor&, unsigned short, dKy_tevstr_c*) { +void mDoExt_3DlineMat0_c::update(u16, f32, GXColor&, u16, dKy_tevstr_c*) { /* Nonmatching */ } /* 80014E04-80015328 .text update__19mDoExt_3DlineMat0_cFUsR8_GXColorP12dKy_tevstr_c */ -void mDoExt_3DlineMat0_c::update(unsigned short, _GXColor&, dKy_tevstr_c*) { +void mDoExt_3DlineMat0_c::update(u16, GXColor&, dKy_tevstr_c*) { /* Nonmatching */ } /* 80015328-800154C4 .text init__19mDoExt_3DlineMat1_cFUsUsP7ResTIMGi */ -void mDoExt_3DlineMat1_c::init(unsigned short, unsigned short, ResTIMG*, int) { +int mDoExt_3DlineMat1_c::init(u16, u16, ResTIMG*, int) { /* Nonmatching */ } @@ -1004,12 +1192,12 @@ void mDoExt_3DlineMat1_c::draw() { } /* 80015764-80015E54 .text update__19mDoExt_3DlineMat1_cFUsfR8_GXColorUsP12dKy_tevstr_c */ -void mDoExt_3DlineMat1_c::update(unsigned short, float, _GXColor&, unsigned short, dKy_tevstr_c*) { +void mDoExt_3DlineMat1_c::update(u16, f32, _GXColor&, u16, dKy_tevstr_c*) { /* Nonmatching */ } /* 80015E54-80016518 .text update__19mDoExt_3DlineMat1_cFUsR8_GXColorP12dKy_tevstr_c */ -void mDoExt_3DlineMat1_c::update(unsigned short, _GXColor&, dKy_tevstr_c*) { +void mDoExt_3DlineMat1_c::update(u16, _GXColor&, dKy_tevstr_c*) { /* Nonmatching */ } @@ -1024,12 +1212,7 @@ void mDoExt_3DlineMatSortPacket::draw() { } /* 800165E4-8001683C .text mDoExt_initFontCommon__FPP7JUTFontPP7ResFONTP7JKRHeapPCcP10JKRArchiveUcUlUl */ -void mDoExt_initFontCommon(JUTFont**, ResFONT**, JKRHeap*, const char*, JKRArchive*, unsigned char, unsigned long, unsigned long) { - /* Nonmatching */ -} - -/* 8001683C-80016884 .text __dt__7JUTFontFv */ -JUTFont::~JUTFont() { +void mDoExt_initFontCommon(JUTFont**, ResFONT**, JKRHeap*, const char*, JKRArchive*, u8, u32, u32) { /* Nonmatching */ } @@ -1064,7 +1247,7 @@ void mDoExt_removeRubyFont() { } /* 80016BB8-80016C98 .text mDoExt_J3DModel__create__FP12J3DModelDataUlUl */ -void mDoExt_J3DModel__create__FP12J3DModelDataUlUl { +J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 i_modelFlag, u32 i_differedDlistFlag) { /* Nonmatching */ } @@ -1074,12 +1257,12 @@ void JUTFont::setGX(JUtility::TColor, JUtility::TColor) { } /* 80016CC4-80016CF0 .text getCellWidth__7JUTFontCFv */ -void JUTFont::getCellWidth() const { +int JUTFont::getCellWidth() const { /* Nonmatching */ } /* 80016CF0-80016D1C .text getCellHeight__7JUTFontCFv */ -void JUTFont::getCellHeight() const { +s32 JUTFont::getCellHeight() const { /* Nonmatching */ } @@ -1089,13 +1272,13 @@ mDoExt_3DlineMatSortPacket::~mDoExt_3DlineMatSortPacket() { } /* 80016D78-80016D80 .text getMaterialID__19mDoExt_3DlineMat1_cFv */ -void mDoExt_3DlineMat1_c::getMaterialID() { - /* Nonmatching */ +int mDoExt_3DlineMat1_c::getMaterialID() { + return 1; } /* 80016D80-80016D88 .text getMaterialID__19mDoExt_3DlineMat0_cFv */ -void mDoExt_3DlineMat0_c::getMaterialID() { - /* Nonmatching */ +int mDoExt_3DlineMat0_c::getMaterialID() { + return 0; } /* 80016D88-80016DE4 .text __dt__24mDoExt_onCupOffAupPacketFv */ @@ -1113,11 +1296,6 @@ mDoExt_McaMorf2::~mDoExt_McaMorf2() { /* Nonmatching */ } -/* 80016F14-80017000 .text init__14J3DMtxCalcMayaFRC3VecRA3_A4_Cf */ -void J3DMtxCalcMaya::init(const Vec&, const float(&)[3][4]) { - /* Nonmatching */ -} - /* 80017000-800170D4 .text __dt__14mDoExt_McaMorfFv */ mDoExt_McaMorf::~mDoExt_McaMorf() { /* Nonmatching */ @@ -1132,128 +1310,3 @@ mDoExt_MtxCalcAnmBlendTblOld::~mDoExt_MtxCalcAnmBlendTblOld() { mDoExt_MtxCalcAnmBlendTbl::~mDoExt_MtxCalcAnmBlendTbl() { /* Nonmatching */ } - -/* 80017278-80017398 .text __dt__17J3DMtxCalcMayaAnmFv */ -J3DMtxCalcMayaAnm::~J3DMtxCalcMayaAnm() { - /* Nonmatching */ -} - -/* 80017398-800173BC .text calc__17J3DMtxCalcMayaAnmFUs */ -void J3DMtxCalcMayaAnm::calc(unsigned short) { - /* Nonmatching */ -} - -/* 800173BC-800173C0 .text init__10J3DMtxCalcFRC3VecRA3_A4_Cf */ -void J3DMtxCalc::init(const Vec&, const float(&)[3][4]) { - /* Nonmatching */ -} - -/* 800173C0-800173C4 .text recursiveCalc__10J3DMtxCalcFP7J3DNode */ -void J3DMtxCalc::recursiveCalc(J3DNode*) { - /* Nonmatching */ -} - -/* 800173C4-800173C8 .text calcTransform__10J3DMtxCalcFUsRC16J3DTransformInfo */ -void J3DMtxCalc::calcTransform(unsigned short, const J3DTransformInfo&) { - /* Nonmatching */ -} - -/* 800173C8-800173CC .text calc__10J3DMtxCalcFUs */ -void J3DMtxCalc::calc(unsigned short) { - /* Nonmatching */ -} - -/* 800173CC-800173E0 .text @88@36@calc__17J3DMtxCalcMayaAnmFUs */ -void J3DMtxCalcMayaAnm::@88@36@calc(unsigned short) { - /* Nonmatching */ -} - -/* 800173E0-800173E8 .text @80@calc__17J3DMtxCalcMayaAnmFUs */ -void J3DMtxCalcMayaAnm::@80@calc(unsigned short) { - /* Nonmatching */ -} - -/* 800173E8-800173F0 .text @80@__dt__17J3DMtxCalcMayaAnmFv */ -void @80@__dt__17J3DMtxCalcMayaAnmFv { - /* Nonmatching */ -} - -/* 800173F0-80017404 .text @88@36@calc__25mDoExt_MtxCalcAnmBlendTblFUs */ -void mDoExt_MtxCalcAnmBlendTbl::@88@36@calc(unsigned short) { - /* Nonmatching */ -} - -/* 80017404-80017418 .text @88@36@calcTransform__14J3DMtxCalcMayaFUsRC16J3DTransformInfo */ -void J3DMtxCalcMaya::@88@36@calcTransform(unsigned short, const J3DTransformInfo&) { - /* Nonmatching */ -} - -/* 80017418-8001742C .text @88@36@recursiveCalc__15J3DMtxCalcBasicFP7J3DNode */ -void J3DMtxCalcBasic::@88@36@recursiveCalc(J3DNode*) { - /* Nonmatching */ -} - -/* 8001742C-80017440 .text @88@36@init__14J3DMtxCalcMayaFRC3VecRA3_A4_Cf */ -void J3DMtxCalcMaya::@88@36@init(const Vec&, const float(&)[3][4]) { - /* Nonmatching */ -} - -/* 80017440-80017454 .text @104@36@calc__28mDoExt_MtxCalcAnmBlendTblOldFUs */ -void mDoExt_MtxCalcAnmBlendTblOld::@104@36@calc(unsigned short) { - /* Nonmatching */ -} - -/* 80017454-80017468 .text @104@36@calcTransform__14J3DMtxCalcMayaFUsRC16J3DTransformInfo */ -void J3DMtxCalcMaya::@104@36@calcTransform(unsigned short, const J3DTransformInfo&) { - /* Nonmatching */ -} - -/* 80017468-8001747C .text @104@36@recursiveCalc__15J3DMtxCalcBasicFP7J3DNode */ -void J3DMtxCalcBasic::@104@36@recursiveCalc(J3DNode*) { - /* Nonmatching */ -} - -/* 8001747C-80017490 .text @104@36@init__14J3DMtxCalcMayaFRC3VecRA3_A4_Cf */ -void J3DMtxCalcMaya::@104@36@init(const Vec&, const float(&)[3][4]) { - /* Nonmatching */ -} - -/* 80017490-800174A4 .text @140@36@calc__14mDoExt_McaMorfFUs */ -void mDoExt_McaMorf::@140@36@calc(unsigned short) { - /* Nonmatching */ -} - -/* 800174A4-800174B8 .text @140@36@calcTransform__14J3DMtxCalcMayaFUsRC16J3DTransformInfo */ -void J3DMtxCalcMaya::@140@36@calcTransform(unsigned short, const J3DTransformInfo&) { - /* Nonmatching */ -} - -/* 800174B8-800174CC .text @140@36@recursiveCalc__15J3DMtxCalcBasicFP7J3DNode */ -void J3DMtxCalcBasic::@140@36@recursiveCalc(J3DNode*) { - /* Nonmatching */ -} - -/* 800174CC-800174E0 .text @140@36@init__14J3DMtxCalcMayaFRC3VecRA3_A4_Cf */ -void J3DMtxCalcMaya::@140@36@init(const Vec&, const float(&)[3][4]) { - /* Nonmatching */ -} - -/* 800174E0-800174F4 .text @148@36@calc__15mDoExt_McaMorf2FUs */ -void mDoExt_McaMorf2::@148@36@calc(unsigned short) { - /* Nonmatching */ -} - -/* 800174F4-80017508 .text @148@36@calcTransform__14J3DMtxCalcMayaFUsRC16J3DTransformInfo */ -void J3DMtxCalcMaya::@148@36@calcTransform(unsigned short, const J3DTransformInfo&) { - /* Nonmatching */ -} - -/* 80017508-8001751C .text @148@36@recursiveCalc__15J3DMtxCalcBasicFP7J3DNode */ -void J3DMtxCalcBasic::@148@36@recursiveCalc(J3DNode*) { - /* Nonmatching */ -} - -/* 8001751C-80017530 .text @148@36@init__14J3DMtxCalcMayaFRC3VecRA3_A4_Cf */ -void J3DMtxCalcMaya::@148@36@init(const Vec&, const float(&)[3][4]) { - /* Nonmatching */ -} diff --git a/tools/project.py b/tools/project.py index 8fd6b6451..c592e2e1e 100644 --- a/tools/project.py +++ b/tools/project.py @@ -96,6 +96,7 @@ class Object: self.options = { "add_to_all": True, "cflags": None, + "extra_cflags": None, "mw_version": None, "shiftjis": True, "source": name, @@ -493,6 +494,12 @@ def generate_build_ninja(config, build_config): host_source_inputs = [] source_added = set() + def make_cflags_str(cflags): + if isinstance(cflags, list): + return " ".join(cflags) + else: + return cflags + def add_unit(build_obj, link_step): obj_path, obj_name = build_obj["object"], build_obj["name"] result = config.find_object(obj_name) @@ -516,11 +523,10 @@ def generate_build_ninja(config, build_config): return mw_version = options["mw_version"] or lib["mw_version"] - cflags = options["cflags"] or lib["cflags"] - if type(cflags) is list: - cflags_str = " ".join(cflags) - else: - cflags_str = str(cflags) + cflags_str = make_cflags_str(options["cflags"] or lib["cflags"]) + if options["extra_cflags"] is not None: + extra_cflags_str = make_cflags_str(options["extra_cflags"]) + cflags_str += " " + extra_cflags_str used_compiler_versions.add(mw_version) base_object = Path(obj.name).with_suffix("")