Start work on CPhysicsActor

Former-commit-id: dc8e4b8106
This commit is contained in:
Phillip Stephens 2022-10-05 09:28:37 -07:00
parent 7ba573dfda
commit 69dbad8bce
43 changed files with 338 additions and 279 deletions

View File

@ -9,7 +9,9 @@
},
"editor.tabSize": 2,
"files.associations": {
"source_location": "cpp"
"source_location": "cpp",
"fdlibm.h": "c",
"math_ppc.h": "c"
},
"files.autoSave": "onFocusChange",
"files.insertFinalNewline": true,

View File

@ -7,8 +7,8 @@ lbl_ctor:
.section .data
.balign 8
.global lbl_803ECAD0
lbl_803ECAD0:
.global __vt__16CCollidableAABox
__vt__16CCollidableAABox:
# ROM: 0x3E9AD0
.4byte 0
.4byte 0
@ -876,4 +876,3 @@ lbl_803D69E8:
.asciz "CCollidableAABox"
.balign 4
.4byte 0

View File

@ -93,13 +93,13 @@ lbl_802FC41C:
/* 802FC42C 002F938C C3 A2 C7 14 */ lfs f29, lbl_805AE434@sda21(r2)
/* 802FC430 002F9390 38 A3 66 60 */ addi r5, r3, sNoRotation__11CQuaternion@l
/* 802FC434 002F9394 C0 65 00 00 */ lfs f3, 0(r5)
/* 802FC438 002F9398 3C 60 80 5A */ lis r3, lbl_805A65FC@ha
/* 802FC438 002F9398 3C 60 80 5A */ lis r3, sIdentity__9CMatrix3f@ha
/* 802FC43C 002F939C C0 45 00 04 */ lfs f2, 4(r5)
/* 802FC440 002F93A0 FF 80 E8 90 */ fmr f28, f29
/* 802FC444 002F93A4 C0 25 00 08 */ lfs f1, 8(r5)
/* 802FC448 002F93A8 FF 60 E8 90 */ fmr f27, f29
/* 802FC44C 002F93AC C0 05 00 0C */ lfs f0, 0xc(r5)
/* 802FC450 002F93B0 38 83 65 FC */ addi r4, r3, lbl_805A65FC@l
/* 802FC450 002F93B0 38 83 65 FC */ addi r4, r3, sIdentity__9CMatrix3f@l
/* 802FC454 002F93B4 D0 61 00 24 */ stfs f3, 0x24(r1)
/* 802FC458 002F93B8 38 61 00 E8 */ addi r3, r1, 0xe8
/* 802FC45C 002F93BC D0 41 00 28 */ stfs f2, 0x28(r1)
@ -441,12 +441,12 @@ BuildNoScale__21CHierarchyPoseBuilderFR17CPoseAsTransforms:
/* 802FC938 002F9898 48 06 C5 6D */ bl Clear__17CPoseAsTransformsFv
/* 802FC93C 002F989C 88 01 00 08 */ lbz r0, 8(r1)
/* 802FC940 002F98A0 3C A0 80 5A */ lis r5, sNoRotation__11CQuaternion@ha
/* 802FC944 002F98A4 3C 80 80 5A */ lis r4, lbl_805A65FC@ha
/* 802FC944 002F98A4 3C 80 80 5A */ lis r4, sIdentity__9CMatrix3f@ha
/* 802FC948 002F98A8 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
/* 802FC94C 002F98AC 54 00 08 3C */ slwi r0, r0, 1
/* 802FC950 002F98B0 38 E5 66 60 */ addi r7, r5, sNoRotation__11CQuaternion@l
/* 802FC954 002F98B4 7C BE 02 14 */ add r5, r30, r0
/* 802FC958 002F98B8 39 04 65 FC */ addi r8, r4, lbl_805A65FC@l
/* 802FC958 002F98B8 39 04 65 FC */ addi r8, r4, sIdentity__9CMatrix3f@l
/* 802FC95C 002F98BC 88 05 00 41 */ lbz r0, 0x41(r5)
/* 802FC960 002F98C0 39 23 66 A0 */ addi r9, r3, sZeroVector__9CVector3f@l
/* 802FC964 002F98C4 80 BE 01 08 */ lwz r5, 0x108(r30)
@ -841,4 +841,3 @@ lbl_803D6E40:
# ROM: 0x3D3E40
.asciz "??(??)"
.balign 4

View File

@ -595,9 +595,9 @@ lbl_80354F2C:
/* 80354F44 00351EA4 38 84 66 70 */ addi r4, r4, sIdentity__12CTransform4f@l
/* 80354F48 00351EA8 38 7F 00 20 */ addi r3, r31, 0x20
/* 80354F4C 00351EAC 4B FB DC 29 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80354F50 00351EB0 3C 80 80 5A */ lis r4, lbl_805A65FC@ha
/* 80354F50 00351EB0 3C 80 80 5A */ lis r4, sIdentity__9CMatrix3f@ha
/* 80354F54 00351EB4 38 7F 00 50 */ addi r3, r31, 0x50
/* 80354F58 00351EB8 38 84 65 FC */ addi r4, r4, lbl_805A65FC@l
/* 80354F58 00351EB8 38 84 65 FC */ addi r4, r4, sIdentity__9CMatrix3f@l
/* 80354F5C 00351EBC 4B FB B0 C9 */ bl __ct__9CMatrix3fFRC9CMatrix3f
/* 80354F60 00351EC0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80354F64 00351EC4 7F E3 FB 78 */ mr r3, r31
@ -738,4 +738,3 @@ lbl_805AE9C0:
# ROM: 0x3FB260
.4byte 0
.4byte 0

View File

@ -1,6 +1,6 @@
.include "macros.inc"
.comm lbl_805A65FC, 0x24, 4
.comm sIdentity__9CMatrix3f, 0x24, 4
.section .ctors, "wa"
lbl_ctor:
@ -484,10 +484,10 @@ __ct__9CMatrix3fFRC9CVector3fRC9CVector3fRC9CVector3f:
__sinit_CMatrix3f_cpp:
/* 803106C8 0030D628 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803106CC 0030D62C 7C 08 02 A6 */ mflr r0
/* 803106D0 0030D630 3C 60 80 5A */ lis r3, lbl_805A65FC@ha
/* 803106D0 0030D630 3C 60 80 5A */ lis r3, sIdentity__9CMatrix3f@ha
/* 803106D4 0030D634 C0 02 C8 50 */ lfs f0, lbl_805AE570@sda21(r2)
/* 803106D8 0030D638 90 01 00 34 */ stw r0, 0x34(r1)
/* 803106DC 0030D63C 38 63 65 FC */ addi r3, r3, lbl_805A65FC@l
/* 803106DC 0030D63C 38 63 65 FC */ addi r3, r3, sIdentity__9CMatrix3f@l
/* 803106E0 0030D640 C0 22 C8 54 */ lfs f1, lbl_805AE574@sda21(r2)
/* 803106E4 0030D644 38 81 00 08 */ addi r4, r1, 8
/* 803106E8 0030D648 D0 01 00 0C */ stfs f0, 0xc(r1)
@ -516,4 +516,3 @@ lbl_805AE570:
lbl_805AE574:
# ROM: 0x3FAE14
.float 1.0

View File

@ -9189,9 +9189,9 @@ lbl_8031F3C0:
/* 8031F584 0031C4E4 38 7F 01 D8 */ addi r3, r31, 0x1d8
/* 8031F588 0031C4E8 38 84 66 70 */ addi r4, r4, sIdentity__12CTransform4f@l
/* 8031F58C 0031C4EC 4B FF 35 E9 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8031F590 0031C4F0 3C 80 80 5A */ lis r4, lbl_805A65FC@ha
/* 8031F590 0031C4F0 3C 80 80 5A */ lis r4, sIdentity__9CMatrix3f@ha
/* 8031F594 0031C4F4 38 7F 02 08 */ addi r3, r31, 0x208
/* 8031F598 0031C4F8 38 84 65 FC */ addi r4, r4, lbl_805A65FC@l
/* 8031F598 0031C4F8 38 84 65 FC */ addi r4, r4, sIdentity__9CMatrix3f@l
/* 8031F59C 0031C4FC 4B FF 0A 89 */ bl __ct__9CMatrix3fFRC9CMatrix3f
/* 8031F5A0 0031C500 3C 80 80 5A */ lis r4, sIdentity__12CTransform4f@ha
/* 8031F5A4 0031C504 38 7F 02 2C */ addi r3, r31, 0x22c
@ -9706,9 +9706,9 @@ lbl_8031FD2C:
/* 8031FD2C 0031CC8C 80 1F 00 2C */ lwz r0, 0x2c(r31)
/* 8031FD30 0031CC90 2C 00 00 01 */ cmpwi r0, 1
/* 8031FD34 0031CC94 40 82 00 18 */ bne lbl_8031FD4C
/* 8031FD38 0031CC98 3C 60 80 5A */ lis r3, lbl_805A65FC@ha
/* 8031FD38 0031CC98 3C 60 80 5A */ lis r3, sIdentity__9CMatrix3f@ha
/* 8031FD3C 0031CC9C 80 9F 00 90 */ lwz r4, 0x90(r31)
/* 8031FD40 0031CCA0 38 A3 65 FC */ addi r5, r3, lbl_805A65FC@l
/* 8031FD40 0031CCA0 38 A3 65 FC */ addi r5, r3, sIdentity__9CMatrix3f@l
/* 8031FD44 0031CCA4 38 7F 00 50 */ addi r3, r31, 0x50
/* 8031FD48 0031CCA8 48 00 01 85 */ bl sub_8031fecc
lbl_8031FD4C:

View File

@ -1488,8 +1488,8 @@ lbl_801A9A6C:
/* 801A9BA4 001A6B04 7F 23 CB 78 */ mr r3, r25
/* 801A9BA8 001A6B08 38 81 00 38 */ addi r4, r1, 0x38
/* 801A9BAC 001A6B0C 48 12 5D 09 */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 801A9BB0 001A6B10 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 801A9BB4 001A6B14 38 03 CA D0 */ addi r0, r3, lbl_803ECAD0@l
/* 801A9BB0 001A6B10 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 801A9BB4 001A6B14 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l
/* 801A9BB8 001A6B18 90 19 00 00 */ stw r0, 0(r25)
/* 801A9BBC 001A6B1C C0 01 00 80 */ lfs f0, 0x80(r1)
/* 801A9BC0 001A6B20 D0 19 00 10 */ stfs f0, 0x10(r25)

View File

@ -1877,9 +1877,9 @@ lbl_802117F8:
/* 8021182C 0020E78C 90 A1 00 44 */ stw r5, 0x44(r1)
/* 80211830 0020E790 48 0B E0 85 */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 80211834 0020E794 C0 C1 01 18 */ lfs f6, 0x118(r1)
/* 80211838 0020E798 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 80211838 0020E798 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 8021183C 0020E79C C0 A1 01 1C */ lfs f5, 0x11c(r1)
/* 80211840 0020E7A0 38 03 CA D0 */ addi r0, r3, lbl_803ECAD0@l
/* 80211840 0020E7A0 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l
/* 80211844 0020E7A4 C0 81 01 20 */ lfs f4, 0x120(r1)
/* 80211848 0020E7A8 38 61 02 38 */ addi r3, r1, 0x238
/* 8021184C 0020E7AC C0 61 01 24 */ lfs f3, 0x124(r1)
@ -1953,9 +1953,9 @@ lbl_802117F8:
/* 8021195C 0020E8BC 98 A1 02 28 */ stb r5, 0x228(r1)
/* 80211960 0020E8C0 D8 01 02 30 */ stfd f0, 0x230(r1)
lbl_80211964:
/* 80211964 0020E8C4 3C 80 80 3F */ lis r4, lbl_803ECAD0@ha
/* 80211964 0020E8C4 3C 80 80 3F */ lis r4, __vt__16CCollidableAABox@ha
/* 80211968 0020E8C8 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 8021196C 0020E8CC 38 84 CA D0 */ addi r4, r4, lbl_803ECAD0@l
/* 8021196C 0020E8CC 38 84 CA D0 */ addi r4, r4, __vt__16CCollidableAABox@l
/* 80211970 0020E8D0 38 00 00 00 */ li r0, 0
/* 80211974 0020E8D4 90 81 01 E0 */ stw r4, 0x1e0(r1)
/* 80211978 0020E8D8 38 63 97 E4 */ addi r3, r3, __vt__19CCollisionPrimitive@l

