diff --git a/.github/workflows/ok-check.yml b/.github/workflows/ok-check.yml index dfc2b49841..320c20362b 100644 --- a/.github/workflows/ok-check.yml +++ b/.github/workflows/ok-check.yml @@ -37,47 +37,47 @@ jobs: run: | ./tp progress -f JSON > progress-${{ github.run_id }}.json ./tp upload-progress progress-${{ github.run_id }}.json -b https://progress.deco.mp/ -p twilightprincess -v gcn_usa - # - name: Get changed .c, .cpp, .inc files - # if: github.event_name != 'pull_request' - # id: changed-files-specific - # uses: tj-actions/changed-files@v36 - # with: - # files: | - # **/*.{c,cpp,inc} - # - name: Update Issue(s) - # if: github.event_name != 'pull_request' && steps.changed-files-specific.outputs.any_changed == 'true' - # run: | - # # Install libclang-16-dev for FunctionChecker - # wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - - # sudo add-apt-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-16 main" - # sudo apt update - # sudo apt install -y libclang-16-dev + - name: Get changed .c, .cpp, .inc files + if: github.event_name != 'pull_request' + id: changed-files-specific + uses: tj-actions/changed-files@v36 + with: + files: | + **/*.{c,cpp,inc} + - name: Update Issue(s) + if: github.event_name != 'pull_request' && steps.changed-files-specific.outputs.any_changed == 'true' + run: | + # Install libclang-16-dev for FunctionChecker + wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - + sudo add-apt-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-16 main" + sudo apt update + sudo apt install -y libclang-16-dev - # FILENAMES="${{ steps.changed-files-specific.outputs.all_changed_files }}" - # CMD="./tp github-update-issues --personal-access-token ${{ secrets.PAT_TOKEN }} --debug --owner ${{ env.GITHUB_ORG }} --repo ${{ env.GITHUB_REPO }} --state-file ${{ env.STATE_FILE }}" + FILENAMES="${{ steps.changed-files-specific.outputs.all_changed_files }}" + CMD="./tp github-update-issues --personal-access-token ${{ secrets.PAT_TOKEN }} --debug --owner ${{ env.GITHUB_ORG }} --repo ${{ env.GITHUB_REPO }} --state-file ${{ env.STATE_FILE }}" - # IFS=' ' read -ra FILE_ARRAY <<< "$FILENAMES" - # INC_FOUND=false + IFS=' ' read -ra FILE_ARRAY <<< "$FILENAMES" + INC_FOUND=false - # # Remove any .inc files from the array - # for index in "${!FILE_ARRAY[@]}"; do - # if [[ "${FILE_ARRAY[index]}" == *.inc ]]; then - # unset 'FILE_ARRAY[index]' - # INC_FOUND=true - # fi - # done + # Remove any .inc files from the array + for index in "${!FILE_ARRAY[@]}"; do + if [[ "${FILE_ARRAY[index]}" == *.inc ]]; then + unset 'FILE_ARRAY[index]' + INC_FOUND=true + fi + done - # # If any .inc files were found, - # # We will add "src/d/a/d_a_alink.cpp" to the array once - # # if it's not already there - # if $INC_FOUND && ! [[ " ${FILE_ARRAY[@]} " =~ " src/d/a/d_a_alink.cpp " ]]; then - # FILE_ARRAY+=("src/d/a/d_a_alink.cpp") - # fi + # If any .inc files were found, + # We will add "src/d/a/d_a_alink.cpp" to the array once + # if it's not already there + if $INC_FOUND && ! [[ " ${FILE_ARRAY[@]} " =~ " src/d/a/d_a_alink.cpp " ]]; then + FILE_ARRAY+=("src/d/a/d_a_alink.cpp") + fi - # for FILE in "${FILE_ARRAY[@]}"; do - # AUTHOR=$(git log -1 --pretty=format:'%an' -- $FILE) - # CMD="$CMD --filename $FILE --author $AUTHOR" - # done + for FILE in "${FILE_ARRAY[@]}"; do + AUTHOR=$(git log -1 --pretty=format:'%an' -- $FILE) + CMD="$CMD --filename $FILE --author $AUTHOR" + done - # # Update the status and assignees for every issue identified - # $CMD \ No newline at end of file + # Update the status and assignees for every issue identified + $CMD \ No newline at end of file diff --git a/asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/__dt__12J3DFrameCtrlFv.s b/asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/__dt__12J3DFrameCtrlFv.s deleted file mode 100644 index be7da8d09a..0000000000 --- a/asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/__dt__12J3DFrameCtrlFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80499A1C: -/* 80499A1C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80499A20 7C 08 02 A6 */ mflr r0 -/* 80499A24 90 01 00 14 */ stw r0, 0x14(r1) -/* 80499A28 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80499A2C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80499A30 41 82 00 1C */ beq lbl_80499A4C -/* 80499A34 3C A0 80 4A */ lis r5, __vt__12J3DFrameCtrl@ha /* 0x80499B68@ha */ -/* 80499A38 38 05 9B 68 */ addi r0, r5, __vt__12J3DFrameCtrl@l /* 0x80499B68@l */ -/* 80499A3C 90 1F 00 00 */ stw r0, 0(r31) -/* 80499A40 7C 80 07 35 */ extsh. r0, r4 -/* 80499A44 40 81 00 08 */ ble lbl_80499A4C -/* 80499A48 4B E3 52 F5 */ bl __dl__FPv -lbl_80499A4C: -/* 80499A4C 7F E3 FB 78 */ mr r3, r31 -/* 80499A50 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80499A54 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80499A58 7C 08 03 A6 */ mtlr r0 -/* 80499A5C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80499A60 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/daVrbox2_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/daVrbox2_Create__FP10fopAc_ac_c.s deleted file mode 100644 index de6ae0b34b..0000000000 --- a/asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/daVrbox2_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_80499978: -/* 80499978 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8049997C 7C 08 02 A6 */ mflr r0 -/* 80499980 90 01 00 14 */ stw r0, 0x14(r1) -/* 80499984 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80499988 93 C1 00 08 */ stw r30, 8(r1) -/* 8049998C 7C 7E 1B 78 */ mr r30, r3 -/* 80499990 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80499994 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80499998 40 82 00 40 */ bne lbl_804999D8 -/* 8049999C 7F C0 F3 79 */ or. r0, r30, r30 -/* 804999A0 41 82 00 2C */ beq lbl_804999CC -/* 804999A4 7C 1F 03 78 */ mr r31, r0 -/* 804999A8 4B B7 F1 BD */ bl __ct__10fopAc_ac_cFv -/* 804999AC 3C 60 80 4A */ lis r3, __vt__12J3DFrameCtrl@ha /* 0x80499B68@ha */ -/* 804999B0 38 03 9B 68 */ addi r0, r3, __vt__12J3DFrameCtrl@l /* 0x80499B68@l */ -/* 804999B4 94 1F 05 80 */ stwu r0, 0x580(r31) -/* 804999B8 7F E3 FB 78 */ mr r3, r31 -/* 804999BC 38 80 00 00 */ li r4, 0 -/* 804999C0 4B E8 EA 3D */ bl init__12J3DFrameCtrlFs -/* 804999C4 38 00 00 00 */ li r0, 0 -/* 804999C8 90 1F 00 14 */ stw r0, 0x14(r31) -lbl_804999CC: -/* 804999CC 80 1E 04 A0 */ lwz r0, 0x4a0(r30) -/* 804999D0 60 00 00 08 */ ori r0, r0, 8 -/* 804999D4 90 1E 04 A0 */ stw r0, 0x4a0(r30) -lbl_804999D8: -/* 804999D8 3B E0 00 04 */ li r31, 4 -/* 804999DC 7F C3 F3 78 */ mr r3, r30 -/* 804999E0 3C 80 80 4A */ lis r4, daVrbox2_solidHeapCB__FP10fopAc_ac_c@ha /* 0x8049983C@ha */ -/* 804999E4 38 84 98 3C */ addi r4, r4, daVrbox2_solidHeapCB__FP10fopAc_ac_c@l /* 0x8049983C@l */ -/* 804999E8 3C A0 80 00 */ lis r5, 0x8000 /* 0x80004340@ha */ -/* 804999EC 38 A5 43 40 */ addi r5, r5, 0x4340 /* 0x80004340@l */ -/* 804999F0 4B B8 0A C1 */ bl fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl -/* 804999F4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 804999F8 40 82 00 08 */ bne lbl_80499A00 -/* 804999FC 3B E0 00 05 */ li r31, 5 -lbl_80499A00: -/* 80499A00 7F E3 FB 78 */ mr r3, r31 -/* 80499A04 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80499A08 83 C1 00 08 */ lwz r30, 8(r1) -/* 80499A0C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80499A10 7C 08 03 A6 */ mtlr r0 -/* 80499A14 38 21 00 10 */ addi r1, r1, 0x10 -/* 80499A18 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/daVrbox2_Execute__FP12vrbox2_class.s b/asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/daVrbox2_Execute__FP12vrbox2_class.s deleted file mode 100644 index abdd3887b3..0000000000 --- a/asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/daVrbox2_Execute__FP12vrbox2_class.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_804997E8: -/* 804997E8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 804997EC 7C 08 02 A6 */ mflr r0 -/* 804997F0 90 01 00 14 */ stw r0, 0x14(r1) -/* 804997F4 3C 80 80 43 */ lis r4, g_env_light@ha /* 0x8042CA54@ha */ -/* 804997F8 38 84 CA 54 */ addi r4, r4, g_env_light@l /* 0x8042CA54@l */ -/* 804997FC C0 24 12 44 */ lfs f1, 0x1244(r4) -/* 80499800 3C 80 80 4A */ lis r4, lit_3837@ha /* 0x80499A7C@ha */ -/* 80499804 C0 04 9A 7C */ lfs f0, lit_3837@l(r4) /* 0x80499A7C@l */ -/* 80499808 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8049980C 40 81 00 0C */ ble lbl_80499818 -/* 80499810 38 63 05 80 */ addi r3, r3, 0x580 -/* 80499814 4B B7 3C 15 */ bl play__14mDoExt_baseAnmFv -lbl_80499818: -/* 80499818 38 60 00 01 */ li r3, 1 -/* 8049981C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80499820 7C 08 03 A6 */ mtlr r0 -/* 80499824 38 21 00 10 */ addi r1, r1, 0x10 -/* 80499828 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/daVrbox2_solidHeapCB__FP10fopAc_ac_c.s b/asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/daVrbox2_solidHeapCB__FP10fopAc_ac_c.s deleted file mode 100644 index 4e9c4f0361..0000000000 --- a/asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/daVrbox2_solidHeapCB__FP10fopAc_ac_c.s +++ /dev/null @@ -1,84 +0,0 @@ -lbl_8049983C: -/* 8049983C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80499840 7C 08 02 A6 */ mflr r0 -/* 80499844 90 01 00 14 */ stw r0, 0x14(r1) -/* 80499848 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8049984C 93 C1 00 08 */ stw r30, 8(r1) -/* 80499850 7C 7F 1B 78 */ mr r31, r3 -/* 80499854 3C 60 80 4A */ lis r3, d_a_vrbox2__stringBase0@ha /* 0x80499AC4@ha */ -/* 80499858 38 63 9A C4 */ addi r3, r3, d_a_vrbox2__stringBase0@l /* 0x80499AC4@l */ -/* 8049985C 38 63 00 17 */ addi r3, r3, 0x17 -/* 80499860 4B B9 5B D5 */ bl dComIfG_getStageRes__FPCc -/* 80499864 3C 80 00 08 */ lis r4, 8 -/* 80499868 3C A0 11 02 */ lis r5, 0x1102 /* 0x11020202@ha */ -/* 8049986C 38 A5 02 02 */ addi r5, r5, 0x0202 /* 0x11020202@l */ -/* 80499870 4B B7 B3 E5 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl -/* 80499874 90 7F 05 6C */ stw r3, 0x56c(r31) -/* 80499878 3C 60 80 4A */ lis r3, d_a_vrbox2__stringBase0@ha /* 0x80499AC4@ha */ -/* 8049987C 38 63 9A C4 */ addi r3, r3, d_a_vrbox2__stringBase0@l /* 0x80499AC4@l */ -/* 80499880 38 63 00 26 */ addi r3, r3, 0x26 -/* 80499884 4B B9 5B B1 */ bl dComIfG_getStageRes__FPCc -/* 80499888 7C 7E 1B 79 */ or. r30, r3, r3 -/* 8049988C 41 82 00 78 */ beq lbl_80499904 -/* 80499890 3C 80 00 08 */ lis r4, 8 -/* 80499894 3C A0 11 02 */ lis r5, 0x1102 /* 0x11020202@ha */ -/* 80499898 38 A5 02 02 */ addi r5, r5, 0x0202 /* 0x11020202@l */ -/* 8049989C 4B B7 B3 B9 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl -/* 804998A0 90 7F 05 74 */ stw r3, 0x574(r31) -/* 804998A4 7F C3 F3 78 */ mr r3, r30 -/* 804998A8 3C 80 00 08 */ lis r4, 8 -/* 804998AC 3C A0 11 02 */ lis r5, 0x1102 /* 0x11020202@ha */ -/* 804998B0 38 A5 02 02 */ addi r5, r5, 0x0202 /* 0x11020202@l */ -/* 804998B4 4B B7 B3 A1 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl -/* 804998B8 90 7F 05 78 */ stw r3, 0x578(r31) -/* 804998BC 3C 60 80 4A */ lis r3, d_a_vrbox2__stringBase0@ha /* 0x80499AC4@ha */ -/* 804998C0 38 63 9A C4 */ addi r3, r3, d_a_vrbox2__stringBase0@l /* 0x80499AC4@l */ -/* 804998C4 38 63 00 34 */ addi r3, r3, 0x34 -/* 804998C8 4B B9 5B 6D */ bl dComIfG_getStageRes__FPCc -/* 804998CC 7C 65 1B 78 */ mr r5, r3 -/* 804998D0 38 7F 05 80 */ addi r3, r31, 0x580 -/* 804998D4 38 9E 00 58 */ addi r4, r30, 0x58 -/* 804998D8 38 C0 00 01 */ li r6, 1 -/* 804998DC 38 E0 00 02 */ li r7, 2 -/* 804998E0 3D 00 80 4A */ lis r8, lit_3627@ha /* 0x80499A6C@ha */ -/* 804998E4 C0 28 9A 6C */ lfs f1, lit_3627@l(r8) /* 0x80499A6C@l */ -/* 804998E8 39 00 00 00 */ li r8, 0 -/* 804998EC 39 20 FF FF */ li r9, -1 -/* 804998F0 4B B7 3D 4D */ bl init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss -/* 804998F4 2C 03 00 00 */ cmpwi r3, 0 -/* 804998F8 40 82 00 0C */ bne lbl_80499904 -/* 804998FC 38 60 00 00 */ li r3, 0 -/* 80499900 48 00 00 60 */ b lbl_80499960 -lbl_80499904: -/* 80499904 3C 60 80 4A */ lis r3, d_a_vrbox2__stringBase0@ha /* 0x80499AC4@ha */ -/* 80499908 38 63 9A C4 */ addi r3, r3, d_a_vrbox2__stringBase0@l /* 0x80499AC4@l */ -/* 8049990C 38 63 00 42 */ addi r3, r3, 0x42 -/* 80499910 4B B9 5B 25 */ bl dComIfG_getStageRes__FPCc -/* 80499914 28 03 00 00 */ cmplwi r3, 0 -/* 80499918 41 82 00 18 */ beq lbl_80499930 -/* 8049991C 3C 80 00 08 */ lis r4, 8 -/* 80499920 3C A0 11 02 */ lis r5, 0x1102 /* 0x11020202@ha */ -/* 80499924 38 A5 02 02 */ addi r5, r5, 0x0202 /* 0x11020202@l */ -/* 80499928 4B B7 B3 2D */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl -/* 8049992C 90 7F 05 98 */ stw r3, 0x598(r31) -lbl_80499930: -/* 80499930 38 60 00 00 */ li r3, 0 -/* 80499934 80 1F 05 6C */ lwz r0, 0x56c(r31) -/* 80499938 28 00 00 00 */ cmplwi r0, 0 -/* 8049993C 41 82 00 20 */ beq lbl_8049995C -/* 80499940 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 80499944 28 00 00 00 */ cmplwi r0, 0 -/* 80499948 41 82 00 14 */ beq lbl_8049995C -/* 8049994C 80 1F 05 78 */ lwz r0, 0x578(r31) -/* 80499950 28 00 00 00 */ cmplwi r0, 0 -/* 80499954 41 82 00 08 */ beq lbl_8049995C -/* 80499958 38 60 00 01 */ li r3, 1 -lbl_8049995C: -/* 8049995C 54 63 06 3E */ clrlwi r3, r3, 0x18 -lbl_80499960: -/* 80499960 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80499964 83 C1 00 08 */ lwz r30, 8(r1) -/* 80499968 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8049996C 7C 08 03 A6 */ mtlr r0 -/* 80499970 38 21 00 10 */ addi r1, r1, 0x10 -/* 80499974 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/daKytag00_Delete__FP13kytag00_class.s b/asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/daKytag00_Delete__FP13kytag00_class.s deleted file mode 100644 index b34366fe4c..0000000000 --- a/asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/daKytag00_Delete__FP13kytag00_class.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8046C774: -/* 8046C774 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8046C778 7C 08 02 A6 */ mflr r0 -/* 8046C77C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8046C780 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8046C784 7C 7F 1B 78 */ mr r31, r3 -/* 8046C788 4B FF F2 55 */ bl wether_tag_reset__FP13kytag00_class -/* 8046C78C 7F E3 FB 78 */ mr r3, r31 -/* 8046C790 4B FF F6 29 */ bl wether_tag_efect_reset__FP13kytag00_class -/* 8046C794 38 00 00 00 */ li r0, 0 -/* 8046C798 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8046C79C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 8046C7A0 90 03 0E B8 */ stw r0, 0xeb8(r3) -/* 8046C7A4 38 60 00 01 */ li r3, 1 -/* 8046C7A8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8046C7AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8046C7B0 7C 08 03 A6 */ mtlr r0 -/* 8046C7B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8046C7B8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/daKytag00_Draw__FP13kytag00_class.s b/asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/daKytag00_Draw__FP13kytag00_class.s deleted file mode 100644 index 22c3c4a423..0000000000 --- a/asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/daKytag00_Draw__FP13kytag00_class.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8046C660: -/* 8046C660 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8046C664 7C 08 02 A6 */ mflr r0 -/* 8046C668 90 01 00 14 */ stw r0, 0x14(r1) -/* 8046C66C 4B FF F8 4D */ bl wether_tag_efect_move__FP13kytag00_class -/* 8046C670 38 60 00 01 */ li r3, 1 -/* 8046C674 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8046C678 7C 08 03 A6 */ mtlr r0 -/* 8046C67C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8046C680 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/raincnt_cut__Fv.s b/asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/raincnt_cut__Fv.s deleted file mode 100644 index 1218c1c396..0000000000 --- a/asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/raincnt_cut__Fv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8046BDA4: -/* 8046BDA4 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8046BDA8 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 8046BDAC 80 03 12 9C */ lwz r0, 0x129c(r3) -/* 8046BDB0 90 03 0E 80 */ stw r0, 0xe80(r3) -/* 8046BDB4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/raincnt_set__Ff.s b/asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/raincnt_set__Ff.s deleted file mode 100644 index 32b13d4692..0000000000 --- a/asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/raincnt_set__Ff.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8046BD60: -/* 8046BD60 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8046BD64 3C 60 80 47 */ lis r3, lit_3918@ha /* 0x8046C9B8@ha */ -/* 8046BD68 C0 43 C9 B8 */ lfs f2, lit_3918@l(r3) /* 0x8046C9B8@l */ -/* 8046BD6C EC 01 00 72 */ fmuls f0, f1, f1 -/* 8046BD70 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8046BD74 EC 02 00 32 */ fmuls f0, f2, f0 -/* 8046BD78 FC 00 00 1E */ fctiwz f0, f0 -/* 8046BD7C D8 01 00 08 */ stfd f0, 8(r1) -/* 8046BD80 80 81 00 0C */ lwz r4, 0xc(r1) -/* 8046BD84 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8046BD88 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 8046BD8C 80 03 12 9C */ lwz r0, 0x129c(r3) -/* 8046BD90 7C 04 00 00 */ cmpw r4, r0 -/* 8046BD94 40 81 00 08 */ ble lbl_8046BD9C -/* 8046BD98 90 83 0E 80 */ stw r4, 0xe80(r3) -lbl_8046BD9C: -/* 8046BD9C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8046BDA0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/wether_tag_efect_reset__FP13kytag00_class.s b/asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/wether_tag_efect_reset__FP13kytag00_class.s deleted file mode 100644 index 6e9f50aa74..0000000000 --- a/asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/wether_tag_efect_reset__FP13kytag00_class.s +++ /dev/null @@ -1,75 +0,0 @@ -lbl_8046BDB8: -/* 8046BDB8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8046BDBC 7C 08 02 A6 */ mflr r0 -/* 8046BDC0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8046BDC4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8046BDC8 7C 7F 1B 78 */ mr r31, r3 -/* 8046BDCC 38 80 00 00 */ li r4, 0 -/* 8046BDD0 98 83 05 6C */ stb r4, 0x56c(r3) -/* 8046BDD4 88 03 05 70 */ lbz r0, 0x570(r3) -/* 8046BDD8 28 00 00 12 */ cmplwi r0, 0x12 -/* 8046BDDC 41 81 00 C8 */ bgt lbl_8046BEA4 -/* 8046BDE0 3C 60 80 47 */ lis r3, lit_3957@ha /* 0x8046C9E0@ha */ -/* 8046BDE4 38 63 C9 E0 */ addi r3, r3, lit_3957@l /* 0x8046C9E0@l */ -/* 8046BDE8 54 00 10 3A */ slwi r0, r0, 2 -/* 8046BDEC 7C 03 00 2E */ lwzx r0, r3, r0 -/* 8046BDF0 7C 09 03 A6 */ mtctr r0 -/* 8046BDF4 4E 80 04 20 */ bctr -lbl_8046BDF8: -/* 8046BDF8 4B FF FF AD */ bl raincnt_cut__Fv -/* 8046BDFC 48 00 00 A8 */ b lbl_8046BEA4 -lbl_8046BE00: -/* 8046BE00 38 00 00 00 */ li r0, 0 -/* 8046BE04 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8046BE08 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 8046BE0C 90 03 0E 8C */ stw r0, 0xe8c(r3) -/* 8046BE10 90 03 0E B8 */ stw r0, 0xeb8(r3) -/* 8046BE14 48 00 00 90 */ b lbl_8046BEA4 -lbl_8046BE18: -/* 8046BE18 38 00 00 00 */ li r0, 0 -/* 8046BE1C 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8046BE20 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 8046BE24 90 03 0E AC */ stw r0, 0xeac(r3) -/* 8046BE28 98 03 0E A9 */ stb r0, 0xea9(r3) -/* 8046BE2C 48 00 00 78 */ b lbl_8046BEA4 -lbl_8046BE30: -/* 8046BE30 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8046BE34 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 8046BE38 80 03 0E D8 */ lwz r0, 0xed8(r3) -/* 8046BE3C 2C 00 00 02 */ cmpwi r0, 2 -/* 8046BE40 40 82 00 0C */ bne lbl_8046BE4C -/* 8046BE44 38 00 00 00 */ li r0, 0 -/* 8046BE48 90 03 0E D8 */ stw r0, 0xed8(r3) -lbl_8046BE4C: -/* 8046BE4C 88 1F 05 70 */ lbz r0, 0x570(r31) -/* 8046BE50 28 00 00 08 */ cmplwi r0, 8 -/* 8046BE54 41 82 00 0C */ beq lbl_8046BE60 -/* 8046BE58 28 00 00 09 */ cmplwi r0, 9 -/* 8046BE5C 40 82 00 08 */ bne lbl_8046BE64 -lbl_8046BE60: -/* 8046BE60 4B FF FF 45 */ bl raincnt_cut__Fv -lbl_8046BE64: -/* 8046BE64 88 1F 05 70 */ lbz r0, 0x570(r31) -/* 8046BE68 28 00 00 09 */ cmplwi r0, 9 -/* 8046BE6C 40 82 00 38 */ bne lbl_8046BEA4 -/* 8046BE70 38 00 00 00 */ li r0, 0 -/* 8046BE74 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8046BE78 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 8046BE7C 90 03 0E B8 */ stw r0, 0xeb8(r3) -/* 8046BE80 48 00 00 24 */ b lbl_8046BEA4 -lbl_8046BE84: -/* 8046BE84 38 00 00 00 */ li r0, 0 -/* 8046BE88 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8046BE8C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 8046BE90 90 03 0E B8 */ stw r0, 0xeb8(r3) -/* 8046BE94 48 00 00 10 */ b lbl_8046BEA4 -lbl_8046BE98: -/* 8046BE98 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8046BE9C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 8046BEA0 90 83 10 48 */ stw r4, 0x1048(r3) -lbl_8046BEA4: -/* 8046BEA4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8046BEA8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8046BEAC 7C 08 03 A6 */ mtlr r0 -/* 8046BEB0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8046BEB4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/wether_tag_reset__FP13kytag00_class.s b/asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/wether_tag_reset__FP13kytag00_class.s deleted file mode 100644 index df70265229..0000000000 --- a/asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/wether_tag_reset__FP13kytag00_class.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8046B9DC: -/* 8046B9DC 38 00 00 00 */ li r0, 0 -/* 8046B9E0 98 03 05 6D */ stb r0, 0x56d(r3) -/* 8046B9E4 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8046B9E8 38 83 CA 54 */ addi r4, r3, g_env_light@l /* 0x8042CA54@l */ -/* 8046B9EC 88 04 12 C8 */ lbz r0, 0x12c8(r4) -/* 8046B9F0 98 04 12 C4 */ stb r0, 0x12c4(r4) -/* 8046B9F4 98 04 12 C5 */ stb r0, 0x12c5(r4) -/* 8046B9F8 3C 60 80 47 */ lis r3, lit_3798@ha /* 0x8046C980@ha */ -/* 8046B9FC C0 03 C9 80 */ lfs f0, lit_3798@l(r3) /* 0x8046C980@l */ -/* 8046BA00 D0 04 11 E0 */ stfs f0, 0x11e0(r4) -/* 8046BA04 38 00 00 01 */ li r0, 1 -/* 8046BA08 98 04 12 CE */ stb r0, 0x12ce(r4) -/* 8046BA0C 4E 80 00 20 */ blr diff --git a/include/JSystem/J3DGraphAnimator/J3DAnimation.h b/include/JSystem/J3DGraphAnimator/J3DAnimation.h index 9ea698b51d..dbfb745fae 100644 --- a/include/JSystem/J3DGraphAnimator/J3DAnimation.h +++ b/include/JSystem/J3DGraphAnimator/J3DAnimation.h @@ -588,6 +588,14 @@ private: class J3DFrameCtrl { public: + enum Attribute_e { + LOOP_ONCE_e, + LOOP_ONCE_RESET_e, + LOOP_REPEAT_e, + LOOP_MIRROR_ONCE_e, + LOOP_MIRROR_REPEAT_e, + }; + J3DFrameCtrl() { this->init(0); } void init(s16); BOOL checkPass(f32); diff --git a/include/SSystem/SComponent/c_phase.h b/include/SSystem/SComponent/c_phase.h index 2aff99e38c..aea0da19fb 100644 --- a/include/SSystem/SComponent/c_phase.h +++ b/include/SSystem/SComponent/c_phase.h @@ -5,13 +5,12 @@ typedef int (*cPhs__Handler)(void*); enum cPhs__Step { - /* 0x0 */ cPhs_ZERO_e, - /* 0x1 */ cPhs_ONE_e, // next? - /* 0x2 */ cPhs_TWO_e, // ready? - /* 0x3 */ cPhs_UNK3_e, + /* 0x0 */ cPhs_INIT_e, + /* 0x1 */ cPhs_LOADING_e, + /* 0x2 */ cPhs_NEXT_e, + /* 0x3 */ cPhs_UNK3_e, // appears to be an alternate error code, unsure how it differs /* 0x4 */ cPhs_COMPLEATE_e, /* 0x5 */ cPhs_ERROR_e, - /* 0x6 */ cPhs_NEXT_e, }; typedef struct request_of_phase_process_class { diff --git a/include/d/d_stage.h b/include/d/d_stage.h index a5c268b798..6ff2919d57 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -16,12 +16,12 @@ struct stage_vrboxcol_info_class { // Virt struct stage_vrbox_info_class { - /* 0x00 */ GXColor field_0x0; - /* 0x04 */ GXColor field_0x4; - /* 0x08 */ color_RGB_class field_0x8; - /* 0x0B */ color_RGB_class field_0xb; - /* 0x0E */ color_RGB_class field_0xe; - /* 0x11 */ color_RGB_class field_0x11; + /* 0x00 */ color_RGB_class field_0x0; + /* 0x03 */ color_RGB_class field_0x3; + /* 0x06 */ color_RGB_class field_0x6; + /* 0x09 */ GXColor field_0x9; + /* 0x0D */ GXColor field_0xd; + /* 0x11 */ GXColor field_0x11; }; // Size: 0x15 class stage_tresure_class { @@ -86,7 +86,13 @@ struct stage_scls_info_dummy_class { struct stage_pure_lightvec_info_class { // LGT - /* 0x00 */ u8 field_0x0[0x1E - 0x0]; + /* 0x00 */ Vec m_position; + /* 0x0C */ f32 m_radius; + /* 0x10 */ f32 m_directionX; + /* 0x14 */ f32 m_directionY; + /* 0x18 */ f32 m_spotCutoff; + /* 0x1C */ u8 field_0x1c; + /* 0x1D */ u8 field_0x1d; /* 0x1E */ u8 field_0x1e; /* 0x1F */ u8 field_0x1f; }; // Size: 0x20 @@ -99,27 +105,28 @@ struct stage_pselect_info_class { struct stage_plight_info_class { // LGHT -}; + /* 0x00 */ Vec m_position; + /* 0x0C */ f32 m_radius; + /* 0x10 */ u8 field_0x10[0x18 - 0x10]; + /* 0x18 */ GXColor m_color; +}; // Size: 0x1C // PALE struct stage_palette_info_class { - /* 0x00 */ color_RGB_class mActor_C0; - /* 0x03 */ color_RGB_class mActor_K0; - /* 0x06 */ color_RGB_class mBG0_C0; - /* 0x09 */ color_RGB_class mBG0_K0; - /* 0x0C */ color_RGB_class mBG1_C0; - /* 0x0F */ color_RGB_class mBG1_K0; - /* 0x12 */ color_RGB_class mBG2_C0; - /* 0x15 */ color_RGB_class mBG2_K0; - /* 0x18 */ color_RGB_class mBG3_C0; - /* 0x1B */ color_RGB_class mBG3_K0; - /* 0x1E */ color_RGB_class mFog; - /* 0x21 */ u8 mVirtIdx; - /* 0x22 */ u8 field_0x22; - /* 0x23 */ u8 field_0x23; + /* 0x00 */ color_RGB_class mActorAmbColor; + /* 0x03 */ color_RGB_class mBgAmbColor[4]; + /* 0x0F */ color_RGB_class mPlightColor[6]; + /* 0x21 */ color_RGB_class mFogColor; /* 0x24 */ f32 mFogStartZ; /* 0x28 */ f32 mFogEndZ; - /* 0x2C */ u8 field_0x2c[8]; + /* 0x2C */ u8 mVirtIdx; + /* 0x2D */ u8 mTerrainLightInfluence; + /* 0x2E */ u8 mCloudShadowDensity; + /* 0x2F */ u8 field_0x2f; + /* 0x30 */ u8 mBloomTblIdx; + /* 0x31 */ u8 mBgAmbColor1A; + /* 0x32 */ u8 mBgAmbColor2A; + /* 0x33 */ u8 mBgAmbColor3A; }; // Size: 0x34 struct stage_map_info_class { @@ -134,7 +141,7 @@ struct stage_map_info_dummy_class { }; struct stage_envr_info_class { - /* 0x0 */ u8 field_0x0[0x41]; + /* 0x0 */ u8 m_pselectID[65]; }; // Size: 0x41 struct stage_camera2_data_class { @@ -295,13 +302,13 @@ struct dStage_Lbnk_c { // LBNK }; -struct dStage_Elst_c { - struct unkData { - u8 field_0x0[15]; - }; +struct dStage_Elst_data { + /* 0x0 */ u8 m_layerTable[15]; +}; - /* 0x0 */ int field_0x0; - /* 0x4 */ unkData* field_0x4; +struct dStage_Elst_c { + /* 0x0 */ int m_entryNum; + /* 0x4 */ dStage_Elst_data* m_entries; }; struct dStage_MemoryConfig_data { diff --git a/include/d/kankyo/d_kankyo.h b/include/d/kankyo/d_kankyo.h index dd92a92079..8dd39bb39c 100644 --- a/include/d/kankyo/d_kankyo.h +++ b/include/d/kankyo/d_kankyo.h @@ -398,17 +398,14 @@ public: /* 0x1094 */ cXyz mMoonPos; /* 0x10A0 */ cXyz field_0x10a0; /* 0x10AC */ GXFogAdjTable mXFogTbl; - /* 0x10C0 */ GXColorS10 mSkyColor; - /* 0x10C8 */ GXColorS10 mUpperCloudColor; - /* 0x10D0 */ GXColorS10 mUnderCloudColor; - /* 0x10D8 */ GXColorS10 mUnderCloudShadowColor; - /* 0x10E0 */ GXColorS10 mCloudOuterHazeColor; - /* 0x10E8 */ GXColorS10 mCloudInnerHazeColor; + /* 0x10C0 */ GXColorS10 mVrSkyCol; + /* 0x10C8 */ GXColorS10 mVrkumoCol; + /* 0x10D0 */ GXColorS10 mVrShitaGumoCol; + /* 0x10D8 */ GXColorS10 mVrShitaUneiCol; + /* 0x10E0 */ GXColorS10 mVrKasumiCol; + /* 0x10E8 */ GXColorS10 mVrOkuKasumiCol; /* 0x10F0 */ GXColorS10 field_0x10f0; - /* 0x10F8 */ s16 field_0x10f8; - /* 0x10FA */ s16 field_0x10fa; - /* 0x10FC */ s16 field_0x10fc; - /* 0x10FE */ s16 field_0x10fe; + /* 0x10F8 */ GXColorS10 field_0x10f8; /* 0x1100 */ GXColorS10 mActorAmbience; /* 0x1108 */ GXColorS10 mTerrainAmbienceBG0; /* 0x1110 */ GXColorS10 mTerrainAmbienceBG1; @@ -496,7 +493,7 @@ public: /* 0x12C3 */ u8 mColPatCurr; /* 0x12C4 */ u8 mColpatPrevGather; /* 0x12C5 */ u8 mColpatCurrGather; - /* 0x12C6 */ s8 mNowRoom; + /* 0x12C6 */ u8 mEnvrIdxPrev; /* 0x12C7 */ u8 mEnvrIdxCurr; /* 0x12C8 */ u8 mColpatWeather; /* 0x12C9 */ u8 mDiceWeatherMode; @@ -528,7 +525,7 @@ public: /* 0x12FB */ u8 field_0x12fb; /* 0x12FC */ s8 field_0x12fc; /* 0x12FD */ u8 mDarktimeWeek; - /* 0x12FE */ u8 field_0x12fe; + /* 0x12FE */ u8 mPondSeason; /* 0x1300 */ s16 field_0x1300; /* 0x1302 */ s16 field_0x1302; /* 0x1304 */ f32 mWaterSurfaceShineRate; @@ -547,6 +544,24 @@ inline dScnKy_env_light_c* i_dKy_getEnvlight() { return &g_env_light; } +enum dKy_dice_wether_mode { + DICE_MODE_SUNNY_e, + DICE_MODE_CLOUDY_e, + DICE_MODE_RAIN_LIGHT_e, + DICE_MODE_RAIN_HEAVY_e, + DICE_MODE_THUNDER_LIGHT_e, + DICE_MODE_THUNDER_HEAVY_e, + DICE_MODE_UNK6_e, + DICE_MODE_DONE_e = 0xFF, +}; + +enum dKy_dice_wether_state { + DICE_STATE_RESET_e, + DICE_STATE_INIT_e, + DICE_STATE_EXEC_e, + DICE_STATE_NEXT_e, +}; + u8 dKy_darkworld_stage_check(char const*, int); BOOL dKy_withwarp_capture_check(); bool dKy_darkworld_check(); diff --git a/include/d/kankyo/d_kankyo_wether.h b/include/d/kankyo/d_kankyo_wether.h index 61dca7e5a8..b368cbd025 100644 --- a/include/d/kankyo/d_kankyo_wether.h +++ b/include/d/kankyo/d_kankyo_wether.h @@ -45,8 +45,8 @@ public: /* 0x40 */ u8* mpResMoon_A_A03; /* 0x44 */ u32 field_0x44[5]; /* 0x58 */ int field_0x58; - /* 0x5C */ f32 field_0x5c; - /* 0x60 */ f32 field_0x60; + /* 0x5C */ f32 mVisibility; + /* 0x60 */ f32 mSunAlpha; /* 0x64 */ f32 field_0x64; /* 0x68 */ f32 field_0x68; /* 0x6C */ f32 field_0x6c; @@ -70,7 +70,7 @@ public: /* 0x8C */ f32 field_0x8c; /* 0x90 */ f32 field_0x90; /* 0x94 */ f32 field_0x94; - /* 0x98 */ f32 field_0x98; + /* 0x98 */ f32 mDistFalloff; /* 0x9C */ u8 field_0x9c[2]; /* 0x9E */ bool mDrawLenzInSky; }; // Size: 0xA0 diff --git a/include/m_Do/m_Do_audio.h b/include/m_Do/m_Do_audio.h index 60f0c30d52..cfc64ace83 100644 --- a/include/m_Do/m_Do_audio.h +++ b/include/m_Do/m_Do_audio.h @@ -115,6 +115,10 @@ inline void mDoAud_heartGaugeOn() { Z2AudioMgr::getInterface()->mStatusMgr.heartGaugeOn(); } +inline void mDoAud_setSnowPower(s8 i_power) { + g_mEnvSeMgr.setSnowPower(i_power); +} + inline void mDoAud_setFogWipeWidth(f32 i_width) { g_mEnvSeMgr.setFogWipeWidth(i_width); } diff --git a/include/rel/d/a/d_a_vrbox2/d_a_vrbox2.h b/include/rel/d/a/d_a_vrbox2/d_a_vrbox2.h index 79fbc552fa..e2583c16a3 100644 --- a/include/rel/d/a/d_a_vrbox2/d_a_vrbox2.h +++ b/include/rel/d/a/d_a_vrbox2/d_a_vrbox2.h @@ -1,6 +1,6 @@ #ifndef D_A_VRBOX2_H #define D_A_VRBOX2_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" #endif /* D_A_VRBOX2_H */ diff --git a/include/rel/d/a/kytag/d_a_kytag00/d_a_kytag00.h b/include/rel/d/a/kytag/d_a_kytag00/d_a_kytag00.h index a326375450..bb456e1470 100644 --- a/include/rel/d/a/kytag/d_a_kytag00/d_a_kytag00.h +++ b/include/rel/d/a/kytag/d_a_kytag00/d_a_kytag00.h @@ -1,6 +1,24 @@ #ifndef D_A_KYTAG00_H #define D_A_KYTAG00_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +class kytag00_class : public fopAc_ac_c { +public: + /* 0x568 */ u8 field_0x568[0x56C - 0x568]; + /* 0x56C */ u8 field_0x56c; + /* 0x56D */ u8 field_0x56d; + /* 0x56E */ u8 field_0x56e; + /* 0x56F */ u8 field_0x56f; + /* 0x570 */ u8 field_0x570; + /* 0x571 */ u8 field_0x571; + /* 0x572 */ u8 field_0x572; + /* 0x573 */ u8 field_0x573[0x578 - 0x573]; + /* 0x578 */ int field_0x578; + /* 0x57C */ int field_0x57c; + /* 0x580 */ f32 field_0x580; + /* 0x584 */ f32 field_0x584; + /* 0x588 */ f32 field_0x588; +}; #endif /* D_A_KYTAG00_H */ diff --git a/libs/SSystem/SComponent/c_phase.cpp b/libs/SSystem/SComponent/c_phase.cpp index 32516ba92b..72e76f6970 100644 --- a/libs/SSystem/SComponent/c_phase.cpp +++ b/libs/SSystem/SComponent/c_phase.cpp @@ -17,14 +17,14 @@ extern "C" static void cPhs_Next__FP30request_of_phase_process_class(); /* 80266624-80266630 000C+00 s=1 e=2 z=0 None .text * cPhs_Reset__FP30request_of_phase_process_class */ void cPhs_Reset(request_of_phase_process_class* pPhase) { - pPhase->id = cPhs_ZERO_e; + pPhase->id = cPhs_INIT_e; } /* 80266630-80266640 0010+00 s=0 e=3 z=0 None .text * cPhs_Set__FP30request_of_phase_process_classPPFPv_i */ void cPhs_Set(request_of_phase_process_class* pPhase, cPhs__Handler* pHandlerTable) { pPhase->mpHandlerTable = pHandlerTable; - pPhase->id = cPhs_ZERO_e; + pPhase->id = cPhs_INIT_e; } /* 80266640-80266668 0028+00 s=1 e=0 z=0 None .text @@ -53,7 +53,7 @@ int cPhs_Next(request_of_phase_process_class* pPhase) { if (handler == NULL || handler == NULL) { return cPhs_Compleate(pPhase); } else { - return cPhs_ONE_e; + return cPhs_LOADING_e; } } @@ -69,10 +69,10 @@ int cPhs_Do(request_of_phase_process_class* pPhase, void* pUserData) { int newStep = pPhase->mpHandlerTable[pPhase->id](pUserData); switch (newStep) { - case cPhs_ONE_e: + case cPhs_LOADING_e: return cPhs_Next(pPhase); - case cPhs_TWO_e: - return cPhs_Next(pPhase) == cPhs_ONE_e ? cPhs_TWO_e : cPhs_COMPLEATE_e; + case cPhs_NEXT_e: + return cPhs_Next(pPhase) == cPhs_LOADING_e ? cPhs_NEXT_e : cPhs_COMPLEATE_e; case cPhs_COMPLEATE_e: return cPhs_Compleate(pPhase); case cPhs_UNK3_e: diff --git a/rel/d/a/d_a_bg/d_a_bg.cpp b/rel/d/a/d_a_bg/d_a_bg.cpp index 127a1f0d64..98b55e1e7b 100644 --- a/rel/d/a/d_a_bg/d_a_bg.cpp +++ b/rel/d/a/d_a_bg/d_a_bg.cpp @@ -854,7 +854,7 @@ int daBg_c::draw() { s16 var_r0; s16 var_r3; s16 var_r5; - switch (g_env_light.field_0x12fe) { + switch (g_env_light.mPondSeason) { case 2: var_r5 = -3; var_r0 = 0; diff --git a/rel/d/a/d_a_vrbox/d_a_vrbox.cpp b/rel/d/a/d_a_vrbox/d_a_vrbox.cpp index a47b9936f8..60b7c4e0ac 100644 --- a/rel/d/a/d_a_vrbox/d_a_vrbox.cpp +++ b/rel/d/a/d_a_vrbox/d_a_vrbox.cpp @@ -66,10 +66,10 @@ static int daVrbox_Draw(vrbox_class* i_this) { /* 804986B8-80498850 000218 0198+00 1/1 0/0 0/0 .text daVrbox_color_set__FP11vrbox_class */ static int daVrbox_color_set(vrbox_class* i_this) { - if ((g_env_light.mCloudOuterHazeColor.r + g_env_light.mCloudOuterHazeColor.g + - g_env_light.mCloudOuterHazeColor.b + g_env_light.mSkyColor.r + g_env_light.mSkyColor.g + - g_env_light.mSkyColor.b + g_env_light.mUpperCloudColor.r + g_env_light.mUpperCloudColor.g + - g_env_light.mUpperCloudColor.b) == 0) + if ((g_env_light.mVrKasumiCol.r + g_env_light.mVrKasumiCol.g + + g_env_light.mVrKasumiCol.b + g_env_light.mVrSkyCol.r + g_env_light.mVrSkyCol.g + + g_env_light.mVrSkyCol.b + g_env_light.mVrkumoCol.r + g_env_light.mVrkumoCol.g + + g_env_light.mVrkumoCol.b) == 0) { g_env_light.mVrboxInvisible = true; return 1; @@ -85,9 +85,9 @@ static int daVrbox_color_set(vrbox_class* i_this) { material_0->setCullMode(0); material_0->change(); - color.r = g_env_light.mSkyColor.r; - color.g = g_env_light.mSkyColor.g; - color.b = g_env_light.mSkyColor.b; + color.r = g_env_light.mVrSkyCol.r; + color.g = g_env_light.mVrSkyCol.g; + color.b = g_env_light.mVrSkyCol.b; color.a = 255; material_0->setTevColor(0, &color); } @@ -97,10 +97,10 @@ static int daVrbox_color_set(vrbox_class* i_this) { material_1->setCullMode(0); material_1->change(); - color.r = g_env_light.mCloudInnerHazeColor.r; - color.g = g_env_light.mCloudInnerHazeColor.g; - color.b = g_env_light.mCloudInnerHazeColor.b; - color.a = g_env_light.mCloudInnerHazeColor.a; + color.r = g_env_light.mVrOkuKasumiCol.r; + color.g = g_env_light.mVrOkuKasumiCol.g; + color.b = g_env_light.mVrOkuKasumiCol.b; + color.a = g_env_light.mVrOkuKasumiCol.a; material_1->setTevColor(0, &color); } diff --git a/rel/d/a/d_a_vrbox2/d_a_vrbox2.cpp b/rel/d/a/d_a_vrbox2/d_a_vrbox2.cpp index a5ddb5b641..d66fe5fea9 100644 --- a/rel/d/a/d_a_vrbox2/d_a_vrbox2.cpp +++ b/rel/d/a/d_a_vrbox2/d_a_vrbox2.cpp @@ -4,54 +4,29 @@ // #include "rel/d/a/d_a_vrbox2/d_a_vrbox2.h" +#include "JSystem/J3DGraphBase/J3DMaterial.h" +#include "JSystem/JKernel/JKRHeap.h" +#include "SSystem/SComponent/c_math.h" +#include "d/com/d_com_inf_game.h" +#include "d/d_procname.h" +#include "d/kankyo/d_kankyo_rain.h" #include "dol2asm.h" // // Types: // -struct vrbox2_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct J3DAnmTextureSRTKey {}; - -struct J3DMaterialTable { - /* 8032F7B4 */ void removeTexMtxAnimator(J3DAnmTextureSRTKey*); -}; - -struct mDoExt_btkAnm { - /* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16); - /* 8000D6D8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct dStage_roomControl_c { - /* 80024384 */ void getStatusRoomDt(int); -}; - -struct cXyz {}; - -struct Vec {}; - -struct J3DModelData {}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 80499A1C */ ~J3DFrameCtrl(); +class vrbox2_class : public fopAc_ac_c { +public: + /* 0x568 */ u8 field_0x568[0x56C - 0x568]; + /* 0x56C */ J3DModel* mpKumoModel; + /* 0x570 */ u8 field_0x570[0x574 - 0x570]; + /* 0x574 */ J3DModel* model2; + /* 0x578 */ J3DModel* model2_und; + /* 0x57C */ u8 field_0x57C[0x580 - 0x57C]; + /* 0x580 */ mDoExt_btkAnm mSunBtk; + /* 0x598 */ J3DModel* mpKasumimModel; + /* 0x59C */ u8 field_0x59C[0x5A0 - 0x59C]; }; // @@ -99,25 +74,18 @@ extern "C" void cLib_targetAngleX__FPC4cXyzPC4cXyz(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void removeTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); extern "C" void _savegpr_17(); extern "C" void _savegpr_25(); extern "C" void _restgpr_17(); extern "C" void _restgpr_25(); -extern "C" void strcmp(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; -extern "C" extern u8 mStayNo__20dStage_roomControl_c[4]; // // Declarations: // +static int daVrbox2_color_set(vrbox2_class* param_0); + /* ############################################################################################## */ /* 80499A6C-80499A70 000000 0004+00 4/4 0/0 0/0 .rodata @3627 */ SECTION_RODATA static f32 const lit_3627 = 1.0f; @@ -133,6 +101,16 @@ SECTION_RODATA static u8 const lit_3628[4] = { COMPILER_STRIP_GATE(0x80499A70, &lit_3628); /* 80498A78-80498ACC 000078 0054+00 1/1 0/0 0/0 .text texScrollCheck__FRf */ +// matches with literals +#ifdef NONMATCHING +static void texScrollCheck(f32& param_0) { + while (param_0 < 0.0f) + param_0 += 1.0f; + + while (param_0 > 1.0f) + param_0 -= 1.0f; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -141,6 +119,7 @@ static asm void texScrollCheck(f32& param_0) { #include "asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/texScrollCheck__FRf.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80499A74-80499A78 000008 0004+00 0/1 0/0 0/0 .rodata @3835 */ @@ -232,17 +211,178 @@ SECTION_DEAD static char const* const stringBase_80499ACC = "F_SP127"; #pragma pop /* 80499B78-80499B7C 000000 0002+02 1/1 0/0 0/0 .bss mangZ$3688 */ -static u8 mangZ[2 + 2 /* padding */]; +static s16 mangZ; /* 80498ACC-804990DC 0000CC 0610+00 1/0 0/0 0/0 .text daVrbox2_Draw__FP12vrbox2_class */ +// reg alloc +#ifdef NONMATCHING +static int daVrbox2_Draw(vrbox2_class* i_this) { + cXyz sp14; + cXyz sp8; + + camera_class* camera_p = dComIfGp_getCamera(0); + dKankyo_sunlenz_Packet* lenz_p = g_env_light.mpSunLenzPacket; + J3DModel* kumo_model_p = i_this->mpKumoModel; + J3DModel* sun_model_p = i_this->model2; + J3DModel* sun2_model_p = i_this->model2_und; + J3DModel* kasumim_model_p = i_this->mpKasumimModel; + dKankyo_sun_Packet* sun_p = g_env_light.mpSunPacket; + + f32 var_f31 = 0.0f; + dStage_FileList_dt_c* filelist_p = NULL; + dKy_GxFog_set(); + + // these casts look like fake matches, but this ptr is used as both J3DModel and J3DModelData? + for (int i = ((J3DModelData*)kumo_model_p)->getMaterialNum() - 1; i >= 0; i--) { + J3DMaterial* material_p = ((J3DModelData*)kumo_model_p)->getMaterialNodePointer(i); + + J3DFogInfo* fogInfo_p; + if (material_p != NULL) { + fogInfo_p = material_p->getFog()->getFogInfo(); + } + + fogInfo_p->field_0x0 = 2; + } + + // these casts look like fake matches, but this ptr is used as both J3DModel and J3DModelData? + for (int i = ((J3DModelData*)sun_model_p)->getMaterialNum() - 1; i >= 0; i--) { + J3DMaterial* material_p = ((J3DModelData*)sun_model_p)->getMaterialNodePointer(i); + + J3DFogInfo* fogInfo_p; + if (material_p != NULL) { + fogInfo_p = material_p->getFog()->getFogInfo(); + } + + fogInfo_p->field_0x0 = 2; + } + + // these casts look like fake matches, but this ptr is used as both J3DModel and J3DModelData? + for (int i = ((J3DModelData*)kasumim_model_p)->getMaterialNum() - 1; i >= 0; i--) { + J3DMaterial* material_p = ((J3DModelData*)kasumim_model_p)->getMaterialNodePointer(i); + + J3DFogInfo* fogInfo_p; + if (material_p != NULL) { + fogInfo_p = material_p->getFog()->getFogInfo(); + } + + fogInfo_p->field_0x0 = 2; + } + + if ((g_env_light.mVrKasumiCol.r + g_env_light.mVrKasumiCol.g + + g_env_light.mVrKasumiCol.b + g_env_light.mVrSkyCol.r + g_env_light.mVrSkyCol.g + + g_env_light.mVrSkyCol.b + g_env_light.mVrkumoCol.r + g_env_light.mVrkumoCol.g + + g_env_light.mVrkumoCol.b) == 0) + { + return 1; + } + + i_this->mSunBtk.entry(i_this->model2->getModelData()); + daVrbox2_color_set(i_this); + + if (dComIfGp_roomControl_getStayNo() >= 0) { + s32 stayNo = dComIfGp_roomControl_getStayNo(); + filelist_p = dComIfGp_roomControl_getStatusRoomDt(stayNo)->mRoomDt.getFileListInfo(); + } + + if (filelist_p != NULL) { + var_f31 = dStage_FileList_dt_SeaLevel(filelist_p); + } + + if (dComIfGd_getView() != NULL) { + var_f31 = (dComIfGd_getInvViewMtx()[1][3] - var_f31) * 0.09f; + } else { + var_f31 = 0.0f; + } + + dComIfGd_setListSky(); + mDoMtx_stack_c::transS(dComIfGd_getInvViewMtx()[0][3], dComIfGd_getInvViewMtx()[1][3] - var_f31, + dComIfGd_getInvViewMtx()[2][3]); + kasumim_model_p->i_setBaseTRMtx(mDoMtx_stack_c::get()); + mDoExt_modelUpdateDL(kasumim_model_p); + + mDoMtx_stack_c::transS(dComIfGd_getInvViewMtx()[0][3], dComIfGd_getInvViewMtx()[1][3] - var_f31, + dComIfGd_getInvViewMtx()[2][3]); + kumo_model_p->i_setBaseTRMtx(mDoMtx_stack_c::get()); + mDoExt_modelUpdateDL(kumo_model_p); + + if (dStage_stagInfo_GetArg0(i_dComIfGp_getStage()->getStagInfo()) != 0 && sun_model_p != NULL && + sun_p != NULL && sun_p->mSunAlpha > 0.0f) + { + sp14 = sun_p->mPos[0]; + + if (strcmp(dComIfGp_getStartStageName(), "F_SP102") == 0) { + dKyr_get_vectle_calc(&camera_p->mLookat.mEye, &g_env_light.mSunPos, &sp8); + sp14.x = camera_p->mLookat.mEye.x + (8000.0f * sp8.x); + sp14.y = camera_p->mLookat.mEye.y + (8000.0f * sp8.y); + sp14.z = camera_p->mLookat.mEye.z + (8000.0f * sp8.z); + } + + s16 temp_r19 = cLib_targetAngleX(&camera_p->mLookat.mEye, &sp14); + s16 temp_r18 = cLib_targetAngleY(&camera_p->mLookat.mEye, &sp14); + mDoMtx_stack_c::transS(sp14.x, sp14.y, sp14.z); + mDoMtx_stack_c::YrotM((s16)temp_r18); + mDoMtx_stack_c::XrotM(0x7FFF - temp_r19); + + f32 scale; + if (g_env_light.mDaytime < 255.0f) { + f32 temp_f4 = 1.0f - lenz_p->mDistFalloff; + scale = 1.0f; + + if (sun_p->mVisibility > 0.0f) { + scale = 1.0f + (sun_p->mVisibility * (0.4f * (temp_f4 * temp_f4))); + } + } else { + f32 var_f1; + if (g_env_light.mDaytime < 270.0f) { + var_f1 = dKy_get_parcent(270.0f, 240.0f, g_env_light.mDaytime); + } else { + var_f1 = 1.0f; + } + + scale = 1.0f + (0.2f * var_f1); + } + + mDoMtx_stack_c::scaleM(scale, scale, scale); + sun_model_p->i_setBaseTRMtx(mDoMtx_stack_c::get()); + mDoExt_modelUpdateDL(sun_model_p); + + if (strcmp(dComIfGp_getStartStageName(), "F_SP127") == 0) { + sp14 = sun_p->mPos[0]; + sp14.y = 300.0f - (sp14.y * 0.85f); + + s16 temp_r19_2 = cLib_targetAngleX(&camera_p->mLookat.mEye, &sp14); + s16 temp_r18_2 = cLib_targetAngleY(&camera_p->mLookat.mEye, &sp14); + mDoMtx_stack_c::transS(sp14.x, sp14.y, sp14.z); + mDoMtx_stack_c::YrotM((s16)temp_r18_2); + mDoMtx_stack_c::XrotM(0x7FFF - temp_r19_2); + mDoMtx_stack_c::ZrotM(mangZ); + + mDoMtx_stack_c::scaleM(scale, scale + 0.15f, scale); + mDoMtx_stack_c::ZrotM(-mangZ); + sun2_model_p->i_setBaseTRMtx(mDoMtx_stack_c::get()); + mDoExt_modelUpdateDL(sun2_model_p); + mangZ += (s16)(483.0f + cM_rndF(100.0f)); + } + } + + dComIfGd_setList(); + + if (sun_model_p != NULL) { + i_this->mSunBtk.remove(i_this->model2->getModelData()); + } + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void daVrbox2_Draw(vrbox2_class* param_0) { +static asm int daVrbox2_Draw(vrbox2_class* param_0) { nofralloc #include "asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/daVrbox2_Draw__FP12vrbox2_class.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80499AA4-80499AA8 000038 0004+00 0/1 0/0 0/0 .rodata @4069 */ @@ -308,106 +448,277 @@ SECTION_DEAD static char const* const stringBase_80499AD4 = "R_SP30"; #pragma pop /* 804990DC-804997E8 0006DC 070C+00 1/1 0/0 0/0 .text daVrbox2_color_set__FP12vrbox2_class */ +// one small weird block and some regalloc at the end +#ifdef NONMATCHING +static int daVrbox2_color_set(vrbox2_class* i_this) { + dKankyo_sun_Packet* sun_p = g_env_light.mpSunPacket; + + if ((g_env_light.mVrKasumiCol.r + g_env_light.mVrKasumiCol.g + + g_env_light.mVrKasumiCol.b + g_env_light.mVrSkyCol.r + g_env_light.mVrSkyCol.g + + g_env_light.mVrSkyCol.b + g_env_light.mVrkumoCol.r + g_env_light.mVrkumoCol.g + + g_env_light.mVrkumoCol.b) == 0) + { + return 1; + } + + camera_class* camera_p = dComIfGp_getCamera(0); + + cXyz cam_eye; + cXyz cam_center; + cXyz camFwdXZ; + cXyz wind_vec; + + cXyz* windVec_p = dKyw_get_wind_vec(); + f32 wind_pow = dKyw_get_wind_pow(); + + wind_vec = *windVec_p; + + dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()); + + cam_eye = camera_p->mLookat.mEye; + cam_center = camera_p->mLookat.mCenter; + cam_eye.y = 0.0f; + cam_center.y = 0.0f; + + dKyr_get_vectle_calc(&cam_eye, &cam_center, &camFwdXZ); + f32 temp_f30 = + cM3d_VectorProduct2d(0.0f, 0.0f, -wind_vec.x, -wind_vec.z, camFwdXZ.x, camFwdXZ.z) * + 0.0005f; + f32 var_f29 = temp_f30 * wind_pow; + + if (strcmp(dComIfGp_getStartStageName(), "R_SP30") == 0) { + dKyw_get_wind_vec(); + var_f29 = temp_f30 * (wind_pow + 0.3f); + } + + J3DModelData* modelData = i_this->mpKumoModel->getModelData(); + J3DMaterial* material_0 = modelData->getMaterialNodePointer(0); + if (material_0 != NULL) { + material_0->setCullMode(0); + + if (material_0->getTexMtx(0) != NULL) { + J3DTexMtxInfo& mtx_info = material_0->getTexMtx(0)->getTexMtxInfo(); + mtx_info.mSRT.mTranslationX += var_f29; + texScrollCheck(mtx_info.mSRT.mTranslationX); + } + + if (material_0->getTexMtx(1) != NULL) { + J3DTexMtxInfo& mtx_info = material_0->getTexMtx(1)->getTexMtxInfo(); + mtx_info.mSRT.mTranslationX += var_f29 * 1.75f; + texScrollCheck(mtx_info.mSRT.mTranslationX); + } + } + + J3DMaterial* material_1 = modelData->getMaterialNodePointer(1); + if (material_1 != NULL) { + material_1->setCullMode(0); + + if (material_1->getTexMtx(0) != NULL) { + J3DTexMtxInfo& mtx_info = material_1->getTexMtx(0)->getTexMtxInfo(); + mtx_info.mSRT.mTranslationX += var_f29 * 4.4f; + texScrollCheck(mtx_info.mSRT.mTranslationX); + } + + if (material_1->getTexMtx(1) != NULL) { + J3DTexMtxInfo& mtx_info = material_1->getTexMtx(1)->getTexMtxInfo(); + mtx_info.mSRT.mTranslationX += var_f29 * 2.2f; + texScrollCheck(mtx_info.mSRT.mTranslationX); + } + } + + modelData = i_this->mpKumoModel->getModelData(); + J3DGXColor k_color; + J3DGXColorS10 color; + + J3DMaterial* kumo_material0 = modelData->getMaterialNodePointer(0); + if (kumo_material0 != NULL) { + kumo_material0->setCullMode(0); + kumo_material0->change(); + + k_color.r = g_env_light.mVrShitaGumoCol.r; + k_color.g = g_env_light.mVrShitaGumoCol.g; + k_color.b = g_env_light.mVrShitaGumoCol.b; + k_color.a = g_env_light.mVrkumoCol.a; + kumo_material0->setTevKColor(0, &k_color); + + color.r = g_env_light.mVrShitaUneiCol.r; + color.g = g_env_light.mVrShitaUneiCol.g; + color.b = g_env_light.mVrShitaUneiCol.b; + color.a = (u8)g_env_light.mVrkumoCol.a; + kumo_material0->setTevColor(0, &color); + } + + J3DMaterial* kumo_material1 = modelData->getMaterialNodePointer(1); + if (kumo_material1 != NULL) { + kumo_material1->setCullMode(0); + kumo_material1->change(); + + k_color.r = g_env_light.mVrShitaGumoCol.r; + k_color.g = g_env_light.mVrShitaGumoCol.g; + k_color.b = g_env_light.mVrShitaGumoCol.b; + k_color.a = g_env_light.mVrkumoCol.a; + kumo_material1->setTevKColor(0, &k_color); + + color.r = g_env_light.mVrShitaUneiCol.r; + color.g = g_env_light.mVrShitaUneiCol.g; + color.b = g_env_light.mVrShitaUneiCol.b; + color.a = g_env_light.mVrkumoCol.a; + kumo_material1->setTevColor(0, &color); + } + + modelData = i_this->mpKasumimModel->getModelData(); + J3DMaterial* kasumim_material0 = modelData->getMaterialNodePointer(0); + if (kasumim_material0 != NULL) { + kasumim_material0->setCullMode(0); + kasumim_material0->change(); + + color.r = g_env_light.mVrKasumiCol.r; + color.g = g_env_light.mVrKasumiCol.g; + color.b = g_env_light.mVrKasumiCol.b; + color.a = g_env_light.mVrKasumiCol.a; + kasumim_material0->setTevColor(0, &color); + } + + if (sun_p != NULL) { + J3DModelData* modelData = i_this->model2->getModelData(); + for (int i = 0; i < 3; i++) { + J3DMaterial* material_p = modelData->getMaterialNodePointer(i); + + if (material_p != NULL) { + material_p->setCullMode(0); + material_p->change(); + + color.r = sun_p->mColor.r; + color.g = sun_p->mColor.g; + color.b = sun_p->mColor.b; + + k_color.r = sun_p->field_0x74.r; + k_color.g = sun_p->field_0x74.g; + k_color.b = sun_p->field_0x74.b; + k_color.a = sun_p->field_0x74.a; + + if (i == 1) { + if (g_env_light.mDaytime > 255.0f || g_env_light.mDaytime < 97.5f) { + cLib_addCalc(&sun_p->field_0x64, 1.0f, 0.2f, 0.1f, 0.0001f); + } else { + cLib_addCalc(&sun_p->field_0x64, 0.0f, 0.2f, 0.1f, 0.0001f); + } + + int alpha = sun_p->field_0x64 * 255.0f * sun_p->mSunAlpha; + color.a = alpha; + k_color.a = alpha; + } else if (i == 2) { + int alpha = sun_p->mSunAlpha * 255.0f * (1.0f - sun_p->field_0x64); + color.a = alpha; + k_color.a = alpha; + } else { + int alpha = sun_p->mSunAlpha * 255.0f; + color.a = alpha; + k_color.a = alpha; + } + + material_p->setTevColor(0, &color); + material_p->setTevKColor(0, &k_color); + } + } + } + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void daVrbox2_color_set(vrbox2_class* param_0) { +static asm int daVrbox2_color_set(vrbox2_class* param_0) { nofralloc #include "asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/daVrbox2_color_set__FP12vrbox2_class.s" } #pragma pop +#endif /* 804997E8-8049982C 000DE8 0044+00 1/0 0/0 0/0 .text daVrbox2_Execute__FP12vrbox2_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daVrbox2_Execute(vrbox2_class* param_0) { - nofralloc -#include "asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/daVrbox2_Execute__FP12vrbox2_class.s" +static int daVrbox2_Execute(vrbox2_class* i_this) { + if (g_env_light.mDaytime > FLOAT_LABEL(lit_3837)) { + i_this->mSunBtk.play(); + } + + return 1; } -#pragma pop /* 8049982C-80499834 000E2C 0008+00 1/0 0/0 0/0 .text daVrbox2_IsDelete__FP12vrbox2_class */ -static bool daVrbox2_IsDelete(vrbox2_class* param_0) { - return true; +static int daVrbox2_IsDelete(vrbox2_class* i_this) { + return 1; } /* 80499834-8049983C 000E34 0008+00 1/0 0/0 0/0 .text daVrbox2_Delete__FP12vrbox2_class */ -static bool daVrbox2_Delete(vrbox2_class* param_0) { - return true; +static int daVrbox2_Delete(vrbox2_class* i_this) { + return 1; } -/* ############################################################################################## */ -/* 80499AC4-80499AC4 000058 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80499ADB = "vrbox_kumo.bmd"; -SECTION_DEAD static char const* const stringBase_80499AEA = "vrbox_sun.bmd"; -SECTION_DEAD static char const* const stringBase_80499AF8 = "vrbox_sun.btk"; -SECTION_DEAD static char const* const stringBase_80499B06 = "vrbox_kasumiM.bmd"; -#pragma pop - /* 8049983C-80499978 000E3C 013C+00 1/1 0/0 0/0 .text daVrbox2_solidHeapCB__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daVrbox2_solidHeapCB(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/daVrbox2_solidHeapCB__FP10fopAc_ac_c.s" +static int daVrbox2_solidHeapCB(fopAc_ac_c* i_this) { + vrbox2_class* a_this = (vrbox2_class*)i_this; + + a_this->mpKumoModel = mDoExt_J3DModel__create( + (J3DModelData*)dComIfG_getStageRes("vrbox_kumo.bmd"), 0x80000, 0x11020202); + + J3DModelData* sun_modelData = (J3DModelData*)dComIfG_getStageRes("vrbox_sun.bmd"); + if (sun_modelData != NULL) { + a_this->model2 = mDoExt_J3DModel__create(sun_modelData, 0x80000, 0x11020202); + a_this->model2_und = mDoExt_J3DModel__create(sun_modelData, 0x80000, 0x11020202); + + J3DAnmTextureSRTKey* pbtk = (J3DAnmTextureSRTKey*)dComIfG_getStageRes("vrbox_sun.btk"); + if (!a_this->mSunBtk.init(sun_modelData, pbtk, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, FLOAT_LABEL(lit_3627), 0, -1)) { + return 0; + } + } + + J3DModelData* kasumi_modelData = (J3DModelData*)dComIfG_getStageRes("vrbox_kasumiM.bmd"); + if (kasumi_modelData != NULL) { + a_this->mpKasumimModel = mDoExt_J3DModel__create(kasumi_modelData, 0x80000, 0x11020202); + } + + return a_this->mpKumoModel != NULL && a_this->model2 != NULL && a_this->model2_und != NULL; +} + +/* 80499978-80499A1C 000F78 00A4+00 1/0 0/0 0/0 .text daVrbox2_Create__FP10fopAc_ac_c */ +static int daVrbox2_Create(fopAc_ac_c* i_this) { + fopAcM_SetupActor(i_this, vrbox2_class); + vrbox2_class* a_this = (vrbox2_class*)i_this; + + int phase = cPhs_COMPLEATE_e; + if (!fopAcM_entrySolidHeap(a_this, daVrbox2_solidHeapCB, 0x80004340)) { + phase = cPhs_ERROR_e; + } + + return phase; } -#pragma pop /* ############################################################################################## */ /* 80499B18-80499B38 -00001 0020+00 1/0 0/0 0/0 .data l_daVrbox2_Method */ -SECTION_DATA static void* l_daVrbox2_Method[8] = { - (void*)daVrbox2_Create__FP10fopAc_ac_c, - (void*)daVrbox2_Delete__FP12vrbox2_class, - (void*)daVrbox2_Execute__FP12vrbox2_class, - (void*)daVrbox2_IsDelete__FP12vrbox2_class, - (void*)daVrbox2_Draw__FP12vrbox2_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daVrbox2_Method = { + (process_method_func)daVrbox2_Create, (process_method_func)daVrbox2_Delete, + (process_method_func)daVrbox2_Execute, (process_method_func)daVrbox2_IsDelete, + (process_method_func)daVrbox2_Draw, }; /* 80499B38-80499B68 -00001 0030+00 0/0 0/0 1/0 .data g_profile_VRBOX2 */ -SECTION_DATA extern void* g_profile_VRBOX2[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02DB0000, (void*)&g_fpcLf_Method, - (void*)0x000005A0, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00040000, (void*)&l_daVrbox2_Method, - (void*)0x00044000, (void*)NULL, +extern actor_process_profile_definition g_profile_VRBOX2 = { + -3, + 7, + -3, + PROC_VRBOX2, + &g_fpcLf_Method.mBase, + sizeof(vrbox2_class), + 0, + 0, + &g_fopAc_Method.base, + 4, + &l_daVrbox2_Method, + 0x44000, + 0, + 0, }; - -/* 80499B68-80499B74 000050 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */ -SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12J3DFrameCtrlFv, -}; - -/* 80499978-80499A1C 000F78 00A4+00 1/0 0/0 0/0 .text daVrbox2_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daVrbox2_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/daVrbox2_Create__FP10fopAc_ac_c.s" -} -#pragma pop - -/* 80499A1C-80499A64 00101C 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { - nofralloc -#include "asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/__dt__12J3DFrameCtrlFv.s" -} -#pragma pop - -/* 80499AC4-80499AC4 000058 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/rel/d/a/kytag/d_a_kytag00/d_a_kytag00.cpp b/rel/d/a/kytag/d_a_kytag00/d_a_kytag00.cpp index 62baa9dfb5..f4cd87c7e3 100644 --- a/rel/d/a/kytag/d_a_kytag00/d_a_kytag00.cpp +++ b/rel/d/a/kytag/d_a_kytag00/d_a_kytag00.cpp @@ -4,22 +4,11 @@ // #include "rel/d/a/kytag/d_a_kytag00/d_a_kytag00.h" +#include "JSystem/JKernel/JKRHeap.h" +#include "d/com/d_com_inf_game.h" +#include "d/d_procname.h" #include "dol2asm.h" -// -// Types: -// - -struct kytag00_class {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - // // Forward References: // @@ -36,7 +25,6 @@ extern "C" static void daKytag00_Execute__FP13kytag00_class(); extern "C" static bool daKytag00_IsDelete__FP13kytag00_class(); extern "C" static void daKytag00_Delete__FP13kytag00_class(); extern "C" static void daKytag00_Create__FP10fopAc_ac_c(); -extern "C" extern void* g_profile_KYTAG00[12]; // // External References: @@ -46,18 +34,10 @@ extern "C" void __ct__10fopAc_ac_cFv(); extern "C" void isSwitch__10dSv_info_cCFii(); extern "C" void cLib_addCalc__FPfffff(); extern "C" void setSnowPower__10Z2EnvSeMgrFSc(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_27(); extern "C" void _savegpr_29(); extern "C" void _restgpr_27(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 g_mEnvSeMgr[780]; -extern "C" extern u32 __float_nan; -extern "C" extern u8 mStayNo__20dStage_roomControl_c[4]; // // Declarations: @@ -106,25 +86,48 @@ COMPILER_STRIP_GATE(0x8046C998, &lit_3801); #pragma pop /* 8046B718-8046B9DC 000078 02C4+00 2/2 0/0 0/0 .text get_check_pos__FP13kytag00_class */ +// reg r31/r30 swap +#ifdef NONMATCHING +static cXyz get_check_pos(kytag00_class* i_this) { + camera_class* camera_p = dComIfGp_getCamera(0); + fopAc_ac_c* player_p = dComIfGp_getPlayer(0); + cXyz ret; + + if (player_p != NULL) { + f32 temp_f = i_this->current.pos.abs(camera_p->mLookat.mEye); + f32 temp_f2 = i_this->current.pos.abs(player_p->current.pos); + + ret = player_p->current.pos; + if (i_dComIfGp_event_runCheck() && temp_f < temp_f2) { + ret = camera_p->mLookat.mEye; + } + } else { + ret.set(0.0f, 0.0f, 0.0f); + } + + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void get_check_pos(kytag00_class* param_0) { +static asm cXyz get_check_pos(kytag00_class* param_0) { nofralloc #include "asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/get_check_pos__FP13kytag00_class.s" } #pragma pop +#endif /* 8046B9DC-8046BA10 00033C 0034+00 2/2 0/0 0/0 .text wether_tag_reset__FP13kytag00_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void wether_tag_reset(kytag00_class* param_0) { - nofralloc -#include "asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/wether_tag_reset__FP13kytag00_class.s" +static void wether_tag_reset(kytag00_class* i_this) { + i_this->field_0x56d = 0; + + g_env_light.mColpatPrevGather = g_env_light.mColpatWeather; + g_env_light.mColpatCurrGather = g_env_light.mColpatWeather; + g_env_light.mColPatBlendGather = FLOAT_LABEL(lit_3798); + g_env_light.mColPatModeGather = 1; } -#pragma pop /* ############################################################################################## */ /* 8046C9A0-8046C9A4 000020 0004+00 0/3 0/0 0/0 .rodata @3906 */ @@ -166,6 +169,102 @@ COMPILER_STRIP_GATE(0x8046C9B0, &lit_3911); /* 8046BA10-8046BD60 000370 0350+00 1/1 0/0 0/0 .text wether_tag_move__FP13kytag00_class */ +// regswaps, but should be equivalent +#ifdef NONMATCHING +static void wether_tag_move(kytag00_class* i_this) { + cXyz spC; + cXyz check_pos = get_check_pos(i_this); + + f32 temp_f31 = i_this->field_0x57c * 100.0f; + + spC.x = check_pos.x; + spC.y = i_this->current.pos.y; + spC.z = check_pos.z; + f32 var_f1 = i_this->current.pos.abs(spC); + + if (var_f1 < i_this->field_0x584 && check_pos.y >= i_this->current.pos.y - temp_f31 && + check_pos.y < temp_f31 + (i_this->current.pos.y + (5000.0f * i_this->mScale.y)) && + i_this->field_0x588 > 0.0f) + { + f32 var_f9 = 1.0f; + f32 var_f8 = 1.0f; + + f32 temp_f10 = i_this->field_0x584 - i_this->field_0x580; + if (0.0f != temp_f10) { + var_f9 = (i_this->field_0x584 - var_f1) / temp_f10; + if (var_f9 > var_f8) { + var_f9 = var_f8; + } + } + + if (check_pos.y <= i_this->current.pos.y) { + if (0.0f != temp_f31) { + f32 var_f2 = (i_this->current.pos.y - check_pos.y) / temp_f31; + if (var_f2 < 0.0f) { + var_f2 = 0.0f; + } + var_f8 = 1.0f - var_f2; + } + } else if (0.0f != temp_f31) { + f32 var_f2_2 = + (check_pos.y - (i_this->current.pos.y + (5000.0f * i_this->mScale.y))) / temp_f31; + if (var_f2_2 < 0.0f) { + var_f2_2 = 0.0f; + } + var_f8 = 1.0f - var_f2_2; + } + + var_f9 *= (var_f8 * i_this->field_0x588); + if (g_env_light.mEnvrIdxPrev == g_env_light.mEnvrIdxCurr) { + i_this->field_0x56d = 1; + + switch (i_this->field_0x56f) { + case 0: + g_env_light.mColpatPrevGather = g_env_light.mColpatWeather; + g_env_light.mColpatCurrGather = 0; + g_env_light.mColPatBlendGather = var_f9; + g_env_light.mColPatModeGather = 1; + break; + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + if (var_f9 > 0.5f) { + g_env_light.mColpatPrevGather = g_env_light.mColpatWeather; + g_env_light.mColpatCurrGather = i_this->field_0x56f; + g_env_light.mColPatBlendGather = var_f9; + if (var_f9 >= 1.0f) { + g_env_light.mColpatPrevGather = i_this->field_0x56f; + } + } else { + g_env_light.mColpatPrevGather = i_this->field_0x56f; + g_env_light.mColpatCurrGather = g_env_light.mColpatWeather; + g_env_light.mColPatBlendGather = 1.0f - var_f9; + } + + g_env_light.mColPatModeGather = 1; + break; + default: + i_this->field_0x56d = 0; + break; + } + } + } else if (i_this->field_0x56d != 0) { + wether_tag_reset(i_this); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -174,65 +273,70 @@ static asm void wether_tag_move(kytag00_class* param_0) { #include "asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/wether_tag_move__FP13kytag00_class.s" } #pragma pop - -/* ############################################################################################## */ -/* 8046C9B8-8046C9BC 000038 0004+00 1/1 0/0 0/0 .rodata @3918 */ -SECTION_RODATA static f32 const lit_3918 = 250.0f; -COMPILER_STRIP_GATE(0x8046C9B8, &lit_3918); +#endif /* 8046BD60-8046BDA4 0006C0 0044+00 1/1 0/0 0/0 .text raincnt_set__Ff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void raincnt_set(f32 param_0) { - nofralloc -#include "asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/raincnt_set__Ff.s" +static void raincnt_set(f32 param_0) { + int cnt = param_0 * param_0 * param_0 * 250.0f; + if (cnt > g_env_light.mRainCountOrig) { + g_env_light.mRainCount = cnt; + } } -#pragma pop /* 8046BDA4-8046BDB8 000704 0014+00 1/1 0/0 0/0 .text raincnt_cut__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void raincnt_cut() { - nofralloc -#include "asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/raincnt_cut__Fv.s" +static void raincnt_cut() { + g_env_light.mRainCount = g_env_light.mRainCountOrig; } -#pragma pop - -/* ############################################################################################## */ -/* 8046C9E0-8046CA2C -00001 004C+00 1/1 0/0 0/0 .data @3957 */ -SECTION_DATA static void* lit_3957[19] = { - (void*)(((char*)wether_tag_efect_reset__FP13kytag00_class) + 0xEC), - (void*)(((char*)wether_tag_efect_reset__FP13kytag00_class) + 0x40), - (void*)(((char*)wether_tag_efect_reset__FP13kytag00_class) + 0x48), - (void*)(((char*)wether_tag_efect_reset__FP13kytag00_class) + 0x60), - (void*)(((char*)wether_tag_efect_reset__FP13kytag00_class) + 0x78), - (void*)(((char*)wether_tag_efect_reset__FP13kytag00_class) + 0x78), - (void*)(((char*)wether_tag_efect_reset__FP13kytag00_class) + 0x78), - (void*)(((char*)wether_tag_efect_reset__FP13kytag00_class) + 0xCC), - (void*)(((char*)wether_tag_efect_reset__FP13kytag00_class) + 0xCC), - (void*)(((char*)wether_tag_efect_reset__FP13kytag00_class) + 0xCC), - (void*)(((char*)wether_tag_efect_reset__FP13kytag00_class) + 0xCC), - (void*)(((char*)wether_tag_efect_reset__FP13kytag00_class) + 0xCC), - (void*)(((char*)wether_tag_efect_reset__FP13kytag00_class) + 0xCC), - (void*)(((char*)wether_tag_efect_reset__FP13kytag00_class) + 0xCC), - (void*)(((char*)wether_tag_efect_reset__FP13kytag00_class) + 0x60), - (void*)(((char*)wether_tag_efect_reset__FP13kytag00_class) + 0xE0), - (void*)(((char*)wether_tag_efect_reset__FP13kytag00_class) + 0x48), - (void*)(((char*)wether_tag_efect_reset__FP13kytag00_class) + 0xCC), - (void*)(((char*)wether_tag_efect_reset__FP13kytag00_class) + 0xCC), -}; /* 8046BDB8-8046BEB8 000718 0100+00 3/2 0/0 0/0 .text wether_tag_efect_reset__FP13kytag00_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void wether_tag_efect_reset(kytag00_class* param_0) { - nofralloc -#include "asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/wether_tag_efect_reset__FP13kytag00_class.s" +static void wether_tag_efect_reset(kytag00_class* i_this) { + i_this->field_0x56c = 0; + + switch (i_this->field_0x570) { + case 1: + raincnt_cut(); + break; + case 2: + case 16: + g_env_light.mSnowCount = 0; + g_env_light.mMoyaCount = 0; + break; + case 3: + case 14: + g_env_light.mHousiCount = 0; + g_env_light.field_0xea9 = 0; + break; + case 4: + case 5: + case 6: + if (g_env_light.mThunderEff.mMode == 2) { + g_env_light.mThunderEff.mMode = 0; + } + + if (i_this->field_0x570 == 8 || i_this->field_0x570 == 9) { + raincnt_cut(); + } + + if (i_this->field_0x570 == 9) { + g_env_light.mMoyaCount = 0; + } + break; + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 17: + case 18: + g_env_light.mMoyaCount = 0; + break; + case 15: + g_env_light.field_0x1048 = 0; + break; + } } -#pragma pop /* ############################################################################################## */ /* 8046CA2C-8046CA78 -00001 004C+00 1/1 0/0 0/0 .data @4108 */ @@ -259,6 +363,193 @@ SECTION_DATA static void* lit_4108[19] = { }; /* 8046BEB8-8046C660 000818 07A8+00 3/2 0/0 0/0 .text wether_tag_efect_move__FP13kytag00_class */ +// matches with literals +#ifdef NONMATCHING +static void wether_tag_efect_move(kytag00_class* i_this) { + cXyz spC; + cXyz check_pos = get_check_pos(i_this); + + f32 temp_f31 = i_this->field_0x57c * 100.0f; + + spC.x = check_pos.x; + spC.y = i_this->current.pos.y; + spC.z = check_pos.z; + f32 var_f1 = i_this->current.pos.abs(spC); + + if (var_f1 < i_this->field_0x584 && check_pos.y >= i_this->current.pos.y - temp_f31 && + check_pos.y < temp_f31 + (i_this->current.pos.y + (5000.0f * i_this->mScale.y)) && + i_this->field_0x588 > 0.0f) + { + f32 var_f9 = 1.0f; + f32 var_f8 = 1.0f; + + i_this->field_0x56c = 1; + + f32 temp_f10 = i_this->field_0x584 - i_this->field_0x580; + if (0.0f != temp_f10) { + var_f9 = (i_this->field_0x584 - var_f1) / temp_f10; + if (var_f9 > var_f8) { + var_f9 = var_f8; + } + } + + if (check_pos.y <= i_this->current.pos.y) { + if (0.0f != temp_f31) { + f32 var_f2 = (i_this->current.pos.y - check_pos.y) / temp_f31; + if (var_f2 < 0.0f) { + var_f2 = 0.0f; + } + var_f8 = 1.0f - var_f2; + } + } else if (0.0f != temp_f31) { + f32 var_f2_2 = + (check_pos.y - (i_this->current.pos.y + (5000.0f * i_this->mScale.y))) / temp_f31; + if (var_f2_2 < 0.0f) { + var_f2_2 = 0.0f; + } + var_f8 = 1.0f - var_f2_2; + } + + var_f9 *= (var_f8 * i_this->field_0x588); + + switch (i_this->field_0x570) { + case 1: + raincnt_set(var_f9); + break; + case 2: + if (i_this->orig.roomNo == dComIfGp_roomControl_getStayNo()) { + g_env_light.field_0xe92 = false; + + if (g_env_light.mSnowCount < (int)(var_f9 * 500.0f)) { + g_env_light.mSnowCount += (int)(var_f9 * 500.0f * 0.05f); + + if (g_env_light.mSnowCount > (int)(var_f9 * 500.0f)) { + g_env_light.mSnowCount = (int)(var_f9 * 500.0f); + } + } + + g_env_light.mMoyaMode = 0; + if (g_env_light.mMoyaCount < (int)(var_f9 * 50.0f)) { + g_env_light.mMoyaCount += (int)(var_f9 * 50.0f * 0.05f); + + if (g_env_light.mMoyaCount > (int)(var_f9 * 50.0f)) { + g_env_light.mMoyaCount = (int)(var_f9 * 50.0f); + } + } + } else { + g_env_light.mSnowCount = 0; + g_env_light.mMoyaCount = 0; + } + + mDoAud_setSnowPower(var_f9 * 63.0f); + break; + case 3: + case 14: + g_env_light.field_0xea9 = 0; + + if (i_this->orig.roomNo == dComIfGp_roomControl_getStayNo()) { + g_env_light.mHousiCount = var_f9 * 300.0f; + } else { + g_env_light.mHousiCount = 0; + } + + if (i_this->field_0x570 == 14) { + g_env_light.field_0xea9 = 1; + } + break; + case 4: + if (g_env_light.mThunderEff.mMode == 0) { + g_env_light.mThunderEff.mMode = 2; + } + break; + case 5: + if (g_env_light.mThunderEff.mMode == 0) { + g_env_light.mThunderEff.mMode = 2; + } + + raincnt_set(var_f9); + break; + case 6: + g_env_light.mMoyaMode = 1; + g_env_light.mMoyaCount = var_f9 * 50.0f; + raincnt_set(var_f9); + + if (g_env_light.mThunderEff.mMode == 0) { + g_env_light.mThunderEff.mMode = 2; + } + break; + case 7: + g_env_light.mMoyaMode = 0; + g_env_light.mMoyaCount = var_f9 * 50.0f; + break; + case 8: + g_env_light.mMoyaMode = 1; + g_env_light.mMoyaCount = var_f9 * 50.0f; + break; + case 9: + g_env_light.mMoyaMode = 2; + g_env_light.mMoyaCount = var_f9 * 50.0f; + break; + case 10: + g_env_light.mMoyaMode = 3; + g_env_light.mMoyaCount = var_f9 * 50.0f; + break; + case 11: + g_env_light.mMoyaMode = 50; + g_env_light.mMoyaCount = var_f9 * 50.0f * g_env_light.field_0xf40; + break; + case 12: + g_env_light.mMoyaMode = 5; + g_env_light.mMoyaCount = var_f9 * 50.0f; + break; + case 13: + g_env_light.mMoyaMode = 6; + g_env_light.mMoyaCount = var_f9 * 50.0f; + break; + case 15: + g_env_light.field_0x1048 = var_f9 * 100.0f; + break; + case 16: + if (i_this->orig.roomNo == dComIfGp_roomControl_getStayNo()) { + g_env_light.field_0xe92 = true; + + if (g_env_light.mSnowCount < (int)(var_f9 * 500.0f)) { + g_env_light.mSnowCount += (int)(var_f9 * 500.0f * 0.05f); + + if (g_env_light.mSnowCount > (int)(var_f9 * 500.0f)) { + g_env_light.mSnowCount = (int)(var_f9 * 500.0f); + } + } + + g_env_light.mMoyaMode = 0; + if (g_env_light.mMoyaCount < (int)(var_f9 * 50.0f)) { + g_env_light.mMoyaCount += (int)(var_f9 * 50.0f * 0.05f); + + if (g_env_light.mMoyaCount > (int)(var_f9 * 50.0f)) { + g_env_light.mMoyaCount = (int)(var_f9 * 50.0f); + } + } + } else { + g_env_light.mSnowCount = 0; + g_env_light.mMoyaCount = 0; + } + + mDoAud_setSnowPower(var_f9 * 127.0f); + break; + case 17: + g_env_light.mMoyaMode = 8; + g_env_light.mMoyaCount = var_f9 * 50.0f; + break; + case 18: + g_env_light.mMoyaMode = 9; + g_env_light.mMoyaCount = var_f9 * 50.0f; + break; + } + } else if (i_this->field_0x56c != 0) { + wether_tag_efect_reset(i_this); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -267,17 +558,14 @@ static asm void wether_tag_efect_move(kytag00_class* param_0) { #include "asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/wether_tag_efect_move__FP13kytag00_class.s" } #pragma pop +#endif /* 8046C660-8046C684 000FC0 0024+00 1/0 0/0 0/0 .text daKytag00_Draw__FP13kytag00_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daKytag00_Draw(kytag00_class* param_0) { - nofralloc -#include "asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/daKytag00_Draw__FP13kytag00_class.s" +static int daKytag00_Draw(kytag00_class* i_this) { + wether_tag_efect_move(i_this); + return 1; } -#pragma pop /* ############################################################################################## */ /* 8046C9BC-8046C9C0 00003C 0004+00 0/0 0/0 0/0 .rodata @4101 */ @@ -344,60 +632,143 @@ COMPILER_STRIP_GATE(0x8046C9DC, &lit_4147); #pragma pop /* 8046C684-8046C76C 000FE4 00E8+00 1/0 0/0 0/0 .text daKytag00_Execute__FP13kytag00_class */ +// matches with literals +#ifdef NONMATCHING +static int daKytag00_Execute(kytag00_class* i_this) { + BOOL var_r30 = true; + + if (i_this->field_0x571 != 0xFF) { + s32 room_no = dComIfGp_roomControl_getStayNo(); + if (dComIfGs_isSwitch(i_this->field_0x571, room_no)) { + var_r30 = 0; + } + } else if (i_this->field_0x572 != 0xFF) { + s32 room_no = dComIfGp_roomControl_getStayNo(); + if (!dComIfGs_isSwitch(i_this->field_0x572, room_no)) { + var_r30 = 0; + } + } + + if (var_r30 == TRUE) { + cLib_addCalc(&i_this->field_0x588, 1.0f, 0.1f, 0.01f, 0.0001f); + } else { + cLib_addCalc(&i_this->field_0x588, 0.0f, 0.1f, 0.01f, 0.0001f); + } + + wether_tag_move(i_this); + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void daKytag00_Execute(kytag00_class* param_0) { +static asm int daKytag00_Execute(kytag00_class* param_0) { nofralloc #include "asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/daKytag00_Execute__FP13kytag00_class.s" } #pragma pop +#endif /* 8046C76C-8046C774 0010CC 0008+00 1/0 0/0 0/0 .text daKytag00_IsDelete__FP13kytag00_class */ -static bool daKytag00_IsDelete(kytag00_class* param_0) { - return true; +static int daKytag00_IsDelete(kytag00_class* i_this) { + return 1; } /* 8046C774-8046C7BC 0010D4 0048+00 1/0 0/0 0/0 .text daKytag00_Delete__FP13kytag00_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daKytag00_Delete(kytag00_class* param_0) { - nofralloc -#include "asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/daKytag00_Delete__FP13kytag00_class.s" +static int daKytag00_Delete(kytag00_class* i_this) { + wether_tag_reset(i_this); + wether_tag_efect_reset(i_this); + g_env_light.mMoyaCount = 0; + + return 1; } -#pragma pop /* 8046C7BC-8046C978 00111C 01BC+00 1/0 0/0 0/0 .text daKytag00_Create__FP10fopAc_ac_c */ +// matches with literals +#ifdef NONMATCHING +static int daKytag00_Create(fopAc_ac_c* i_this) { + fopAcM_SetupActor(i_this, kytag00_class); + kytag00_class* a_this = (kytag00_class*)i_this; + + a_this->field_0x56e = 0; + a_this->field_0x56f = fopAcM_GetParam(a_this) & 0xFF; + a_this->field_0x570 = (fopAcM_GetParam(a_this) >> 8) & 0xFF; + a_this->field_0x578 = (fopAcM_GetParam(a_this) >> 0x10) & 0xFF; + a_this->field_0x57c = (fopAcM_GetParam(a_this) >> 0x18) & 0xFF; + a_this->field_0x571 = a_this->current.angle.x & 0xFF; + a_this->field_0x572 = (a_this->current.angle.x >> 8) & 0xFF; + + BOOL var_r30 = true; + + if (a_this->field_0x571 != 0xFF) { + s32 room_no = dComIfGp_roomControl_getStayNo(); + if (dComIfGs_isSwitch(a_this->field_0x571, room_no)) { + var_r30 = 0; + } + } else if (a_this->field_0x572 != 0xFF) { + s32 room_no = dComIfGp_roomControl_getStayNo(); + if (!dComIfGs_isSwitch(a_this->field_0x572, room_no)) { + var_r30 = 0; + } + } + + if (var_r30 == TRUE) { + a_this->field_0x588 = 1.0f; + } else { + a_this->field_0x588 = 0.0f; + } + + if (a_this->field_0x578 == 0xFF) { + a_this->field_0x578 = 10; + } + + if (a_this->field_0x57c == 0xFF) { + a_this->field_0x57c = 10; + } + + a_this->field_0x580 = a_this->mScale.x * 5000.0f; + a_this->field_0x584 = a_this->mScale.x * 5000.0f + a_this->field_0x578 * 100.0f; + a_this->field_0x56c = 0; + a_this->field_0x56d = 0; + g_env_light.mMoyaCount = 0; + + wether_tag_efect_move(a_this); + return cPhs_COMPLEATE_e; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void daKytag00_Create(fopAc_ac_c* param_0) { +static asm int daKytag00_Create(fopAc_ac_c* param_0) { nofralloc #include "asm/rel/d/a/kytag/d_a_kytag00/d_a_kytag00/daKytag00_Create__FP10fopAc_ac_c.s" } #pragma pop +#endif /* ############################################################################################## */ /* 8046CA78-8046CA98 -00001 0020+00 1/0 0/0 0/0 .data l_daKytag00_Method */ -SECTION_DATA static void* l_daKytag00_Method[8] = { - (void*)daKytag00_Create__FP10fopAc_ac_c, - (void*)daKytag00_Delete__FP13kytag00_class, - (void*)daKytag00_Execute__FP13kytag00_class, - (void*)daKytag00_IsDelete__FP13kytag00_class, - (void*)daKytag00_Draw__FP13kytag00_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daKytag00_Method = { + (process_method_func)daKytag00_Create, (process_method_func)daKytag00_Delete, + (process_method_func)daKytag00_Execute, (process_method_func)daKytag00_IsDelete, + (process_method_func)daKytag00_Draw, }; /* 8046CA98-8046CAC8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_KYTAG00 */ -SECTION_DATA extern void* g_profile_KYTAG00[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02AA0000, (void*)&g_fpcLf_Method, - (void*)0x0000058C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x005E0000, (void*)&l_daKytag00_Method, - (void*)0x00044000, (void*)NULL, +extern actor_process_profile_definition g_profile_KYTAG00 = { + -3, + 7, + -3, + PROC_KYTAG00, + &g_fpcLf_Method.mBase, + sizeof(kytag00_class), + 0, + 0, + &g_fopAc_Method.base, + 94, + &l_daKytag00_Method, + 0x44000, + 0, + 0, }; diff --git a/rel/d/a/kytag/d_a_kytag06/d_a_kytag06.cpp b/rel/d/a/kytag/d_a_kytag06/d_a_kytag06.cpp index 09e2bdeae5..9ca03ce37b 100644 --- a/rel/d/a/kytag/d_a_kytag06/d_a_kytag06.cpp +++ b/rel/d/a/kytag/d_a_kytag06/d_a_kytag06.cpp @@ -28,7 +28,7 @@ static void dice_wether_execute(u8 i_weatherMode, f32 i_weatherTime, f32 i_curre dScnKy_env_light_c* env_light = i_dKy_getEnvlight(); env_light->mDiceWeatherMode = i_weatherMode; - if (env_light->mDiceWeatherMode != 0xFF) { + if (env_light->mDiceWeatherMode != DICE_MODE_DONE_e) { env_light->mDiceWeatherTime = i_currentTime + i_weatherTime + cM_rndF(i_weatherTime) + cM_rndF(i_weatherTime); @@ -38,7 +38,7 @@ static void dice_wether_execute(u8 i_weatherMode, f32 i_weatherTime, f32 i_curre env_light->mDiceWeatherCounter++; } else { - env_light->mDiceWeatherMode = 0; + env_light->mDiceWeatherMode = DICE_MODE_SUNNY_e; env_light->mDiceWeatherState++; } } @@ -105,17 +105,17 @@ static void dKy_event_proc() { f32 current_time = dComIfGs_getTime(); switch (env_light->mDiceWeatherState) { - case 0: + case DICE_STATE_RESET_e: if (current_time > env_light->mDiceWeatherChangeTime && current_time - env_light->mDiceWeatherChangeTime < 15.0f) { - env_light->mDiceWeatherState = 1; + env_light->mDiceWeatherState = DICE_STATE_INIT_e; } break; - case 1: + case DICE_STATE_INIT_e: u8 table_no = cM_rndF(12.99f); if (table_no >= 8) { - env_light->mDiceWeatherState = 3; + env_light->mDiceWeatherState = DICE_STATE_NEXT_e; } else { env_light->mDiceWeatherCurrPattern = S_wether_table[table_no]; env_light->mDiceWeatherCounter = 0; @@ -152,7 +152,7 @@ static void dKy_event_proc() { env_light->mDiceWeatherState++; } break; - case 2: + case DICE_STATE_EXEC_e: if (current_time > env_light->mDiceWeatherTime && current_time - env_light->mDiceWeatherTime < 180.0f) { @@ -185,7 +185,7 @@ static void dKy_event_proc() { } } break; - case 3: + case DICE_STATE_NEXT_e: u8 time_table_no = cM_rndF(7.99f); env_light->mDiceWeatherChangeTime = current_time + S_time_table[time_table_no]; @@ -193,19 +193,19 @@ static void dKy_event_proc() { env_light->mDiceWeatherChangeTime -= 360.0f; } - env_light->mDiceWeatherState = 0; + env_light->mDiceWeatherState = DICE_STATE_RESET_e; break; } if (g_env_light.field_0x130b == 1) { - env_light->mDiceWeatherMode = 6; + env_light->mDiceWeatherMode = DICE_MODE_UNK6_e; } if (g_env_light.mColPatMode == 0 && g_env_light.mColPatModeGather == 0) { u8 weather_colpat; switch (env_light->mDiceWeatherMode) { - case 0: + case DICE_MODE_SUNNY_e: weather_colpat = 0; if (g_env_light.mThunderEff.mMode == 1) { g_env_light.mThunderEff.mMode = 0; @@ -213,12 +213,12 @@ static void dKy_event_proc() { dice_rain_minus(); break; - case 1: + case DICE_MODE_CLOUDY_e: g_env_light.mThunderEff.mMode = 0; weather_colpat = 1; dice_rain_minus(); break; - case 2: + case DICE_MODE_RAIN_LIGHT_e: weather_colpat = 1; if (env_light->mRainCount < 40) { env_light->mRainCount++; @@ -228,21 +228,21 @@ static void dKy_event_proc() { dKyw_rain_set(env_light->mRainCount); } break; - case 5: + case DICE_MODE_THUNDER_HEAVY_e: g_env_light.mThunderEff.mMode = 1; - case 3: + case DICE_MODE_RAIN_HEAVY_e: weather_colpat = 2; if (env_light->mRainCount < 250) { env_light->mRainCount++; dKyw_rain_set(env_light->mRainCount); } break; - case 4: + case DICE_MODE_THUNDER_LIGHT_e: weather_colpat = 1; g_env_light.mThunderEff.mMode = 1; dice_rain_minus(); break; - case 6: + case DICE_MODE_UNK6_e: weather_colpat = 0; if (g_env_light.mThunderEff.mMode == 1) { g_env_light.mThunderEff.mMode = 0; diff --git a/rel/d/a/npc/d_a_npc_fish/d_a_npc_fish.cpp b/rel/d/a/npc/d_a_npc_fish/d_a_npc_fish.cpp index 59c4093813..71b4aa05b2 100644 --- a/rel/d/a/npc/d_a_npc_fish/d_a_npc_fish.cpp +++ b/rel/d/a/npc/d_a_npc_fish/d_a_npc_fish.cpp @@ -37,7 +37,7 @@ static void fish_set(fopAc_ac_c* i_this, fish_data_s* data) { } u32 param = data->param; pos = data->pos; - if ((param == 1u) && envLight->field_0x12fe != 2) { + if ((param == 1u) && envLight->mPondSeason != 2) { param = 2; } param |= data->field_0x10 << 8; @@ -145,9 +145,9 @@ static int daNpc_Fish_Create(fopAc_ac_c* i_this) { } else { dScnKy_env_light_c* envLight = i_dKy_getEnvlight(); s32 param = 0; - if (envLight->field_0x12fe == 2) { + if (envLight->mPondSeason == 2) { param = 160; - } else if (envLight->field_0x12fe == 3) { + } else if (envLight->mPondSeason == 3) { param = 64; } if (param != 0) { @@ -156,7 +156,7 @@ static int daNpc_Fish_Create(fopAc_ac_c* i_this) { NULL, -1); } } - if (g_env_light.field_0x12fe == 2) { + if (g_env_light.mPondSeason == 2) { for (int i = 0; i < 4; i++) { pos.set(cM_rndFX(700.0f) + -2936.0f, 0.0f, cM_rndFX(700.0f) + -7865.0f); csXyz angle(0, 0, -1); diff --git a/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.cpp b/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.cpp index 392d9c98f8..2e55031799 100644 --- a/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.cpp +++ b/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.cpp @@ -1121,11 +1121,11 @@ static int daTagTWGate_Create(fopAc_ac_c* i_actor) { inline daTagTWGate_c::~daTagTWGate_c() { dComIfG_resDelete(&mPhaseZevArc, l_zevParamTbl[mType].mArcName); - if (mPhaseMdRes.id != cPhs_ZERO_e) { + if (mPhaseMdRes.id != cPhs_INIT_e) { dComIfG_resDelete(&mPhaseMdRes, "TWGate_Md"); } - if (mPhasePyRes.id != cPhs_ZERO_e) { + if (mPhasePyRes.id != cPhs_INIT_e) { dComIfG_resDelete(&mPhasePyRes, mIsWolf ? "TWGate_Wf" : "TWGate_Lk"); } } diff --git a/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.cpp b/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.cpp index ec2caef356..710ee78a12 100644 --- a/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.cpp +++ b/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.cpp @@ -26,7 +26,7 @@ int daTagMagne_c::create() { fopAcM_SetupActor(this, daTagMagne_c); if (mTagMagne != NULL && mTagMagne->current.roomNo != current.roomNo) { - return cPhs_ZERO_e; + return cPhs_INIT_e; } if (!Create()) { diff --git a/src/c/c_dylink.cpp b/src/c/c_dylink.cpp index 2f7780c1b5..3e13f9ca84 100644 --- a/src/c/c_dylink.cpp +++ b/src/c/c_dylink.cpp @@ -886,7 +886,7 @@ static BOOL cDyl_Initialized; /* 800185C0-80018688 012F00 00C8+00 1/1 1/1 0/0 .text cDyl_LinkASync__Fs */ int cDyl_LinkASync(s16 i_ProfName) { if (cDyl_Initialized == false) { - return cPhs_ZERO_e; + return cPhs_INIT_e; } if (i_ProfName >= ARRAY_SIZE(DMC)) { @@ -905,7 +905,7 @@ int cDyl_LinkASync(s16 i_ProfName) { return cPhs_ERROR_e; } } else { - return cPhs_ZERO_e; + return cPhs_INIT_e; } } @@ -985,7 +985,7 @@ int cDylPhs::Link(request_of_phase_process_class* i_phase, s16 param_1) { (request_of_phase_process_fn)cDylPhs::phase_03 }; - if (i_phase->id == cPhs_TWO_e) { + if (i_phase->id == cPhs_NEXT_e) { return cPhs_COMPLEATE_e; } @@ -997,9 +997,9 @@ int cDylPhs::Link(request_of_phase_process_class* i_phase, s16 param_1) { int cDylPhs::Unlink(request_of_phase_process_class* i_phase, s16 i_ProfName) { int ret; - if (i_phase->id == cPhs_TWO_e) { + if (i_phase->id == cPhs_NEXT_e) { ret = cDyl_Unlink(i_ProfName); - i_phase->id = cPhs_ZERO_e; + i_phase->id = cPhs_INIT_e; } else { ret = 0; } diff --git a/src/d/a/d_a_alink.cpp b/src/d/a/d_a_alink.cpp index eb5ad4b06e..8ae6634ed3 100644 --- a/src/d/a/d_a_alink.cpp +++ b/src/d/a/d_a_alink.cpp @@ -12656,19 +12656,19 @@ int daAlink_c::create() { mAttentionInfo.mFlags = -1; if (!i_dComIfGp_getEventManager().dataLoaded()) { - return cPhs_ZERO_e; + return cPhs_INIT_e; } setArcName(i_checkWolf()); setOriginalHeap(&field_0x0638, 0xA2800); if (dComIfG_resLoad(&mPhaseReq, mArcName, field_0x0638) != cPhs_COMPLEATE_e) { - return cPhs_ZERO_e; + return cPhs_INIT_e; } setShieldArcName(); setOriginalHeap(&field_0x0648, 0x7000); if (dComIfG_resLoad(&mShieldPhaseReq, mShieldArcName, field_0x0648) != cPhs_COMPLEATE_e) { - return cPhs_ZERO_e; + return cPhs_INIT_e; } if (!fopAcM_entrySolidHeap(this, daAlink_createHeap, 0xC003E930)) { @@ -12708,7 +12708,7 @@ int daAlink_c::create() { !fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchLightBall, NULL)) || (horseStart && i_dComIfGp_getHorseActor() == NULL)) { - return cPhs_ZERO_e; + return cPhs_INIT_e; } if (var_r24) { diff --git a/src/d/a/d_a_npc.cpp b/src/d/a/d_a_npc.cpp index 4ff19fe4a0..f8e0aeecf0 100644 --- a/src/d/a/d_a_npc.cpp +++ b/src/d/a/d_a_npc.cpp @@ -1697,7 +1697,7 @@ int daNpcT_c::loadRes(s8 const* resNoList, char const** resNameList) { } } - return cPhs_ZERO_e; + return cPhs_INIT_e; } /* 801484AC-8014852C 142DEC 0080+00 0/0 0/0 58/58 .text deleteRes__8daNpcT_cFPCScPPCc */ diff --git a/src/d/com/d_com_inf_game.cpp b/src/d/com/d_com_inf_game.cpp index 34e31291e3..a3071c2e2d 100644 --- a/src/d/com/d_com_inf_game.cpp +++ b/src/d/com/d_com_inf_game.cpp @@ -1026,7 +1026,7 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room // Stage is Fishing Pond or Hena's Hut else if (!strcmp(i_stageName, "F_SP127") || !strcmp(i_stageName, "R_SP127")) { - switch (g_env_light.field_0x12fe) { + switch (g_env_light.mPondSeason) { case 1: o_layer = 0; break; @@ -1270,7 +1270,7 @@ static int phase_1(char* i_arcName) { return cPhs_ERROR_e; } - return cPhs_TWO_e; + return cPhs_NEXT_e; } /* 8002CE38-8002CEB4 027778 007C+00 1/0 0/0 0/0 .text phase_2__FPc */ @@ -1296,7 +1296,7 @@ int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* i_arcNa static int (*l_method[3])(void*) = {(int (*)(void*))phase_1, (int (*)(void*))phase_2, (int (*)(void*))phase_3}; - if (i_phase->id == cPhs_TWO_e) { + if (i_phase->id == cPhs_NEXT_e) { return cPhs_COMPLEATE_e; } @@ -1333,7 +1333,7 @@ int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* i_resNa static int (*l_method[3])(void*) = {(int (*)(void*))phase_01, (int (*)(void*))phase_02, (int (*)(void*))phase_03}; - if (i_phase->id == cPhs_TWO_e) { + if (i_phase->id == cPhs_NEXT_e) { return cPhs_COMPLEATE_e; } @@ -1344,12 +1344,12 @@ int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* i_resNa /* 8002D008-8002D06C 027948 0064+00 1/1 10/10 540/540 .text * dComIfG_resDelete__FP30request_of_phase_process_classPCc */ int dComIfG_resDelete(request_of_phase_process_class* i_phase, char const* i_resName) { - if (i_phase->id != cPhs_TWO_e) { + if (i_phase->id != cPhs_NEXT_e) { return 0; } dComIfG_deleteObjectResMain(i_resName); - i_phase->id = cPhs_ZERO_e; + i_phase->id = cPhs_INIT_e; return 1; } @@ -2184,7 +2184,7 @@ void dComIfGs_setWarpMarkFlag(u8) {} /* 8002F314-8002F328 029C54 0014+00 0/0 0/0 1/1 .text __ct__19dComIfG_resLoader_cFv */ dComIfG_resLoader_c::dComIfG_resLoader_c() { field_0x0 = NULL; - field_0x4.id = cPhs_ZERO_e; + field_0x4.id = cPhs_INIT_e; field_0xc = 0; } @@ -2193,7 +2193,7 @@ dComIfG_resLoader_c::~dComIfG_resLoader_c() { if (field_0x0 != NULL) { for (int i = field_0xc; i >= 0; i--) { dComIfG_resDelete(&field_0x4, field_0x0[i]); - field_0x4.id = cPhs_TWO_e; + field_0x4.id = cPhs_NEXT_e; } } } @@ -2206,8 +2206,8 @@ int dComIfG_resLoader_c::load(char const** i_resNameTbl, JKRHeap* i_heap) { if (phase_state == cPhs_COMPLEATE_e) { if (field_0x0[field_0xc + 1][0] != 0) { field_0xc++; - field_0x4.id = cPhs_ZERO_e; - phase_state = cPhs_ZERO_e; + field_0x4.id = cPhs_INIT_e; + phase_state = cPhs_INIT_e; } } diff --git a/src/d/d_stage.cpp b/src/d/d_stage.cpp index 2022567071..c3d6f0d846 100644 --- a/src/d/d_stage.cpp +++ b/src/d/d_stage.cpp @@ -2809,11 +2809,11 @@ static void layerTableLoader(void* i_data, dStage_dt_c* stageDt, int roomNo) { dStage_dt_c_decode(i_data, stageDt, l_layerFuncTableA, ARRAY_SIZE(l_layerFuncTableA)); dStage_Elst_c* elst = i_dComIfGp_getStage()->getElst(); - if (elst != NULL && newRoomNo >= 0 && elst->field_0x0 > newRoomNo) { - dStage_Elst_c::unkData* d = elst->field_0x4; + if (elst != NULL && newRoomNo >= 0 && elst->m_entryNum > newRoomNo) { + dStage_Elst_data* d = elst->m_entries; int layer = dComIfG_play_c::getLayerNo(0); dStage_setLayerTagName(l_envLayerFuncTable, ARRAY_SIZE(l_envLayerFuncTable), - d[newRoomNo].field_0x0[layer]); + d[newRoomNo].m_layerTable[layer]); dStage_dt_c_decode(i_data, stageDt, l_envLayerFuncTable, ARRAY_SIZE(l_envLayerFuncTable)); } else { dStage_setLayerTagName(l_envLayerFuncTable, ARRAY_SIZE(l_envLayerFuncTable), 0); diff --git a/src/d/kankyo/d_kankyo.cpp b/src/d/kankyo/d_kankyo.cpp index 2b746b171f..34d65459aa 100644 --- a/src/d/kankyo/d_kankyo.cpp +++ b/src/d/kankyo/d_kankyo.cpp @@ -1594,7 +1594,7 @@ static void envcolor_init() { g_env_light.mpSchedule = dKyd_schejule_getp(); } - g_env_light.mNowRoom = dComIfGp_roomControl_getStayNo(); + g_env_light.mEnvrIdxPrev = dComIfGp_roomControl_getStayNo(); g_env_light.mEnvrIdxCurr = dComIfGp_roomControl_getStayNo(); g_env_light.mColPatBlend = 1.0f; g_env_light.field_0x12b0 = 0; @@ -1729,7 +1729,7 @@ void dKy_clear_game_init() { g_env_light.mDarkDaytime = 120.0f; g_env_light.mDarktimeWeek = 0; - g_env_light.field_0x12fe = 0; + g_env_light.mPondSeason = 0; g_env_light.field_0x130a = 0; g_env_light.field_0x12cc = 0; g_env_light.field_0x130c = 0; @@ -3668,7 +3668,7 @@ void dScnKy_env_light_c::drawKankyo() { setSunpos(); SetBaseLight(); setLight(); - dKy_setLight_nowroom(g_env_light.mNowRoom); + dKy_setLight_nowroom(g_env_light.mEnvrIdxPrev); } /* ############################################################################################## */ @@ -4936,7 +4936,7 @@ u8 dKy_pol_sound_get(cBgS_PolyInfo const* p_poly) { } int att0 = dComIfG_Bgsp().GetPolyAtt0(*p_poly); - if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") && g_env_light.field_0x12fe == 4 && + if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") && g_env_light.mPondSeason == 4 && att0 == 4) { att0 = 13; @@ -4966,7 +4966,7 @@ u8 dKy_pol_argument_get(cBgS_PolyInfo const* p_poly) { } int att0 = dComIfG_Bgsp().GetPolyAtt0(*p_poly); - if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") && g_env_light.field_0x12fe == 4 && + if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") && g_env_light.mPondSeason == 4 && att0 == 4) { att0 = 13; @@ -4999,7 +4999,7 @@ asm u8 dKy_pol_eff_prim_get(cBgS_PolyInfo const* param_0, _GXColor* param_1) { } int att0 = dComIfG_Bgsp().GetPolyAtt0(*p_poly); - if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") && g_env_light.field_0x12fe == 4 && att0 == + if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") && g_env_light.mPondSeason == 4 && att0 == 4) { att0 = 13; } else if (!strcmp(dComIfGp_getStartStageName(), "D_MN05A") && dComIfGs_isStageBossEnemy() && att0 == 11) { att0 = 7; } diff --git a/src/d/kankyo/d_kankyo_data.cpp b/src/d/kankyo/d_kankyo_data.cpp index 9d3c0cc3dc..d7a158d564 100644 --- a/src/d/kankyo/d_kankyo_data.cpp +++ b/src/d/kankyo/d_kankyo_data.cpp @@ -248,307 +248,451 @@ static dKyd_lightSchejule l_time_attribute_boss[11] = { static stage_palette_info_class l_field_data[16] = { { {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - 0x40, - 0x40, - 0x40, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, + {0x40, 0x40,0x40}, -5000.0f, 30000.0f, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }, { {0x40, 0x40, 0x40}, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - 0x40, - 0x40, - 0x40, -5000.0f, 30000.0f, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }, { {0x40, 0x40, 0x40}, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - 0x40, - 0x40, - 0x40, -5000.0f, 30000.0f, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }, { {0x40, 0x40, 0x40}, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - 0x40, - 0x40, - 0x40, -5000.0f, 30000.0f, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }, { {0x40, 0x40, 0x40}, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - 0x40, - 0x40, - 0x40, -5000.0f, 30000.0f, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }, { {0x40, 0x40, 0x40}, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - 0x40, - 0x40, - 0x40, -5000.0f, 30000.0f, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }, { {0x40, 0x40, 0x40}, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - 0x40, - 0x40, - 0x40, -5000.0f, 30000.0f, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }, { {0x40, 0x40, 0x40}, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - 0x40, - 0x40, - 0x40, -5000.0f, 30000.0f, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }, { {0x40, 0x40, 0x40}, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - 0x40, - 0x40, - 0x40, -5000.0f, 30000.0f, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }, { {0x40, 0x40, 0x40}, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - 0x40, - 0x40, - 0x40, -5000.0f, 30000.0f, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }, { {0x40, 0x40, 0x40}, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - 0x40, - 0x40, - 0x40, -5000.0f, 30000.0f, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }, { {0x40, 0x40, 0x40}, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - 0x40, - 0x40, - 0x40, -5000.0f, 30000.0f, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }, { {0x40, 0x40, 0x40}, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - 0x40, - 0x40, - 0x40, -5000.0f, 30000.0f, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }, { {0x40, 0x40, 0x40}, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - 0x40, - 0x40, - 0x40, -5000.0f, 30000.0f, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }, { {0x40, 0x40, 0x40}, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - 0x40, - 0x40, - 0x40, -5000.0f, 30000.0f, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }, { {0x40, 0x40, 0x40}, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + }, {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - {0x40, 0x40, 0x40}, - 0x40, - 0x40, - 0x40, -5000.0f, 30000.0f, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }, }; diff --git a/src/d/kankyo/d_kankyo_wether.cpp b/src/d/kankyo/d_kankyo_wether.cpp index 63e8fb14de..5e5ebacde9 100644 --- a/src/d/kankyo/d_kankyo_wether.cpp +++ b/src/d/kankyo/d_kankyo_wether.cpp @@ -828,8 +828,8 @@ static void wether_move_sun() { g_env_light.mpSunPacket->field_0x28 = 0; g_env_light.mpSunPacket->field_0x29 = 0; f32 tmp0 = FLOAT_LABEL(lit_4378); - g_env_light.mpSunPacket->field_0x5c = tmp0; - g_env_light.mpSunPacket->field_0x60 = tmp0; + g_env_light.mpSunPacket->mVisibility = tmp0; + g_env_light.mpSunPacket->mSunAlpha = tmp0; g_env_light.mpSunPacket->field_0x64 = tmp0; g_env_light.mpSunPacket->field_0x68 = tmp0; @@ -854,7 +854,7 @@ static void wether_move_sun() { g_env_light.mpSunLenzPacket->field_0x8c = lit_4611; f32 tmp0_2 = FLOAT_LABEL(lit_4378); g_env_light.mpSunLenzPacket->field_0x90 = tmp0_2; - g_env_light.mpSunLenzPacket->field_0x98 = tmp0_2; + g_env_light.mpSunLenzPacket->mDistFalloff = tmp0_2; g_env_light.mpSunLenzPacket->mDrawLenzInSky = false; dKyr_sun_move(); dKyr_lenzflare_move(); @@ -1149,7 +1149,7 @@ static void wether_move_housi() { g_env_light.mpHousiPacket->mpResTex = (u8*)dComIfG_getObjectRes("Always", 0x5E); } else { if (g_env_light.field_0xea9 == 2) { - if (g_env_light.field_0x12fe == 3) { + if (g_env_light.mPondSeason == 3) { g_env_light.mpHousiPacket->mpResTex = (u8*)dComIfG_getStageRes("momiji64s3tc.bti"); } else { @@ -1528,8 +1528,8 @@ void dKyw_wether_proc() { // Stage is Fishing Pond if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") && - (g_env_light.field_0x12fe == 1 || g_env_light.field_0x12fe == 3)) { - if (g_env_light.field_0x12fe == 1) { + (g_env_light.mPondSeason == 1 || g_env_light.mPondSeason == 3)) { + if (g_env_light.mPondSeason == 1) { g_env_light.mHousiCount = 35; } else { g_env_light.mHousiCount = 30; diff --git a/src/d/s/d_s_play.cpp b/src/d/s/d_s_play.cpp index 0e6f131a73..466a081c7f 100644 --- a/src/d/s/d_s_play.cpp +++ b/src/d/s/d_s_play.cpp @@ -588,10 +588,10 @@ void dScnPly_c::offReset() { /* 80259C70-80259CAC 2545B0 003C+00 1/0 0/0 0/0 .text phase_00__FP9dScnPly_c */ static int phase_00(dScnPly_c* scn) { if (!scn->resetGame()) { - return cPhs_ZERO_e; + return cPhs_INIT_e; } else { mDoGph_gInf_c::offBlure(); - return cPhs_TWO_e; + return cPhs_NEXT_e; } } @@ -614,15 +614,15 @@ static int phase_01(dScnPly_c* scn) { mDoAud_setSceneName(dComIfGp_getStartStageName(), start_room, layer); if (!mDoAud_load1stDynamicWave()) { - return cPhs_ZERO_e; + return cPhs_INIT_e; } else { - return cPhs_TWO_e; + return cPhs_NEXT_e; } } /* 80259D7C-80259D84 2546BC 0008+00 1/0 0/0 0/0 .text phase_0__FP9dScnPly_c */ static int phase_0(dScnPly_c* param_0) { - return cPhs_TWO_e; + return cPhs_NEXT_e; } /* 80259D84-8025A438 2546C4 06B4+00 1/0 0/0 0/0 .text phase_1__FP9dScnPly_c */ @@ -741,10 +741,10 @@ static int phase_1(dScnPly_c* scn) { // Stage: Fishing Pond, Room: Fishing Pond if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") && dComIfGp_getStartStageRoomNo() == 0 && dComIfGp_getStartStagePoint() == 2) { - g_env_light.field_0x12fe++; + g_env_light.mPondSeason++; - if (g_env_light.field_0x12fe > 4) { - g_env_light.field_0x12fe = 1; + if (g_env_light.mPondSeason > 4) { + g_env_light.mPondSeason = 1; } } @@ -757,19 +757,19 @@ static int phase_1(dScnPly_c* scn) { if (dComIfG_syncStageRes("Stg_00") < 0) { dComIfG_setStageRes("Stg_00", NULL); } - return cPhs_TWO_e; + return cPhs_NEXT_e; } /* 8025A438-8025A4F8 254D78 00C0+00 1/0 0/0 0/0 .text phase_1_0__FP9dScnPly_c */ static int phase_1_0(dScnPly_c* param_0) { if (dComIfG_syncStageRes("Stg_00")) { - return cPhs_ZERO_e; + return cPhs_INIT_e; } else { dStage_infoCreate(); dComIfG_setObjectRes("Event", (u8)0, NULL); dComIfGp_setCameraParamFileName(0, camparamarc); dComIfG_setObjectRes("CamParam", (u8)0, NULL); - return cPhs_TWO_e; + return cPhs_NEXT_e; } } @@ -779,7 +779,7 @@ static int phase_1_0(dScnPly_c* param_0) { static int phase_2(dScnPly_c* scn) { int tmp = dComIfG_syncAllObjectRes(); if (tmp >= 0 && tmp != 0) { - return cPhs_ZERO_e; + return cPhs_INIT_e; } int layer = dComIfG_play_c::getLayerNo(0); stage_stag_info_class* stag_info = i_dComIfGp_getStage()->getStagInfo(); @@ -791,7 +791,7 @@ static int phase_2(dScnPly_c* scn) { dComIfGp_particle_readScene(particle_no, &scn->sceneCommand); dMsgObject_readMessageGroup(&scn->field_0x1d0); - return cPhs_TWO_e; + return cPhs_NEXT_e; } #else #pragma push @@ -807,11 +807,11 @@ static asm int phase_2(dScnPly_c* param_0) { /* 8025A5D4-8025A654 254F14 0080+00 1/0 0/0 0/0 .text phase_3__FP9dScnPly_c */ static int phase_3(dScnPly_c* scn) { if ((scn->sceneCommand != NULL && !scn->sceneCommand->sync()) || mDoAud_check1stDynamicWave()) { - return cPhs_ZERO_e; + return cPhs_INIT_e; } else if (!scn->field_0x1d0 == NULL && !scn->field_0x1d0->sync()) { - return cPhs_ZERO_e; + return cPhs_INIT_e; } else { - return cPhs_TWO_e; + return cPhs_NEXT_e; } } @@ -940,7 +940,7 @@ static int phase_4(dScnPly_c* i_this) { } resPreLoadTime0 = OSGetTime(); - return cPhs_TWO_e; + return cPhs_NEXT_e; } #else #pragma push diff --git a/src/f_op/f_op_overlap_req.cpp b/src/f_op/f_op_overlap_req.cpp index 1c69910fa7..ef02ca0ac5 100644 --- a/src/f_op/f_op_overlap_req.cpp +++ b/src/f_op/f_op_overlap_req.cpp @@ -135,12 +135,12 @@ int fopOvlpReq_Handler(overlap_request_class* i_overlapReq) { int phase_state = cPhs_Do(&i_overlapReq->field_0x18, i_overlapReq); switch (phase_state) { - case cPhs_TWO_e: + case cPhs_NEXT_e: return fopOvlpReq_Handler(i_overlapReq); - case cPhs_ZERO_e: - return cPhs_ZERO_e; - case cPhs_ONE_e: - return cPhs_ZERO_e; + case cPhs_INIT_e: + return cPhs_INIT_e; + case cPhs_LOADING_e: + return cPhs_INIT_e; case cPhs_COMPLEATE_e: return cPhs_COMPLEATE_e; case cPhs_UNK3_e: diff --git a/src/f_op/f_op_scene_req.cpp b/src/f_op/f_op_scene_req.cpp index 2c727692ae..1e112a920d 100644 --- a/src/f_op/f_op_scene_req.cpp +++ b/src/f_op/f_op_scene_req.cpp @@ -13,9 +13,9 @@ * fopScnRq_phase_ClearOverlap__FP19scene_request_class */ static cPhs__Step fopScnRq_phase_ClearOverlap(scene_request_class* i_sceneReq) { if (fopOvlpM_ClearOfReq() == 1) { - return cPhs_TWO_e; + return cPhs_NEXT_e; } else { - return cPhs_ZERO_e; + return cPhs_INIT_e; } } @@ -29,9 +29,9 @@ static cPhs__Step fopScnRq_phase_Execute(scene_request_class* i_sceneReq) { * fopScnRq_phase_IsDoingOverlap__FP19scene_request_class */ static cPhs__Step fopScnRq_phase_IsDoingOverlap(scene_request_class* i_sceneReq) { if (fopOvlpM_IsDoingReq() == 1) { - return cPhs_TWO_e; + return cPhs_NEXT_e; } else { - return cPhs_ZERO_e; + return cPhs_INIT_e; } } @@ -39,9 +39,9 @@ static cPhs__Step fopScnRq_phase_IsDoingOverlap(scene_request_class* i_sceneReq) * fopScnRq_phase_IsDoneOverlap__FP19scene_request_class */ static cPhs__Step fopScnRq_phase_IsDoneOverlap(scene_request_class* i_sceneReq) { if (fopOvlpM_IsDone() == 1) { - return cPhs_TWO_e; + return cPhs_NEXT_e; } else { - return cPhs_ZERO_e; + return cPhs_INIT_e; } } @@ -56,7 +56,7 @@ static cPhs__Step fopScnRq_phase_Done(scene_request_class* i_sceneReq) { fopScnPause_Disable((scene_class*)fpcEx_SearchByID(i_sceneReq->mCrtReq.mCreatingID)); } l_fopScnRq_IsUsingOfOverlap = 0; - return cPhs_TWO_e; + return cPhs_NEXT_e; } /* 8001EF24-8001EF6C 019864 0048+00 1/0 0/0 0/0 .text fopScnRq_Execute__FP19scene_request_class */ diff --git a/src/f_pc/f_pc_base.cpp b/src/f_pc/f_pc_base.cpp index 57d4fcfca2..833b503bca 100644 --- a/src/f_pc/f_pc_base.cpp +++ b/src/f_pc/f_pc_base.cpp @@ -117,11 +117,11 @@ s32 fpcBs_SubCreate(base_process_class* i_proc) { fpcBs_DeleteAppend(i_proc); i_proc->mUnk2 = 2; return 2; - case cPhs_ZERO_e: + case cPhs_INIT_e: case 1: i_proc->mInitState = 1; i_proc->mUnk2 = 0; - return cPhs_ZERO_e; + return cPhs_INIT_e; case 3: i_proc->mUnk2 = 3; return 3; diff --git a/src/f_pc/f_pc_node_req.cpp b/src/f_pc/f_pc_node_req.cpp index 4107e18091..6781915a11 100644 --- a/src/f_pc/f_pc_node_req.cpp +++ b/src/f_pc/f_pc_node_req.cpp @@ -36,7 +36,7 @@ void fpcNdRq_ToRequestQ(node_create_request* i_NdCtReq) { * fpcNdRq_phase_IsCreated__FP19node_create_request */ s32 fpcNdRq_phase_IsCreated(node_create_request* i_NdCtReq) { if (fpcCtRq_IsCreatingByID(i_NdCtReq->mCreatingID) == TRUE) { - return cPhs_ZERO_e; + return cPhs_INIT_e; } else { return fpcEx_IsExist(i_NdCtReq->mCreatingID) == TRUE ? 2 : 3; } @@ -61,7 +61,7 @@ s32 fpcNdRq_phase_IsDeleteTiming(node_create_request* i_NdCtReq) { /* 8002290C-8002293C 0030+00 s=2 e=0 z=0 None .text * fpcNdRq_phase_IsDeleted__FP19node_create_request */ s32 fpcNdRq_phase_IsDeleted(node_create_request* i_NdCtReq) { - return fpcDt_IsComplete() == 0 ? cPhs_ZERO_e : 2; + return fpcDt_IsComplete() == 0 ? cPhs_INIT_e : 2; } /* 8002293C-80022990 0054+00 s=2 e=0 z=0 None .text fpcNdRq_phase_Delete__FP19node_create_request @@ -69,7 +69,7 @@ s32 fpcNdRq_phase_IsDeleted(node_create_request* i_NdCtReq) { s32 fpcNdRq_phase_Delete(node_create_request* i_NdCtReq) { if (i_NdCtReq->mNodeProc.mpNodeProc != NULL) { if (fpcDt_Delete(&i_NdCtReq->mNodeProc.mpNodeProc->mBase) == 0) { - return cPhs_ZERO_e; + return cPhs_INIT_e; } i_NdCtReq->mNodeProc.mpNodeProc = NULL; } diff --git a/src/f_pc/f_pc_stdcreate_req.cpp b/src/f_pc/f_pc_stdcreate_req.cpp index c677785913..94a9d023ea 100644 --- a/src/f_pc/f_pc_stdcreate_req.cpp +++ b/src/f_pc/f_pc_stdcreate_req.cpp @@ -12,7 +12,7 @@ s32 fpcSCtRq_phase_Load(standard_create_request_class* i_SCtReq) { switch (fpcLd_Load(i_SCtReq->mLoadID)) { case 0: - return cPhs_ZERO_e; + return cPhs_INIT_e; case 4: return 2; case 5: @@ -49,7 +49,7 @@ s32 fpcSCtRq_phase_IsComplete(standard_create_request_class* i_SCtReq) { process_node_class* procNode = (process_node_class*)i_SCtReq->mBase.mpRes; if (fpcBs_Is_JustOfType(g_fpcNd_type, procNode->mBase.mSubType) == 1) { if (fpcLy_IsCreatingMesg(&procNode->mLayer) == 1) { - return cPhs_ZERO_e; + return cPhs_INIT_e; } } return 2; @@ -61,7 +61,7 @@ s32 fpcSCtRq_phase_PostMethod(standard_create_request_class* i_SCtReq) { if (i_SCtReq->unk_0x58 != NULL && i_SCtReq->unk_0x58(i_SCtReq->mBase.mpRes, i_SCtReq->unk_0x5C) == 0) { - return cPhs_ZERO_e; + return cPhs_INIT_e; } else { return 2; } @@ -79,11 +79,11 @@ s32 fpcSCtRq_Handler(standard_create_request_class* i_SCtReq) { s32 phase_state = cPhs_Do(&i_SCtReq->unk_0x48, i_SCtReq); switch (phase_state) { - case cPhs_TWO_e: + case cPhs_NEXT_e: return fpcSCtRq_Handler(i_SCtReq); case cPhs_COMPLEATE_e: return cPhs_COMPLEATE_e; - case cPhs_ONE_e: + case cPhs_LOADING_e: case cPhs_ERROR_e: default: return phase_state;