mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-25 16:04:28 -04:00
Merge with upstream
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/ubuntu/.devcontainer/base.Dockerfile
|
||||
|
||||
# [Choice] Ubuntu version (use ubuntu-22.04 or ubuntu-18.04 on local arm64/Apple Silicon): ubuntu-22.04, ubuntu-20.04, ubuntu-18.04
|
||||
ARG VARIANT="jammy"
|
||||
FROM mcr.microsoft.com/vscode/devcontainers/base:0-${VARIANT}
|
||||
|
||||
RUN dpkg --add-architecture i386 && apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
||||
&& apt-get -y install --no-install-recommends build-essential cmake python3-pip wine wine32
|
||||
|
||||
USER vscode
|
||||
|
||||
# Install DevkitPPC
|
||||
WORKDIR /tmp
|
||||
RUN wget https://apt.devkitpro.org/install-devkitpro-pacman
|
||||
RUN chmod +x ./install-devkitpro-pacman
|
||||
RUN yes | sudo ./install-devkitpro-pacman
|
||||
RUN sudo chmod +x ./install-devkitpro-pacman
|
||||
RUN sudo ./install-devkitpro-pacman
|
||||
RUN sudo dkp-pacman -Syu --noconfirm
|
||||
WORKDIR /etc
|
||||
RUN sudo ln -sf /proc/self/mounts mtab
|
||||
RUN sudo dkp-pacman -S --noconfirm gamecube-dev wii-dev
|
||||
@@ -0,0 +1,29 @@
|
||||
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
|
||||
// https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/ubuntu
|
||||
{
|
||||
"name": "Ubuntu",
|
||||
"build": {
|
||||
"dockerfile": "Dockerfile",
|
||||
// Update 'VARIANT' to pick an Ubuntu version: jammy / ubuntu-22.04, focal / ubuntu-20.04, bionic /ubuntu-18.04
|
||||
// Use ubuntu-22.04 or ubuntu-18.04 on local arm64/Apple Silicon.
|
||||
"args": { "VARIANT": "ubuntu-22.04" }
|
||||
},
|
||||
|
||||
"extensions": [
|
||||
"ms-vscode.cpptools-extension-pack",
|
||||
"mhutchie.git-graph"
|
||||
],
|
||||
|
||||
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
||||
// "forwardPorts": [],
|
||||
|
||||
// Use 'postCreateCommand' to run commands after the container is created.
|
||||
"updateContentCommand": "python3 -m pip install --user -r tools/requirements.txt",
|
||||
"postCreateCommand": "./tp setup || echo \"\\nMake sure you put the compiler in the appropriate folder and copied the ISO in the right folder.\\nThen run \\\"./tp setup\\\" again.\\n\"",
|
||||
|
||||
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
|
||||
"remoteUser": "vscode",
|
||||
"features": {
|
||||
"python": "3.8"
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
lbl_8015E010:
|
||||
/* 8015E010 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8015E014 7C 08 02 A6 */ mflr r0
|
||||
/* 8015E018 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8015E01C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 8015E020 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 8015E024 4B EB AB 41 */ bl __ct__10fopAc_ac_cFv
|
||||
/* 8015E028 3C 60 80 3C */ lis r3, __vt__9dInsect_c@ha /* 0x803BA078@ha */
|
||||
/* 8015E02C 38 03 A0 78 */ addi r0, r3, __vt__9dInsect_c@l /* 0x803BA078@l */
|
||||
/* 8015E030 90 1F 05 68 */ stw r0, 0x568(r31)
|
||||
/* 8015E034 38 00 FF FF */ li r0, -1
|
||||
/* 8015E038 90 1F 05 88 */ stw r0, 0x588(r31)
|
||||
/* 8015E03C 38 60 00 00 */ li r3, 0
|
||||
/* 8015E040 98 7F 05 6C */ stb r3, 0x56c(r31)
|
||||
/* 8015E044 38 00 00 01 */ li r0, 1
|
||||
/* 8015E048 98 1F 05 6D */ stb r0, 0x56d(r31)
|
||||
/* 8015E04C 90 7F 05 8C */ stw r3, 0x58c(r31)
|
||||
/* 8015E050 38 00 00 D6 */ li r0, 0xd6
|
||||
/* 8015E054 98 1F 05 80 */ stb r0, 0x580(r31)
|
||||
/* 8015E058 98 7F 05 84 */ stb r3, 0x584(r31)
|
||||
/* 8015E05C 98 7F 05 85 */ stb r3, 0x585(r31)
|
||||
/* 8015E060 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8015E064 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 8015E068 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8015E06C 7C 08 03 A6 */ mtlr r0
|
||||
/* 8015E070 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8015E074 4E 80 00 20 */ blr
|
||||
@@ -1,6 +0,0 @@
|
||||
lbl_80035C8C:
|
||||
/* 80035C8C 38 00 00 00 */ li r0, 0
|
||||
/* 80035C90 90 03 00 04 */ stw r0, 4(r3)
|
||||
/* 80035C94 90 03 00 00 */ stw r0, 0(r3)
|
||||
/* 80035C98 90 03 00 08 */ stw r0, 8(r3)
|
||||
/* 80035C9C 4E 80 00 20 */ blr
|
||||
@@ -1,12 +0,0 @@
|
||||
lbl_80035CA0:
|
||||
/* 80035CA0 90 A3 00 00 */ stw r5, 0(r3)
|
||||
/* 80035CA4 90 C3 00 04 */ stw r6, 4(r3)
|
||||
/* 80035CA8 90 E3 00 08 */ stw r7, 8(r3)
|
||||
/* 80035CAC 38 00 00 00 */ li r0, 0
|
||||
/* 80035CB0 90 03 00 0C */ stw r0, 0xc(r3)
|
||||
/* 80035CB4 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80035CB8 41 82 00 08 */ beq lbl_80035CC0
|
||||
/* 80035CBC 90 64 05 28 */ stw r3, 0x528(r4)
|
||||
lbl_80035CC0:
|
||||
/* 80035CC0 38 60 00 01 */ li r3, 1
|
||||
/* 80035CC4 4E 80 00 20 */ blr
|
||||
@@ -1,37 +0,0 @@
|
||||
lbl_80036FA8:
|
||||
/* 80036FA8 94 21 FF D0 */ stwu r1, -0x30(r1)
|
||||
/* 80036FAC 7C 08 02 A6 */ mflr r0
|
||||
/* 80036FB0 90 01 00 34 */ stw r0, 0x34(r1)
|
||||
/* 80036FB4 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 80036FB8 48 32 B2 1D */ bl _savegpr_27
|
||||
/* 80036FBC 7C 7B 1B 78 */ mr r27, r3
|
||||
/* 80036FC0 7C 9C 23 78 */ mr r28, r4
|
||||
/* 80036FC4 7C FD 3B 78 */ mr r29, r7
|
||||
/* 80036FC8 7D 1E 43 78 */ mr r30, r8
|
||||
/* 80036FCC 80 63 00 04 */ lwz r3, 4(r3)
|
||||
/* 80036FD0 80 63 00 84 */ lwz r3, 0x84(r3)
|
||||
/* 80036FD4 80 03 00 0C */ lwz r0, 0xc(r3)
|
||||
/* 80036FD8 1F E6 00 30 */ mulli r31, r6, 0x30
|
||||
/* 80036FDC 7C 60 FA 14 */ add r3, r0, r31
|
||||
/* 80036FE0 7C A4 2B 78 */ mr r4, r5
|
||||
/* 80036FE4 38 A1 00 08 */ addi r5, r1, 8
|
||||
/* 80036FE8 48 30 FE 65 */ bl PSMTXMultVecSR
|
||||
/* 80036FEC 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 80036FF0 48 23 01 61 */ bl atan2sY_XZ__4cXyzCFv
|
||||
/* 80036FF4 B0 7E 00 00 */ sth r3, 0(r30)
|
||||
/* 80036FF8 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 80036FFC 48 23 01 2D */ bl atan2sX_Z__4cXyzCFv
|
||||
/* 80037000 B0 7E 00 02 */ sth r3, 2(r30)
|
||||
/* 80037004 80 7B 00 04 */ lwz r3, 4(r27)
|
||||
/* 80037008 80 63 00 84 */ lwz r3, 0x84(r3)
|
||||
/* 8003700C 80 03 00 0C */ lwz r0, 0xc(r3)
|
||||
/* 80037010 7C 60 FA 14 */ add r3, r0, r31
|
||||
/* 80037014 7F 84 E3 78 */ mr r4, r28
|
||||
/* 80037018 7F A5 EB 78 */ mr r5, r29
|
||||
/* 8003701C 48 30 FD 51 */ bl PSMTXMultVec
|
||||
/* 80037020 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 80037024 48 32 B1 FD */ bl _restgpr_27
|
||||
/* 80037028 80 01 00 34 */ lwz r0, 0x34(r1)
|
||||
/* 8003702C 7C 08 03 A6 */ mtlr r0
|
||||
/* 80037030 38 21 00 30 */ addi r1, r1, 0x30
|
||||
/* 80037034 4E 80 00 20 */ blr
|
||||
@@ -1,21 +0,0 @@
|
||||
lbl_801ADFB4:
|
||||
/* 801ADFB4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 801ADFB8 7C 08 02 A6 */ mflr r0
|
||||
/* 801ADFBC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 801ADFC0 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 801ADFC4 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 801ADFC8 4B E6 12 2D */ bl mDoExt_restoreCurrentHeap__Fv
|
||||
/* 801ADFCC 80 7F 00 F8 */ lwz r3, 0xf8(r31)
|
||||
/* 801ADFD0 4B E6 10 BD */ bl mDoExt_adjustSolidHeap__FP12JKRSolidHeap
|
||||
/* 801ADFD4 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 801ADFD8 41 80 00 14 */ blt lbl_801ADFEC
|
||||
/* 801ADFDC 80 7F 00 F8 */ lwz r3, 0xf8(r31)
|
||||
/* 801ADFE0 80 83 00 38 */ lwz r4, 0x38(r3)
|
||||
/* 801ADFE4 80 63 00 30 */ lwz r3, 0x30(r3)
|
||||
/* 801ADFE8 48 18 D6 51 */ bl DCStoreRangeNoSync
|
||||
lbl_801ADFEC:
|
||||
/* 801ADFEC 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 801ADFF0 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 801ADFF4 7C 08 03 A6 */ mtlr r0
|
||||
/* 801ADFF8 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 801ADFFC 4E 80 00 20 */ blr
|
||||
@@ -1,26 +0,0 @@
|
||||
lbl_801ADF58:
|
||||
/* 801ADF58 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 801ADF5C 7C 08 02 A6 */ mflr r0
|
||||
/* 801ADF60 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 801ADF64 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 801ADF68 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 801ADF6C 80 03 00 F8 */ lwz r0, 0xf8(r3)
|
||||
/* 801ADF70 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 801ADF74 40 82 00 28 */ bne lbl_801ADF9C
|
||||
/* 801ADF78 38 60 00 00 */ li r3, 0
|
||||
/* 801ADF7C 38 80 00 20 */ li r4, 0x20
|
||||
/* 801ADF80 4B E6 10 C5 */ bl mDoExt_createSolidHeapFromGameToCurrent__FUlUl
|
||||
/* 801ADF84 90 7F 00 F8 */ stw r3, 0xf8(r31)
|
||||
/* 801ADF88 80 1F 00 F8 */ lwz r0, 0xf8(r31)
|
||||
/* 801ADF8C 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 801ADF90 40 82 00 0C */ bne lbl_801ADF9C
|
||||
/* 801ADF94 38 60 00 00 */ li r3, 0
|
||||
/* 801ADF98 48 00 00 08 */ b lbl_801ADFA0
|
||||
lbl_801ADF9C:
|
||||
/* 801ADF9C 38 60 00 01 */ li r3, 1
|
||||
lbl_801ADFA0:
|
||||
/* 801ADFA0 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 801ADFA4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 801ADFA8 7C 08 03 A6 */ mtlr r0
|
||||
/* 801ADFAC 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 801ADFB0 4E 80 00 20 */ blr
|
||||
@@ -1,15 +0,0 @@
|
||||
lbl_80195940:
|
||||
/* 80195940 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80195944 7C 08 02 A6 */ mflr r0
|
||||
/* 80195948 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8019594C D0 24 00 D4 */ stfs f1, 0xd4(r4)
|
||||
/* 80195950 D0 44 00 D8 */ stfs f2, 0xd8(r4)
|
||||
/* 80195954 7C 83 23 78 */ mr r3, r4
|
||||
/* 80195958 81 84 00 00 */ lwz r12, 0(r4)
|
||||
/* 8019595C 81 8C 00 2C */ lwz r12, 0x2c(r12)
|
||||
/* 80195960 7D 89 03 A6 */ mtctr r12
|
||||
/* 80195964 4E 80 04 21 */ bctrl
|
||||
/* 80195968 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8019596C 7C 08 03 A6 */ mtlr r0
|
||||
/* 80195970 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80195974 4E 80 00 20 */ blr
|
||||
@@ -1,39 +0,0 @@
|
||||
lbl_801952A0:
|
||||
/* 801952A0 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 801952A4 7C 08 02 A6 */ mflr r0
|
||||
/* 801952A8 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 801952AC DB E1 00 10 */ stfd f31, 0x10(r1)
|
||||
/* 801952B0 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */
|
||||
/* 801952B4 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 801952B8 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 801952BC FF E0 08 90 */ fmr f31, f1
|
||||
/* 801952C0 C0 02 A0 50 */ lfs f0, lit_3808(r2)
|
||||
/* 801952C4 FC 1F 00 40 */ fcmpo cr0, f31, f0
|
||||
/* 801952C8 40 81 00 20 */ ble lbl_801952E8
|
||||
/* 801952CC 80 7F 00 10 */ lwz r3, 0x10(r31)
|
||||
/* 801952D0 48 0C 03 7D */ bl isVisible__13CPaneMgrAlphaFv
|
||||
/* 801952D4 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 801952D8 40 82 00 30 */ bne lbl_80195308
|
||||
/* 801952DC 80 7F 00 10 */ lwz r3, 0x10(r31)
|
||||
/* 801952E0 48 0C 02 E9 */ bl show__13CPaneMgrAlphaFv
|
||||
/* 801952E4 48 00 00 24 */ b lbl_80195308
|
||||
lbl_801952E8:
|
||||
/* 801952E8 FF E0 00 90 */ fmr f31, f0
|
||||
/* 801952EC 80 7F 00 10 */ lwz r3, 0x10(r31)
|
||||
/* 801952F0 48 0C 03 5D */ bl isVisible__13CPaneMgrAlphaFv
|
||||
/* 801952F4 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 801952F8 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 801952FC 40 82 00 0C */ bne lbl_80195308
|
||||
/* 80195300 80 7F 00 10 */ lwz r3, 0x10(r31)
|
||||
/* 80195304 48 0C 03 05 */ bl hide__13CPaneMgrAlphaFv
|
||||
lbl_80195308:
|
||||
/* 80195308 80 7F 00 10 */ lwz r3, 0x10(r31)
|
||||
/* 8019530C FC 20 F8 90 */ fmr f1, f31
|
||||
/* 80195310 48 0C 04 C1 */ bl setAlphaRate__13CPaneMgrAlphaFf
|
||||
/* 80195314 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */
|
||||
/* 80195318 CB E1 00 10 */ lfd f31, 0x10(r1)
|
||||
/* 8019531C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80195320 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80195324 7C 08 03 A6 */ mtlr r0
|
||||
/* 80195328 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 8019532C 4E 80 00 20 */ blr
|
||||
@@ -1,25 +0,0 @@
|
||||
lbl_801958E0:
|
||||
/* 801958E0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 801958E4 7C 08 02 A6 */ mflr r0
|
||||
/* 801958E8 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 801958EC 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 801958F0 7C 9F 23 78 */ mr r31, r4
|
||||
/* 801958F4 80 63 00 04 */ lwz r3, 4(r3)
|
||||
/* 801958F8 3C 80 5F 69 */ lis r4, 0x5F69 /* 0x5F69636F@ha */
|
||||
/* 801958FC 38 C4 63 6F */ addi r6, r4, 0x636F /* 0x5F69636F@l */
|
||||
/* 80195900 3C 80 73 73 */ lis r4, 0x7373 /* 0x7373656C@ha */
|
||||
/* 80195904 38 A4 65 6C */ addi r5, r4, 0x656C /* 0x7373656C@l */
|
||||
/* 80195908 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 8019590C 81 8C 00 3C */ lwz r12, 0x3c(r12)
|
||||
/* 80195910 7D 89 03 A6 */ mtctr r12
|
||||
/* 80195914 4E 80 04 21 */ bctrl
|
||||
/* 80195918 7F E4 FB 78 */ mr r4, r31
|
||||
/* 8019591C 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 80195920 81 8C 00 60 */ lwz r12, 0x60(r12)
|
||||
/* 80195924 7D 89 03 A6 */ mtctr r12
|
||||
/* 80195928 4E 80 04 21 */ bctrl
|
||||
/* 8019592C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80195930 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80195934 7C 08 03 A6 */ mtlr r0
|
||||
/* 80195938 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8019593C 4E 80 00 20 */ blr
|
||||
@@ -1,7 +0,0 @@
|
||||
lbl_801951B0:
|
||||
/* 801951B0 D0 23 00 60 */ stfs f1, 0x60(r3)
|
||||
/* 801951B4 D0 43 00 64 */ stfs f2, 0x64(r3)
|
||||
/* 801951B8 D0 63 00 68 */ stfs f3, 0x68(r3)
|
||||
/* 801951BC D0 83 00 6C */ stfs f4, 0x6c(r3)
|
||||
/* 801951C0 D0 A3 00 70 */ stfs f5, 0x70(r3)
|
||||
/* 801951C4 4E 80 00 20 */ blr
|
||||
@@ -1,13 +0,0 @@
|
||||
lbl_8006FE5C:
|
||||
/* 8006FE5C 38 80 00 00 */ li r4, 0
|
||||
/* 8006FE60 80 03 00 2C */ lwz r0, 0x2c(r3)
|
||||
/* 8006FE64 2C 00 FF FF */ cmpwi r0, -1
|
||||
/* 8006FE68 40 82 00 10 */ bne lbl_8006FE78
|
||||
/* 8006FE6C 80 03 00 70 */ lwz r0, 0x70(r3)
|
||||
/* 8006FE70 2C 00 FF FF */ cmpwi r0, -1
|
||||
/* 8006FE74 41 82 00 08 */ beq lbl_8006FE7C
|
||||
lbl_8006FE78:
|
||||
/* 8006FE78 38 80 00 01 */ li r4, 1
|
||||
lbl_8006FE7C:
|
||||
/* 8006FE7C 7C 83 23 78 */ mr r3, r4
|
||||
/* 8006FE80 4E 80 00 20 */ blr
|
||||
@@ -1,14 +0,0 @@
|
||||
lbl_8006FF04:
|
||||
/* 8006FF04 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8006FF08 7C 08 02 A6 */ mflr r0
|
||||
/* 8006FF0C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8006FF10 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 8006FF14 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 8006FF18 4B FF FE E9 */ bl Kill__12dVibration_cFv
|
||||
/* 8006FF1C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8006FF20 4B FF FF 65 */ bl setDefault__12dVibration_cFv
|
||||
/* 8006FF24 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 8006FF28 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8006FF2C 7C 08 03 A6 */ mtlr r0
|
||||
/* 8006FF30 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8006FF34 4E 80 00 20 */ blr
|
||||
@@ -1,24 +0,0 @@
|
||||
lbl_8006FE00:
|
||||
/* 8006FE00 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8006FE04 7C 08 02 A6 */ mflr r0
|
||||
/* 8006FE08 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8006FE0C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 8006FE10 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 8006FE14 3C 60 80 3E */ lis r3, m_gamePad__8mDoCPd_c@ha /* 0x803DD2D8@ha */
|
||||
/* 8006FE18 80 83 D2 D8 */ lwz r4, m_gamePad__8mDoCPd_c@l(r3) /* 0x803DD2D8@l */
|
||||
/* 8006FE1C 38 64 00 68 */ addi r3, r4, 0x68
|
||||
/* 8006FE20 A8 84 00 7C */ lha r4, 0x7c(r4)
|
||||
/* 8006FE24 48 27 1B 25 */ bl stopPatternedRumble__Q210JUTGamePad7CRumbleFs
|
||||
/* 8006FE28 3C 60 80 3E */ lis r3, m_gamePad__8mDoCPd_c@ha /* 0x803DD2D8@ha */
|
||||
/* 8006FE2C 38 63 D2 D8 */ addi r3, r3, m_gamePad__8mDoCPd_c@l /* 0x803DD2D8@l */
|
||||
/* 8006FE30 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 8006FE34 A8 63 00 7C */ lha r3, 0x7c(r3)
|
||||
/* 8006FE38 38 80 00 01 */ li r4, 1
|
||||
/* 8006FE3C 48 27 18 51 */ bl stopMotor__Q210JUTGamePad7CRumbleFib
|
||||
/* 8006FE40 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8006FE44 48 00 00 41 */ bl setDefault__12dVibration_cFv
|
||||
/* 8006FE48 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 8006FE4C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8006FE50 7C 08 03 A6 */ mtlr r0
|
||||
/* 8006FE54 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8006FE58 4E 80 00 20 */ blr
|
||||
@@ -1,54 +0,0 @@
|
||||
lbl_8006FF38:
|
||||
/* 8006FF38 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8006FF3C 7C 08 02 A6 */ mflr r0
|
||||
/* 8006FF40 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8006FF44 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 8006FF48 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 8006FF4C 80 03 00 8C */ lwz r0, 0x8c(r3)
|
||||
/* 8006FF50 2C 00 FF FF */ cmpwi r0, -1
|
||||
/* 8006FF54 41 82 00 90 */ beq lbl_8006FFE4
|
||||
/* 8006FF58 80 1F 00 54 */ lwz r0, 0x54(r31)
|
||||
/* 8006FF5C 2C 00 FF FF */ cmpwi r0, -1
|
||||
/* 8006FF60 40 82 00 10 */ bne lbl_8006FF70
|
||||
/* 8006FF64 80 1F 00 70 */ lwz r0, 0x70(r31)
|
||||
/* 8006FF68 2C 00 FF FF */ cmpwi r0, -1
|
||||
/* 8006FF6C 41 82 00 30 */ beq lbl_8006FF9C
|
||||
lbl_8006FF70:
|
||||
/* 8006FF70 3C 60 80 3E */ lis r3, m_gamePad__8mDoCPd_c@ha /* 0x803DD2D8@ha */
|
||||
/* 8006FF74 80 83 D2 D8 */ lwz r4, m_gamePad__8mDoCPd_c@l(r3) /* 0x803DD2D8@l */
|
||||
/* 8006FF78 38 64 00 68 */ addi r3, r4, 0x68
|
||||
/* 8006FF7C A8 84 00 7C */ lha r4, 0x7c(r4)
|
||||
/* 8006FF80 48 27 19 C9 */ bl stopPatternedRumble__Q210JUTGamePad7CRumbleFs
|
||||
/* 8006FF84 3C 60 80 3E */ lis r3, m_gamePad__8mDoCPd_c@ha /* 0x803DD2D8@ha */
|
||||
/* 8006FF88 38 63 D2 D8 */ addi r3, r3, m_gamePad__8mDoCPd_c@l /* 0x803DD2D8@l */
|
||||
/* 8006FF8C 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 8006FF90 A8 63 00 7C */ lha r3, 0x7c(r3)
|
||||
/* 8006FF94 38 80 00 01 */ li r4, 1
|
||||
/* 8006FF98 48 27 16 F5 */ bl stopMotor__Q210JUTGamePad7CRumbleFib
|
||||
lbl_8006FF9C:
|
||||
/* 8006FF9C 38 00 FF FF */ li r0, -1
|
||||
/* 8006FFA0 90 1F 00 54 */ stw r0, 0x54(r31)
|
||||
/* 8006FFA4 90 1F 00 04 */ stw r0, 4(r31)
|
||||
/* 8006FFA8 38 00 FF 9D */ li r0, -99
|
||||
/* 8006FFAC 90 1F 00 64 */ stw r0, 0x64(r31)
|
||||
/* 8006FFB0 90 1F 00 24 */ stw r0, 0x24(r31)
|
||||
/* 8006FFB4 80 1F 00 2C */ lwz r0, 0x2c(r31)
|
||||
/* 8006FFB8 2C 00 FF FF */ cmpwi r0, -1
|
||||
/* 8006FFBC 41 82 00 0C */ beq lbl_8006FFC8
|
||||
/* 8006FFC0 38 00 00 00 */ li r0, 0
|
||||
/* 8006FFC4 90 1F 00 4C */ stw r0, 0x4c(r31)
|
||||
lbl_8006FFC8:
|
||||
/* 8006FFC8 80 1F 00 70 */ lwz r0, 0x70(r31)
|
||||
/* 8006FFCC 2C 00 FF FF */ cmpwi r0, -1
|
||||
/* 8006FFD0 41 82 00 0C */ beq lbl_8006FFDC
|
||||
/* 8006FFD4 38 00 00 00 */ li r0, 0
|
||||
/* 8006FFD8 90 1F 00 80 */ stw r0, 0x80(r31)
|
||||
lbl_8006FFDC:
|
||||
/* 8006FFDC 38 00 FF FF */ li r0, -1
|
||||
/* 8006FFE0 90 1F 00 8C */ stw r0, 0x8c(r31)
|
||||
lbl_8006FFE4:
|
||||
/* 8006FFE4 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 8006FFE8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8006FFEC 7C 08 03 A6 */ mtlr r0
|
||||
/* 8006FFF0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8006FFF4 4E 80 00 20 */ blr
|
||||
@@ -1,9 +0,0 @@
|
||||
lbl_8006FFF8:
|
||||
/* 8006FFF8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8006FFFC 7C 08 02 A6 */ mflr r0
|
||||
/* 80070000 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80070004 4B FF FD FD */ bl Kill__12dVibration_cFv
|
||||
/* 80070008 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8007000C 7C 08 03 A6 */ mtlr r0
|
||||
/* 80070010 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80070014 4E 80 00 20 */ blr
|
||||
@@ -1,66 +0,0 @@
|
||||
lbl_8006FB10:
|
||||
/* 8006FB10 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 8006FB14 7C 08 02 A6 */ mflr r0
|
||||
/* 8006FB18 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 8006FB1C 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 8006FB20 48 2F 26 BD */ bl _savegpr_29
|
||||
/* 8006FB24 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 8006FB28 7C 9F 23 78 */ mr r31, r4
|
||||
/* 8006FB2C 3B A0 00 00 */ li r29, 0
|
||||
/* 8006FB30 54 A0 06 7D */ rlwinm. r0, r5, 0, 0x19, 0x1e
|
||||
/* 8006FB34 41 82 00 58 */ beq lbl_8006FB8C
|
||||
/* 8006FB38 93 FE 00 2C */ stw r31, 0x2c(r30)
|
||||
/* 8006FB3C 38 00 00 00 */ li r0, 0
|
||||
/* 8006FB40 90 1E 00 4C */ stw r0, 0x4c(r30)
|
||||
/* 8006FB44 90 BE 00 3C */ stw r5, 0x3c(r30)
|
||||
/* 8006FB48 C0 06 00 00 */ lfs f0, 0(r6)
|
||||
/* 8006FB4C D0 1E 00 40 */ stfs f0, 0x40(r30)
|
||||
/* 8006FB50 C0 06 00 04 */ lfs f0, 4(r6)
|
||||
/* 8006FB54 D0 1E 00 44 */ stfs f0, 0x44(r30)
|
||||
/* 8006FB58 C0 06 00 08 */ lfs f0, 8(r6)
|
||||
/* 8006FB5C D0 1E 00 48 */ stfs f0, 0x48(r30)
|
||||
/* 8006FB60 3C 60 80 38 */ lis r3, CQ_patt__12dVibration_c@ha /* 0x8037A720@ha */
|
||||
/* 8006FB64 38 83 A7 20 */ addi r4, r3, CQ_patt__12dVibration_c@l /* 0x8037A720@l */
|
||||
/* 8006FB68 57 E6 18 38 */ slwi r6, r31, 3
|
||||
/* 8006FB6C 7C 64 32 14 */ add r3, r4, r6
|
||||
/* 8006FB70 80 03 00 04 */ lwz r0, 4(r3)
|
||||
/* 8006FB74 90 1E 00 30 */ stw r0, 0x30(r30)
|
||||
/* 8006FB78 A0 03 00 02 */ lhz r0, 2(r3)
|
||||
/* 8006FB7C 90 1E 00 34 */ stw r0, 0x34(r30)
|
||||
/* 8006FB80 7C 04 32 2E */ lhzx r0, r4, r6
|
||||
/* 8006FB84 90 1E 00 38 */ stw r0, 0x38(r30)
|
||||
/* 8006FB88 3B A0 00 01 */ li r29, 1
|
||||
lbl_8006FB8C:
|
||||
/* 8006FB8C 54 A0 07 FF */ clrlwi. r0, r5, 0x1f
|
||||
/* 8006FB90 41 82 00 60 */ beq lbl_8006FBF0
|
||||
/* 8006FB94 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8006FB98 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 8006FB9C 38 63 01 E0 */ addi r3, r3, 0x1e0
|
||||
/* 8006FBA0 4B FC 4A A5 */ bl checkVibration__19dSv_player_config_cCFv
|
||||
/* 8006FBA4 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 8006FBA8 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 8006FBAC 40 82 00 44 */ bne lbl_8006FBF0
|
||||
/* 8006FBB0 93 FE 00 70 */ stw r31, 0x70(r30)
|
||||
/* 8006FBB4 38 00 00 00 */ li r0, 0
|
||||
/* 8006FBB8 90 1E 00 80 */ stw r0, 0x80(r30)
|
||||
/* 8006FBBC 3C 60 80 38 */ lis r3, MQ_patt__12dVibration_c@ha /* 0x8037A6D0@ha */
|
||||
/* 8006FBC0 38 03 A6 D0 */ addi r0, r3, MQ_patt__12dVibration_c@l /* 0x8037A6D0@l */
|
||||
/* 8006FBC4 57 E4 18 38 */ slwi r4, r31, 3
|
||||
/* 8006FBC8 7C 60 22 14 */ add r3, r0, r4
|
||||
/* 8006FBCC 80 03 00 04 */ lwz r0, 4(r3)
|
||||
/* 8006FBD0 90 1E 00 74 */ stw r0, 0x74(r30)
|
||||
/* 8006FBD4 A0 03 00 02 */ lhz r0, 2(r3)
|
||||
/* 8006FBD8 90 1E 00 78 */ stw r0, 0x78(r30)
|
||||
/* 8006FBDC 3C 60 80 38 */ lis r3, CQ_patt__12dVibration_c@ha /* 0x8037A720@ha */
|
||||
/* 8006FBE0 38 63 A7 20 */ addi r3, r3, CQ_patt__12dVibration_c@l /* 0x8037A720@l */
|
||||
/* 8006FBE4 7C 03 22 2E */ lhzx r0, r3, r4
|
||||
/* 8006FBE8 90 1E 00 7C */ stw r0, 0x7c(r30)
|
||||
/* 8006FBEC 3B A0 00 01 */ li r29, 1
|
||||
lbl_8006FBF0:
|
||||
/* 8006FBF0 7F A3 EB 78 */ mr r3, r29
|
||||
/* 8006FBF4 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 8006FBF8 48 2F 26 31 */ bl _restgpr_29
|
||||
/* 8006FBFC 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 8006FC00 7C 08 03 A6 */ mtlr r0
|
||||
/* 8006FC04 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 8006FC08 4E 80 00 20 */ blr
|
||||
@@ -1,62 +0,0 @@
|
||||
lbl_8006FA24:
|
||||
/* 8006FA24 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 8006FA28 7C 08 02 A6 */ mflr r0
|
||||
/* 8006FA2C 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 8006FA30 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 8006FA34 48 2F 27 A9 */ bl _savegpr_29
|
||||
/* 8006FA38 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 8006FA3C 7C 9F 23 78 */ mr r31, r4
|
||||
/* 8006FA40 3B A0 00 00 */ li r29, 0
|
||||
/* 8006FA44 54 A0 06 7D */ rlwinm. r0, r5, 0, 0x19, 0x1e
|
||||
/* 8006FA48 41 82 00 58 */ beq lbl_8006FAA0
|
||||
/* 8006FA4C 93 FE 00 04 */ stw r31, 4(r30)
|
||||
/* 8006FA50 38 00 00 00 */ li r0, 0
|
||||
/* 8006FA54 90 1E 00 24 */ stw r0, 0x24(r30)
|
||||
/* 8006FA58 90 BE 00 14 */ stw r5, 0x14(r30)
|
||||
/* 8006FA5C C0 06 00 00 */ lfs f0, 0(r6)
|
||||
/* 8006FA60 D0 1E 00 18 */ stfs f0, 0x18(r30)
|
||||
/* 8006FA64 C0 06 00 04 */ lfs f0, 4(r6)
|
||||
/* 8006FA68 D0 1E 00 1C */ stfs f0, 0x1c(r30)
|
||||
/* 8006FA6C C0 06 00 08 */ lfs f0, 8(r6)
|
||||
/* 8006FA70 D0 1E 00 20 */ stfs f0, 0x20(r30)
|
||||
/* 8006FA74 3C 60 80 38 */ lis r3, CS_patt__12dVibration_c@ha /* 0x8037A678@ha */
|
||||
/* 8006FA78 38 83 A6 78 */ addi r4, r3, CS_patt__12dVibration_c@l /* 0x8037A678@l */
|
||||
/* 8006FA7C 57 E6 18 38 */ slwi r6, r31, 3
|
||||
/* 8006FA80 7C 64 32 14 */ add r3, r4, r6
|
||||
/* 8006FA84 80 03 00 04 */ lwz r0, 4(r3)
|
||||
/* 8006FA88 90 1E 00 08 */ stw r0, 8(r30)
|
||||
/* 8006FA8C A0 03 00 02 */ lhz r0, 2(r3)
|
||||
/* 8006FA90 90 1E 00 0C */ stw r0, 0xc(r30)
|
||||
/* 8006FA94 7C 04 32 2E */ lhzx r0, r4, r6
|
||||
/* 8006FA98 90 1E 00 10 */ stw r0, 0x10(r30)
|
||||
/* 8006FA9C 3B A0 00 01 */ li r29, 1
|
||||
lbl_8006FAA0:
|
||||
/* 8006FAA0 54 A0 07 FF */ clrlwi. r0, r5, 0x1f
|
||||
/* 8006FAA4 41 82 00 50 */ beq lbl_8006FAF4
|
||||
/* 8006FAA8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8006FAAC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 8006FAB0 38 63 01 E0 */ addi r3, r3, 0x1e0
|
||||
/* 8006FAB4 4B FC 4B 91 */ bl checkVibration__19dSv_player_config_cCFv
|
||||
/* 8006FAB8 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 8006FABC 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 8006FAC0 40 82 00 34 */ bne lbl_8006FAF4
|
||||
/* 8006FAC4 93 FE 00 54 */ stw r31, 0x54(r30)
|
||||
/* 8006FAC8 38 00 00 00 */ li r0, 0
|
||||
/* 8006FACC 90 1E 00 64 */ stw r0, 0x64(r30)
|
||||
/* 8006FAD0 3C 60 80 38 */ lis r3, MS_patt__12dVibration_c@ha /* 0x8037A620@ha */
|
||||
/* 8006FAD4 38 03 A6 20 */ addi r0, r3, MS_patt__12dVibration_c@l /* 0x8037A620@l */
|
||||
/* 8006FAD8 57 E3 18 38 */ slwi r3, r31, 3
|
||||
/* 8006FADC 7C 60 1A 14 */ add r3, r0, r3
|
||||
/* 8006FAE0 80 03 00 04 */ lwz r0, 4(r3)
|
||||
/* 8006FAE4 90 1E 00 58 */ stw r0, 0x58(r30)
|
||||
/* 8006FAE8 A0 03 00 02 */ lhz r0, 2(r3)
|
||||
/* 8006FAEC 90 1E 00 5C */ stw r0, 0x5c(r30)
|
||||
/* 8006FAF0 3B A0 00 01 */ li r29, 1
|
||||
lbl_8006FAF4:
|
||||
/* 8006FAF4 7F A3 EB 78 */ mr r3, r29
|
||||
/* 8006FAF8 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 8006FAFC 48 2F 27 2D */ bl _restgpr_29
|
||||
/* 8006FB00 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 8006FB04 7C 08 03 A6 */ mtlr r0
|
||||
/* 8006FB08 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 8006FB0C 4E 80 00 20 */ blr
|
||||
@@ -1,31 +0,0 @@
|
||||
lbl_8006FD94:
|
||||
/* 8006FD94 38 A0 00 00 */ li r5, 0
|
||||
/* 8006FD98 54 80 06 7D */ rlwinm. r0, r4, 0, 0x19, 0x1e
|
||||
/* 8006FD9C 41 82 00 38 */ beq lbl_8006FDD4
|
||||
/* 8006FDA0 80 03 00 4C */ lwz r0, 0x4c(r3)
|
||||
/* 8006FDA4 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 8006FDA8 41 80 00 2C */ blt lbl_8006FDD4
|
||||
/* 8006FDAC 80 A3 00 3C */ lwz r5, 0x3c(r3)
|
||||
/* 8006FDB0 7C A0 20 78 */ andc r0, r5, r4
|
||||
/* 8006FDB4 90 03 00 3C */ stw r0, 0x3c(r3)
|
||||
/* 8006FDB8 80 03 00 3C */ lwz r0, 0x3c(r3)
|
||||
/* 8006FDBC 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 8006FDC0 40 82 00 10 */ bne lbl_8006FDD0
|
||||
/* 8006FDC4 80 03 00 28 */ lwz r0, 0x28(r3)
|
||||
/* 8006FDC8 60 00 00 01 */ ori r0, r0, 1
|
||||
/* 8006FDCC 90 03 00 28 */ stw r0, 0x28(r3)
|
||||
lbl_8006FDD0:
|
||||
/* 8006FDD0 38 A0 00 01 */ li r5, 1
|
||||
lbl_8006FDD4:
|
||||
/* 8006FDD4 54 80 07 FF */ clrlwi. r0, r4, 0x1f
|
||||
/* 8006FDD8 41 82 00 20 */ beq lbl_8006FDF8
|
||||
/* 8006FDDC 80 03 00 80 */ lwz r0, 0x80(r3)
|
||||
/* 8006FDE0 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 8006FDE4 41 80 00 14 */ blt lbl_8006FDF8
|
||||
/* 8006FDE8 80 03 00 6C */ lwz r0, 0x6c(r3)
|
||||
/* 8006FDEC 60 00 00 01 */ ori r0, r0, 1
|
||||
/* 8006FDF0 90 03 00 6C */ stw r0, 0x6c(r3)
|
||||
/* 8006FDF4 38 A0 00 01 */ li r5, 1
|
||||
lbl_8006FDF8:
|
||||
/* 8006FDF8 7C A3 2B 78 */ mr r3, r5
|
||||
/* 8006FDFC 4E 80 00 20 */ blr
|
||||
@@ -1,33 +0,0 @@
|
||||
lbl_8006FE84:
|
||||
/* 8006FE84 38 00 FF FF */ li r0, -1
|
||||
/* 8006FE88 90 03 00 54 */ stw r0, 0x54(r3)
|
||||
/* 8006FE8C 90 03 00 04 */ stw r0, 4(r3)
|
||||
/* 8006FE90 90 03 00 70 */ stw r0, 0x70(r3)
|
||||
/* 8006FE94 90 03 00 2C */ stw r0, 0x2c(r3)
|
||||
/* 8006FE98 38 80 00 00 */ li r4, 0
|
||||
/* 8006FE9C 90 83 00 50 */ stw r4, 0x50(r3)
|
||||
/* 8006FEA0 90 83 00 00 */ stw r4, 0(r3)
|
||||
/* 8006FEA4 90 83 00 6C */ stw r4, 0x6c(r3)
|
||||
/* 8006FEA8 90 83 00 28 */ stw r4, 0x28(r3)
|
||||
/* 8006FEAC 90 83 00 58 */ stw r4, 0x58(r3)
|
||||
/* 8006FEB0 90 83 00 08 */ stw r4, 8(r3)
|
||||
/* 8006FEB4 90 83 00 74 */ stw r4, 0x74(r3)
|
||||
/* 8006FEB8 90 83 00 30 */ stw r4, 0x30(r3)
|
||||
/* 8006FEBC 90 83 00 5C */ stw r4, 0x5c(r3)
|
||||
/* 8006FEC0 90 83 00 0C */ stw r4, 0xc(r3)
|
||||
/* 8006FEC4 90 83 00 78 */ stw r4, 0x78(r3)
|
||||
/* 8006FEC8 90 83 00 34 */ stw r4, 0x34(r3)
|
||||
/* 8006FECC 90 83 00 60 */ stw r4, 0x60(r3)
|
||||
/* 8006FED0 90 83 00 10 */ stw r4, 0x10(r3)
|
||||
/* 8006FED4 90 83 00 7C */ stw r4, 0x7c(r3)
|
||||
/* 8006FED8 90 83 00 38 */ stw r4, 0x38(r3)
|
||||
/* 8006FEDC 38 00 FF 9D */ li r0, -99
|
||||
/* 8006FEE0 90 03 00 64 */ stw r0, 0x64(r3)
|
||||
/* 8006FEE4 90 03 00 24 */ stw r0, 0x24(r3)
|
||||
/* 8006FEE8 90 03 00 80 */ stw r0, 0x80(r3)
|
||||
/* 8006FEEC 90 03 00 4C */ stw r0, 0x4c(r3)
|
||||
/* 8006FEF0 90 03 00 68 */ stw r0, 0x68(r3)
|
||||
/* 8006FEF4 90 03 00 84 */ stw r0, 0x84(r3)
|
||||
/* 8006FEF8 90 83 00 8C */ stw r4, 0x8c(r3)
|
||||
/* 8006FEFC 90 83 00 88 */ stw r4, 0x88(r3)
|
||||
/* 8006FF00 4E 80 00 20 */ blr
|
||||
@@ -1,11 +0,0 @@
|
||||
lbl_800194FC:
|
||||
/* 800194FC 38 80 00 00 */ li r4, 0
|
||||
/* 80019500 A0 63 05 8E */ lhz r3, 0x58e(r3)
|
||||
/* 80019504 54 60 07 FF */ clrlwi. r0, r3, 0x1f
|
||||
/* 80019508 41 82 00 10 */ beq lbl_80019518
|
||||
/* 8001950C 70 60 00 32 */ andi. r0, r3, 0x32
|
||||
/* 80019510 40 82 00 08 */ bne lbl_80019518
|
||||
/* 80019514 38 80 00 01 */ li r4, 1
|
||||
lbl_80019518:
|
||||
/* 80019518 7C 83 23 78 */ mr r3, r4
|
||||
/* 8001951C 4E 80 00 20 */ blr
|
||||
@@ -1,75 +0,0 @@
|
||||
lbl_800196A0:
|
||||
/* 800196A0 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 800196A4 7C 08 02 A6 */ mflr r0
|
||||
/* 800196A8 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 800196AC 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 800196B0 48 34 8B 2D */ bl _savegpr_29
|
||||
/* 800196B4 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 800196B8 7C 9E 23 78 */ mr r30, r4
|
||||
/* 800196BC 80 83 05 80 */ lwz r4, 0x580(r3)
|
||||
/* 800196C0 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 800196C4 41 82 00 E0 */ beq lbl_800197A4
|
||||
/* 800196C8 3B E4 00 18 */ addi r31, r4, 0x18
|
||||
/* 800196CC 4B FF FE 31 */ bl checkBallModelDraw__13fopEn_enemy_cFv
|
||||
/* 800196D0 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 800196D4 41 82 00 0C */ beq lbl_800196E0
|
||||
/* 800196D8 C0 22 81 E0 */ lfs f1, lit_4505(r2)
|
||||
/* 800196DC 48 00 00 08 */ b lbl_800196E4
|
||||
lbl_800196E0:
|
||||
/* 800196E0 C0 22 81 F0 */ lfs f1, lit_4555(r2)
|
||||
lbl_800196E4:
|
||||
/* 800196E4 7F E3 FB 78 */ mr r3, r31
|
||||
/* 800196E8 C0 42 81 F4 */ lfs f2, lit_4556(r2)
|
||||
/* 800196EC 48 25 70 55 */ bl cLib_chaseF__FPfff
|
||||
/* 800196F0 C0 1F 00 00 */ lfs f0, 0(r31)
|
||||
/* 800196F4 D0 1F 00 04 */ stfs f0, 4(r31)
|
||||
/* 800196F8 C0 1F 00 00 */ lfs f0, 0(r31)
|
||||
/* 800196FC D0 1F 00 08 */ stfs f0, 8(r31)
|
||||
/* 80019700 80 7D 05 80 */ lwz r3, 0x580(r29)
|
||||
/* 80019704 C0 1F 00 00 */ lfs f0, 0(r31)
|
||||
/* 80019708 D0 03 00 18 */ stfs f0, 0x18(r3)
|
||||
/* 8001970C C0 1F 00 04 */ lfs f0, 4(r31)
|
||||
/* 80019710 D0 03 00 1C */ stfs f0, 0x1c(r3)
|
||||
/* 80019714 C0 1F 00 08 */ lfs f0, 8(r31)
|
||||
/* 80019718 D0 03 00 20 */ stfs f0, 0x20(r3)
|
||||
/* 8001971C C0 3F 00 00 */ lfs f1, 0(r31)
|
||||
/* 80019720 C0 02 81 F8 */ lfs f0, lit_4557(r2)
|
||||
/* 80019724 FC 01 00 40 */ fcmpo cr0, f1, f0
|
||||
/* 80019728 40 81 00 7C */ ble lbl_800197A4
|
||||
/* 8001972C 80 7D 05 80 */ lwz r3, 0x580(r29)
|
||||
/* 80019730 38 63 00 24 */ addi r3, r3, 0x24
|
||||
/* 80019734 C0 3D 05 68 */ lfs f1, 0x568(r29)
|
||||
/* 80019738 C0 5D 05 6C */ lfs f2, 0x56c(r29)
|
||||
/* 8001973C C0 7D 05 70 */ lfs f3, 0x570(r29)
|
||||
/* 80019740 48 32 D1 A9 */ bl PSMTXTrans
|
||||
/* 80019744 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
|
||||
/* 80019748 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
|
||||
/* 8001974C 80 9D 05 80 */ lwz r4, 0x580(r29)
|
||||
/* 80019750 80 84 00 04 */ lwz r4, 4(r4)
|
||||
/* 80019754 7F C5 F3 78 */ mr r5, r30
|
||||
/* 80019758 48 18 B6 49 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c
|
||||
/* 8001975C C0 1D 05 90 */ lfs f0, 0x590(r29)
|
||||
/* 80019760 80 7D 05 84 */ lwz r3, 0x584(r29)
|
||||
/* 80019764 D0 03 00 08 */ stfs f0, 8(r3)
|
||||
/* 80019768 80 7D 05 80 */ lwz r3, 0x580(r29)
|
||||
/* 8001976C 80 63 00 04 */ lwz r3, 4(r3)
|
||||
/* 80019770 38 63 00 58 */ addi r3, r3, 0x58
|
||||
/* 80019774 80 9D 05 84 */ lwz r4, 0x584(r29)
|
||||
/* 80019778 48 31 65 4D */ bl entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey
|
||||
/* 8001977C C0 1D 05 90 */ lfs f0, 0x590(r29)
|
||||
/* 80019780 80 7D 05 88 */ lwz r3, 0x588(r29)
|
||||
/* 80019784 D0 03 00 08 */ stfs f0, 8(r3)
|
||||
/* 80019788 80 7D 05 80 */ lwz r3, 0x580(r29)
|
||||
/* 8001978C 80 63 00 04 */ lwz r3, 4(r3)
|
||||
/* 80019790 38 63 00 58 */ addi r3, r3, 0x58
|
||||
/* 80019794 80 9D 05 88 */ lwz r4, 0x588(r29)
|
||||
/* 80019798 48 31 66 D9 */ bl entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey
|
||||
/* 8001979C 80 7D 05 80 */ lwz r3, 0x580(r29)
|
||||
/* 800197A0 4B FF 45 25 */ bl mDoExt_modelUpdateDL__FP8J3DModel
|
||||
lbl_800197A4:
|
||||
/* 800197A4 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 800197A8 48 34 8A 81 */ bl _restgpr_29
|
||||
/* 800197AC 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 800197B0 7C 08 03 A6 */ mtlr r0
|
||||
/* 800197B4 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 800197B8 4E 80 00 20 */ blr
|
||||
@@ -1,34 +0,0 @@
|
||||
lbl_80018FCC:
|
||||
/* 80018FCC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80018FD0 7C 08 02 A6 */ mflr r0
|
||||
/* 80018FD4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80018FD8 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80018FDC 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 80018FE0 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80018FE4 80 63 00 EC */ lwz r3, 0xec(r3)
|
||||
/* 80018FE8 7F E4 FB 78 */ mr r4, r31
|
||||
/* 80018FEC 48 00 94 BD */ bl fpcMtd_Delete__FP20process_method_classPv
|
||||
/* 80018FF0 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80018FF4 2C 1E 00 01 */ cmpwi r30, 1
|
||||
/* 80018FF8 40 82 00 38 */ bne lbl_80019030
|
||||
/* 80018FFC 38 7F 00 C4 */ addi r3, r31, 0xc4
|
||||
/* 80019000 48 00 08 61 */ bl fopAcTg_ActorQTo__FP16create_tag_class
|
||||
/* 80019004 38 7F 00 D8 */ addi r3, r31, 0xd8
|
||||
/* 80019008 48 00 74 CD */ bl fopDwTg_DrawQTo__FP16create_tag_class
|
||||
/* 8001900C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80019010 48 00 11 29 */ bl fopAcM_DeleteHeap__FP10fopAc_ac_c
|
||||
/* 80019014 80 6D 88 A0 */ lwz r3, m_object__7dDemo_c(r13)
|
||||
/* 80019018 88 9F 04 98 */ lbz r4, 0x498(r31)
|
||||
/* 8001901C 48 02 00 6D */ bl getActor__14dDemo_object_cFUc
|
||||
/* 80019020 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 80019024 41 82 00 0C */ beq lbl_80019030
|
||||
/* 80019028 38 80 00 00 */ li r4, 0
|
||||
/* 8001902C 48 01 F1 31 */ bl setActor__13dDemo_actor_cFP10fopAc_ac_c
|
||||
lbl_80019030:
|
||||
/* 80019030 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80019034 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80019038 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 8001903C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80019040 7C 08 03 A6 */ mtlr r0
|
||||
/* 80019044 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80019048 4E 80 00 20 */ blr
|
||||
@@ -1,3 +0,0 @@
|
||||
lbl_800193FC:
|
||||
/* 800193FC 80 63 00 24 */ lwz r3, 0x24(r3)
|
||||
/* 80019400 4E 80 00 20 */ blr
|
||||
@@ -1,65 +0,0 @@
|
||||
lbl_80019404:
|
||||
/* 80019404 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80019408 7C 08 02 A6 */ mflr r0
|
||||
/* 8001940C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80019410 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80019414 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 80019418 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 8001941C 3C 60 80 38 */ lis r3, f_op_f_op_actor__stringBase0@ha /* 0x80378878@ha */
|
||||
/* 80019420 38 63 88 78 */ addi r3, r3, f_op_f_op_actor__stringBase0@l /* 0x80378878@l */
|
||||
/* 80019424 38 80 00 25 */ li r4, 0x25
|
||||
/* 80019428 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8001942C 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80019430 3F E5 00 02 */ addis r31, r5, 2
|
||||
/* 80019434 3B FF C2 F8 */ addi r31, r31, -15624
|
||||
/* 80019438 7F E5 FB 78 */ mr r5, r31
|
||||
/* 8001943C 38 C0 00 80 */ li r6, 0x80
|
||||
/* 80019440 48 02 2E AD */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
|
||||
/* 80019444 3C 80 00 08 */ lis r4, 8
|
||||
/* 80019448 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000284@ha */
|
||||
/* 8001944C 38 A5 02 84 */ addi r5, r5, 0x0284 /* 0x11000284@l */
|
||||
/* 80019450 4B FF B8 05 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl
|
||||
/* 80019454 90 7E 05 80 */ stw r3, 0x580(r30)
|
||||
/* 80019458 80 9E 05 80 */ lwz r4, 0x580(r30)
|
||||
/* 8001945C 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80019460 40 82 00 0C */ bne lbl_8001946C
|
||||
/* 80019464 38 60 00 00 */ li r3, 0
|
||||
/* 80019468 48 00 00 7C */ b lbl_800194E4
|
||||
lbl_8001946C:
|
||||
/* 8001946C 3C 60 80 43 */ lis r3, Zero__4cXyz@ha /* 0x80430CF4@ha */
|
||||
/* 80019470 C4 03 0C F4 */ lfsu f0, Zero__4cXyz@l(r3) /* 0x80430CF4@l */
|
||||
/* 80019474 D0 04 00 18 */ stfs f0, 0x18(r4)
|
||||
/* 80019478 C0 03 00 04 */ lfs f0, 4(r3)
|
||||
/* 8001947C D0 04 00 1C */ stfs f0, 0x1c(r4)
|
||||
/* 80019480 C0 03 00 08 */ lfs f0, 8(r3)
|
||||
/* 80019484 D0 04 00 20 */ stfs f0, 0x20(r4)
|
||||
/* 80019488 3C 60 80 38 */ lis r3, f_op_f_op_actor__stringBase0@ha /* 0x80378878@ha */
|
||||
/* 8001948C 38 63 88 78 */ addi r3, r3, f_op_f_op_actor__stringBase0@l /* 0x80378878@l */
|
||||
/* 80019490 38 80 00 49 */ li r4, 0x49
|
||||
/* 80019494 7F E5 FB 78 */ mr r5, r31
|
||||
/* 80019498 38 C0 00 80 */ li r6, 0x80
|
||||
/* 8001949C 48 02 2E 51 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
|
||||
/* 800194A0 90 7E 05 84 */ stw r3, 0x584(r30)
|
||||
/* 800194A4 80 7E 05 80 */ lwz r3, 0x580(r30)
|
||||
/* 800194A8 80 83 00 04 */ lwz r4, 4(r3)
|
||||
/* 800194AC 80 7E 05 84 */ lwz r3, 0x584(r30)
|
||||
/* 800194B0 48 31 1D 25 */ bl searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP12J3DModelData
|
||||
/* 800194B4 3C 60 80 38 */ lis r3, f_op_f_op_actor__stringBase0@ha /* 0x80378878@ha */
|
||||
/* 800194B8 38 63 88 78 */ addi r3, r3, f_op_f_op_actor__stringBase0@l /* 0x80378878@l */
|
||||
/* 800194BC 38 80 00 41 */ li r4, 0x41
|
||||
/* 800194C0 7F E5 FB 78 */ mr r5, r31
|
||||
/* 800194C4 38 C0 00 80 */ li r6, 0x80
|
||||
/* 800194C8 48 02 2E 25 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
|
||||
/* 800194CC 90 7E 05 88 */ stw r3, 0x588(r30)
|
||||
/* 800194D0 80 7E 05 80 */ lwz r3, 0x580(r30)
|
||||
/* 800194D4 80 83 00 04 */ lwz r4, 4(r3)
|
||||
/* 800194D8 80 7E 05 88 */ lwz r3, 0x588(r30)
|
||||
/* 800194DC 48 31 23 A1 */ bl searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData
|
||||
/* 800194E0 38 60 00 01 */ li r3, 1
|
||||
lbl_800194E4:
|
||||
/* 800194E4 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 800194E8 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 800194EC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 800194F0 7C 08 03 A6 */ mtlr r0
|
||||
/* 800194F4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 800194F8 4E 80 00 20 */ blr
|
||||
@@ -1,41 +0,0 @@
|
||||
lbl_8001E270:
|
||||
/* 8001E270 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8001E274 7C 08 02 A6 */ mflr r0
|
||||
/* 8001E278 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8001E27C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 8001E280 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 8001E284 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 8001E288 88 03 00 0C */ lbz r0, 0xc(r3)
|
||||
/* 8001E28C 7C 00 07 75 */ extsb. r0, r0
|
||||
/* 8001E290 40 82 00 30 */ bne lbl_8001E2C0
|
||||
/* 8001E294 80 63 00 10 */ lwz r3, 0x10(r3)
|
||||
/* 8001E298 80 03 00 3C */ lwz r0, 0x3c(r3)
|
||||
/* 8001E29C 90 1F 02 24 */ stw r0, 0x224(r31)
|
||||
/* 8001E2A0 38 7F 02 10 */ addi r3, r31, 0x210
|
||||
/* 8001E2A4 7F E4 FB 78 */ mr r4, r31
|
||||
/* 8001E2A8 48 00 22 4D */ bl fopDwTg_Init__FP16create_tag_classPv
|
||||
/* 8001E2AC 80 7F 00 AC */ lwz r3, 0xac(r31)
|
||||
/* 8001E2B0 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 8001E2B4 41 82 00 0C */ beq lbl_8001E2C0
|
||||
/* 8001E2B8 80 03 00 00 */ lwz r0, 0(r3)
|
||||
/* 8001E2BC 90 1F 00 B0 */ stw r0, 0xb0(r31)
|
||||
lbl_8001E2C0:
|
||||
/* 8001E2C0 80 7F 02 24 */ lwz r3, 0x224(r31)
|
||||
/* 8001E2C4 7F E4 FB 78 */ mr r4, r31
|
||||
/* 8001E2C8 48 00 42 05 */ bl fpcMtd_Create__FP20process_method_classPv
|
||||
/* 8001E2CC 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 8001E2D0 2C 1E 00 04 */ cmpwi r30, 4
|
||||
/* 8001E2D4 40 82 00 18 */ bne lbl_8001E2EC
|
||||
/* 8001E2D8 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8001E2DC 48 00 37 25 */ bl fpcLf_GetPriority__FPC14leafdraw_class
|
||||
/* 8001E2E0 7C 64 07 34 */ extsh r4, r3
|
||||
/* 8001E2E4 38 7F 02 10 */ addi r3, r31, 0x210
|
||||
/* 8001E2E8 48 00 21 C5 */ bl fopDwTg_ToDrawQ__FP16create_tag_classi
|
||||
lbl_8001E2EC:
|
||||
/* 8001E2EC 7F C3 F3 78 */ mr r3, r30
|
||||
/* 8001E2F0 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 8001E2F4 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 8001E2F8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8001E2FC 7C 08 03 A6 */ mtlr r0
|
||||
/* 8001E300 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8001E304 4E 80 00 20 */ blr
|
||||
@@ -1,20 +0,0 @@
|
||||
lbl_8001E180:
|
||||
/* 8001E180 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8001E184 7C 08 02 A6 */ mflr r0
|
||||
/* 8001E188 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8001E18C 7C 64 1B 78 */ mr r4, r3
|
||||
/* 8001E190 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8001E194 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 8001E198 88 05 5E B5 */ lbz r0, 0x5eb5(r5)
|
||||
/* 8001E19C 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 8001E1A0 40 82 00 18 */ bne lbl_8001E1B8
|
||||
/* 8001E1A4 88 0D 8B A4 */ lbz r0, pauseTimer__9dScnPly_c+0x0(r13)
|
||||
/* 8001E1A8 7C 00 07 75 */ extsb. r0, r0
|
||||
/* 8001E1AC 40 82 00 0C */ bne lbl_8001E1B8
|
||||
/* 8001E1B0 80 64 02 24 */ lwz r3, 0x224(r4)
|
||||
/* 8001E1B4 48 00 42 AD */ bl fpcMtd_Execute__FP20process_method_classPv
|
||||
lbl_8001E1B8:
|
||||
/* 8001E1B8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8001E1BC 7C 08 03 A6 */ mtlr r0
|
||||
/* 8001E1C0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8001E1C4 4E 80 00 20 */ blr
|
||||
@@ -36,13 +36,18 @@ s16 cLib_targetAngleX(const cXyz*, const cXyz*);
|
||||
void cLib_offsetPos(cXyz* pDest, cXyz const* pSrc, s16 angle, cXyz const* vec);
|
||||
s32 cLib_distanceAngleS(s16 x, s16 y);
|
||||
|
||||
inline void cLib_offBit(u8& value, u8 bit) {
|
||||
template <typename T>
|
||||
inline void cLib_offBit(T& value, u8 bit) {
|
||||
value &= ~bit;
|
||||
}
|
||||
inline void cLib_onBit(u8& value, u8 bit) {
|
||||
|
||||
template <typename T>
|
||||
inline void cLib_onBit(T& value, u8 bit) {
|
||||
value |= bit;
|
||||
}
|
||||
inline u8 cLib_checkBit(u8& value, u8 bit) {
|
||||
|
||||
template <typename T>
|
||||
inline T cLib_checkBit(T& value, u8 bit) {
|
||||
return value & bit;
|
||||
}
|
||||
|
||||
|
||||
@@ -3278,6 +3278,10 @@ public:
|
||||
return getDirectionFromAngle(field_0x2fe2 - current.angle.y);
|
||||
}
|
||||
|
||||
static int getBallModelIdx() { return 0x25; }
|
||||
static int getBallBtkIdx() { return 0x49; }
|
||||
static int getBallBrkIdx() { return 0x41; }
|
||||
|
||||
bool checkRootTransClearMode() { return field_0x2f99 & 7; }
|
||||
bool checkRootTransZClearMode() { return field_0x2f99 & 4; }
|
||||
bool checkRootTransXClearMode() { return field_0x2f99 & 1; }
|
||||
|
||||
@@ -1013,6 +1013,10 @@ inline u8 dComIfGs_checkBottle(u8 i_itemNo) {
|
||||
return g_dComIfG_gameInfo.info.getPlayer().getItem().checkBottle(i_itemNo);
|
||||
}
|
||||
|
||||
inline u8 dComIfGs_checkOptVibration() {
|
||||
return g_dComIfG_gameInfo.info.getPlayer().getConfig().checkVibration();
|
||||
}
|
||||
|
||||
inline BOOL dComIfGs_isLightDropGetFlag(u8 i_nowLevel) {
|
||||
return g_dComIfG_gameInfo.info.getPlayer().getLightDrop().isLightDropGetFlag(i_nowLevel);
|
||||
}
|
||||
@@ -2583,6 +2587,10 @@ inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* param_2,
|
||||
param_9, param_10, 1.0f);
|
||||
}
|
||||
|
||||
inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3) {
|
||||
return dComIfGp_particle_set(param_0,param_1,param_2,param_3,0,0,0xFF,0,0xFFFFFFFF,0,0,0);
|
||||
}
|
||||
|
||||
inline JPABaseEmitter* dComIfGp_particle_set(u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3,
|
||||
const csXyz* param_4, const cXyz* param_5, u8 param_6,
|
||||
dPa_levelEcallBack* param_7, s8 param_8, const GXColor* param_9,
|
||||
@@ -2765,6 +2773,10 @@ inline void dComIfGd_init() {
|
||||
g_dComIfG_gameInfo.drawlist.init();
|
||||
}
|
||||
|
||||
inline void dComIfGd_peekZ(s16 param_0, s16 param_1, u32* param_2) {
|
||||
g_dComIfG_gameInfo.drawlist.newPeekZdata(param_0, param_1, param_2);
|
||||
}
|
||||
|
||||
inline void dComIfGd_peekZdata() {
|
||||
g_dComIfG_gameInfo.drawlist.peekZdata();
|
||||
}
|
||||
|
||||
@@ -515,7 +515,9 @@ public:
|
||||
/* 0x920 */ f32 mTrimHeight;
|
||||
/* 0x924 */ int mTrimSize;
|
||||
/* 0x928 */ int mTrimTypeForce;
|
||||
/* 0x92C */ u8 field_0x92c[0x970 - 0x92c];
|
||||
/* 0x92C */ u8 field_0x92c[0x93C - 0x92c];
|
||||
/* 0x93C */ f32 field_0x93c;
|
||||
/* 0x940 */ u8 field_0x940[0x970 - 0x940];
|
||||
/* 0x970 */ dCamSetup_c mCamSetup;
|
||||
/* 0xAEC */ dCamParam_c mCamParam;
|
||||
/* 0xB0C */
|
||||
|
||||
@@ -326,6 +326,10 @@ public:
|
||||
param_6);
|
||||
}
|
||||
|
||||
void newPeekZdata(s16 param_0, s16 param_1, u32* param_2) {
|
||||
mPeekZ.newData(param_0, param_1, param_2);
|
||||
}
|
||||
|
||||
static void offWipe() { mWipe = 0; }
|
||||
static f32 getWipeRate() { return mWipeRate; }
|
||||
|
||||
|
||||
@@ -2,5 +2,29 @@
|
||||
#define D_D_INSECT_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
class dInsect_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 80110648 */ virtual void Insect_Release();
|
||||
/* 8015E010 */ dInsect_c();
|
||||
/* 8015E078 */ virtual void Insect_GetDemoMain();
|
||||
/* 8015E26C */ virtual void CalcZBuffer(f32);
|
||||
private:
|
||||
/* 0x56C */ u8 field_0x56C;
|
||||
/* 0x56D */ u8 field_0x56D;
|
||||
/* 0x56E */ u8 field_0x56E[10];
|
||||
/* 0x578 */ u32 field_0x578;
|
||||
/* 0x57C */ f32 field_0x57C;
|
||||
/* 0x580 */ u8 field_0x580;
|
||||
/* 0x581 */ u8 field_0x581;
|
||||
/* 0x582 */ s16 field_0x582;
|
||||
/* 0x584 */ u8 field_0x584;
|
||||
/* 0x585 */ u8 field_0x585;
|
||||
/* 0x586 */ u8 field_0x586[2];
|
||||
/* 0x588 */ u32 field_0x588;
|
||||
/* 0x58C */ int field_0x58C;
|
||||
|
||||
};
|
||||
|
||||
#endif /* D_D_INSECT_H */
|
||||
|
||||
@@ -8,12 +8,10 @@
|
||||
|
||||
class dJntColData_c {};
|
||||
|
||||
class fopAc_ac_c;
|
||||
|
||||
class dJntCol_c {
|
||||
public:
|
||||
/* 80035C8C */ dJntCol_c();
|
||||
/* 80035CA0 */ void init(fopAc_ac_c*, dJntColData_c const*, J3DModel*, int);
|
||||
/* 80035CA0 */ int init(fopAc_ac_c*, dJntColData_c const*, J3DModel*, int);
|
||||
/* 80035CC8 */ void setNowLine(cM3dGLin*, cXyz const*, csXyz const*, cXyz*);
|
||||
/* 80035DC8 */ void searchNearPos(cM3dGLin const*, cXyz const*, cXyz*, int) const;
|
||||
/* 80036AEC */ void getArrowOffsetPosAndAngle(cXyz const*, csXyz const*, cXyz*, cXyz*) const;
|
||||
|
||||
@@ -2,5 +2,37 @@
|
||||
#define D_D_KY_THUNDER_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JKernel/JKRSolidHeap.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
|
||||
class dThunder_c {
|
||||
private:
|
||||
/* 0x00 */ u8 field_0x00[0xf8];
|
||||
/* 0xF8 */ JKRSolidHeap* mpHeap;
|
||||
public:
|
||||
/* 801ADF58 */ int createHeap();
|
||||
/* 801ADFB4 */ void adjustHeap();
|
||||
/* 801AE458 */ int create();
|
||||
|
||||
~dThunder_c() {
|
||||
mDoExt_destroySolidHeap(mpHeap);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
inline int draw() {
|
||||
// finish
|
||||
};
|
||||
|
||||
inline int execute() {
|
||||
// finish
|
||||
};
|
||||
|
||||
inline int thunder_delete(dThunder_c* i_dthunderP) {
|
||||
if (i_dthunderP) {
|
||||
delete i_dthunderP;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
#endif /* D_D_KY_THUNDER_H */
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
#include "d/d_drawlist.h"
|
||||
#include "d/d_select_icon.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/J2DGraph/J2DScreen.h"
|
||||
#include "JSystem/J2DGraph/J2DPane.h"
|
||||
|
||||
class dSelect_cursorHIO_c {
|
||||
public:
|
||||
@@ -31,8 +33,8 @@ public:
|
||||
/* 801951B0 */ void setParam(f32, f32, f32, f32, f32);
|
||||
/* 801951C8 */ void setScale(f32);
|
||||
/* 801952A0 */ void setAlphaRate(f32);
|
||||
/* 80195330 */ void addAlpha();
|
||||
/* 801953CC */ void decAlpha();
|
||||
/* 80195330 */ int addAlpha();
|
||||
/* 801953CC */ int decAlpha();
|
||||
/* 80195460 */ void setBpkAnimation(J2DAnmColor*);
|
||||
/* 801955F0 */ void setBtk0Animation(J2DAnmTextureSRTKey*);
|
||||
/* 80195724 */ void setCursorAnimation();
|
||||
@@ -43,15 +45,32 @@ public:
|
||||
/* 801949EC */ virtual ~dSelect_cursor_c();
|
||||
|
||||
void setPos(f32 x, f32 y) {
|
||||
field_0x58 = x;
|
||||
field_0x5c = y;
|
||||
mPositionX = x;
|
||||
mPositionY = y;
|
||||
}
|
||||
|
||||
private:
|
||||
u8 field_0x4[0x54];
|
||||
f32 field_0x58;
|
||||
f32 field_0x5c;
|
||||
u8 field_0x60[0x58];
|
||||
/* 0x04 */ J2DScreen* mpScreen;
|
||||
/* 0x08 */ J2DPane* mpPane;
|
||||
/* 0x0C */ dSelect_icon_c* mpSelectIcon;
|
||||
/* 0x10 */ CPaneMgr* mpPaneMgr;
|
||||
/* 0x14 */ u8 field_0x14[40];
|
||||
/* 0x3C */ dSelect_cursorHIO_c* mpCursorHIO;
|
||||
/* 0x40 */ u8 field_0x40[16];
|
||||
/* 0x50 */ f32 field_0x50;
|
||||
/* 0x54 */ f32 field_0x54;
|
||||
/* 0x58 */ f32 mPositionX;
|
||||
/* 0x5C */ f32 mPositionY;
|
||||
/* 0x60 */ f32 mParam1;
|
||||
/* 0x64 */ f32 mParam2;
|
||||
/* 0x68 */ f32 mParam3;
|
||||
/* 0x6C */ f32 mParam4;
|
||||
/* 0x70 */ f32 mParam5;
|
||||
/* 0x74 */ u8 field_0x74[32];
|
||||
/* 0x94 */ f32 field_0x94[4];
|
||||
/* 0xA4 */ f32 field_0xa4[4];
|
||||
/* 0xB4 */ u8 field_0xb4;
|
||||
/* 0xB5 */ s8 mNameIdx;
|
||||
};
|
||||
|
||||
#endif /* D_D_SELECT_CURSOR_H */
|
||||
|
||||
@@ -3,4 +3,11 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class dVibration_pattern {
|
||||
public:
|
||||
u16 field_0x00;
|
||||
u16 field_0x02;
|
||||
u32 field_0x04;
|
||||
};
|
||||
|
||||
#endif /* D_D_VIB_PATTERN_H */
|
||||
|
||||
+16
-15
@@ -2,26 +2,27 @@
|
||||
#define D_D_VIBRATION_H
|
||||
|
||||
#include "d/save/d_save.h"
|
||||
#include "d/d_vib_pattern.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class dVibration_c {
|
||||
public:
|
||||
/* 8006F268 */ void Run();
|
||||
/* 8006FA24 */ void StartShock(int, int, cXyz);
|
||||
/* 8006FA24 */ bool StartShock(int, int, cXyz);
|
||||
/* 8006FC0C */ void StartQuake(u8 const*, int, int, cXyz);
|
||||
/* 8006FB10 */ void StartQuake(int, int, cXyz);
|
||||
/* 8006FD94 */ void StopQuake(int);
|
||||
/* 8006FB10 */ bool StartQuake(int, int, cXyz);
|
||||
/* 8006FD94 */ int StopQuake(int);
|
||||
/* 8006FE00 */ void Kill();
|
||||
/* 8006FE5C */ void CheckQuake();
|
||||
/* 8006FE5C */ int CheckQuake();
|
||||
/* 8006FE84 */ void setDefault();
|
||||
/* 8006FF04 */ void Init();
|
||||
/* 8006FF38 */ void Pause();
|
||||
/* 8006FFF8 */ void Remove();
|
||||
|
||||
static u8 const MS_patt[88];
|
||||
static u8 const CS_patt[88];
|
||||
static u8 const MQ_patt[80];
|
||||
static u8 const CQ_patt[80];
|
||||
static dVibration_pattern const MS_patt[11];
|
||||
static dVibration_pattern const CS_patt[11];
|
||||
static dVibration_pattern const MQ_patt[10];
|
||||
static dVibration_pattern const CQ_patt[10];
|
||||
|
||||
private:
|
||||
class {
|
||||
@@ -29,13 +30,13 @@ private:
|
||||
class {
|
||||
public:
|
||||
/* 0x00 */ u32 field_0x0;
|
||||
/* 0x04 */ int field_0x4;
|
||||
/* 0x04 */ s32 field_0x4;
|
||||
/* 0x08 */ s32 field_0x8;
|
||||
/* 0x0C */ s32 field_0xc;
|
||||
/* 0x10 */ s32 field_0x10;
|
||||
/* 0x14 */ int field_0x14;
|
||||
/* 0x14 */ s32 field_0x14;
|
||||
/* 0x18 */ cXyz field_0x18;
|
||||
/* 0x24 */ u32 field_0x24;
|
||||
/* 0x24 */ s32 field_0x24;
|
||||
} mShock, mQuake;
|
||||
} /* 0x00 */ field_0x0;
|
||||
/* 0x50 */ u32 field_0x50;
|
||||
@@ -43,17 +44,17 @@ private:
|
||||
/* 0x58 */ s32 field_0x58;
|
||||
/* 0x5C */ s32 field_0x5c;
|
||||
/* 0x60 */ u32 field_0x60;
|
||||
/* 0x64 */ u32 field_0x64;
|
||||
/* 0x64 */ s32 field_0x64;
|
||||
/* 0x68 */ u32 field_0x68;
|
||||
/* 0x6C */ u32 field_0x6c;
|
||||
/* 0x70 */ u32 field_0x70;
|
||||
/* 0x70 */ s32 field_0x70;
|
||||
/* 0x74 */ u32 field_0x74;
|
||||
/* 0x78 */ u32 field_0x78;
|
||||
/* 0x7C */ u32 field_0x7c;
|
||||
/* 0x80 */ u32 field_0x80;
|
||||
/* 0x80 */ s32 field_0x80;
|
||||
/* 0x84 */ u32 field_0x84;
|
||||
/* 0x88 */ s32 field_0x88;
|
||||
/* 0x8C */ u32 field_0x8c;
|
||||
/* 0x8C */ s32 field_0x8c;
|
||||
}; // Size: 0x90
|
||||
|
||||
#endif /* D_D_VIBRATION_H */
|
||||
|
||||
@@ -38,7 +38,7 @@ public:
|
||||
/* 801D9E20 */ void isGiveInsect(int, int);
|
||||
/* 801D9ED4 */ void isGiveInsect(u8);
|
||||
/* 801D9E7C */ void isCatchInsect(u8);
|
||||
/* 801D9F3C */ void isCatchNotGiveInsect(u8);
|
||||
/* 801D9F3C */ static u8 isCatchNotGiveInsect(u8);
|
||||
/* 801D9F8C */ void cursorMove();
|
||||
/* 801DA1EC */ void setCursorPos();
|
||||
/* 801DA2FC */ bool dpdMove();
|
||||
|
||||
@@ -36,4 +36,7 @@ typedef unsigned long size_t;
|
||||
#define INT32_MAX (0x7fffffff)
|
||||
#define UINT32_MAX (0xffffffff)
|
||||
|
||||
#define FLOAT_MIN (-1e31f)
|
||||
#define FLOAT_MAX (3.40282346638528860e+38f)
|
||||
|
||||
#endif
|
||||
@@ -136,10 +136,12 @@ public:
|
||||
s8 getRoomNo() const { return current.mRoomNo; }
|
||||
}; // Size: 0x568
|
||||
|
||||
STATIC_ASSERT(sizeof(fopAc_ac_c) == 0x568);
|
||||
|
||||
class fopEn_enemy_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 80019404 */ void initBallModel();
|
||||
/* 800194FC */ void checkBallModelDraw();
|
||||
/* 80019404 */ bool initBallModel();
|
||||
/* 800194FC */ int checkBallModelDraw();
|
||||
/* 80019520 */ void setBallModelEffect(dKy_tevstr_c*);
|
||||
/* 800196A0 */ void drawBallModel(dKy_tevstr_c*);
|
||||
|
||||
|
||||
@@ -154,6 +154,10 @@ inline void fopAcM_SetParam(void* p_actor, u32 param) {
|
||||
fpcM_SetParam(p_actor, param);
|
||||
}
|
||||
|
||||
inline void fopAcM_SetJntCol(fopAc_ac_c* i_actorP, dJntCol_c* i_jntColP) {
|
||||
i_actorP->mJntCol = i_jntColP;
|
||||
}
|
||||
|
||||
inline s16 fopAcM_GetProfName(const void* pActor) {
|
||||
return fpcM_GetProfName(pActor);
|
||||
}
|
||||
|
||||
@@ -2,7 +2,9 @@
|
||||
#define F_F_OP_CAMERA_H_
|
||||
|
||||
#include "f_op/f_op_camera_mng.h"
|
||||
|
||||
static s32 fopCam_Draw(camera_class* param_1);
|
||||
static void fopCam_Execute(camera_class* pCamera);
|
||||
static int fopCam_Execute(camera_class* pCamera);
|
||||
int fopCam_IsDelete(camera_class* pCamera);
|
||||
|
||||
#endif
|
||||
@@ -25,6 +25,9 @@ typedef struct leaf_process_profile_definition {
|
||||
/* 0x28 */ int field_0x28;
|
||||
/* 0x2C */ u8 field_0x2c;
|
||||
/* 0x2D */ u8 field_0x2d;
|
||||
/* 0x2E */ u8 field_0x2e[0x2]; // extended from here to end to make fopCam_Create match. might be wrong
|
||||
/* 0x30 */ u8 field_0x30[0xc];
|
||||
/* 0x3C */ leafdraw_method_class* mMethods;
|
||||
} leaf_process_profile_definition;
|
||||
|
||||
s32 fpcLf_GetPriority(const leafdraw_class* pLeaf);
|
||||
|
||||
@@ -60,6 +60,7 @@ public:
|
||||
static f32 getAnalogR(u32 pad) { return getCpadInfo(pad).mTriggerRight; }
|
||||
static f32 getAnalogL(u32 pad) { return getCpadInfo(pad).mTriggerLeft; }
|
||||
static BOOL isConnect(u32 pad) { return JUTGamePad::getPortStatus(pad) == 0; }
|
||||
static void stopMotorHard(u32 pad) { return m_gamePad[pad]->stopMotorHard(); }
|
||||
static void stopMotorWaveHard(u32 pad) { return m_gamePad[pad]->stopMotorWaveHard(); }
|
||||
|
||||
static JUTGamePad* m_gamePad[4];
|
||||
|
||||
@@ -16,5 +16,6 @@ struct mDoLib_clipper {
|
||||
void mDoLib_project(Vec* param_0, Vec* param_1);
|
||||
bool mDoLib_setResTimgObj(ResTIMG const* res, GXTexObj* o_texObj, u32 param_2,
|
||||
GXTlutObj* o_tlutObj);
|
||||
void mDoLib_pos2camera(Vec* param_0, Vec* param_1);
|
||||
|
||||
#endif /* M_DO_M_DO_LIB_H */
|
||||
|
||||
@@ -33,6 +33,10 @@ inline void mDoMtx_copy(const Mtx src, Mtx dst) {
|
||||
PSMTXCopy(src, dst);
|
||||
}
|
||||
|
||||
inline void mDoMtx_trans(Mtx m, f32 x, f32 y, f32 z) {
|
||||
PSMTXTrans(m,x,y,z);
|
||||
}
|
||||
|
||||
class mDoMtx_stack_c {
|
||||
public:
|
||||
/* 8000CCC8 */ static bool push();
|
||||
|
||||
@@ -235,7 +235,7 @@ cCcD_GObjInf* dCcD_GObjInf::GetAtHitGObj() {
|
||||
}
|
||||
|
||||
/* 800843DC-800843FC 07ED1C 0020+00 0/0 1/1 0/0 .text ChkAtNoGuard__12dCcD_GObjInfFv */
|
||||
#ifdef NON_MATCHING
|
||||
#ifdef NONMATCHING
|
||||
bool dCcD_GObjInf::ChkAtNoGuard() {
|
||||
return 12 < mGObjAt.mSpl;
|
||||
}
|
||||
|
||||
+100
-53
@@ -6,51 +6,10 @@
|
||||
#include "d/d_insect.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct fopAc_ac_c {
|
||||
/* 80018B64 */ fopAc_ac_c();
|
||||
};
|
||||
|
||||
struct dSv_event_flag_c {
|
||||
static u8 saveBitLabels[1644 + 4 /* padding */];
|
||||
};
|
||||
|
||||
struct dSv_event_c {
|
||||
/* 800349BC */ void isEventBit(u16) const;
|
||||
};
|
||||
|
||||
struct dMenu_Insect_c {
|
||||
/* 801D9F3C */ void isCatchNotGiveInsect(u8);
|
||||
};
|
||||
|
||||
struct dInsect_c {
|
||||
/* 80110648 */ void Insect_Release();
|
||||
/* 8015E010 */ dInsect_c();
|
||||
/* 8015E078 */ void Insect_GetDemoMain();
|
||||
/* 8015E26C */ void CalcZBuffer(f32);
|
||||
};
|
||||
|
||||
struct dEvt_control_c {
|
||||
/* 80042468 */ void reset();
|
||||
};
|
||||
|
||||
struct dEvent_manager_c {
|
||||
/* 80047ADC */ void endCheckOld(char const*);
|
||||
};
|
||||
|
||||
struct dDlst_peekZ_c {
|
||||
/* 80056018 */ void newData(s16, s16, u32*);
|
||||
};
|
||||
|
||||
struct csXyz {};
|
||||
|
||||
struct cXyz {};
|
||||
|
||||
struct Vec {};
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/menu/d_menu_insect.h"
|
||||
#include "m_Do/m_Do_lib.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
@@ -81,7 +40,6 @@ extern "C" void newData__13dDlst_peekZ_cFssPUl();
|
||||
extern "C" void Insect_Release__9dInsect_cFv();
|
||||
extern "C" void isCatchNotGiveInsect__14dMenu_Insect_cFUc();
|
||||
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
@@ -98,14 +56,15 @@ SECTION_DATA extern void* __vt__9dInsect_c[3 + 1 /* padding */] = {
|
||||
};
|
||||
|
||||
/* 8015E010-8015E078 158950 0068+00 0/0 0/0 13/13 .text __ct__9dInsect_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dInsect_c::dInsect_c() {
|
||||
nofralloc
|
||||
#include "asm/d/d_insect/__ct__9dInsect_cFv.s"
|
||||
dInsect_c::dInsect_c() {
|
||||
field_0x588 = -1;
|
||||
field_0x56C = 0;
|
||||
field_0x56D = 1;
|
||||
field_0x58C = 0;
|
||||
field_0x580 = 0xD6;
|
||||
field_0x584 = 0;
|
||||
field_0x585 = 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80393D98-80393D98 0203F8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
@@ -116,6 +75,54 @@ SECTION_DEAD static char const* const stringBase_80393D98 = "DEFAULT_GETITEM";
|
||||
|
||||
/* 8015E078-8015E26C 1589B8 01F4+00 0/0 0/0 24/24 .text Insect_GetDemoMain__9dInsect_cFv
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void dInsect_c::Insect_GetDemoMain() {
|
||||
if (field_0x58C != 1) {
|
||||
if (fopAcM_checkCarryNow(this)) {
|
||||
cLib_offBit(mAttentionInfo.mFlags,0x10);
|
||||
fopAcM_cancelCarryNow(this);
|
||||
fopAcM_orderItemEvent(this,0,0);
|
||||
mEvtInfo.i_onCondition(8);
|
||||
|
||||
field_0x588 = fopAcM_createItemForTrBoxDemo(¤t.pos,field_0x580,-1,fopAcM_GetRoomNo(this),0,0);
|
||||
field_0x58C = 1;
|
||||
|
||||
if (dMenu_Insect_c::isCatchNotGiveInsect(field_0x580) != 0) {
|
||||
field_0x585 = 1;
|
||||
}
|
||||
} else {
|
||||
cLib_onBit(mAttentionInfo.mFlags,0x10);
|
||||
}
|
||||
} else {
|
||||
if (mEvtInfo.checkCommandItem()) {
|
||||
if (field_0x588 != -1) {
|
||||
dComIfGp_event_setItemPartnerId(field_0x588);
|
||||
}
|
||||
|
||||
field_0x56D = 0;
|
||||
field_0x58C = 2;
|
||||
} else {
|
||||
fopAcM_orderItemEvent(this,0,0);
|
||||
mEvtInfo.i_onCondition(8);
|
||||
}
|
||||
}
|
||||
|
||||
if (dComIfGp_evmng_endCheck("DEFAULT_GETITEM")) {
|
||||
i_dComIfGp_event_reset();
|
||||
if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x582]) || field_0x585 != 0) {
|
||||
field_0x56D = 1;
|
||||
field_0x58C = 0;
|
||||
if (field_0x584 == 0) {
|
||||
fopAcM_createItem(¤t.pos,0,-1,-1,0,0,0);
|
||||
field_0x584 = 1;
|
||||
}
|
||||
} else {
|
||||
fopAcM_delete(this);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -124,6 +131,7 @@ asm void dInsect_c::Insect_GetDemoMain() {
|
||||
#include "asm/d/d_insect/Insect_GetDemoMain__9dInsect_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804535E0-804535E4 001BE0 0004+00 1/1 0/0 0/0 .sdata2 @3871 */
|
||||
@@ -157,6 +165,44 @@ SECTION_SDATA2 static f32 lit_3877[1 + 1 /* padding */] = {
|
||||
};
|
||||
|
||||
/* 8015E26C-8015E3F8 158BAC 018C+00 0/0 0/0 3/3 .text CalcZBuffer__9dInsect_cFf */
|
||||
#ifdef NONMATCHING
|
||||
void dInsect_c::CalcZBuffer(f32 param_0) {
|
||||
f32 camera_trim_height;
|
||||
cXyz pos;
|
||||
cXyz pos_projected;
|
||||
|
||||
pos = current.pos;
|
||||
pos.y += FLOAT_LABEL(lit_3871);
|
||||
|
||||
mDoLib_project(&pos_projected,&pos);
|
||||
|
||||
if (dComIfGp_getCamera(0)) {
|
||||
camera_trim_height = dComIfGp_getCamera(0)->mCamera.field_0x93c;
|
||||
} else {
|
||||
camera_trim_height = FLOAT_LABEL(lit_3872);
|
||||
}
|
||||
|
||||
if (pos_projected.x < FLOAT_LABEL(lit_3872) ||
|
||||
pos_projected.x > FLOAT_LABEL(lit_3873) ||
|
||||
pos_projected.y < camera_trim_height ||
|
||||
pos_projected.y < FLOAT_LABEL(lit_3874) - camera_trim_height) {
|
||||
dComIfGd_peekZ(pos_projected.x,pos_projected.y,&field_0x578);
|
||||
} else {
|
||||
field_0x578 = 0;
|
||||
}
|
||||
|
||||
f32 view_near = dComIfGd_getView()->mNear;
|
||||
f32 view_far = dComIfGd_getView()->mFar;
|
||||
|
||||
mDoLib_pos2camera(&pos_projected,&pos);
|
||||
pos_projected.z += param_0;
|
||||
if (pos_projected.z == FLOAT_LABEL(lit_3872)) {
|
||||
pos_projected.z = FLOAT_LABEL(lit_3875);
|
||||
}
|
||||
|
||||
field_0x57C = view_near + ((view_far * view_near) / pos_projected.z) / (view_far - view_near);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -165,5 +211,6 @@ asm void dInsect_c::CalcZBuffer(f32 param_0) {
|
||||
#include "asm/d/d_insect/CalcZBuffer__9dInsect_cFf.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80393D98-80393D98 0203F8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
+40
-35
@@ -6,29 +6,18 @@
|
||||
#include "d/d_jnt_col.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "m_Do/m_Do_mtx.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct mDoMtx_stack_c {
|
||||
/* 8000CD64 */ void transS(cXyz const&);
|
||||
/* 8000CD9C */ void transM(f32, f32, f32);
|
||||
/* 8000CF0C */ void ZXYrotS(csXyz const&);
|
||||
|
||||
static u8 now[48];
|
||||
};
|
||||
|
||||
struct cM3dGSph {
|
||||
/* 80036AA4 */ ~cM3dGSph();
|
||||
/* 8026F664 */ void Set(cXyz const&, f32);
|
||||
};
|
||||
|
||||
struct cM3dGPla {
|
||||
/* 8026F408 */ void crossInfLin(cXyz const&, cXyz const&, cXyz&) const;
|
||||
/* 8026F4C4 */ void SetupNP0(Vec const&, Vec const&);
|
||||
};
|
||||
|
||||
struct cM3dGCyl {
|
||||
/* 8026F180 */ void Set(cXyz const&, f32, f32);
|
||||
};
|
||||
@@ -94,26 +83,25 @@ extern "C" u8 BaseZ__4cXyz[12];
|
||||
//
|
||||
|
||||
/* 80035C8C-80035CA0 0305CC 0014+00 0/0 1/1 8/8 .text __ct__9dJntCol_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dJntCol_c::dJntCol_c() {
|
||||
nofralloc
|
||||
#include "asm/d/d_jnt_col/__ct__9dJntCol_cFv.s"
|
||||
dJntCol_c::dJntCol_c() {
|
||||
mModel = 0;
|
||||
mData = 0;
|
||||
field_0x8 = 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80035CA0-80035CC8 0305E0 0028+00 0/0 2/2 8/8 .text
|
||||
* init__9dJntCol_cFP10fopAc_ac_cPC13dJntColData_cP8J3DModeli */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dJntCol_c::init(fopAc_ac_c* param_0, dJntColData_c const* param_1, J3DModel* param_2,
|
||||
int dJntCol_c::init(fopAc_ac_c* i_actorP, dJntColData_c const* i_jntColP, J3DModel* i_modelP,
|
||||
int param_3) {
|
||||
nofralloc
|
||||
#include "asm/d/d_jnt_col/init__9dJntCol_cFP10fopAc_ac_cPC13dJntColData_cP8J3DModeli.s"
|
||||
mData = (dJntColData_c*)i_jntColP;
|
||||
mModel = i_modelP;
|
||||
field_0x8 = param_3;
|
||||
field_0xc = 0;
|
||||
if (i_actorP) {
|
||||
fopAcM_SetJntCol(i_actorP,this);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451D60-80451D64 000360 0004+00 1/1 0/0 0/0 .sdata2 @3655 */
|
||||
@@ -121,6 +109,23 @@ SECTION_SDATA2 static f32 lit_3655 = 500.0f;
|
||||
|
||||
/* 80035CC8-80035DC8 030608 0100+00 2/2 0/0 0/0 .text
|
||||
* setNowLine__9dJntCol_cFP8cM3dGLinPC4cXyzPC5csXyzP4cXyz */
|
||||
#ifdef NONMATCHING
|
||||
// regalloc, parameters are loading in wrong?
|
||||
void dJntCol_c::setNowLine(cM3dGLin* param_0, cXyz const* param_1, csXyz const* param_2,
|
||||
cXyz* param_3) {
|
||||
|
||||
if (param_2) {
|
||||
mDoMtx_stack_c::ZXYrotS(*param_2);
|
||||
mDoMtx_stack_c::multVec(&cXyz::BaseZ,param_3);
|
||||
} else {
|
||||
*param_3 = cXyz::BaseZ;
|
||||
}
|
||||
|
||||
cXyz start_pos = *param_1 - *param_3 * FLOAT_LABEL(lit_3655);
|
||||
cXyz end_pos = *param_1 + *param_3 * FLOAT_LABEL(lit_3655);
|
||||
param_0->SetStartEnd(start_pos,end_pos);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -130,6 +135,7 @@ asm void dJntCol_c::setNowLine(cM3dGLin* param_0, cXyz const* param_1, csXyz con
|
||||
#include "asm/d/d_jnt_col/setNowLine__9dJntCol_cFP8cM3dGLinPC4cXyzPC5csXyzP4cXyz.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A78F8-803A7904 004A18 000C+00 4/4 21/21 0/0 .data __vt__8cM3dGLin */
|
||||
@@ -237,12 +243,11 @@ asm void dJntCol_c::getHitmarkPosAndAngle(cXyz const* param_0, csXyz const* para
|
||||
|
||||
/* 80036FA8-80037038 0318E8 0090+00 0/0 0/0 1/1 .text
|
||||
* setArrowPosAndAngle__9dJntCol_cFPC4cXyzPC4cXyziP4cXyzP5csXyz */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dJntCol_c::setArrowPosAndAngle(cXyz const* param_0, cXyz const* param_1, int param_2,
|
||||
cXyz* param_3, csXyz* param_4) {
|
||||
nofralloc
|
||||
#include "asm/d/d_jnt_col/setArrowPosAndAngle__9dJntCol_cFPC4cXyzPC4cXyziP4cXyzP5csXyz.s"
|
||||
void dJntCol_c::setArrowPosAndAngle(cXyz const* param_0, cXyz const* i_srcPos, int i_anmMtxIdx,
|
||||
cXyz* param_3, csXyz* i_arrowPosP) {
|
||||
cXyz dst_pos;
|
||||
mDoMtx_multVecSR(mModel->i_getAnmMtx(i_anmMtxIdx),i_srcPos,&dst_pos);
|
||||
i_arrowPosP->x = dst_pos.atan2sY_XZ();
|
||||
i_arrowPosP->y = dst_pos.atan2sX_Z();
|
||||
mDoMtx_multVec(mModel->i_getAnmMtx(i_anmMtxIdx),param_0,param_3);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
+53
-64
@@ -15,28 +15,9 @@ struct mDoMtx_stack_c {
|
||||
static u8 now[48];
|
||||
};
|
||||
|
||||
struct J3DAnmTevRegKey {};
|
||||
|
||||
struct J3DMaterialTable {
|
||||
/* 8032F880 */ void removeTevRegAnimator(J3DAnmTevRegKey*);
|
||||
};
|
||||
|
||||
struct mDoExt_brkAnm {
|
||||
/* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16);
|
||||
/* 8000D7A8 */ void entry(J3DMaterialTable*, f32);
|
||||
};
|
||||
|
||||
struct mDoExt_baseAnm {
|
||||
/* 8000D428 */ void play();
|
||||
};
|
||||
|
||||
struct kankyo_class {};
|
||||
|
||||
struct dThunder_c {
|
||||
/* 801ADF58 */ void createHeap();
|
||||
/* 801ADFB4 */ void adjustHeap();
|
||||
/* 801AE458 */ void create();
|
||||
};
|
||||
|
||||
|
||||
struct dRes_info_c {};
|
||||
|
||||
@@ -44,30 +25,6 @@ struct dRes_control_c {
|
||||
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
|
||||
};
|
||||
|
||||
struct cXyz {
|
||||
/* 80009184 */ ~cXyz();
|
||||
};
|
||||
|
||||
struct Vec {};
|
||||
|
||||
struct Z2EnvSeMgr {
|
||||
/* 802C7E68 */ void startFarThunderSe(Vec*, s8);
|
||||
};
|
||||
|
||||
struct JMath {
|
||||
static u8 sincosTable_[65536];
|
||||
};
|
||||
|
||||
struct JKRSolidHeap {};
|
||||
|
||||
struct J3DModelData {};
|
||||
|
||||
struct J3DModel {};
|
||||
|
||||
struct J3DFrameCtrl {
|
||||
/* 803283FC */ void init(s16);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
@@ -111,9 +68,6 @@ extern "C" void cLib_targetAngleY__FPC3VecPC3Vec();
|
||||
extern "C" void startFarThunderSe__10Z2EnvSeMgrFP3VecSc();
|
||||
extern "C" void init__12J3DFrameCtrlFs();
|
||||
extern "C" void removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey();
|
||||
extern "C" void DCStoreRangeNoSync();
|
||||
extern "C" void PSMTXCopy();
|
||||
extern "C" void PSMTXTrans();
|
||||
extern "C" void __register_global_object();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _restgpr_27();
|
||||
@@ -124,9 +78,7 @@ 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 g_mEnvSeMgr[780];
|
||||
extern "C" extern u8 g_Counter[12 + 4 /* padding */];
|
||||
extern "C" extern u8 j3dSys[284];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
|
||||
extern "C" extern u8 struct_80451070[8];
|
||||
@@ -136,24 +88,23 @@ extern "C" extern u8 struct_80451070[8];
|
||||
//
|
||||
|
||||
/* 801ADF58-801ADFB4 1A8898 005C+00 1/1 0/0 0/0 .text createHeap__10dThunder_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dThunder_c::createHeap() {
|
||||
nofralloc
|
||||
#include "asm/d/d_ky_thunder/createHeap__10dThunder_cFv.s"
|
||||
int dThunder_c::createHeap() {
|
||||
if (!mpHeap) {
|
||||
mpHeap = mDoExt_createSolidHeapFromGameToCurrent(0,0x20);
|
||||
if (!mpHeap) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801ADFB4-801AE000 1A88F4 004C+00 1/1 0/0 0/0 .text adjustHeap__10dThunder_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dThunder_c::adjustHeap() {
|
||||
nofralloc
|
||||
#include "asm/d/d_ky_thunder/adjustHeap__10dThunder_cFv.s"
|
||||
void dThunder_c::adjustHeap() {
|
||||
mDoExt_restoreCurrentHeap();
|
||||
if ((s32)mDoExt_adjustSolidHeap(mpHeap) >= 0) {
|
||||
DCStoreRangeNoSync(mpHeap->getStartAddr(),mpHeap->getHeapSize());
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8042E7F0-8042E7FC 05B510 000C+00 1/1 0/0 0/0 .bss @3816 */
|
||||
@@ -187,6 +138,12 @@ SECTION_SDATA2 static f32 lit_3884 = -250.0f;
|
||||
SECTION_SDATA2 static f32 lit_3885 = 1.0f;
|
||||
|
||||
/* 801AE000-801AE19C 1A8940 019C+00 1/0 0/0 0/0 .text dThunder_Draw__FP10dThunder_c */
|
||||
#ifdef NONMATCHING
|
||||
// needs to have inline defined
|
||||
void dThunder_Draw(dThunder_c* i_dthunderP) {
|
||||
i_dthunderP->draw();
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -195,6 +152,7 @@ static asm void dThunder_Draw(dThunder_c* param_0) {
|
||||
#include "asm/d/d_ky_thunder/dThunder_Draw__FP10dThunder_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80453E80-80453E84 002480 0004+00 2/2 0/0 0/0 .sdata2 @3923 */
|
||||
@@ -219,6 +177,12 @@ SECTION_SDATA2 static f32 lit_3928 = 1.0f / 100.0f;
|
||||
SECTION_SDATA2 static f32 lit_3929 = 1.0f / 50.0f;
|
||||
|
||||
/* 801AE19C-801AE374 1A8ADC 01D8+00 1/0 0/0 0/0 .text dThunder_Execute__FP10dThunder_c */
|
||||
#ifdef NONMATCHING
|
||||
// needs to have inline defined
|
||||
void dThunder_Execute(dThunder_c* i_dthunderP) {
|
||||
i_dthunderP->execute();
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -227,6 +191,7 @@ static asm void dThunder_Execute(dThunder_c* param_0) {
|
||||
#include "asm/d/d_ky_thunder/dThunder_Execute__FP10dThunder_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 801AE374-801AE37C 1A8CB4 0008+00 1/0 0/0 0/0 .text dThunder_IsDelete__FP10dThunder_c
|
||||
*/
|
||||
@@ -235,6 +200,12 @@ static bool dThunder_IsDelete(dThunder_c* param_0) {
|
||||
}
|
||||
|
||||
/* 801AE37C-801AE3FC 1A8CBC 0080+00 1/0 0/0 0/0 .text dThunder_Delete__FP10dThunder_c */
|
||||
#ifdef NONMATCHING
|
||||
// needs to have destructor defined
|
||||
void dThunder_Delete(dThunder_c* i_dthunderP) {
|
||||
thunder_delete(i_dthunderP);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -243,9 +214,26 @@ static asm void dThunder_Delete(dThunder_c* param_0) {
|
||||
#include "asm/d/d_ky_thunder/dThunder_Delete__FP10dThunder_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 801AE3FC-801AE458 1A8D3C 005C+00 1/0 0/0 0/0 .text dThunder_Create__FP12kankyo_class
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
// regalloc
|
||||
static int dThunder_Create(kankyo_class* param_0) {
|
||||
dThunder_c* thunder_ptr = (dThunder_c*)param_0;
|
||||
int ret = thunder_ptr->createHeap();
|
||||
|
||||
if (ret == 0) {
|
||||
return 5;
|
||||
} else {
|
||||
ret = thunder_ptr->create();
|
||||
thunder_ptr->adjustHeap();
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -254,6 +242,7 @@ static asm void dThunder_Create(kankyo_class* param_0) {
|
||||
#include "asm/d/d_ky_thunder/dThunder_Create__FP12kankyo_class.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80394F40-80394F40 0215A0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
@@ -336,7 +325,7 @@ SECTION_SDATA2 static f32 lit_4099 = 3.0f / 10.0f;
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dThunder_c::create() {
|
||||
asm int dThunder_c::create() {
|
||||
nofralloc
|
||||
#include "asm/d/d_ky_thunder/create__10dThunder_cFv.s"
|
||||
}
|
||||
|
||||
+134
-32
@@ -6,6 +6,7 @@
|
||||
#include "d/d_select_cursor.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
@@ -74,7 +75,6 @@ extern "C" extern void* __vt__12dDlst_base_c[3];
|
||||
extern "C" extern void* __vt__10J2DAnmBase[4];
|
||||
extern "C" extern void* __vt__15J2DAnmTransform[5 + 4 /* padding */];
|
||||
extern "C" extern void* __vt__18J2DAnmTransformKey[6];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
@@ -249,6 +249,18 @@ asm dSelect_cursor_c::~dSelect_cursor_c() {
|
||||
#pragma pop
|
||||
|
||||
/* 80194C30-80194CC0 18F570 0090+00 1/0 0/0 0/0 .text draw__16dSelect_cursor_cFv */
|
||||
#ifdef NONMATCHING
|
||||
void dSelect_cursor_c::draw() {
|
||||
mpPaneMgr->getAlphaRate();
|
||||
update();
|
||||
J2DGrafContext* gphCtx = dComIfGp_getCurrentGrafPort();
|
||||
gphCtx->setup2D();
|
||||
mpScreen->draw(FLOAT_LABEL(lit_3808),FLOAT_LABEL(lit_3808),gphCtx);
|
||||
if (mpSelectIcon) {
|
||||
// mpSelectIcon->drawSelf(); // inline here, but not sure how to properly define it
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -258,6 +270,7 @@ extern "C" asm void draw__16dSelect_cursor_cFv() {
|
||||
#include "asm/d/d_select_cursor/draw__16dSelect_cursor_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80453A54-80453A58 002054 0004+00 3/3 0/0 0/0 .sdata2 @4062 */
|
||||
@@ -281,6 +294,41 @@ asm void dSelect_cursor_c::update() {
|
||||
SECTION_SDATA2 static f32 lit_4089 = -1.0f;
|
||||
|
||||
/* 801950F4-801951B0 18FA34 00BC+00 0/0 30/30 0/0 .text setPos__16dSelect_cursor_cFffP7J2DPaneb */
|
||||
#ifdef NONMATCHING
|
||||
void dSelect_cursor_c::setPos(f32 i_posX, f32 i_posY, J2DPane* i_pane, bool i_scaleBounds) {
|
||||
mpPane = i_pane;
|
||||
setPos(i_posX,i_posY);
|
||||
|
||||
if (!i_pane) {
|
||||
return;
|
||||
}
|
||||
|
||||
f32 width = i_pane->getWidth() * FLOAT_LABEL(lit_3673) * FLOAT_LABEL(lit_4062);
|
||||
f32 height = i_pane->getHeight() * FLOAT_LABEL(lit_4062);
|
||||
|
||||
if (i_scaleBounds) {
|
||||
width *= i_pane->getScaleX();
|
||||
height *= i_pane->getScaleY();
|
||||
}
|
||||
|
||||
f32 tmp7 = FLOAT_LABEL(lit_4089);
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
|
||||
field_0x94[i] = width;
|
||||
field_0xa4[i] = height;
|
||||
|
||||
if (i < 2) {
|
||||
field_0x94[i] *= tmp7;
|
||||
}
|
||||
|
||||
if ((i & 1) ^ (i >> 0x1f) == i >> 0x1f) {
|
||||
field_0xa4[i] *= tmp7;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -289,19 +337,35 @@ asm void dSelect_cursor_c::setPos(f32 param_0, f32 param_1, J2DPane* param_2, bo
|
||||
#include "asm/d/d_select_cursor/setPos__16dSelect_cursor_cFffP7J2DPaneb.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 801951B0-801951C8 18FAF0 0018+00 0/0 24/24 0/0 .text setParam__16dSelect_cursor_cFfffff */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dSelect_cursor_c::setParam(f32 param_0, f32 param_1, f32 param_2, f32 param_3,
|
||||
f32 param_4) {
|
||||
nofralloc
|
||||
#include "asm/d/d_select_cursor/setParam__16dSelect_cursor_cFfffff.s"
|
||||
void dSelect_cursor_c::setParam(f32 i_param1, f32 i_param2, f32 i_param3, f32 i_param4,
|
||||
f32 i_param5) {
|
||||
mParam1 = i_param1;
|
||||
mParam2 = i_param2;
|
||||
mParam3 = i_param3;
|
||||
mParam4 = i_param4;
|
||||
mParam5 = i_param5;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801951C8-801952A0 18FB08 00D8+00 0/0 14/14 0/0 .text setScale__16dSelect_cursor_cFf */
|
||||
#ifdef NONMATCHING
|
||||
// first conditional has issues
|
||||
void dSelect_cursor_c::setScale(f32 i_scale) {
|
||||
J2DPane* pane = mpPaneMgr->getPanePtr();
|
||||
pane->scale(i_scale,i_scale);
|
||||
|
||||
s8 name_idx = mNameIdx;
|
||||
if ((name_idx == 1 || name_idx < 1) || (name_idx < 0 && name_idx < 4)) {
|
||||
field_0x50 = mpScreen->search('ssel_ico')->getTranslateX();
|
||||
field_0x54 = mpScreen->search('ssel_ico')->getTranslateY();
|
||||
} else {
|
||||
field_0x50 = 0.0f;
|
||||
field_0x54 = 0.0f;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -310,40 +374,88 @@ asm void dSelect_cursor_c::setScale(f32 param_0) {
|
||||
#include "asm/d/d_select_cursor/setScale__16dSelect_cursor_cFf.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 801952A0-80195330 18FBE0 0090+00 0/0 77/77 0/0 .text setAlphaRate__16dSelect_cursor_cFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dSelect_cursor_c::setAlphaRate(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_select_cursor/setAlphaRate__16dSelect_cursor_cFf.s"
|
||||
void dSelect_cursor_c::setAlphaRate(f32 i_alphaRate) {
|
||||
if (i_alphaRate > FLOAT_LABEL(lit_3808)) {
|
||||
if (mpPaneMgr->isVisible() == 0) {
|
||||
mpPaneMgr->show();
|
||||
}
|
||||
} else {
|
||||
i_alphaRate = FLOAT_LABEL(lit_3808);
|
||||
if (mpPaneMgr->isVisible() == 1) {
|
||||
mpPaneMgr->hide();
|
||||
}
|
||||
}
|
||||
|
||||
mpPaneMgr->setAlphaRate(i_alphaRate);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80453A64-80453A68 002064 0004+00 2/2 0/0 0/0 .sdata2 @4157 */
|
||||
SECTION_SDATA2 static f32 lit_4157 = 5.0f;
|
||||
|
||||
/* 80195330-801953CC 18FC70 009C+00 0/0 1/1 0/0 .text addAlpha__16dSelect_cursor_cFv */
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
int dSelect_cursor_c::addAlpha() {
|
||||
s16 alpha_timer = mpPaneMgr->getAlphaTimer();
|
||||
|
||||
if (mpPaneMgr->isVisible() == 0) {
|
||||
mpPaneMgr->show();
|
||||
}
|
||||
|
||||
if (alpha_timer >= 5) {
|
||||
return 1;
|
||||
} else {
|
||||
alpha_timer++;
|
||||
mpPaneMgr->alphaAnimeStart(alpha_timer);
|
||||
mpPaneMgr->setAlphaRate(alpha_timer/FLOAT_LABEL(lit_4157));
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dSelect_cursor_c::addAlpha() {
|
||||
asm int dSelect_cursor_c::addAlpha() {
|
||||
nofralloc
|
||||
#include "asm/d/d_select_cursor/addAlpha__16dSelect_cursor_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 801953CC-80195460 18FD0C 0094+00 0/0 1/1 0/0 .text decAlpha__16dSelect_cursor_cFv */
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
int dSelect_cursor_c::decAlpha() {
|
||||
s16 alpha_timer = mpPaneMgr->getAlphaTimer();
|
||||
|
||||
if (alpha_timer <= 0) {
|
||||
if (mpPaneMgr->isVisible() == 1) {
|
||||
mpPaneMgr->hide();
|
||||
}
|
||||
return 1;
|
||||
} else {
|
||||
alpha_timer--;
|
||||
mpPaneMgr->alphaAnimeStart(alpha_timer);
|
||||
mpPaneMgr->setAlphaRate(alpha_timer/FLOAT_LABEL(lit_4157));
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dSelect_cursor_c::decAlpha() {
|
||||
asm int dSelect_cursor_c::decAlpha() {
|
||||
nofralloc
|
||||
#include "asm/d/d_select_cursor/decAlpha__16dSelect_cursor_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80394A30-80394A50 021090 0020+00 1/1 0/0 0/0 .rodata tag$4181 */
|
||||
@@ -410,25 +522,15 @@ asm void dSelect_cursor_c::setCursorAnimation() {
|
||||
|
||||
/* 801958E0-80195940 190220 0060+00 1/1 0/0 0/0 .text
|
||||
* setBckAnimation__16dSelect_cursor_cFP18J2DAnmTransformKey */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dSelect_cursor_c::setBckAnimation(J2DAnmTransformKey* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_select_cursor/setBckAnimation__16dSelect_cursor_cFP18J2DAnmTransformKey.s"
|
||||
void dSelect_cursor_c::setBckAnimation(J2DAnmTransformKey* param_0) {
|
||||
mpScreen->search('ssel_ico')->setAnimation((J2DAnmTransform*)param_0);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80195940-80195978 190280 0038+00 1/1 0/0 0/0 .text moveCenter__16dSelect_cursor_cFP7J2DPaneff
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dSelect_cursor_c::moveCenter(J2DPane* param_0, f32 param_1, f32 param_2) {
|
||||
nofralloc
|
||||
#include "asm/d/d_select_cursor/moveCenter__16dSelect_cursor_cFP7J2DPaneff.s"
|
||||
void dSelect_cursor_c::moveCenter(J2DPane* i_pane, f32 i_x, f32 i_y) {
|
||||
i_pane->translate(i_x,i_y);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80195978-801959C0 1902B8 0048+00 1/0 0/0 0/0 .text __dt__19dSelect_cursorHIO_cFv */
|
||||
#pragma push
|
||||
|
||||
+122
-90
@@ -6,30 +6,7 @@
|
||||
#include "d/d_vibration.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct mDoCPd_c {
|
||||
static u8 m_gamePad[16];
|
||||
};
|
||||
|
||||
struct dCamera_c {
|
||||
/* 80181000 */ void StartShake(s32, u8*, s32, cXyz);
|
||||
/* 80181158 */ void StopShake();
|
||||
};
|
||||
|
||||
struct JUTGamePad {
|
||||
struct CRumble {
|
||||
struct ERumble {};
|
||||
|
||||
/* 802E168C */ void stopMotor(int, bool);
|
||||
/* 802E18CC */ void startPatternedRumble(void*, JUTGamePad::CRumble::ERumble, u32);
|
||||
/* 802E1948 */ void stopPatternedRumble(s16);
|
||||
/* 802E1978 */ void stopPatternedRumbleAtThePeriod();
|
||||
};
|
||||
};
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
@@ -78,7 +55,6 @@ extern "C" u8 const CS_patt__12dVibration_c[88];
|
||||
extern "C" u8 const MQ_patt__12dVibration_c[80];
|
||||
extern "C" u8 const CQ_patt__12dVibration_c[80];
|
||||
extern "C" u8 m_gamePad__8mDoCPd_c[16];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
@@ -146,24 +122,51 @@ asm void dVibration_c::Run() {
|
||||
#pragma pop
|
||||
|
||||
/* 8006FA24-8006FB10 06A364 00EC+00 0/0 62/62 298/298 .text StartShock__12dVibration_cFii4cXyz */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dVibration_c::StartShock(int param_0, int param_1, cXyz param_2) {
|
||||
nofralloc
|
||||
#include "asm/d/d_vibration/StartShock__12dVibration_cFii4cXyz.s"
|
||||
bool dVibration_c::StartShock(int param_0, int param_1, cXyz param_2) {
|
||||
bool ret = false;
|
||||
if (param_1 & 0x7eU) {
|
||||
field_0x0.mShock.field_0x4 = param_0;
|
||||
field_0x0.mShock.field_0x24 = 0;
|
||||
field_0x0.mShock.field_0x14 = param_1;
|
||||
field_0x0.mShock.field_0x18 = param_2;
|
||||
field_0x0.mShock.field_0x8 = CS_patt[param_0].field_0x04;
|
||||
field_0x0.mShock.field_0xc = CS_patt[param_0].field_0x02;
|
||||
field_0x0.mShock.field_0x10 = CS_patt[param_0].field_0x00;
|
||||
ret = true;
|
||||
}
|
||||
if (param_1 & 1 && dComIfGs_checkOptVibration() == 1) {
|
||||
field_0x54 = param_0;
|
||||
field_0x64 = 0;
|
||||
field_0x58 = MS_patt[param_0].field_0x04;
|
||||
field_0x5c = MS_patt[param_0].field_0x02;
|
||||
ret = true;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8006FB10-8006FC0C 06A450 00FC+00 0/0 8/8 67/67 .text StartQuake__12dVibration_cFii4cXyz */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dVibration_c::StartQuake(int param_0, int param_1, cXyz param_2) {
|
||||
nofralloc
|
||||
#include "asm/d/d_vibration/StartQuake__12dVibration_cFii4cXyz.s"
|
||||
bool dVibration_c::StartQuake(int param_0, int param_1, cXyz param_2) {
|
||||
bool ret = false;
|
||||
if (param_1 & 0x7eU) {
|
||||
field_0x0.mQuake.field_0x4 = param_0;
|
||||
field_0x0.mQuake.field_0x24 = 0;
|
||||
field_0x0.mQuake.field_0x14 = param_1;
|
||||
field_0x0.mQuake.field_0x18 = param_2;
|
||||
field_0x0.mQuake.field_0x8 = CQ_patt[param_0].field_0x04;
|
||||
field_0x0.mQuake.field_0xc = CQ_patt[param_0].field_0x02;
|
||||
field_0x0.mQuake.field_0x10 = CQ_patt[param_0].field_0x00;
|
||||
ret = true;
|
||||
}
|
||||
if (param_1 & 1 && dComIfGs_checkOptVibration() == 1) {
|
||||
field_0x70 = param_0;
|
||||
field_0x80 = 0;
|
||||
field_0x74 = MQ_patt[param_0].field_0x04;
|
||||
field_0x78 = MQ_patt[param_0].field_0x02;
|
||||
field_0x7c = CQ_patt[param_0].field_0x00;
|
||||
ret = true;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8006FC0C-8006FD94 06A54C 0188+00 0/0 2/2 2/2 .text StartQuake__12dVibration_cFPCUcii4cXyz */
|
||||
#pragma push
|
||||
@@ -176,71 +179,100 @@ asm void dVibration_c::StartQuake(u8 const* param_0, int param_1, int param_2, c
|
||||
#pragma pop
|
||||
|
||||
/* 8006FD94-8006FE00 06A6D4 006C+00 0/0 6/6 82/82 .text StopQuake__12dVibration_cFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dVibration_c::StopQuake(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_vibration/StopQuake__12dVibration_cFi.s"
|
||||
int dVibration_c::StopQuake(int param_0) {
|
||||
int ret = 0;
|
||||
if (param_0 & 0x7eU) {
|
||||
if (field_0x0.mQuake.field_0x24 >= 0) {
|
||||
field_0x0.mQuake.field_0x14 &= ~param_0;
|
||||
if (field_0x0.mQuake.field_0x14 == 0) {
|
||||
field_0x0.mQuake.field_0x0 |= 1;
|
||||
}
|
||||
ret = 1;
|
||||
}
|
||||
}
|
||||
if (param_0 & 1 && field_0x80 >= 0) {
|
||||
field_0x6c |= 1;
|
||||
ret = 1;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8006FE00-8006FE5C 06A740 005C+00 2/2 0/0 0/0 .text Kill__12dVibration_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dVibration_c::Kill() {
|
||||
nofralloc
|
||||
#include "asm/d/d_vibration/Kill__12dVibration_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
void dVibration_c::Kill() {
|
||||
mDoCPd_c::stopMotorWaveHard(0);
|
||||
mDoCPd_c::stopMotorHard(0);
|
||||
setDefault();
|
||||
}
|
||||
|
||||
/* 8006FE5C-8006FE84 06A79C 0028+00 0/0 0/0 10/10 .text CheckQuake__12dVibration_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dVibration_c::CheckQuake() {
|
||||
nofralloc
|
||||
#include "asm/d/d_vibration/CheckQuake__12dVibration_cFv.s"
|
||||
int dVibration_c::CheckQuake() {
|
||||
int ret = 0;
|
||||
if (field_0x0.mQuake.field_0x4 != -1 || field_0x70 != -1) {
|
||||
ret = 1;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8006FE84-8006FF04 06A7C4 0080+00 2/2 0/0 0/0 .text setDefault__12dVibration_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dVibration_c::setDefault() {
|
||||
nofralloc
|
||||
#include "asm/d/d_vibration/setDefault__12dVibration_cFv.s"
|
||||
void dVibration_c::setDefault() {
|
||||
field_0x54 = -1;
|
||||
field_0x0.mShock.field_0x4 = -1;
|
||||
field_0x70 = -1;
|
||||
field_0x0.mQuake.field_0x4 = -1;
|
||||
field_0x50 = 0;
|
||||
field_0x0.mShock.field_0x0 = 0;
|
||||
field_0x6c = 0;
|
||||
field_0x0.mQuake.field_0x0 = 0;
|
||||
field_0x58 = 0;
|
||||
field_0x0.mShock.field_0x8 = 0;
|
||||
field_0x74 = 0;
|
||||
field_0x0.mQuake.field_0x8 = 0;
|
||||
field_0x5c = 0;
|
||||
field_0x0.mShock.field_0xc = 0;
|
||||
field_0x78 = 0;
|
||||
field_0x0.mQuake.field_0xc = 0;
|
||||
field_0x60 = 0;
|
||||
field_0x0.mShock.field_0x10 = 0;
|
||||
field_0x7c = 0;
|
||||
field_0x0.mQuake.field_0x10 = 0;
|
||||
field_0x64 = -99;
|
||||
field_0x0.mShock.field_0x24 = -99;
|
||||
field_0x80 = -99;
|
||||
field_0x0.mQuake.field_0x24 = -99;
|
||||
field_0x68 = -99;
|
||||
field_0x84 = -99;
|
||||
field_0x8c = 0;
|
||||
field_0x88 = 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8006FF04-8006FF38 06A844 0034+00 0/0 2/2 0/0 .text Init__12dVibration_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dVibration_c::Init() {
|
||||
nofralloc
|
||||
#include "asm/d/d_vibration/Init__12dVibration_cFv.s"
|
||||
void dVibration_c::Init() {
|
||||
Kill();
|
||||
setDefault();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8006FF38-8006FFF8 06A878 00C0+00 0/0 1/1 0/0 .text Pause__12dVibration_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dVibration_c::Pause() {
|
||||
nofralloc
|
||||
#include "asm/d/d_vibration/Pause__12dVibration_cFv.s"
|
||||
void dVibration_c::Pause() {
|
||||
if (field_0x8c != -1) {
|
||||
if (field_0x54 != -1 || field_0x70 != -1) {
|
||||
mDoCPd_c::stopMotorWaveHard(0);
|
||||
mDoCPd_c::stopMotorHard(0);
|
||||
}
|
||||
field_0x54 = -1;
|
||||
field_0x0.mShock.field_0x4 = -1;
|
||||
field_0x64 = -99;
|
||||
field_0x0.mShock.field_0x24 = -99;
|
||||
if (field_0x0.mQuake.field_0x4 != -1) {
|
||||
field_0x0.mQuake.field_0x24 = 0;
|
||||
}
|
||||
if (field_0x70 != -1) {
|
||||
field_0x80 = 0;
|
||||
}
|
||||
field_0x8c = -1;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8006FFF8-80070018 06A938 0020+00 0/0 1/1 0/0 .text Remove__12dVibration_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dVibration_c::Remove() {
|
||||
nofralloc
|
||||
#include "asm/d/d_vibration/Remove__12dVibration_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
void dVibration_c::Remove() {
|
||||
Kill();
|
||||
}
|
||||
@@ -792,7 +792,7 @@ asm void dMenu_Insect_c::isGiveInsect(u8 param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMenu_Insect_c::isCatchNotGiveInsect(u8 param_0) {
|
||||
asm u8 dMenu_Insect_c::isCatchNotGiveInsect(u8 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/menu/d_menu_insect/isCatchNotGiveInsect__14dMenu_Insect_cFUc.s"
|
||||
}
|
||||
|
||||
+88
-54
@@ -212,8 +212,8 @@ static int fopAc_Execute(void* actor) {
|
||||
fopAcM_delete(ac);
|
||||
}
|
||||
|
||||
if (ac->current.pos.y < -9.999999848243207e+30f) {
|
||||
ac->current.pos.y = -9.999999848243207e+30f;
|
||||
if (ac->current.pos.y < FLOAT_MIN) {
|
||||
ac->current.pos.y = FLOAT_MIN;
|
||||
}
|
||||
|
||||
dKy_depth_dist_set(ac);
|
||||
@@ -236,7 +236,6 @@ static int fopAc_IsDelete(void* actor) {
|
||||
}
|
||||
|
||||
/* 80018FCC-8001904C 01390C 0080+00 1/0 0/0 0/0 .text fopAc_Delete__FPv */
|
||||
#ifdef NONMATCHING
|
||||
static int fopAc_Delete(void* actor) {
|
||||
fopAc_ac_c* ac = (fopAc_ac_c*)actor;
|
||||
|
||||
@@ -254,16 +253,6 @@ static int fopAc_Delete(void* actor) {
|
||||
|
||||
return deleted;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void fopAc_Delete(void* param_0) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_actor/fopAc_Delete__FPv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451BD0-80451BD4 0001D0 0004+00 2/2 0/0 0/0 .sdata2 @4431 */
|
||||
@@ -371,36 +360,40 @@ static asm int fopAc_Create(void* param_0) {
|
||||
#endif
|
||||
|
||||
/* 800193FC-80019404 013D3C 0008+00 0/0 1/0 0/0 .text getFileListInfo__15dStage_roomDt_cCFv */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm void dStage_roomDt_c::getFileListInfo() const {
|
||||
extern "C" asm void getFileListInfo__15dStage_roomDt_cCFv() {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_actor/getFileListInfo__15dStage_roomDt_cCFv.s"
|
||||
dStage_FileList_dt_c* dStage_roomDt_c::getFileListInfo() const {
|
||||
return mFileListInfo;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80019404-800194FC 013D44 00F8+00 0/0 0/0 2/2 .text initBallModel__13fopEn_enemy_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void fopEn_enemy_c::initBallModel() {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_actor/initBallModel__13fopEn_enemy_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
bool fopEn_enemy_c::initBallModel() {
|
||||
void* objRes = dComIfG_getObjectRes("Alink",daAlink_c::getBallModelIdx());
|
||||
mBallModel = mDoExt_J3DModel__create((J3DModelData*)objRes, 0x80000, 0x11000284);
|
||||
|
||||
/* 800194FC-80019520 013E3C 0024+00 2/2 0/0 2/2 .text checkBallModelDraw__13fopEn_enemy_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void fopEn_enemy_c::checkBallModelDraw() {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_actor/checkBallModelDraw__13fopEn_enemy_cFv.s"
|
||||
if (!mBallModel) {
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
mBallModel->setBaseScale(cXyz::Zero);
|
||||
|
||||
mBtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Alink",daAlink_c::getBallBtkIdx());
|
||||
mBtk->searchUpdateMaterialID(mBallModel->getModelData());
|
||||
|
||||
mBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("Alink",daAlink_c::getBallBrkIdx());
|
||||
mBrk->searchUpdateMaterialID(mBallModel->getModelData());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
/* 800194FC-80019520 013E3C 0024+00 2/2 0/0 2/2 .text checkBallModelDraw__13fopEn_enemy_cFv */
|
||||
int fopEn_enemy_c::checkBallModelDraw() {
|
||||
int ret = 0;
|
||||
|
||||
if ((mFlags & 1) && !(mFlags & 0x32)) {
|
||||
ret = 1;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451BE0-80451BE8 0001E0 0004+04 2/2 0/0 0/0 .sdata2 @4505 */
|
||||
@@ -415,6 +408,29 @@ SECTION_SDATA2 static f64 lit_4507 = 4503601774854144.0 /* cast s32 to float */;
|
||||
|
||||
/* 80019520-800196A0 013E60 0180+00 0/0 0/0 2/2 .text
|
||||
* setBallModelEffect__13fopEn_enemy_cFP12dKy_tevstr_c */
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
void fopEn_enemy_c::setBallModelEffect(dKy_tevstr_c* param_0) {
|
||||
if (mBallModel) {
|
||||
field_0x590 += FLOAT_LABEL(lit_4505);
|
||||
|
||||
if (field_0x590 >= mBtk->getFrameMax()) {
|
||||
field_0x590 -= mBtk->getFrameMax();
|
||||
}
|
||||
|
||||
if ((u8)checkBallModelDraw()) {
|
||||
Vec* base_scale = mBallModel->getBaseScale();
|
||||
cLib_chaseF(&base_scale->x,FLOAT_LABEL(lit_4505),FLOAT_LABEL(lit_4431));
|
||||
f32 result = base_scale->x;
|
||||
base_scale->z = result;
|
||||
base_scale->y = result;
|
||||
|
||||
mEffectID1 = dComIfGp_particle_set(mEffectID1, 0x86c8, &mDownPos, param_0);
|
||||
mEffectID2 = dComIfGp_particle_set(mEffectID2, 0x86c9, &mDownPos, param_0);
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -423,6 +439,7 @@ asm void fopEn_enemy_c::setBallModelEffect(dKy_tevstr_c* param_0) {
|
||||
#include "asm/f_op/f_op_actor/setBallModelEffect__13fopEn_enemy_cFP12dKy_tevstr_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451BF0-80451BF4 0001F0 0004+00 1/1 0/0 0/0 .sdata2 @4555 */
|
||||
@@ -445,26 +462,43 @@ SECTION_SDATA2 static f32 lit_4557[1 + 1 /* padding */] = {
|
||||
|
||||
/* 800196A0-800197BC 013FE0 011C+00 0/0 0/0 2/2 .text
|
||||
* drawBallModel__13fopEn_enemy_cFP12dKy_tevstr_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void fopEn_enemy_c::drawBallModel(dKy_tevstr_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_actor/drawBallModel__13fopEn_enemy_cFP12dKy_tevstr_c.s"
|
||||
void fopEn_enemy_c::drawBallModel(dKy_tevstr_c* param_0) {
|
||||
f32 tmp;
|
||||
|
||||
if (mBallModel) {
|
||||
Vec* base_scale = mBallModel->getBaseScale();
|
||||
|
||||
if ((u8)checkBallModelDraw()) {
|
||||
tmp = FLOAT_LABEL(lit_4505);
|
||||
} else {
|
||||
tmp = FLOAT_LABEL(lit_4555);
|
||||
}
|
||||
|
||||
cLib_chaseF(&base_scale->x,tmp,FLOAT_LABEL(lit_4556));
|
||||
|
||||
base_scale->y = base_scale->x;
|
||||
base_scale->z = base_scale->x;
|
||||
|
||||
mBallModel->setBaseScale(*base_scale);
|
||||
|
||||
if (base_scale->x > FLOAT_LABEL(lit_4557)) {
|
||||
mDoMtx_trans(mBallModel->getBaseTRMtx(),mDownPos.x,mDownPos.y,mDownPos.z);
|
||||
i_dKy_getEnvlight()->setLightTevColorType_MAJI(mBallModel, param_0);
|
||||
|
||||
mBtk->setFrame(field_0x590);
|
||||
mBallModel->getModelData()->entryTexMtxAnimator(mBtk);
|
||||
|
||||
mBrk->setFrame(field_0x590);
|
||||
mBallModel->getModelData()->entryTevRegAnimator(mBrk);
|
||||
|
||||
mDoExt_modelUpdateDL(mBallModel);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450CC0-80450CC8 0001C0 0004+04 0/0 9/9 0/0 .sbss
|
||||
* sInstance__35JASGlobalInstance<14JAUSectionHeap> */
|
||||
extern u8 data_80450CC0[4 + 4 /* padding */];
|
||||
u8 data_80450CC0[4 + 4 /* padding */];
|
||||
|
||||
/* 80378878-80378880 004ED8 0006+02 1/1 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
#pragma section ".dead"
|
||||
SECTION_DEAD static char const* const stringBase_80378878 = "Alink";
|
||||
/* @stringBase0 padding */
|
||||
SECTION_DEAD static char const* const pad_8037887E = "\0";
|
||||
#pragma pop
|
||||
|
||||
+35
-58
@@ -11,35 +11,6 @@
|
||||
#include "f_op/f_op_draw_tag.h"
|
||||
#include "f_pc/f_pc_leaf.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" static void fopCam_Draw__FP12camera_class();
|
||||
extern "C" static void fopCam_Execute__FP12camera_class();
|
||||
extern "C" static void fopCam_IsDelete__FP12camera_class();
|
||||
extern "C" static void fopCam_Delete__FP12camera_class();
|
||||
extern "C" static void fopCam_Create__FPv();
|
||||
extern "C" extern void* g_fopCam_Method[5 + 1 /* padding */];
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void fopDwTg_ToDrawQ__FP16create_tag_classi();
|
||||
extern "C" void fopDwTg_DrawQTo__FP16create_tag_class();
|
||||
extern "C" void fopDwTg_Init__FP16create_tag_classPv();
|
||||
extern "C" void fpcLf_GetPriority__FPC14leafdraw_class();
|
||||
extern "C" void fpcLf_DrawMethod__FP21leafdraw_method_classPv();
|
||||
extern "C" void fpcMtd_Execute__FP20process_method_classPv();
|
||||
extern "C" void fpcMtd_IsDelete__FP20process_method_classPv();
|
||||
extern "C" void fpcMtd_Delete__FP20process_method_classPv();
|
||||
extern "C" void fpcMtd_Create__FP20process_method_classPv();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 8001E140-8001E180 018A80 0040+00 1/0 0/0 0/0 .text fopCam_Draw__FP12camera_class */
|
||||
static s32 fopCam_Draw(camera_class* pCamera) {
|
||||
s32 cam_proc = 1;
|
||||
@@ -51,23 +22,15 @@ static s32 fopCam_Draw(camera_class* pCamera) {
|
||||
}
|
||||
|
||||
/* 8001E180-8001E1C8 018AC0 0048+00 1/0 0/0 0/0 .text fopCam_Execute__FP12camera_class */
|
||||
// Matches, but wrong registers
|
||||
#ifdef NONMATCHING
|
||||
static void fopCam_Execute(camera_class* pCamera) {
|
||||
static int fopCam_Execute(camera_class* pCamera) {
|
||||
int ret;
|
||||
|
||||
if (!dComIfGp_isPauseFlag() && dScnPly_c::isPause()) {
|
||||
fpcMtd_Execute((process_method_class*)pCamera->mpMtd, pCamera);
|
||||
ret = fpcMtd_Execute((process_method_class*)pCamera->mpMtd, pCamera);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void fopCam_Execute(camera_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_camera/fopCam_Execute__FP12camera_class.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8001E1C8-8001E21C 018B08 0054+00 1/0 0/0 0/0 .text fopCam_IsDelete__FP12camera_class
|
||||
*/
|
||||
@@ -91,23 +54,37 @@ int fopCam_Delete(camera_class* pCamera) {
|
||||
}
|
||||
|
||||
/* 8001E270-8001E308 018BB0 0098+00 1/0 0/0 0/0 .text fopCam_Create__FPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void fopCam_Create(void* param_0) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_camera/fopCam_Create__FPv.s"
|
||||
static int fopCam_Create(void* i_actorP) {
|
||||
camera_class* camera = (camera_class*)i_actorP;
|
||||
|
||||
if (fpcM_IsFirstCreating(i_actorP)) {
|
||||
leaf_process_profile_definition* profile = fpcM_GetProfile(i_actorP);
|
||||
camera->mpMtd = profile->mMethods;
|
||||
|
||||
fopDwTg_Init(&camera->mCreateTag, camera);
|
||||
u32* append = (u32*)fpcM_GetAppend(camera);
|
||||
|
||||
if (append) {
|
||||
fpcM_SetParam(camera, *append);
|
||||
}
|
||||
}
|
||||
|
||||
int ret = fpcMtd_Create(&camera->mpMtd->mBase, camera);
|
||||
|
||||
if (ret == 4) {
|
||||
s16 prior = fpcLf_GetPriority(camera);
|
||||
fopDwTg_ToDrawQ(&camera->mCreateTag, prior);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A3860-803A3878 -00001 0014+04 0/0 2/0 0/0 .data g_fopCam_Method */
|
||||
SECTION_DATA extern void* g_fopCam_Method[5 + 1 /* padding */] = {
|
||||
(void*)fopCam_Create,
|
||||
(void*)fopCam_Delete,
|
||||
(void*)fopCam_Execute,
|
||||
(void*)fopCam_IsDelete,
|
||||
(void*)fopCam_Draw,
|
||||
/* padding */
|
||||
NULL,
|
||||
void* g_fopCam_Method[5] = {
|
||||
fopCam_Create,
|
||||
fopCam_Delete,
|
||||
fopCam_Execute,
|
||||
fopCam_IsDelete,
|
||||
fopCam_Draw
|
||||
};
|
||||
|
||||
@@ -6,7 +6,7 @@ from pathlib import Path
|
||||
import hashlib
|
||||
import struct
|
||||
import ctypes
|
||||
import oead
|
||||
import syaz0
|
||||
|
||||
|
||||
def copy(path,destPath):
|
||||
@@ -224,7 +224,7 @@ def addFile(index,sizeIndex,dirs,name,stringTable,paths,data):
|
||||
path = relPath
|
||||
file.unk1 = 0
|
||||
fileData = open(path,"rb")
|
||||
compressedData = oead.yaz0.compress(fileData.read())
|
||||
compressedData = syaz0.compress(fileData.read())
|
||||
padding = (0x20-(len(compressedData)%0x20))
|
||||
file.fileLength = len(compressedData)
|
||||
file.fileOffset = sizeIndex
|
||||
@@ -255,7 +255,7 @@ def copyRelFiles(buildPath,aMemList,mMemList):
|
||||
relSource = open(fullPath,"rb")
|
||||
data = relSource.read()
|
||||
relSource.close()
|
||||
data = oead.yaz0.compress(data)
|
||||
data = syaz0.compress(data)
|
||||
relNew = open(buildPath/"game/files/rel/Final/Release"/file,"wb")
|
||||
relNew.write(data)
|
||||
relNew.truncate()
|
||||
|
||||
@@ -8,4 +8,5 @@ ansiwrap
|
||||
watchdog
|
||||
python-Levenshtein
|
||||
cxxfilt
|
||||
oead
|
||||
syaz0
|
||||
pyelftools
|
||||
Reference in New Issue
Block a user