View File

@ -362,9 +362,9 @@ lbl_8012F390:
/* 8012F444 0012C3A4 7F 83 E3 78 */ mr r3, r28
/* 8012F448 0012C3A8 B0 01 00 14 */ sth r0, 0x14(r1)
/* 8012F44C 0012C3AC 4B FD 02 B1 */ bl GetSplashEffect__12CScriptWaterCFf
/* 8012F450 0012C3B0 3C 80 80 5A */ lis r4, lbl_805A65FC@ha
/* 8012F450 0012C3B0 3C 80 80 5A */ lis r4, sIdentity__9CMatrix3f@ha
/* 8012F454 0012C3B4 7C 78 1B 78 */ mr r24, r3
/* 8012F458 0012C3B8 38 84 65 FC */ addi r4, r4, lbl_805A65FC@l
/* 8012F458 0012C3B8 38 84 65 FC */ addi r4, r4, sIdentity__9CMatrix3f@l
/* 8012F45C 0012C3BC 7F A5 EB 78 */ mr r5, r29
/* 8012F460 0012C3C0 38 61 00 84 */ addi r3, r1, 0x84
/* 8012F464 0012C3C4 48 1E 3E 15 */ bl __ct__12CTransform4fFRC9CMatrix3fRC9CVector3f

View File

@ -1889,9 +1889,9 @@ lbl_80038CB0:
/* 80038CB0 00035C10 38 61 01 68 */ addi r3, r1, 0x168
/* 80038CB4 00035C14 38 9B 00 68 */ addi r4, r27, 0x68
/* 80038CB8 00035C18 48 29 6B FD */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 80038CBC 00035C1C 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 80038CBC 00035C1C 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 80038CC0 00035C20 C0 C1 00 E8 */ lfs f6, 0xe8(r1)
/* 80038CC4 00035C24 39 03 CA D0 */ addi r8, r3, lbl_803ECAD0@l
/* 80038CC4 00035C24 39 03 CA D0 */ addi r8, r3, __vt__16CCollidableAABox@l
/* 80038CC8 00035C28 C0 A1 00 EC */ lfs f5, 0xec(r1)
/* 80038CCC 00035C2C 91 01 01 68 */ stw r8, 0x168(r1)
/* 80038CD0 00035C30 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
@ -2018,13 +2018,13 @@ lbl_80038E7C:
/* 80038EAC 00035E0C C0 E1 00 38 */ lfs f7, 0x38(r1)
/* 80038EB0 00035E10 39 20 00 01 */ li r9, 1
/* 80038EB4 00035E14 C0 97 00 04 */ lfs f4, 4(r23)
/* 80038EB8 00035E18 3C 80 80 3F */ lis r4, lbl_803ECAD0@ha
/* 80038EB8 00035E18 3C 80 80 3F */ lis r4, __vt__16CCollidableAABox@ha
/* 80038EBC 00035E1C C1 01 00 3C */ lfs f8, 0x3c(r1)
/* 80038EC0 00035E20 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 80038EC4 00035E24 C0 C1 00 34 */ lfs f6, 0x34(r1)
/* 80038EC8 00035E28 EC 04 01 F2 */ fmuls f0, f4, f7
/* 80038ECC 00035E2C C0 77 00 00 */ lfs f3, 0(r23)
/* 80038ED0 00035E30 38 84 CA D0 */ addi r4, r4, lbl_803ECAD0@l
/* 80038ED0 00035E30 38 84 CA D0 */ addi r4, r4, __vt__16CCollidableAABox@l
/* 80038ED4 00035E34 C0 B7 00 08 */ lfs f5, 8(r23)
/* 80038ED8 00035E38 28 1D 00 00 */ cmplwi r29, 0
/* 80038EDC 00035E3C 80 FB 00 68 */ lwz r7, 0x68(r27)
@ -2070,9 +2070,9 @@ lbl_80038E7C:
/* 80038F7C 00035EDC 98 01 02 84 */ stb r0, 0x284(r1)
/* 80038F80 00035EE0 48 00 00 50 */ b lbl_80038FD0
lbl_80038F84:
/* 80038F84 00035EE4 3C 80 80 3F */ lis r4, lbl_803ECAD0@ha
/* 80038F84 00035EE4 3C 80 80 3F */ lis r4, __vt__16CCollidableAABox@ha
/* 80038F88 00035EE8 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 80038F8C 00035EEC 38 84 CA D0 */ addi r4, r4, lbl_803ECAD0@l
/* 80038F8C 00035EEC 38 84 CA D0 */ addi r4, r4, __vt__16CCollidableAABox@l
/* 80038F90 00035EF0 38 00 00 00 */ li r0, 0
/* 80038F94 00035EF4 90 81 02 28 */ stw r4, 0x228(r1)
/* 80038F98 00035EF8 38 63 97 E4 */ addi r3, r3, __vt__19CCollisionPrimitive@l

View File

@ -2455,9 +2455,9 @@ lbl_80187A54:
/* 80187C20 00184B80 7D E4 7B 78 */ mr r4, r15
/* 80187C24 00184B84 48 14 7C 91 */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 80187C28 00184B88 C0 A1 02 10 */ lfs f5, 0x210(r1)
/* 80187C2C 00184B8C 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 80187C2C 00184B8C 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 80187C30 00184B90 C0 81 02 14 */ lfs f4, 0x214(r1)
/* 80187C34 00184B94 38 03 CA D0 */ addi r0, r3, lbl_803ECAD0@l
/* 80187C34 00184B94 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l
/* 80187C38 00184B98 C0 61 02 18 */ lfs f3, 0x218(r1)
/* 80187C3C 00184B9C C0 41 02 1C */ lfs f2, 0x21c(r1)
/* 80187C40 00184BA0 C0 21 02 20 */ lfs f1, 0x220(r1)
@ -4909,4 +4909,3 @@ lbl_805AC0A0:
lbl_805AC0A4:
# ROM: 0x3F8944
.4byte 0x40400000

View File

@ -766,8 +766,8 @@ lbl_800B8368:
/* 800B839C 000B52FC D0 01 00 6C */ stfs f0, 0x6c(r1)
/* 800B83A0 000B5300 D0 21 00 70 */ stfs f1, 0x70(r1)
/* 800B83A4 000B5304 41 82 00 10 */ beq lbl_800B83B4
/* 800B83A8 000B5308 3C 60 80 5A */ lis r3, lbl_805A65FC@ha
/* 800B83AC 000B530C 38 63 65 FC */ addi r3, r3, lbl_805A65FC@l
/* 800B83A8 000B5308 3C 60 80 5A */ lis r3, sIdentity__9CMatrix3f@ha
/* 800B83AC 000B530C 38 63 65 FC */ addi r3, r3, sIdentity__9CMatrix3f@l
/* 800B83B0 000B5310 48 00 00 10 */ b lbl_800B83C0
lbl_800B83B4:
/* 800B83B4 000B5314 7F 83 E3 78 */ mr r3, r28
@ -4613,4 +4613,3 @@ lbl_803CDEA0:
.asciz "OT_A_VALID_LOCATOR"
.balign 4
.4byte 0

View File

@ -2332,9 +2332,9 @@ __dt__13CPhysicsActorFv:
lbl_8011C450:
/* 8011C450 001193B0 34 1E 01 C0 */ addic. r0, r30, 0x1c0
/* 8011C454 001193B4 41 82 00 24 */ beq lbl_8011C478
/* 8011C458 001193B8 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 8011C458 001193B8 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 8011C45C 001193BC 34 1E 01 C0 */ addic. r0, r30, 0x1c0
/* 8011C460 001193C0 38 03 CA D0 */ addi r0, r3, lbl_803ECAD0@l
/* 8011C460 001193C0 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l
/* 8011C464 001193C4 90 1E 01 C0 */ stw r0, 0x1c0(r30)
/* 8011C468 001193C8 41 82 00 10 */ beq lbl_8011C478
/* 8011C46C 001193CC 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
@ -2417,8 +2417,8 @@ lbl_8011C548:
/* 8011C584 001194E4 D0 1D 01 04 */ stfs f0, 0x104(r29)
/* 8011C588 001194E8 4B EF EF AD */ bl Identity__10CAxisAngleFv
/* 8011C58C 001194EC C0 03 00 00 */ lfs f0, 0(r3)
/* 8011C590 001194F0 3C 80 80 5A */ lis r4, lbl_805A65FC@ha
/* 8011C594 001194F4 38 84 65 FC */ addi r4, r4, lbl_805A65FC@l
/* 8011C590 001194F0 3C 80 80 5A */ lis r4, sIdentity__9CMatrix3f@ha
/* 8011C594 001194F4 38 84 65 FC */ addi r4, r4, sIdentity__9CMatrix3f@l
/* 8011C598 001194F8 D0 1D 01 08 */ stfs f0, 0x108(r29)
/* 8011C59C 001194FC C0 03 00 04 */ lfs f0, 4(r3)
/* 8011C5A0 00119500 D0 1D 01 0C */ stfs f0, 0x10c(r29)
@ -2491,8 +2491,8 @@ lbl_8011C548:
/* 8011C6AC 0011960C C0 1C 00 14 */ lfs f0, 0x14(r28)
/* 8011C6B0 00119610 D0 1D 01 B8 */ stfs f0, 0x1b8(r29)
/* 8011C6B4 00119614 48 1B 32 01 */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 8011C6B8 00119618 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 8011C6BC 0011961C 38 03 CA D0 */ addi r0, r3, lbl_803ECAD0@l
/* 8011C6B8 00119618 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 8011C6BC 0011961C 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l
/* 8011C6C0 00119620 90 1A 00 00 */ stw r0, 0(r26)
/* 8011C6C4 00119624 C0 1C 00 00 */ lfs f0, 0(r28)
/* 8011C6C8 00119628 D0 1A 00 10 */ stfs f0, 0x10(r26)

View File

@ -2558,9 +2558,9 @@ lbl_800BE38C:
lbl_800BE398:
/* 800BE398 000BB2F8 3B 40 00 01 */ li r26, 1
lbl_800BE39C:
/* 800BE39C 000BB2FC 3C 80 80 5A */ lis r4, lbl_805A65FC@ha
/* 800BE39C 000BB2FC 3C 80 80 5A */ lis r4, sIdentity__9CMatrix3f@ha
/* 800BE3A0 000BB300 38 61 0A EC */ addi r3, r1, 0xaec
/* 800BE3A4 000BB304 38 84 65 FC */ addi r4, r4, lbl_805A65FC@l
/* 800BE3A4 000BB304 38 84 65 FC */ addi r4, r4, sIdentity__9CMatrix3f@l
/* 800BE3A8 000BB308 48 25 1C 7D */ bl __ct__9CMatrix3fFRC9CMatrix3f
/* 800BE3AC 000BB30C 38 00 00 00 */ li r0, 0
/* 800BE3B0 000BB310 80 7D 08 4C */ lwz r3, 0x84c(r29)

View File

@ -7170,9 +7170,9 @@ lbl_80223608:
lbl_8022362C:
/* 8022362C 0022058C 34 1E 09 30 */ addic. r0, r30, 0x930
/* 80223630 00220590 41 82 00 24 */ beq lbl_80223654
/* 80223634 00220594 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 80223634 00220594 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 80223638 00220598 34 1E 09 30 */ addic. r0, r30, 0x930
/* 8022363C 0022059C 38 03 CA D0 */ addi r0, r3, lbl_803ECAD0@l
/* 8022363C 0022059C 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l
/* 80223640 002205A0 90 1E 09 30 */ stw r0, 0x930(r30)
/* 80223644 002205A4 41 82 00 10 */ beq lbl_80223654
/* 80223648 002205A8 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
@ -7374,9 +7374,9 @@ lbl_80223764:
/* 80223914 00220874 7F 24 CB 78 */ mr r4, r25
/* 80223918 00220878 7F 43 D3 78 */ mr r3, r26
/* 8022391C 0022087C 48 0A BF 99 */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 80223920 00220880 3C 80 80 3F */ lis r4, lbl_803ECAD0@ha
/* 80223920 00220880 3C 80 80 3F */ lis r4, __vt__16CCollidableAABox@ha
/* 80223924 00220884 38 7D 09 58 */ addi r3, r29, 0x958
/* 80223928 00220888 38 04 CA D0 */ addi r0, r4, lbl_803ECAD0@l
/* 80223928 00220888 38 04 CA D0 */ addi r0, r4, __vt__16CCollidableAABox@l
/* 8022392C 0022088C 38 BF 00 0C */ addi r5, r31, 0xc
/* 80223930 00220890 90 1A 00 00 */ stw r0, 0(r26)
/* 80223934 00220894 C0 01 01 50 */ lfs f0, 0x150(r1)

View File

@ -5736,9 +5736,9 @@ lbl_801639C8:
/* 80163A04 00160964 38 9C 00 68 */ addi r4, r28, 0x68
/* 80163A08 00160968 48 16 BE AD */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 80163A0C 0016096C C0 C1 00 20 */ lfs f6, 0x20(r1)
/* 80163A10 00160970 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 80163A10 00160970 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 80163A14 00160974 C0 A1 00 24 */ lfs f5, 0x24(r1)
/* 80163A18 00160978 38 03 CA D0 */ addi r0, r3, lbl_803ECAD0@l
/* 80163A18 00160978 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l
/* 80163A1C 0016097C C0 81 00 28 */ lfs f4, 0x28(r1)
/* 80163A20 00160980 FC 20 F8 90 */ fmr f1, f31
/* 80163A24 00160984 C0 61 00 2C */ lfs f3, 0x2c(r1)
@ -5794,9 +5794,9 @@ lbl_801639C8:
/* 80163AEC 00160A4C 90 61 00 F4 */ stw r3, 0xf4(r1)
/* 80163AF0 00160A50 90 01 00 F0 */ stw r0, 0xf0(r1)
/* 80163AF4 00160A54 40 82 00 20 */ bne lbl_80163B14
/* 80163AF8 00160A58 3C 80 80 3F */ lis r4, lbl_803ECAD0@ha
/* 80163AF8 00160A58 3C 80 80 3F */ lis r4, __vt__16CCollidableAABox@ha
/* 80163AFC 00160A5C 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 80163B00 00160A60 38 04 CA D0 */ addi r0, r4, lbl_803ECAD0@l
/* 80163B00 00160A60 38 04 CA D0 */ addi r0, r4, __vt__16CCollidableAABox@l
/* 80163B04 00160A64 90 01 00 F8 */ stw r0, 0xf8(r1)
/* 80163B08 00160A68 38 03 97 E4 */ addi r0, r3, __vt__19CCollisionPrimitive@l
/* 80163B0C 00160A6C 90 01 00 F8 */ stw r0, 0xf8(r1)
@ -5831,9 +5831,9 @@ lbl_80163B28:
/* 80163B78 00160AD8 D8 01 01 78 */ stfd f0, 0x178(r1)
/* 80163B7C 00160ADC B0 18 00 00 */ sth r0, 0(r24)
lbl_80163B80:
/* 80163B80 00160AE0 3C 80 80 3F */ lis r4, lbl_803ECAD0@ha
/* 80163B80 00160AE0 3C 80 80 3F */ lis r4, __vt__16CCollidableAABox@ha
/* 80163B84 00160AE4 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 80163B88 00160AE8 38 04 CA D0 */ addi r0, r4, lbl_803ECAD0@l
/* 80163B88 00160AE8 38 04 CA D0 */ addi r0, r4, __vt__16CCollidableAABox@l
/* 80163B8C 00160AEC 90 01 00 F8 */ stw r0, 0xf8(r1)
/* 80163B90 00160AF0 38 03 97 E4 */ addi r0, r3, __vt__19CCollisionPrimitive@l
/* 80163B94 00160AF4 90 01 00 F8 */ stw r0, 0xf8(r1)

View File

@ -7295,9 +7295,9 @@ lbl_8022D6D0:
lbl_8022D6D8:
/* 8022D6D8 0022A638 34 1E 07 38 */ addic. r0, r30, 0x738
/* 8022D6DC 0022A63C 41 82 00 24 */ beq lbl_8022D700
/* 8022D6E0 0022A640 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 8022D6E0 0022A640 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 8022D6E4 0022A644 34 1E 07 38 */ addic. r0, r30, 0x738
/* 8022D6E8 0022A648 38 03 CA D0 */ addi r0, r3, lbl_803ECAD0@l
/* 8022D6E8 0022A648 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l
/* 8022D6EC 0022A64C 90 1E 07 38 */ stw r0, 0x738(r30)
/* 8022D6F0 0022A650 41 82 00 10 */ beq lbl_8022D700
/* 8022D6F4 0022A654 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
@ -7463,9 +7463,9 @@ lbl_8022D774:
/* 8022D950 0022A8B0 7F 04 C3 78 */ mr r4, r24
/* 8022D954 0022A8B4 7E E3 BB 78 */ mr r3, r23
/* 8022D958 0022A8B8 48 0A 1F 5D */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 8022D95C 0022A8BC 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 8022D95C 0022A8BC 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 8022D960 0022A8C0 3B 80 00 00 */ li r28, 0
/* 8022D964 0022A8C4 38 03 CA D0 */ addi r0, r3, lbl_803ECAD0@l
/* 8022D964 0022A8C4 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l
/* 8022D968 0022A8C8 3B 60 00 00 */ li r27, 0
/* 8022D96C 0022A8CC 90 17 00 00 */ stw r0, 0(r23)
/* 8022D970 0022A8D0 3B 40 00 00 */ li r26, 0

View File

@ -8883,9 +8883,9 @@ lbl_801A5CC4:
lbl_801A5CE8:
/* 801A5CE8 001A2C48 34 1E 0A 30 */ addic. r0, r30, 0xa30
/* 801A5CEC 001A2C4C 41 82 00 24 */ beq lbl_801A5D10
/* 801A5CF0 001A2C50 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 801A5CF0 001A2C50 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 801A5CF4 001A2C54 34 1E 0A 30 */ addic. r0, r30, 0xa30
/* 801A5CF8 001A2C58 38 03 CA D0 */ addi r0, r3, lbl_803ECAD0@l
/* 801A5CF8 001A2C58 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l
/* 801A5CFC 001A2C5C 90 1E 0A 30 */ stw r0, 0xa30(r30)
/* 801A5D00 001A2C60 41 82 00 10 */ beq lbl_801A5D10
/* 801A5D04 001A2C64 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
@ -9154,9 +9154,9 @@ lbl_801A5E20:
/* 801A60DC 001A303C 7F C4 F3 78 */ mr r4, r30
/* 801A60E0 001A3040 7F 83 E3 78 */ mr r3, r28
/* 801A60E4 001A3044 48 12 97 D1 */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 801A60E8 001A3048 3C 80 80 3F */ lis r4, lbl_803ECAD0@ha
/* 801A60E8 001A3048 3C 80 80 3F */ lis r4, __vt__16CCollidableAABox@ha
/* 801A60EC 001A304C 38 7D 0A 58 */ addi r3, r29, 0xa58
/* 801A60F0 001A3050 38 04 CA D0 */ addi r0, r4, lbl_803ECAD0@l
/* 801A60F0 001A3050 38 04 CA D0 */ addi r0, r4, __vt__16CCollidableAABox@l
/* 801A60F4 001A3054 38 BF 01 54 */ addi r5, r31, 0x154
/* 801A60F8 001A3058 90 1C 00 00 */ stw r0, 0(r28)
/* 801A60FC 001A305C C0 01 01 38 */ lfs f0, 0x138(r1)

View File

@ -6088,9 +6088,9 @@ lbl_801C5F98:
lbl_801C5FB4:
/* 801C5FB4 001C2F14 34 1E 07 68 */ addic. r0, r30, 0x768
/* 801C5FB8 001C2F18 41 82 00 24 */ beq lbl_801C5FDC
/* 801C5FBC 001C2F1C 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 801C5FBC 001C2F1C 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 801C5FC0 001C2F20 34 1E 07 68 */ addic. r0, r30, 0x768
/* 801C5FC4 001C2F24 38 03 CA D0 */ addi r0, r3, lbl_803ECAD0@l
/* 801C5FC4 001C2F24 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l
/* 801C5FC8 001C2F28 90 1E 07 68 */ stw r0, 0x768(r30)
/* 801C5FCC 001C2F2C 41 82 00 10 */ beq lbl_801C5FDC
/* 801C5FD0 001C2F30 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
@ -6212,9 +6212,9 @@ lbl_801C6070:
/* 801C6174 001C30D4 7F A4 EB 78 */ mr r4, r29
/* 801C6178 001C30D8 7F 83 E3 78 */ mr r3, r28
/* 801C617C 001C30DC 48 10 97 39 */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 801C6180 001C30E0 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 801C6180 001C30E0 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 801C6184 001C30E4 C0 22 AA 98 */ lfs f1, lbl_805AC7B8@sda21(r2)
/* 801C6188 001C30E8 38 03 CA D0 */ addi r0, r3, lbl_803ECAD0@l
/* 801C6188 001C30E8 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l
/* 801C618C 001C30EC 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 801C6190 001C30F0 90 1C 00 00 */ stw r0, 0(r28)
/* 801C6194 001C30F4 3C 60 50 41 */ lis r3, 0x50415254@ha

View File

@ -3244,8 +3244,8 @@ lbl_80159364:
/* 801593D8 00156338 38 9E 00 68 */ addi r4, r30, 0x68
/* 801593DC 0015633C 48 17 64 D9 */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 801593E0 00156340 C0 A1 00 50 */ lfs f5, 0x50(r1)
/* 801593E4 00156344 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 801593E8 00156348 38 03 CA D0 */ addi r0, r3, lbl_803ECAD0@l
/* 801593E4 00156344 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 801593E8 00156348 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l
/* 801593EC 0015634C C0 81 00 54 */ lfs f4, 0x54(r1)
/* 801593F0 00156350 C0 61 00 58 */ lfs f3, 0x58(r1)
/* 801593F4 00156354 3C 80 80 5A */ lis r4, sIdentity__12CTransform4f@ha
@ -3265,9 +3265,9 @@ lbl_80159364:
/* 8015942C 0015638C D0 21 00 88 */ stfs f1, 0x88(r1)
/* 80159430 00156390 D0 01 00 8C */ stfs f0, 0x8c(r1)
/* 80159434 00156394 48 02 9F 6D */ bl DetectStaticCollisionBoolean__14CGameCollisionFRC13CStateManagerRC19CCollisionPrimitiveRC12CTransform4fRC15CMaterialFilter
/* 80159438 00156398 3C A0 80 3F */ lis r5, lbl_803ECAD0@ha
/* 80159438 00156398 3C A0 80 3F */ lis r5, __vt__16CCollidableAABox@ha
/* 8015943C 0015639C 3C 80 80 3E */ lis r4, __vt__19CCollisionPrimitive@ha
/* 80159440 001563A0 38 05 CA D0 */ addi r0, r5, lbl_803ECAD0@l
/* 80159440 001563A0 38 05 CA D0 */ addi r0, r5, __vt__16CCollidableAABox@l
/* 80159444 001563A4 90 01 00 68 */ stw r0, 0x68(r1)
/* 80159448 001563A8 38 04 97 E4 */ addi r0, r4, __vt__19CCollisionPrimitive@l
/* 8015944C 001563AC 90 01 00 68 */ stw r0, 0x68(r1)

View File

@ -288,9 +288,9 @@ lbl_80146B64:
lbl_80146B80:
/* 80146B80 00143AE0 34 1E 05 A0 */ addic. r0, r30, 0x5a0
/* 80146B84 00143AE4 41 82 00 24 */ beq lbl_80146BA8
/* 80146B88 00143AE8 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 80146B88 00143AE8 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 80146B8C 00143AEC 34 1E 05 A0 */ addic. r0, r30, 0x5a0
/* 80146B90 00143AF0 38 03 CA D0 */ addi r0, r3, lbl_803ECAD0@l
/* 80146B90 00143AF0 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l
/* 80146B94 00143AF4 90 1E 05 A0 */ stw r0, 0x5a0(r30)
/* 80146B98 00143AF8 41 82 00 10 */ beq lbl_80146BA8
/* 80146B9C 00143AFC 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
@ -894,8 +894,8 @@ UpdateBoundingState__12CPuddleSporeFRC6CAABoxR13CStateManager:
/* 801473D4 00144334 38 9D 00 68 */ addi r4, r29, 0x68
/* 801473D8 00144338 48 18 84 DD */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 801473DC 0014433C C0 DC 00 00 */ lfs f6, 0(r28)
/* 801473E0 00144340 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 801473E4 00144344 39 03 CA D0 */ addi r8, r3, lbl_803ECAD0@l
/* 801473E0 00144340 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 801473E4 00144344 39 03 CA D0 */ addi r8, r3, __vt__16CCollidableAABox@l
/* 801473E8 00144348 C0 BC 00 04 */ lfs f5, 4(r28)
/* 801473EC 0014434C C0 9C 00 08 */ lfs f4, 8(r28)
/* 801473F0 00144350 3C A0 80 3E */ lis r5, __vt__19CCollisionPrimitive@ha
@ -2068,9 +2068,9 @@ Accept__12CPuddleSporeFR8IVisitor:
/* 801484C0 00145420 7F C4 F3 78 */ mr r4, r30
/* 801484C4 00145424 7F 43 D3 78 */ mr r3, r26
/* 801484C8 00145428 48 18 73 ED */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 801484CC 0014542C 3C 80 80 3F */ lis r4, lbl_803ECAD0@ha
/* 801484CC 0014542C 3C 80 80 3F */ lis r4, __vt__16CCollidableAABox@ha
/* 801484D0 00145430 3C 60 50 41 */ lis r3, 0x50415254@ha
/* 801484D4 00145434 38 04 CA D0 */ addi r0, r4, lbl_803ECAD0@l
/* 801484D4 00145434 38 04 CA D0 */ addi r0, r4, __vt__16CCollidableAABox@l
/* 801484D8 00145438 38 80 00 00 */ li r4, 0
/* 801484DC 0014543C 90 1A 00 00 */ stw r0, 0(r26)
/* 801484E0 00145440 38 03 52 54 */ addi r0, r3, 0x50415254@l

View File

@ -419,9 +419,9 @@ sub_80203824:
/* 80203958 002008B8 48 13 A8 3D */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FPCciRCQ24rstl17rmemory_allocator"
/* 8020395C 002008BC 3B 20 00 01 */ li r25, 1
/* 80203960 002008C0 48 14 66 4D */ bl White__6CColorFv
/* 80203964 002008C4 3C 80 80 5A */ lis r4, lbl_805A65FC@ha
/* 80203964 002008C4 3C 80 80 5A */ lis r4, sIdentity__9CMatrix3f@ha
/* 80203968 002008C8 7C 7B 1B 78 */ mr r27, r3
/* 8020396C 002008CC 38 84 65 FC */ addi r4, r4, lbl_805A65FC@l
/* 8020396C 002008CC 38 84 65 FC */ addi r4, r4, sIdentity__9CMatrix3f@l
/* 80203970 002008D0 7F 85 E3 78 */ mr r5, r28
/* 80203974 002008D4 38 61 00 A0 */ addi r3, r1, 0xa0
/* 80203978 002008D8 48 10 F9 01 */ bl __ct__12CTransform4fFRC9CMatrix3fRC9CVector3f

View File

@ -2300,10 +2300,10 @@ SetIsVisibleDebug__19CHudHelmetInterfaceFbb:
__ct__19CHudHelmetInterfaceFR9CGuiFrame:
/* 80190E40 0018DDA0 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80190E44 0018DDA4 7C 08 02 A6 */ mflr r0
/* 80190E48 0018DDA8 3C A0 80 5A */ lis r5, lbl_805A65FC@ha
/* 80190E48 0018DDA8 3C A0 80 5A */ lis r5, sIdentity__9CMatrix3f@ha
/* 80190E4C 0018DDAC 3C C0 80 3D */ lis r6, lbl_803D0BD8@ha
/* 80190E50 0018DDB0 90 01 00 64 */ stw r0, 0x64(r1)
/* 80190E54 0018DDB4 38 05 65 FC */ addi r0, r5, lbl_805A65FC@l
/* 80190E54 0018DDB4 38 05 65 FC */ addi r0, r5, sIdentity__9CMatrix3f@l
/* 80190E58 0018DDB8 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 80190E5C 0018DDBC 3B E6 0B D8 */ addi r31, r6, lbl_803D0BD8@l
/* 80190E60 0018DDC0 93 C1 00 58 */ stw r30, 0x58(r1)
@ -6809,9 +6809,9 @@ __ct__24CHudDecoInterfaceThermalFR9CGuiFrame:
/* 80194E08 00191D68 3C 60 80 5A */ lis r3, sNoRotation__11CQuaternion@ha
/* 80194E0C 00191D6C 90 1D 00 00 */ stw r0, 0(r29)
/* 80194E10 00191D70 38 C3 66 60 */ addi r6, r3, sNoRotation__11CQuaternion@l
/* 80194E14 00191D74 3C 60 80 5A */ lis r3, lbl_805A65FC@ha
/* 80194E14 00191D74 3C 60 80 5A */ lis r3, sIdentity__9CMatrix3f@ha
/* 80194E18 00191D78 C0 06 00 00 */ lfs f0, 0(r6)
/* 80194E1C 00191D7C 38 03 65 FC */ addi r0, r3, lbl_805A65FC@l
/* 80194E1C 00191D7C 38 03 65 FC */ addi r0, r3, sIdentity__9CMatrix3f@l
/* 80194E20 00191D80 38 7D 00 38 */ addi r3, r29, 0x38
/* 80194E24 00191D84 D0 1D 00 04 */ stfs f0, 4(r29)
/* 80194E28 00191D88 7C 04 03 78 */ mr r4, r0
@ -8812,9 +8812,9 @@ __ct__21CHudDecoInterfaceXRayFR9CGuiFrame:
/* 80196A54 001939B4 3B A5 66 A0 */ addi r29, r5, sZeroVector__9CVector3f@l
/* 80196A58 001939B8 90 1E 00 00 */ stw r0, 0(r30)
/* 80196A5C 001939BC 38 03 45 50 */ addi r0, r3, lbl_803E4550@l
/* 80196A60 001939C0 3C 60 80 5A */ lis r3, lbl_805A65FC@ha
/* 80196A60 001939C0 3C 60 80 5A */ lis r3, sIdentity__9CMatrix3f@ha
/* 80196A64 001939C4 90 1E 00 00 */ stw r0, 0(r30)
/* 80196A68 001939C8 38 03 65 FC */ addi r0, r3, lbl_805A65FC@l
/* 80196A68 001939C8 38 03 65 FC */ addi r0, r3, sIdentity__9CMatrix3f@l
/* 80196A6C 001939CC 7C 04 03 78 */ mr r4, r0
/* 80196A70 001939D0 38 7E 00 3C */ addi r3, r30, 0x3c
/* 80196A74 001939D4 D0 1E 00 04 */ stfs f0, 4(r30)
@ -8846,11 +8846,11 @@ __ct__21CHudDecoInterfaceXRayFR9CGuiFrame:
/* 80196ADC 00193A3C D0 1E 00 38 */ stfs f0, 0x38(r30)
/* 80196AE0 00193A40 48 17 95 45 */ bl __ct__9CMatrix3fFRC9CMatrix3f
/* 80196AE4 00193A44 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
/* 80196AE8 00193A48 3C 80 80 5A */ lis r4, lbl_805A65FC@ha
/* 80196AE8 00193A48 3C 80 80 5A */ lis r4, sIdentity__9CMatrix3f@ha
/* 80196AEC 00193A4C 38 A3 66 A0 */ addi r5, r3, sZeroVector__9CVector3f@l
/* 80196AF0 00193A50 C0 05 00 00 */ lfs f0, 0(r5)
/* 80196AF4 00193A54 38 7E 00 78 */ addi r3, r30, 0x78
/* 80196AF8 00193A58 38 84 65 FC */ addi r4, r4, lbl_805A65FC@l
/* 80196AF8 00193A58 38 84 65 FC */ addi r4, r4, sIdentity__9CMatrix3f@l
/* 80196AFC 00193A5C D0 1E 00 60 */ stfs f0, 0x60(r30)
/* 80196B00 00193A60 C0 1D 00 04 */ lfs f0, 4(r29)
/* 80196B04 00193A64 D0 1E 00 64 */ stfs f0, 0x64(r30)
@ -9266,9 +9266,9 @@ __ct__23CHudDecoInterfaceCombatFR9CGuiFrame:
/* 801970C0 00194020 3C 60 80 5A */ lis r3, sNoRotation__11CQuaternion@ha
/* 801970C4 00194024 90 1F 00 00 */ stw r0, 0(r31)
/* 801970C8 00194028 38 C3 66 60 */ addi r6, r3, sNoRotation__11CQuaternion@l
/* 801970CC 0019402C 3C 60 80 5A */ lis r3, lbl_805A65FC@ha
/* 801970CC 0019402C 3C 60 80 5A */ lis r3, sIdentity__9CMatrix3f@ha
/* 801970D0 00194030 C0 06 00 00 */ lfs f0, 0(r6)
/* 801970D4 00194034 38 03 65 FC */ addi r0, r3, lbl_805A65FC@l
/* 801970D4 00194034 38 03 65 FC */ addi r0, r3, sIdentity__9CMatrix3f@l
/* 801970D8 00194038 7C 04 03 78 */ mr r4, r0
/* 801970DC 0019403C 38 7F 00 44 */ addi r3, r31, 0x44
/* 801970E0 00194040 D0 1F 00 04 */ stfs f0, 4(r31)

View File

@ -1035,8 +1035,8 @@ lbl_80064EDC:
/* 80064EEC 00061E4C 80 7E 02 A0 */ lwz r3, 0x2a0(r30)
/* 80064EF0 00061E50 28 03 00 00 */ cmplwi r3, 0
/* 80064EF4 00061E54 41 82 00 20 */ beq lbl_80064F14
/* 80064EF8 00061E58 3C 80 80 5A */ lis r4, lbl_805A65FC@ha
/* 80064EFC 00061E5C 38 84 65 FC */ addi r4, r4, lbl_805A65FC@l
/* 80064EF8 00061E58 3C 80 80 5A */ lis r4, sIdentity__9CMatrix3f@ha
/* 80064EFC 00061E5C 38 84 65 FC */ addi r4, r4, sIdentity__9CMatrix3f@l
/* 80064F00 00061E60 48 12 BC 89 */ bl SetHudLagRotation__19CHudHelmetInterfaceFRC9CMatrix3f
/* 80064F04 00061E64 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 80064F08 00061E68 80 7E 02 A0 */ lwz r3, 0x2a0(r30)
@ -1047,8 +1047,8 @@ lbl_80064F14:
/* 80064F18 00061E78 28 03 00 00 */ cmplwi r3, 0
/* 80064F1C 00061E7C 41 82 00 54 */ beq lbl_80064F70
/* 80064F20 00061E80 81 83 00 00 */ lwz r12, 0(r3)
/* 80064F24 00061E84 3C 80 80 5A */ lis r4, lbl_805A65FC@ha
/* 80064F28 00061E88 38 84 65 FC */ addi r4, r4, lbl_805A65FC@l
/* 80064F24 00061E84 3C 80 80 5A */ lis r4, sIdentity__9CMatrix3f@ha
/* 80064F28 00061E88 38 84 65 FC */ addi r4, r4, sIdentity__9CMatrix3f@l
/* 80064F2C 00061E8C 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 80064F30 00061E90 7D 89 03 A6 */ mtctr r12
/* 80064F34 00061E94 4E 80 04 21 */ bctrl
@ -1070,9 +1070,9 @@ lbl_80064F70:
/* 80064F70 00061ED0 80 9E 05 88 */ lwz r4, 0x588(r30)
/* 80064F74 00061ED4 38 61 00 78 */ addi r3, r1, 0x78
/* 80064F78 00061ED8 48 26 02 C1 */ bl GetWorldPosition__10CGuiObjectCFv
/* 80064F7C 00061EDC 3C 80 80 5A */ lis r4, lbl_805A65FC@ha
/* 80064F7C 00061EDC 3C 80 80 5A */ lis r4, sIdentity__9CMatrix3f@ha
/* 80064F80 00061EE0 38 61 01 88 */ addi r3, r1, 0x188
/* 80064F84 00061EE4 38 84 65 FC */ addi r4, r4, lbl_805A65FC@l
/* 80064F84 00061EE4 38 84 65 FC */ addi r4, r4, sIdentity__9CMatrix3f@l
/* 80064F88 00061EE8 38 A1 00 78 */ addi r5, r1, 0x78
/* 80064F8C 00061EEC 48 2A E2 ED */ bl __ct__12CTransform4fFRC9CMatrix3fRC9CVector3f
/* 80064F90 00061EF0 83 FE 05 88 */ lwz r31, 0x588(r30)
@ -7668,9 +7668,9 @@ lbl_8006AC90:
/* 8006AC98 00067BF8 90 1F 03 A4 */ stw r0, 0x3a4(r31)
/* 8006AC9C 00067BFC 48 08 2A F1 */ bl __ct__17CCameraFilterPassFv
/* 8006ACA0 00067C00 38 00 00 00 */ li r0, 0
/* 8006ACA4 00067C04 3C 60 80 5A */ lis r3, lbl_805A65FC@ha
/* 8006ACA4 00067C04 3C 60 80 5A */ lis r3, sIdentity__9CMatrix3f@ha
/* 8006ACA8 00067C08 90 1F 03 D4 */ stw r0, 0x3d4(r31)
/* 8006ACAC 00067C0C 38 83 65 FC */ addi r4, r3, lbl_805A65FC@l
/* 8006ACAC 00067C0C 38 83 65 FC */ addi r4, r3, sIdentity__9CMatrix3f@l
/* 8006ACB0 00067C10 C0 22 87 34 */ lfs f1, lbl_805AA454@sda21(r2)
/* 8006ACB4 00067C14 3C A0 80 5A */ lis r5, sZeroVector__9CVector3f@ha
/* 8006ACB8 00067C18 90 1F 03 DC */ stw r0, 0x3dc(r31)

View File

@ -3878,8 +3878,8 @@ lbl_800F01D8:
/* 800F033C 000ED29C 90 A1 00 14 */ stw r5, 0x14(r1)
/* 800F0340 000ED2A0 48 1D F5 75 */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 800F0344 000ED2A4 C0 A1 00 E8 */ lfs f5, 0xe8(r1)
/* 800F0348 000ED2A8 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 800F034C 000ED2AC 38 03 CA D0 */ addi r0, r3, lbl_803ECAD0@l
/* 800F0348 000ED2A8 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 800F034C 000ED2AC 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l
/* 800F0350 000ED2B0 C0 81 00 EC */ lfs f4, 0xec(r1)
/* 800F0354 000ED2B4 C0 61 00 F0 */ lfs f3, 0xf0(r1)
/* 800F0358 000ED2B8 3C 80 80 5A */ lis r4, sIdentity__12CTransform4f@ha
@ -3899,9 +3899,9 @@ lbl_800F01D8:
/* 800F0390 000ED2F0 D0 21 01 50 */ stfs f1, 0x150(r1)
/* 800F0394 000ED2F4 D0 01 01 54 */ stfs f0, 0x154(r1)
/* 800F0398 000ED2F8 48 09 30 09 */ bl DetectStaticCollisionBoolean__14CGameCollisionFRC13CStateManagerRC19CCollisionPrimitiveRC12CTransform4fRC15CMaterialFilter
/* 800F039C 000ED2FC 3C 80 80 3F */ lis r4, lbl_803ECAD0@ha
/* 800F039C 000ED2FC 3C 80 80 3F */ lis r4, __vt__16CCollidableAABox@ha
/* 800F03A0 000ED300 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800F03A4 000ED304 38 84 CA D0 */ addi r4, r4, lbl_803ECAD0@l
/* 800F03A4 000ED304 38 84 CA D0 */ addi r4, r4, __vt__16CCollidableAABox@l
/* 800F03A8 000ED308 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 800F03AC 000ED30C 90 81 01 30 */ stw r4, 0x130(r1)
/* 800F03B0 000ED310 38 63 97 E4 */ addi r3, r3, __vt__19CCollisionPrimitive@l
@ -6782,9 +6782,9 @@ lbl_800F2CD0:
/* 800F2D10 000EFC70 B0 01 00 56 */ sth r0, 0x56(r1)
/* 800F2D14 000EFC74 48 27 06 D9 */ bl __ct__6CColorFffff
/* 800F2D18 000EFC78 89 01 00 54 */ lbz r8, 0x54(r1)
/* 800F2D1C 000EFC7C 3C 60 80 5A */ lis r3, lbl_805A65FC@ha
/* 800F2D1C 000EFC7C 3C 60 80 5A */ lis r3, sIdentity__9CMatrix3f@ha
/* 800F2D20 000EFC80 88 E1 00 55 */ lbz r7, 0x55(r1)
/* 800F2D24 000EFC84 38 83 65 FC */ addi r4, r3, lbl_805A65FC@l
/* 800F2D24 000EFC84 38 83 65 FC */ addi r4, r3, sIdentity__9CMatrix3f@l
/* 800F2D28 000EFC88 A0 C1 00 56 */ lhz r6, 0x56(r1)
/* 800F2D2C 000EFC8C 38 61 01 34 */ addi r3, r1, 0x134
/* 800F2D30 000EFC90 80 01 00 58 */ lwz r0, 0x58(r1)

View File

@ -4001,7 +4001,7 @@ lbl_80012B20:
/* 80012C20 0000FB80 38 E4 66 A0 */ addi r7, r4, sZeroVector__9CVector3f@l
/* 80012C24 0000FB84 C0 59 00 50 */ lfs f2, 0x50(r25)
/* 80012C28 0000FB88 C0 39 00 40 */ lfs f1, 0x40(r25)
/* 80012C2C 0000FB8C 3C C0 80 3F */ lis r6, lbl_803ECAD0@ha
/* 80012C2C 0000FB8C 3C C0 80 3F */ lis r6, __vt__16CCollidableAABox@ha
/* 80012C30 0000FB90 C0 07 00 00 */ lfs f0, 0(r7)
/* 80012C34 0000FB94 3C A0 80 5A */ lis r5, sIdentity__12CTransform4f@ha
/* 80012C38 0000FB98 3C 80 80 3E */ lis r4, __vt__19CCollisionPrimitive@ha
@ -4013,7 +4013,7 @@ lbl_80012B20:
/* 80012C50 0000FBB0 C0 07 00 04 */ lfs f0, 4(r7)
/* 80012C54 0000FBB4 D0 21 00 40 */ stfs f1, 0x40(r1)
/* 80012C58 0000FBB8 7C 7A 1B 78 */ mr r26, r3
/* 80012C5C 0000FBBC 3B 66 CA D0 */ addi r27, r6, lbl_803ECAD0@l
/* 80012C5C 0000FBBC 3B 66 CA D0 */ addi r27, r6, __vt__16CCollidableAABox@l
/* 80012C60 0000FBC0 D0 1F 00 04 */ stfs f0, 4(r31)
/* 80012C64 0000FBC4 3B 85 66 70 */ addi r28, r5, sIdentity__12CTransform4f@l
/* 80012C68 0000FBC8 3B A4 97 E4 */ addi r29, r4, __vt__19CCollisionPrimitive@l
@ -4087,9 +4087,9 @@ lbl_80012C80:
/* 80012D74 0000FCD4 48 17 18 A1 */ bl "DetectCollisionBoolean__14CGameCollisionFRC13CStateManagerRC19CCollisionPrimitiveRC12CTransform4fRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>"
/* 80012D78 0000FCD8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80012D7C 0000FCDC 40 82 00 78 */ bne lbl_80012DF4
/* 80012D80 0000FCE0 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 80012D80 0000FCE0 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 80012D84 0000FCE4 80 A1 01 10 */ lwz r5, 0x110(r1)
/* 80012D88 0000FCE8 38 03 CA D0 */ addi r0, r3, lbl_803ECAD0@l
/* 80012D88 0000FCE8 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l
/* 80012D8C 0000FCEC 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 80012D90 0000FCF0 90 01 00 E8 */ stw r0, 0xe8(r1)
/* 80012D94 0000FCF4 38 03 97 E4 */ addi r0, r3, __vt__19CCollisionPrimitive@l
@ -4178,8 +4178,8 @@ __dt__16CCollidableAABoxFv:
/* 80012EAC 0000FE0C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80012EB0 0000FE10 7C 7F 1B 79 */ or. r31, r3, r3
/* 80012EB4 0000FE14 41 82 00 30 */ beq lbl_80012EE4
/* 80012EB8 0000FE18 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 80012EBC 0000FE1C 38 03 CA D0 */ addi r0, r3, lbl_803ECAD0@l
/* 80012EB8 0000FE18 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 80012EBC 0000FE1C 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l
/* 80012EC0 0000FE20 90 1F 00 00 */ stw r0, 0(r31)
/* 80012EC4 0000FE24 41 82 00 10 */ beq lbl_80012ED4
/* 80012EC8 0000FE28 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
@ -6495,9 +6495,9 @@ lbl_80014E9C:
/* 80014F58 00011EB8 38 61 01 A8 */ addi r3, r1, 0x1a8
/* 80014F5C 00011EBC 48 2B A9 59 */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 80014F60 00011EC0 C0 A1 00 B8 */ lfs f5, 0xb8(r1)
/* 80014F64 00011EC4 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 80014F64 00011EC4 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 80014F68 00011EC8 C0 81 00 BC */ lfs f4, 0xbc(r1)
/* 80014F6C 00011ECC 38 03 CA D0 */ addi r0, r3, lbl_803ECAD0@l
/* 80014F6C 00011ECC 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l
/* 80014F70 00011ED0 C0 61 00 C0 */ lfs f3, 0xc0(r1)
/* 80014F74 00011ED4 7F A3 EB 78 */ mr r3, r29
/* 80014F78 00011ED8 C0 41 00 C4 */ lfs f2, 0xc4(r1)
@ -6680,9 +6680,9 @@ lbl_800151FC:
/* 80015208 00012168 38 00 00 00 */ li r0, 0
/* 8001520C 0001216C 90 07 00 00 */ stw r0, 0(r7)
lbl_80015210:
/* 80015210 00012170 3C 80 80 3F */ lis r4, lbl_803ECAD0@ha
/* 80015210 00012170 3C 80 80 3F */ lis r4, __vt__16CCollidableAABox@ha
/* 80015214 00012174 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 80015218 00012178 38 04 CA D0 */ addi r0, r4, lbl_803ECAD0@l
/* 80015218 00012178 38 04 CA D0 */ addi r0, r4, __vt__16CCollidableAABox@l
/* 8001521C 0001217C 90 01 01 A8 */ stw r0, 0x1a8(r1)
/* 80015220 00012180 38 03 97 E4 */ addi r0, r3, __vt__19CCollisionPrimitive@l
/* 80015224 00012184 90 01 01 A8 */ stw r0, 0x1a8(r1)

View File

@ -1275,8 +1275,8 @@ ValidateFPPosition__7CPlayerF9CVector3fR13CStateManager:
/* 8017A500 00177460 38 81 00 08 */ addi r4, r1, 8
/* 8017A504 00177464 48 15 53 B1 */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 8017A508 00177468 C0 A1 00 58 */ lfs f5, 0x58(r1)
/* 8017A50C 0017746C 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 8017A510 00177470 38 03 CA D0 */ addi r0, r3, lbl_803ECAD0@l
/* 8017A50C 0017746C 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 8017A510 00177470 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l
/* 8017A514 00177474 C0 81 00 5C */ lfs f4, 0x5c(r1)
/* 8017A518 00177478 C0 61 00 60 */ lfs f3, 0x60(r1)
/* 8017A51C 0017747C 3C 60 80 5A */ lis r3, sIdentity__12CTransform4f@ha
@ -1298,9 +1298,9 @@ ValidateFPPosition__7CPlayerF9CVector3fR13CStateManager:
/* 8017A55C 001774BC 48 00 A0 B9 */ bl "DetectCollisionBoolean__14CGameCollisionFRC13CStateManagerRC19CCollisionPrimitiveRC12CTransform4fRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>"
/* 8017A560 001774C0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8017A564 001774C4 40 82 00 78 */ bne lbl_8017A5DC
/* 8017A568 001774C8 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 8017A568 001774C8 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 8017A56C 001774CC 80 A1 00 E0 */ lwz r5, 0xe0(r1)
/* 8017A570 001774D0 38 03 CA D0 */ addi r0, r3, lbl_803ECAD0@l
/* 8017A570 001774D0 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l
/* 8017A574 001774D4 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 8017A578 001774D8 90 01 00 B8 */ stw r0, 0xb8(r1)
/* 8017A57C 001774DC 38 03 97 E4 */ addi r0, r3, __vt__19CCollisionPrimitive@l
@ -1332,9 +1332,9 @@ lbl_8017A5CC:
/* 8017A5D4 00177534 90 01 00 E0 */ stw r0, 0xe0(r1)
/* 8017A5D8 00177538 48 00 00 74 */ b lbl_8017A64C
lbl_8017A5DC:
/* 8017A5DC 0017753C 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 8017A5DC 0017753C 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 8017A5E0 00177540 80 A1 00 E0 */ lwz r5, 0xe0(r1)
/* 8017A5E4 00177544 38 03 CA D0 */ addi r0, r3, lbl_803ECAD0@l
/* 8017A5E4 00177544 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l
/* 8017A5E8 00177548 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 8017A5EC 0017754C 90 01 00 B8 */ stw r0, 0xb8(r1)
/* 8017A5F0 00177550 38 03 97 E4 */ addi r0, r3, __vt__19CCollisionPrimitive@l
@ -7452,4 +7452,3 @@ lbl_805ABFC0:
lbl_805ABFC4:
# ROM: 0x3F8864
.4byte 0x3F3504F3

View File

@ -414,9 +414,9 @@ lbl_80197A00:
/* 80197A14 00194974 38 61 01 08 */ addi r3, r1, 0x108
/* 80197A18 00194978 38 94 00 68 */ addi r4, r20, 0x68
/* 80197A1C 0019497C 48 13 7E 99 */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 80197A20 00194980 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 80197A20 00194980 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 80197A24 00194984 C0 C1 00 88 */ lfs f6, 0x88(r1)
/* 80197A28 00194988 39 03 CA D0 */ addi r8, r3, lbl_803ECAD0@l
/* 80197A28 00194988 39 03 CA D0 */ addi r8, r3, __vt__16CCollidableAABox@l
/* 80197A2C 0019498C C0 A1 00 8C */ lfs f5, 0x8c(r1)
/* 80197A30 00194990 91 01 01 08 */ stw r8, 0x108(r1)
/* 80197A34 00194994 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
@ -519,9 +519,9 @@ lbl_80197A00:
/* 80197BB8 00194B18 98 E1 02 88 */ stb r7, 0x288(r1)
/* 80197BBC 00194B1C D8 01 02 90 */ stfd f0, 0x290(r1)
/* 80197BC0 00194B20 40 82 00 34 */ bne lbl_80197BF4
/* 80197BC4 00194B24 3C 80 80 3F */ lis r4, lbl_803ECAD0@ha
/* 80197BC4 00194B24 3C 80 80 3F */ lis r4, __vt__16CCollidableAABox@ha
/* 80197BC8 00194B28 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 80197BCC 00194B2C 38 84 CA D0 */ addi r4, r4, lbl_803ECAD0@l
/* 80197BCC 00194B2C 38 84 CA D0 */ addi r4, r4, __vt__16CCollidableAABox@l
/* 80197BD0 00194B30 38 00 00 00 */ li r0, 0
/* 80197BD4 00194B34 90 81 01 98 */ stw r4, 0x198(r1)
/* 80197BD8 00194B38 38 63 97 E4 */ addi r3, r3, __vt__19CCollisionPrimitive@l
@ -533,11 +533,11 @@ lbl_80197A00:
/* 80197BF0 00194B50 48 00 00 DC */ b lbl_80197CCC
lbl_80197BF4:
/* 80197BF4 00194B54 D0 3E 00 00 */ stfs f1, 0(r30)
/* 80197BF8 00194B58 3C 80 80 3F */ lis r4, lbl_803ECAD0@ha
/* 80197BF8 00194B58 3C 80 80 3F */ lis r4, __vt__16CCollidableAABox@ha
/* 80197BFC 00194B5C C0 01 02 6C */ lfs f0, 0x26c(r1)
/* 80197C00 00194B60 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 80197C04 00194B64 C0 21 02 70 */ lfs f1, 0x270(r1)
/* 80197C08 00194B68 38 84 CA D0 */ addi r4, r4, lbl_803ECAD0@l
/* 80197C08 00194B68 38 84 CA D0 */ addi r4, r4, __vt__16CCollidableAABox@l
/* 80197C0C 00194B6C D0 1E 00 04 */ stfs f0, 4(r30)
/* 80197C10 00194B70 28 17 00 00 */ cmplwi r23, 0
/* 80197C14 00194B74 C0 01 02 74 */ lfs f0, 0x274(r1)

View File

@ -1317,13 +1317,13 @@ lbl_8026212C:
/* 80262174 0025F0D4 90 A1 00 14 */ stw r5, 0x14(r1)
/* 80262178 0025F0D8 48 06 D7 3D */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 8026217C 0025F0DC C0 A1 00 44 */ lfs f5, 0x44(r1)
/* 80262180 0025F0E0 3C 80 80 3F */ lis r4, lbl_803ECAD0@ha
/* 80262180 0025F0E0 3C 80 80 3F */ lis r4, __vt__16CCollidableAABox@ha
/* 80262184 0025F0E4 C0 81 00 48 */ lfs f4, 0x48(r1)
/* 80262188 0025F0E8 3C 60 80 5A */ lis r3, skPassEverything__15CMaterialFilter@ha
/* 8026218C 0025F0EC 38 03 FD 18 */ addi r0, r3, skPassEverything__15CMaterialFilter@l
/* 80262190 0025F0F0 C0 61 00 4C */ lfs f3, 0x4c(r1)
/* 80262194 0025F0F4 C0 41 00 50 */ lfs f2, 0x50(r1)
/* 80262198 0025F0F8 38 C4 CA D0 */ addi r6, r4, lbl_803ECAD0@l
/* 80262198 0025F0F8 38 C4 CA D0 */ addi r6, r4, __vt__16CCollidableAABox@l
/* 8026219C 0025F0FC C0 21 00 54 */ lfs f1, 0x54(r1)
/* 802621A0 0025F100 38 A1 00 60 */ addi r5, r1, 0x60
/* 802621A4 0025F104 C0 01 00 58 */ lfs f0, 0x58(r1)
@ -1352,9 +1352,9 @@ lbl_8026212C:
/* 80262200 0025F160 38 61 00 C0 */ addi r3, r1, 0xc0
/* 80262204 0025F164 38 81 00 88 */ addi r4, r1, 0x88
/* 80262208 0025F168 48 06 C5 A9 */ bl Collide__19CCollisionPrimitiveFRCQ227CInternalCollisionStructure9CPrimDescRCQ227CInternalCollisionStructure9CPrimDescR18CCollisionInfoList
/* 8026220C 0025F16C 3C 80 80 3F */ lis r4, lbl_803ECAD0@ha
/* 8026220C 0025F16C 3C 80 80 3F */ lis r4, __vt__16CCollidableAABox@ha
/* 80262210 0025F170 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80262214 0025F174 38 84 CA D0 */ addi r4, r4, lbl_803ECAD0@l
/* 80262214 0025F174 38 84 CA D0 */ addi r4, r4, __vt__16CCollidableAABox@l
/* 80262218 0025F178 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 8026221C 0025F17C 90 81 00 60 */ stw r4, 0x60(r1)
/* 80262220 0025F180 38 63 97 E4 */ addi r3, r3, __vt__19CCollisionPrimitive@l

View File

@ -558,9 +558,9 @@ lbl_801BDD98:
/* 801BDD98 001BACF8 38 61 01 38 */ addi r3, r1, 0x138
/* 801BDD9C 001BACFC 38 93 00 68 */ addi r4, r19, 0x68
/* 801BDDA0 001BAD00 48 11 1B 15 */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 801BDDA4 001BAD04 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 801BDDA4 001BAD04 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha
/* 801BDDA8 001BAD08 C0 C1 00 D0 */ lfs f6, 0xd0(r1)
/* 801BDDAC 001BAD0C 39 03 CA D0 */ addi r8, r3, lbl_803ECAD0@l
/* 801BDDAC 001BAD0C 39 03 CA D0 */ addi r8, r3, __vt__16CCollidableAABox@l
/* 801BDDB0 001BAD10 C0 A1 00 D4 */ lfs f5, 0xd4(r1)
/* 801BDDB4 001BAD14 91 01 01 38 */ stw r8, 0x138(r1)
/* 801BDDB8 001BAD18 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
@ -642,9 +642,9 @@ lbl_801BDD98:
/* 801BDEE8 001BAE48 90 61 01 EC */ stw r3, 0x1ec(r1)
/* 801BDEEC 001BAE4C 90 01 01 E8 */ stw r0, 0x1e8(r1)
/* 801BDEF0 001BAE50 40 82 00 28 */ bne lbl_801BDF18
/* 801BDEF4 001BAE54 3C 80 80 3F */ lis r4, lbl_803ECAD0@ha
/* 801BDEF4 001BAE54 3C 80 80 3F */ lis r4, __vt__16CCollidableAABox@ha
/* 801BDEF8 001BAE58 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 801BDEFC 001BAE5C 38 84 CA D0 */ addi r4, r4, lbl_803ECAD0@l
/* 801BDEFC 001BAE5C 38 84 CA D0 */ addi r4, r4, __vt__16CCollidableAABox@l
/* 801BDF00 001BAE60 38 00 00 00 */ li r0, 0
/* 801BDF04 001BAE64 90 81 01 F0 */ stw r4, 0x1f0(r1)
/* 801BDF08 001BAE68 38 63 97 E4 */ addi r3, r3, __vt__19CCollisionPrimitive@l
@ -672,9 +672,9 @@ lbl_801BDF18:
/* 801BDF5C 001BAEBC A0 13 00 08 */ lhz r0, 8(r19)
/* 801BDF60 001BAEC0 B0 1B 00 00 */ sth r0, 0(r27)
lbl_801BDF64:
/* 801BDF64 001BAEC4 3C 80 80 3F */ lis r4, lbl_803ECAD0@ha
/* 801BDF64 001BAEC4 3C 80 80 3F */ lis r4, __vt__16CCollidableAABox@ha
/* 801BDF68 001BAEC8 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 801BDF6C 001BAECC 38 84 CA D0 */ addi r4, r4, lbl_803ECAD0@l
/* 801BDF6C 001BAECC 38 84 CA D0 */ addi r4, r4, __vt__16CCollidableAABox@l
/* 801BDF70 001BAED0 38 00 00 00 */ li r0, 0
/* 801BDF74 001BAED4 90 81 01 F0 */ stw r4, 0x1f0(r1)
/* 801BDF78 001BAED8 38 63 97 E4 */ addi r3, r3, __vt__19CCollisionPrimitive@l

View File

@ -7,13 +7,16 @@
class CCollidableAABox : public CCollisionPrimitive {
public:
CCollidableAABox();
CCollidableAABox(const CAABox& box, const CMaterialList& matList)
: CCollisionPrimitive(matList), x10_aabb(box) {}
// TODO
u32 GetTableIndex() const override;
CAABox CalculateAABox(const CTransform4f&) const override;
CAABox CalculateLocalAABox() const override;
FourCC GetPrimType() const override;
~CCollidableAABox() override;
~CCollidableAABox() override {};
CRayCastResult CastRayInternal(const CInternalRayCastStructure&) const;
private:

View File

@ -6,9 +6,11 @@
#include "Kyoto/Math/CVector3f.hpp"
class CMatrix3f {
static const CMatrix3f sIdentity;
public:
// TODO
CMatrix3f(const CMatrix3f&);
static CMatrix3f Identity() { return sIdentity; }
private:
// TODO maybe individual f32s
CVector3f m0;

View File

@ -3,10 +3,12 @@
#include "types.h"
class CMatrix3f;
class CNUQuaternion {
public:
CNUQuaternion(f32 w, f32 x, f32 y, f32 z) : w(w), x(x), y(y), z(z) {}
static CNUQuaternion BuildFromMatrix3f(const CMatrix3f& matrix);
private:
f32 w;
f32 x;

View File

@ -100,7 +100,7 @@ public:
static const CVector3f& Forward() { return sForwardVector; }
static const CVector3f& Back() { return sBackVector; }
private:
protected:
f32 mX;
f32 mY;
f32 mZ;

View File

@ -31,6 +31,10 @@ public:
return cinput_stream_helper(type, *this);
}
bool ReadPackedBool() {
return ReadBits(1) != 0;
}
private:
bool GrabAnotherBlock();
bool InternalReadNext();

View File

@ -3,18 +3,31 @@
#include "types.h"
#include <math.h>
#include "Kyoto/Math/CVector3f.hpp"
class CAxisAngle : CVector3f {
class CAxisAngle : protected CVector3f {
public:
CAxisAngle(f32 x, f32 y, f32 z) : CVector3f(x, y, z) {}
CAxisAngle(const CAxisAngle& other) : CVector3f(other) {}
//CAxisAngle(const CAxisAngle& other) : CVector3f(other) {}
static const CAxisAngle& Identity();
const CVector3f& GetVector() const;
/*
CAxisAngle& operator=(const CAxisAngle& other) {
int otherX = __HI(other.mX);
__HI(mX) = otherX;
int otherY = __HI(other.mY);
__HI(mY) = otherY;
int otherZ = __HI(other.mZ);
__HI(mZ) = otherZ;
return *this;
}
*/
};
CAxisAngle operator+(const CAxisAngle& lhs, const CAxisAngle& rhs);
CHECK_SIZEOF(CAxisAngle, 0xc)
#endif

View File

@ -33,7 +33,12 @@ struct SMoverData {
class CMotionState {
public:
// TODO
CMotionState(const CVector3f& translation, const CNUQuaternion& orientation,
const CVector3f& velocity, const CAxisAngle& angularMomentum)
: x0_translation(translation)
, xc_orientation(orientation)
, x1c_velocity(velocity)
, x28_angularMomentum(angularMomentum) {}
private:
CVector3f x0_translation;
@ -64,13 +69,19 @@ public:
virtual f32 GetStepDownHeight() const;
virtual f32 GetStepUpHeight() const;
virtual f32 GetWeight() const;
void SetMass(float mass);
CAABox GetBoundingBox() const;
void ApplyImpulseWR(const CVector3f& impulse, const CAxisAngle& angularImpulse);
void MoveCollisionPrimitive(const CVector3f&);
void SetVelocityWR(const CVector3f&);
void SetAngularVelocityWR(const CAxisAngle& angVel);
void SetVelocityOR(const CVector3f& vel);
CAxisAngle GetAngularVelocityOR() const;
void SetAngularVelocityOR(const CAxisAngle& angleVel);
void ClearForcesAndTorques();
void ComputeDerivedQuantities();
void Stop();
CMotionState GetMotionState() const;
@ -111,6 +122,7 @@ private:
f32 x248_collisionAccuracyModifier;
uint x24c_numTicksStuck;
uint x250_numTicksPartialUpdate;
uint x254_;
};
CHECK_SIZEOF(CPhysicsActor, 0x258)

View File

@ -154,23 +154,22 @@ static inline int __fpclassifyd(double x) {
#define isinf(x) (fpclassify(x) == FP_INFINITE)
#define isfinite(x) ((fpclassify(x) > FP_INFINITE))
static inline float sqrtf(float x) {
static const double _half = .5;
static const double _three = 3.0;
inline float sqrtf(float x)
{
const double _half=.5;
const double _three=3.0;
volatile float y;
if (x > 0.0f) {
double xd = (double)x;
double guess = __frsqrte(xd); /* returns an approximation to */
guess = _half * guess * (_three - guess * guess * xd); /* now have 12 sig bits */
guess = _half * guess * (_three - guess * guess * xd); /* now have 24 sig bits */
guess = _half * guess * (_three - guess * guess * xd); /* now have 32 sig bits */
return (float)(xd * guess);
} else if (x < 0.0)
return NAN;
else if (isnan(x))
return NAN;
else
return x;
if(x > 0.0f)
{
double guess = __frsqrte((double)x); /* returns an approximation to */
guess = _half*guess*(_three - guess*guess*x); /* now have 12 sig bits */
guess = _half*guess*(_three - guess*guess*x); /* now have 24 sig bits */
guess = _half*guess*(_three - guess*guess*x); /* now have 32 sig bits */
y=(float)(x*guess);
return y ;
}
return x ;
}
static inline double sqrt(double x) {

View File

@ -712,7 +712,7 @@ VI_FILES :=\
$(BUILD_DIR)/asm/Dolphin/vi.o
MSL_PPCEABI_BARE_H :=\
$(BUILD_DIR)/asm/Runtime/__mem.o\
$(BUILD_DIR)/src/Runtime/__mem.o\
$(BUILD_DIR)/asm/Runtime/__va_arg.o\
$(BUILD_DIR)/asm/Runtime/global_destructor_chain.o\
$(BUILD_DIR)/asm/Runtime/CPlusLibPPC.o\
@ -796,7 +796,7 @@ MUSYX_FILES :=\
$(BUILD_DIR)/asm/musyx/hw_volconv.o\
$(BUILD_DIR)/asm/musyx/snd3d.o\
$(BUILD_DIR)/src/musyx/snd_init.o\
$(BUILD_DIR)/asm/musyx/snd_math.o\
$(BUILD_DIR)/src/musyx/snd_math.o\
$(BUILD_DIR)/asm/musyx/snd_midictrl.o\
$(BUILD_DIR)/src/musyx/snd_service.o\
$(BUILD_DIR)/asm/musyx/hardware.o\

View File

@ -0,0 +1,52 @@
#include "MetroidPrime/CPhysicsActor.hpp"
CPhysicsActor::CPhysicsActor(TUniqueId uid, bool active, const rstl::string& name,
const CEntityInfo& info, const CTransform4f& xf,
const CModelData& mData, const CMaterialList& matList,
const CAABox& aabb, const SMoverData& moverData,
const CActorParameters& actParams, f32 stepUp, f32 stepDown)
: CActor(uid, active, name, info, xf, mData, matList, actParams, kInvalidUniqueId)
, xe8_mass(moverData.x30_mass)
, xec_massRecip(moverData.x30_mass > 0.f ? 1.f / moverData.x30_mass : 1.f)
, xf8_24_movable(true)
, xf8_25_angularEnabled(false)
, xf9_standardCollider(false)
, xfc_constantForce(CVector3f::Zero())
, x108_angularMomentum(CAxisAngle::Identity())
, x114_(CMatrix3f::Identity())
, x138_velocity(CVector3f::Zero())
, x144_angularVelocity(CAxisAngle::Identity())
, x150_momentum(moverData.x18_momentum)
, x15c_force(CVector3f::Zero())
, x168_impulse(CVector3f::Zero())
, x174_torque(CAxisAngle::Identity())
, x180_angularImpulse(CAxisAngle::Identity())
, x18c_moveImpulse(CVector3f::Zero())
, x198_moveAngularImpulse(CAxisAngle::Identity())
, x1a4_baseBoundingBox(aabb)
, x1c0_collisionPrimitive(aabb, matList)
, x1e8_primitiveOffset(CVector3f::Zero())
, x1f4_lastNonCollidingState(xf.GetTranslation(),
CNUQuaternion::BuildFromMatrix3f(xf.BuildMatrix3f()),
CVector3f::Zero(), CAxisAngle::Identity())
, x238_maximumCollisionVelocity(1000000.0)
, x23c_stepUpHeight(stepUp)
, x240_stepDownHeight(stepDown)
, x244_restitutionCoefModifier(0.f)
, x248_collisionAccuracyModifier(1.f)
, x24c_numTicksStuck(0)
, x250_numTicksPartialUpdate(0) {
SetMass(moverData.x30_mass);
MoveCollisionPrimitive(CVector3f::Zero());
SetVelocityOR(moverData.x0_velocity);
SetAngularVelocityOR(moverData.xc_angularVelocity);
ComputeDerivedQuantities();
}
CPhysicsActor::~CPhysicsActor() {}
void CPhysicsActor::ApplyImpulseWR(const CVector3f& impulse, const CAxisAngle& angularImpulse) {
x168_impulse = x168_impulse + impulse;
x180_angularImpulse = x180_angularImpulse + angularImpulse;
}

View File

@ -105,8 +105,8 @@ CPlayerState::CPlayerState(CInputStream& stream)
amount = stream.ReadBits(bitCount);
capacity = stream.ReadBits(bitCount);
}
x24_powerups.push_back(CPowerUp(amount, capacity));
CPowerUp pw(amount, capacity);
x24_powerups.push_back(pw);
}
// Scan
@ -114,7 +114,7 @@ CPlayerState::CPlayerState(CInputStream& stream)
x170_scanTimes.reserve(scanStates.size());
for (rstl::vector< CMemoryCard::ScanState >::const_iterator it = scanStates.begin();
it != scanStates.end(); ++it) {
float time = stream.ReadBits(1) ? 1.f : 0.f;
float time = stream.ReadPackedBool() ? 1.f : 0.f;
x170_scanTimes.push_back(rstl::pair< CAssetId, float >(it->first, time));
}

View File

@ -1,15 +1,13 @@
/* @(#)e_exp.c 1.2 95/01/04 */
/* @(#)e_exp.c 1.6 04/04/22 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
* Copyright (C) 2004 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* __ieee754_exp(x)
* Returns the exponential of x.
*
@ -18,154 +16,131 @@
* Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658.
* Given x, find r and integer k such that
*
* x = k*ln2 + r, |r| <= 0.5*ln2.
* x = k*ln2 + r, |r| <= 0.5*ln2.
*
* Here r will be represented as r = hi-lo for better
* Here r will be represented as r = hi-lo for better
* accuracy.
*
* 2. Approximation of exp(r) by a special rational function on
* 2. Approximation of ieee_exp(r) by a special rational function on
* the interval [0,0.34658]:
* Write
* R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ...
* We use a special Reme algorithm on [0,0.34658] to generate
* a polynomial of degree 5 to approximate R. The maximum error
* R(r**2) = r*(ieee_exp(r)+1)/(ieee_exp(r)-1) = 2 + r*r/6 - r**4/360 + ...
* We use a special Remes algorithm on [0,0.34658] to generate
* a polynomial of degree 5 to approximate R. The maximum error
* of this polynomial approximation is bounded by 2**-59. In
* other words,
* R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5
* (where z=r*r, and the values of P1 to P5 are listed below)
* and
* | 5 | -59
* | 2.0+P1*z+...+P5*z - R(z) | <= 2
* | 2.0+P1*z+...+P5*z - R(z) | <= 2
* | |
* The computation of exp(r) thus becomes
* The computation of ieee_exp(r) thus becomes
* 2*r
* exp(r) = 1 + -------
* R - r
* r*R1(r)
* r*R1(r)
* = 1 + r + ----------- (for better accuracy)
* 2 - R1(r)
* where
* 2 4 10
* R1(r) = r - (P1*r + P2*r + ... + P5*r ).
*
* 3. Scale back to obtain exp(x):
*
* 3. Scale back to obtain ieee_exp(x):
* From step 1, we have
* exp(x) = 2^k * exp(r)
* ieee_exp(x) = 2^k * ieee_exp(r)
*
* Special cases:
* exp(INF) is INF, exp(NaN) is NaN;
* exp(INF) is INF, ieee_exp(NaN) is NaN;
* exp(-INF) is 0, and
* for finite argument, only exp(0)=1 is exact.
* for finite argument, only ieee_exp(0)=1 is exact.
*
* Accuracy:
* according to an error analysis, the error is always less than
* 1 ulp (unit in the last place).
*
* Misc. info.
* For IEEE double
* if x > 7.09782712893383973096e+02 then exp(x) overflow
* if x < -7.45133219101941108420e+02 then exp(x) underflow
* For IEEE double
* if x > 7.09782712893383973096e+02 then ieee_exp(x) overflow
* if x < -7.45133219101941108420e+02 then ieee_exp(x) underflow
*
* Constants:
* The hexadecimal values are the intended ones for the following
* constants. The decimal values may be used, provided that the
* The hexadecimal values are the intended ones for the following
* constants. The decimal values may be used, provided that the
* compiler will convert from decimal to binary accurately enough
* to produce the hexadecimal values shown.
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double
#else
static double
#endif
one = 1.0,
halF[2] =
{
0.5,
-0.5,
},
big = 1.0e+300, twom1000 = 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/
o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */
u_threshold = -7.45133219101941108420e+02, /* 0xc0874910, 0xD52D3051 */
ln2HI[2] =
{
6.93147180369123816490e-01, /* 0x3fe62e42, 0xfee00000 */
-6.93147180369123816490e-01,
}, /* 0xbfe62e42, 0xfee00000 */
ln2LO[2] =
{
1.90821492927058770002e-10, /* 0x3dea39ef, 0x35793c76 */
-1.90821492927058770002e-10,
}, /* 0xbdea39ef, 0x35793c76 */
invln2 = 1.44269504088896338700e+00, /* 0x3ff71547, 0x652b82fe */
P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */
P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */
P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */
P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */
P5 = 4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */
one = 1.0,
halF[2] = {0.5,-0.5,},
huge = 1.0e+300,
twom1000= 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/
o_threshold= 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */
u_threshold= -7.45133219101941108420e+02, /* 0xc0874910, 0xD52D3051 */
ln2HI[2] ={ 6.93147180369123816490e-01, /* 0x3fe62e42, 0xfee00000 */
-6.93147180369123816490e-01,},/* 0xbfe62e42, 0xfee00000 */
ln2LO[2] ={ 1.90821492927058770002e-10, /* 0x3dea39ef, 0x35793c76 */
-1.90821492927058770002e-10,},/* 0xbdea39ef, 0x35793c76 */
invln2 = 1.44269504088896338700e+00, /* 0x3ff71547, 0x652b82fe */
P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */
P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */
P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */
P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */
P5 = 4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */
#ifdef __STDC__
double __ieee754_exp(double x) /* default IEEE double exp */
double __ieee754_exp(double x) /* default IEEE double exp */
#else
double __ieee754_exp(x) /* default IEEE double exp */
double x;
double __ieee754_exp(x) /* default IEEE double exp */
double x;
#endif
{
double y, hi, lo, c, t;
_INT32 k, xsb;
_UINT32 hx;
hx = __HI(x); /* high word of x */
xsb = (hx >> 31) & 1; /* sign bit of x */
hx &= 0x7fffffff; /* high word of |x| */
/* filter out non-finite argument */
if (hx >= 0x40862E42) { /* if |x|>=709.78... */
if (hx >= 0x7ff00000) {
if (((hx & 0xfffff) | __LO(x)) != 0)
return x + x; /* NaN */
else
return (xsb == 0) ? x : 0.0; /* exp(+-inf)={inf,0} */
}
if (x > o_threshold)
return big * big; /* overflow */
if (x < u_threshold)
return twom1000 * twom1000; /* underflow */
}
/* argument reduction */
if (hx > 0x3fd62e42) { /* if |x| > 0.5 ln2 */
if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */
hi = x - ln2HI[xsb];
lo = ln2LO[xsb];
k = 1 - xsb - xsb;
} else {
k = invln2 * x + halF[xsb];
t = k;
hi = x - t * ln2HI[0]; /* t*ln2HI is exact here */
lo = t * ln2LO[0];
}
x = hi - lo;
} else if (hx < 0x3e300000) { /* when |x|<2**-28 */
if (big + x > one)
return one + x; /* trigger inexact */
} else
k = 0;
/* x is now in primary range */
t = x * x;
c = x - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5))));
if (k == 0)
return one - ((x * c) / (c - 2.0) - x);
else
y = one - ((lo - (x * c) / (2.0 - c)) - hi);
if (k >= -1021) {
__HI(y) += (k << 20); /* add k to y's exponent */
return y;
} else {
__HI(y) += ((k + 1000) << 20); /* add k to y's exponent */
return y * twom1000;
}
double y,hi,lo,c,t;
int k,xsb;
unsigned hx;
hx = __HI(x); /* high word of x */
xsb = (hx>>31)&1; /* sign bit of x */
hx &= 0x7fffffff; /* high word of |x| */
/* filter out non-finite argument */
if(hx >= 0x40862E42) { /* if |x|>=709.78... */
if(hx>=0x7ff00000) {
if(((hx&0xfffff)|__LO(x))!=0)
return x+x; /* NaN */
else return (xsb==0)? x:0.0; /* ieee_exp(+-inf)={inf,0} */
}
if(x > o_threshold) return huge*huge; /* overflow */
if(x < u_threshold) return twom1000*twom1000; /* underflow */
}
/* argument reduction */
if(hx > 0x3fd62e42) { /* if |x| > 0.5 ln2 */
if(hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */
hi = x-ln2HI[xsb]; lo=ln2LO[xsb]; k = 1-xsb-xsb;
} else {
k = (int)(invln2*x+halF[xsb]);
t = k;
hi = x - t*ln2HI[0]; /* t*ln2HI is exact here */
lo = t*ln2LO[0];
}
x = hi - lo;
}
else if(hx < 0x3e300000) { /* when |x|<2**-28 */
if(huge+x>one) return one+x;/* trigger inexact */
}
else k = 0;
/* x is now in primary range */
t = x*x;
c = x - t*(P1+t*(P2+t*(P3+t*(P4+t*P5))));
if(k==0) return one-((x*c)/(c-2.0)-x);
else y = one-((lo-(x*c)/(2.0-c))-hi);
if(k >= -1021) {
__HI(y) += (k<<20); /* add k to y's exponent */
return y;
} else {
__HI(y) += ((k+1000)<<20);/* add k to y's exponent */
return y*twom1000;
}
}

View File

@ -1,4 +1,4 @@
#include "math_ppc.h"
#include "math.h"
#include "musyx/musyx_priv.h"
void salApplyMatrix(const SND_FMATRIX* a, const SND_FVECTOR* b, SND_FVECTOR* out) {
@ -21,4 +21,6 @@ void salCrossProduct(SND_FVECTOR* out, const SND_FVECTOR* a, const SND_FVECTOR*
out->z = (a->x * b->y) - (a->y * b->x);
}
void salInvertMatrix(SND_FMATRIX* out, const SND_FMATRIX* in) {}
void salInvertMatrix(SND_FMATRIX* out, const SND_FMATRIX* in) {
out->t[0] = 1.f;
}