mirror of https://github.com/PrimeDecomp/prime.git
Initial CRumbleVoice, various fixes
This commit is contained in:
parent
fa1c86c129
commit
ed90d87a4b
|
@ -200,7 +200,7 @@ Rumble__16CRumbleGeneratorFRC9SAdsrDataf15ERumblePriority7EIOPort:
|
|||
/* 80369FC0 00366F20 7F 64 DB 78 */ mr r4, r27
|
||||
/* 80369FC4 00366F24 D0 06 00 D0 */ stfs f0, 0xd0(r6)
|
||||
/* 80369FC8 00366F28 7F 86 E3 78 */ mr r6, r28
|
||||
/* 80369FCC 00366F2C 4B FF F8 41 */ bl Activate__12CRumbleVoiceFRC9SAdsrDatasf15ERumblePriority
|
||||
/* 80369FCC 00366F2C 4B FF F8 41 */ bl Activate__12CRumbleVoiceFRC9SAdsrDataUsf15ERumblePriority
|
||||
/* 80369FD0 00366F30 48 00 00 08 */ b lbl_80369FD8
|
||||
lbl_80369FD4:
|
||||
/* 80369FD4 00366F34 38 60 FF FF */ li r3, -1
|
||||
|
@ -395,4 +395,3 @@ lbl_803D8548:
|
|||
.4byte 0x00000002
|
||||
.4byte 0x00000002
|
||||
.4byte 0x00000002
|
||||
|
||||
|
|
|
@ -11,8 +11,8 @@ lbl_805A8A60:
|
|||
|
||||
.section .text, "ax"
|
||||
|
||||
.global CreateRumbleHandle__12CRumbleVoiceFs
|
||||
CreateRumbleHandle__12CRumbleVoiceFs:
|
||||
.global CreateRumbleHandle__12CRumbleVoiceFUs
|
||||
CreateRumbleHandle__12CRumbleVoiceFUs:
|
||||
/* 80369250 003661B0 88 A3 00 2E */ lbz r5, 0x2e(r3)
|
||||
/* 80369254 003661B4 38 05 00 01 */ addi r0, r5, 1
|
||||
/* 80369258 003661B8 98 03 00 2E */ stb r0, 0x2e(r3)
|
||||
|
@ -437,8 +437,8 @@ lbl_803697F4:
|
|||
/* 80369804 00366764 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80369808 00366768 4E 80 00 20 */ blr
|
||||
|
||||
.global Activate__12CRumbleVoiceFRC9SAdsrDatasf15ERumblePriority
|
||||
Activate__12CRumbleVoiceFRC9SAdsrDatasf15ERumblePriority:
|
||||
.global Activate__12CRumbleVoiceFRC9SAdsrDataUsf15ERumblePriority
|
||||
Activate__12CRumbleVoiceFRC9SAdsrDataUsf15ERumblePriority:
|
||||
/* 8036980C 0036676C 94 21 FF A0 */ stwu r1, -0x60(r1)
|
||||
/* 80369810 00366770 7C 08 02 A6 */ mflr r0
|
||||
/* 80369814 00366774 90 01 00 64 */ stw r0, 0x64(r1)
|
||||
|
@ -520,7 +520,7 @@ Activate__12CRumbleVoiceFRC9SAdsrDatasf15ERumblePriority:
|
|||
/* 80369944 003668A4 41 82 00 14 */ beq lbl_80369958
|
||||
/* 80369948 003668A8 7F 83 E3 78 */ mr r3, r28
|
||||
/* 8036994C 003668AC 7F C4 F3 78 */ mr r4, r30
|
||||
/* 80369950 003668B0 4B FF F9 01 */ bl CreateRumbleHandle__12CRumbleVoiceFs
|
||||
/* 80369950 003668B0 4B FF F9 01 */ bl CreateRumbleHandle__12CRumbleVoiceFUs
|
||||
/* 80369954 003668B4 48 00 00 08 */ b lbl_8036995C
|
||||
lbl_80369958:
|
||||
/* 80369958 003668B8 38 60 FF FF */ li r3, -1
|
||||
|
@ -732,4 +732,3 @@ lbl_803D8540:
|
|||
# ROM: 0x3D5540
|
||||
.asciz "??(??)"
|
||||
.balign 4
|
||||
|
||||
|
|
|
@ -182,4 +182,3 @@ lbl_805AD350:
|
|||
# ROM: 0x3F9BF0
|
||||
.float 1.0
|
||||
.4byte 0
|
||||
|
||||
|
|
|
@ -2802,7 +2802,7 @@ __dt__11CGrappleArmFv:
|
|||
/* 8011F988 0011C8E8 41 82 02 68 */ beq lbl_8011FBF0
|
||||
/* 8011F98C 0011C8EC 38 7E 03 A4 */ addi r3, r30, 0x3a4
|
||||
/* 8011F990 0011C8F0 38 80 FF FF */ li r4, -1
|
||||
/* 8011F994 0011C8F4 4B F2 35 E5 */ bl "__dt__Q24rstl34single_ptr<20CRainSplashGenerator>"
|
||||
/* 8011F994 0011C8F4 4B F2 35 E5 */ bl "__dt__Q24rstl34single_ptr<20CRainSplashGenerator>Fv"
|
||||
/* 8011F998 0011C8F8 34 1E 03 A0 */ addic. r0, r30, 0x3a0
|
||||
/* 8011F99C 0011C8FC 41 82 00 24 */ beq lbl_8011F9C0
|
||||
/* 8011F9A0 0011C900 80 7E 03 A0 */ lwz r3, 0x3a0(r30)
|
||||
|
|
|
@ -13594,7 +13594,7 @@ lbl_800F8FD4:
|
|||
lbl_800F8FDC:
|
||||
/* 800F8FDC 000F5F3C 38 7E 1C 1C */ addi r3, r30, 0x1c1c
|
||||
/* 800F8FE0 000F5F40 38 80 FF FF */ li r4, -1
|
||||
/* 800F8FE4 000F5F44 4B F4 9F 95 */ bl "__dt__Q24rstl34single_ptr<20CRainSplashGenerator>"
|
||||
/* 800F8FE4 000F5F44 4B F4 9F 95 */ bl "__dt__Q24rstl34single_ptr<20CRainSplashGenerator>Fv"
|
||||
/* 800F8FE8 000F5F48 34 1E 1C 18 */ addic. r0, r30, 0x1c18
|
||||
/* 800F8FEC 000F5F4C 41 82 00 10 */ beq lbl_800F8FFC
|
||||
/* 800F8FF0 000F5F50 80 7E 1C 18 */ lwz r3, 0x1c18(r30)
|
||||
|
|
|
@ -2578,7 +2578,6 @@ AcceptScriptMsg__10CPlayerGunF20EScriptObjectMessage9TUniqueIdR13CStateManager:
|
|||
/* 8003C544 000394A4 7C 04 00 2E */ lwzx r0, r4, r0
|
||||
/* 8003C548 000394A8 7C 09 03 A6 */ mtctr r0
|
||||
/* 8003C54C 000394AC 4E 80 04 20 */ bctr
|
||||
.global lbl_8003C550
|
||||
lbl_8003C550:
|
||||
/* 8003C550 000394B0 7F E4 FB 78 */ mr r4, r31
|
||||
/* 8003C554 000394B4 4B FF F2 85 */ bl CreateGunLight__10CPlayerGunFR13CStateManager
|
||||
|
@ -2633,12 +2632,10 @@ lbl_8003C550:
|
|||
/* 8003C618 00039578 80 7D 06 F0 */ lwz r3, 0x6f0(r29)
|
||||
/* 8003C61C 0003957C 4B FF 07 61 */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb
|
||||
/* 8003C620 00039580 48 00 03 AC */ b lbl_8003C9CC
|
||||
.global lbl_8003C624
|
||||
lbl_8003C624:
|
||||
/* 8003C624 00039584 7F E4 FB 78 */ mr r4, r31
|
||||
/* 8003C628 00039588 4B FF F1 5D */ bl DeleteGunLight__10CPlayerGunFR13CStateManager
|
||||
/* 8003C62C 0003958C 48 00 03 A0 */ b lbl_8003C9CC
|
||||
.global lbl_8003C630
|
||||
lbl_8003C630:
|
||||
/* 8003C630 00039590 7F 23 CB 78 */ mr r3, r25
|
||||
/* 8003C634 00039594 38 80 00 17 */ li r4, 0x17
|
||||
|
@ -2698,7 +2695,6 @@ lbl_8003C6FC:
|
|||
/* 8003C704 00039664 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b
|
||||
/* 8003C708 00039668 98 1D 08 34 */ stb r0, 0x834(r29)
|
||||
/* 8003C70C 0003966C 48 00 02 C0 */ b lbl_8003C9CC
|
||||
.global lbl_8003C710
|
||||
lbl_8003C710:
|
||||
/* 8003C710 00039670 88 1D 08 34 */ lbz r0, 0x834(r29)
|
||||
/* 8003C714 00039674 38 60 00 00 */ li r3, 0
|
||||
|
@ -2708,7 +2704,6 @@ lbl_8003C710:
|
|||
/* 8003C724 00039684 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
|
||||
/* 8003C728 00039688 98 1D 08 35 */ stb r0, 0x835(r29)
|
||||
/* 8003C72C 0003968C 48 00 02 A0 */ b lbl_8003C9CC
|
||||
.global lbl_8003C730
|
||||
lbl_8003C730:
|
||||
/* 8003C730 00039690 88 1D 08 35 */ lbz r0, 0x835(r29)
|
||||
/* 8003C734 00039694 38 60 00 01 */ li r3, 1
|
||||
|
@ -2726,7 +2721,6 @@ lbl_8003C730:
|
|||
/* 8003C764 000396C4 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
|
||||
/* 8003C768 000396C8 98 1D 08 35 */ stb r0, 0x835(r29)
|
||||
/* 8003C76C 000396CC 48 00 02 60 */ b lbl_8003C9CC
|
||||
.global lbl_8003C770
|
||||
lbl_8003C770:
|
||||
/* 8003C770 000396D0 88 1D 08 35 */ lbz r0, 0x835(r29)
|
||||
/* 8003C774 000396D4 38 60 00 01 */ li r3, 1
|
||||
|
@ -2772,7 +2766,6 @@ lbl_8003C770:
|
|||
/* 8003C814 00039774 B0 01 00 24 */ sth r0, 0x24(r1)
|
||||
/* 8003C818 00039778 48 00 76 B9 */ bl SendScriptMsg__13CStateManagerFP7CEntity9TUniqueId20EScriptObjectMessage
|
||||
/* 8003C81C 0003977C 48 00 01 B0 */ b lbl_8003C9CC
|
||||
.global lbl_8003C820
|
||||
lbl_8003C820:
|
||||
/* 8003C820 00039780 88 1D 08 35 */ lbz r0, 0x835(r29)
|
||||
/* 8003C824 00039784 38 60 00 00 */ li r3, 0
|
||||
|
@ -2782,7 +2775,6 @@ lbl_8003C820:
|
|||
/* 8003C834 00039794 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
|
||||
/* 8003C838 00039798 98 1D 08 35 */ stb r0, 0x835(r29)
|
||||
/* 8003C83C 0003979C 48 00 01 90 */ b lbl_8003C9CC
|
||||
.global lbl_8003C840
|
||||
lbl_8003C840:
|
||||
/* 8003C840 000397A0 A0 1E 00 00 */ lhz r0, 0(r30)
|
||||
/* 8003C844 000397A4 7F E3 FB 78 */ mr r3, r31
|
||||
|
@ -2864,7 +2856,6 @@ lbl_8003C948:
|
|||
/* 8003C968 000398C8 53 40 0F BC */ rlwimi r0, r26, 1, 0x1e, 0x1e
|
||||
/* 8003C96C 000398CC 98 1D 08 34 */ stb r0, 0x834(r29)
|
||||
/* 8003C970 000398D0 48 00 00 5C */ b lbl_8003C9CC
|
||||
.global lbl_8003C974
|
||||
lbl_8003C974:
|
||||
/* 8003C974 000398D4 88 1B 07 60 */ lbz r0, 0x760(r27)
|
||||
/* 8003C978 000398D8 28 00 00 00 */ cmplwi r0, 0
|
||||
|
@ -2888,7 +2879,6 @@ lbl_8003C974:
|
|||
/* 8003C9C0 00039920 88 1D 08 34 */ lbz r0, 0x834(r29)
|
||||
/* 8003C9C4 00039924 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e
|
||||
/* 8003C9C8 00039928 98 1D 08 34 */ stb r0, 0x834(r29)
|
||||
.global lbl_8003C9CC
|
||||
lbl_8003C9CC:
|
||||
/* 8003C9CC 0003992C A0 1E 00 00 */ lhz r0, 0(r30)
|
||||
/* 8003C9D0 00039930 7F 84 E3 78 */ mr r4, r28
|
||||
|
@ -5885,7 +5875,6 @@ UpdateChargeState__10CPlayerGunFfR13CStateManager:
|
|||
/* 8003F47C 0003C3DC 7C 05 00 2E */ lwzx r0, r5, r0
|
||||
/* 8003F480 0003C3E0 7C 09 03 A6 */ mtctr r0
|
||||
/* 8003F484 0003C3E4 4E 80 04 20 */ bctr
|
||||
.global lbl_8003F488
|
||||
lbl_8003F488:
|
||||
/* 8003F488 0003C3E8 C0 02 84 6C */ lfs f0, lbl_805AA18C@sda21(r2)
|
||||
/* 8003F48C 0003C3EC 38 A0 00 00 */ li r5, 0
|
||||
|
@ -5901,7 +5890,6 @@ lbl_8003F488:
|
|||
/* 8003F4B4 0003C414 98 7E 08 34 */ stb r3, 0x834(r30)
|
||||
/* 8003F4B8 0003C418 90 1E 03 2C */ stw r0, 0x32c(r30)
|
||||
/* 8003F4BC 0003C41C 48 00 02 70 */ b lbl_8003F72C
|
||||
.global lbl_8003F4C0
|
||||
lbl_8003F4C0:
|
||||
/* 8003F4C0 0003C420 88 9E 08 32 */ lbz r4, 0x832(r30)
|
||||
/* 8003F4C4 0003C424 54 80 E7 FE */ rlwinm r0, r4, 0x1c, 0x1f, 0x1f
|
||||
|
@ -5985,7 +5973,6 @@ lbl_8003F58C:
|
|||
/* 8003F5EC 0003C54C 38 A0 00 01 */ li r5, 1
|
||||
/* 8003F5F0 0003C550 48 00 22 D5 */ bl PlayAnim__10CPlayerGunFQ212NWeaponTypes12EGunAnimTypeb
|
||||
/* 8003F5F4 0003C554 48 00 01 38 */ b lbl_8003F72C
|
||||
.global lbl_8003F5F8
|
||||
lbl_8003F5F8:
|
||||
/* 8003F5F8 0003C558 C0 3E 03 40 */ lfs f1, 0x340(r30)
|
||||
/* 8003F5FC 0003C55C C0 02 84 7C */ lfs f0, lbl_805AA19C@sda21(r2)
|
||||
|
@ -5995,7 +5982,6 @@ lbl_8003F5F8:
|
|||
/* 8003F60C 0003C56C 38 00 00 04 */ li r0, 4
|
||||
/* 8003F610 0003C570 90 1E 03 2C */ stw r0, 0x32c(r30)
|
||||
/* 8003F614 0003C574 48 00 01 18 */ b lbl_8003F72C
|
||||
.global lbl_8003F618
|
||||
lbl_8003F618:
|
||||
/* 8003F618 0003C578 C0 3E 03 44 */ lfs f1, 0x344(r30)
|
||||
/* 8003F61C 0003C57C C0 02 84 7C */ lfs f0, lbl_805AA19C@sda21(r2)
|
||||
|
@ -6009,14 +5995,12 @@ lbl_8003F618:
|
|||
/* 8003F63C 0003C59C 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
|
||||
/* 8003F640 0003C5A0 98 1E 08 32 */ stb r0, 0x832(r30)
|
||||
/* 8003F644 0003C5A4 48 00 00 E8 */ b lbl_8003F72C
|
||||
.global lbl_8003F648
|
||||
lbl_8003F648:
|
||||
/* 8003F648 0003C5A8 38 00 00 07 */ li r0, 7
|
||||
/* 8003F64C 0003C5AC C0 02 84 6C */ lfs f0, lbl_805AA18C@sda21(r2)
|
||||
/* 8003F650 0003C5B0 90 1E 03 2C */ stw r0, 0x32c(r30)
|
||||
/* 8003F654 0003C5B4 D0 1E 03 48 */ stfs f0, 0x348(r30)
|
||||
/* 8003F658 0003C5B8 48 00 00 D4 */ b lbl_8003F72C
|
||||
.global lbl_8003F65C
|
||||
lbl_8003F65C:
|
||||
/* 8003F65C 0003C5BC 80 7E 07 40 */ lwz r3, 0x740(r30)
|
||||
/* 8003F660 0003C5C0 7F E5 FB 78 */ mr r5, r31
|
||||
|
@ -6040,7 +6024,6 @@ lbl_8003F65C:
|
|||
/* 8003F6A8 0003C608 98 7E 08 33 */ stb r3, 0x833(r30)
|
||||
/* 8003F6AC 0003C60C 90 1E 03 2C */ stw r0, 0x32c(r30)
|
||||
/* 8003F6B0 0003C610 48 00 00 7C */ b lbl_8003F72C
|
||||
.global lbl_8003F6B4
|
||||
lbl_8003F6B4:
|
||||
/* 8003F6B4 0003C614 80 1E 02 F8 */ lwz r0, 0x2f8(r30)
|
||||
/* 8003F6B8 0003C618 54 00 06 F6 */ rlwinm r0, r0, 0, 0x1b, 0x1b
|
||||
|
@ -6067,7 +6050,6 @@ lbl_8003F700:
|
|||
/* 8003F708 0003C668 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
|
||||
/* 8003F70C 0003C66C 98 1E 08 32 */ stb r0, 0x832(r30)
|
||||
/* 8003F710 0003C670 48 00 00 1C */ b lbl_8003F72C
|
||||
.global lbl_8003F714
|
||||
lbl_8003F714:
|
||||
/* 8003F714 0003C674 38 A0 00 00 */ li r5, 0
|
||||
/* 8003F718 0003C678 4B FF FA C5 */ bl ResetCharge__10CPlayerGunFR13CStateManagerb
|
||||
|
@ -6075,7 +6057,6 @@ lbl_8003F714:
|
|||
/* 8003F720 0003C680 7F E4 FB 78 */ mr r4, r31
|
||||
/* 8003F724 0003C684 38 A0 00 00 */ li r5, 0
|
||||
/* 8003F728 0003C688 4B FF FC 19 */ bl Reset__10CPlayerGunFR13CStateManager
|
||||
.global lbl_8003F72C
|
||||
lbl_8003F72C:
|
||||
/* 8003F72C 0003C68C 80 1E 02 E0 */ lwz r0, 0x2e0(r30)
|
||||
/* 8003F730 0003C690 28 00 00 00 */ cmplwi r0, 0
|
||||
|
@ -7559,7 +7540,6 @@ lbl_80040C2C:
|
|||
/* 80040C48 0003DBA8 7C 03 00 2E */ lwzx r0, r3, r0
|
||||
/* 80040C4C 0003DBAC 7C 09 03 A6 */ mtctr r0
|
||||
/* 80040C50 0003DBB0 4E 80 04 20 */ bctr
|
||||
.global lbl_80040C54
|
||||
lbl_80040C54:
|
||||
/* 80040C54 0003DBB4 80 7C 02 F8 */ lwz r3, 0x2f8(r28)
|
||||
/* 80040C58 0003DBB8 38 00 00 01 */ li r0, 1
|
||||
|
@ -7571,7 +7551,6 @@ lbl_80040C54:
|
|||
/* 80040C70 0003DBD0 90 1C 03 18 */ stw r0, 0x318(r28)
|
||||
/* 80040C74 0003DBD4 90 1C 03 1C */ stw r0, 0x31c(r28)
|
||||
/* 80040C78 0003DBD8 48 00 01 98 */ b lbl_80040E10
|
||||
.global lbl_80040C7C
|
||||
lbl_80040C7C:
|
||||
/* 80040C7C 0003DBDC 80 1C 02 F8 */ lwz r0, 0x2f8(r28)
|
||||
/* 80040C80 0003DBE0 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
|
||||
|
@ -7593,7 +7572,6 @@ lbl_80040CA8:
|
|||
/* 80040CBC 0003DC1C C0 03 00 00 */ lfs f0, 0(r3)
|
||||
/* 80040CC0 0003DC20 D0 1C 03 90 */ stfs f0, 0x390(r28)
|
||||
/* 80040CC4 0003DC24 48 00 01 4C */ b lbl_80040E10
|
||||
.global lbl_80040CC8
|
||||
lbl_80040CC8:
|
||||
/* 80040CC8 0003DC28 7F 83 E3 78 */ mr r3, r28
|
||||
/* 80040CCC 0003DC2C 38 80 00 08 */ li r4, 8
|
||||
|
@ -7603,20 +7581,17 @@ lbl_80040CC8:
|
|||
/* 80040CDC 0003DC3C 3B 00 00 00 */ li r24, 0
|
||||
/* 80040CE0 0003DC40 90 1C 03 38 */ stw r0, 0x338(r28)
|
||||
/* 80040CE4 0003DC44 48 00 01 2C */ b lbl_80040E10
|
||||
.global lbl_80040CE8
|
||||
lbl_80040CE8:
|
||||
/* 80040CE8 0003DC48 80 1C 02 F8 */ lwz r0, 0x2f8(r28)
|
||||
/* 80040CEC 0003DC4C 60 00 00 04 */ ori r0, r0, 4
|
||||
/* 80040CF0 0003DC50 90 1C 02 F8 */ stw r0, 0x2f8(r28)
|
||||
/* 80040CF4 0003DC54 48 00 01 1C */ b lbl_80040E10
|
||||
.global lbl_80040CF8
|
||||
lbl_80040CF8:
|
||||
/* 80040CF8 0003DC58 7F 83 E3 78 */ mr r3, r28
|
||||
/* 80040CFC 0003DC5C 7F E4 FB 78 */ mr r4, r31
|
||||
/* 80040D00 0003DC60 7F A5 EB 78 */ mr r5, r29
|
||||
/* 80040D04 0003DC64 4B FF E2 95 */ bl ChangeWeapon__10CPlayerGunFRC12CPlayerStateR13CStateManager
|
||||
/* 80040D08 0003DC68 48 00 01 08 */ b lbl_80040E10
|
||||
.global lbl_80040D0C
|
||||
lbl_80040D0C:
|
||||
/* 80040D0C 0003DC6C 80 7C 07 2C */ lwz r3, 0x72c(r28)
|
||||
/* 80040D10 0003DC70 48 17 BF 85 */ bl GetWeaponInfo__10CGunWeaponCFv
|
||||
|
@ -7641,7 +7616,6 @@ lbl_80040D54:
|
|||
/* 80040D58 0003DCB8 90 1C 03 18 */ stw r0, 0x318(r28)
|
||||
/* 80040D5C 0003DCBC 90 1C 03 1C */ stw r0, 0x31c(r28)
|
||||
/* 80040D60 0003DCC0 48 00 00 B0 */ b lbl_80040E10
|
||||
.global lbl_80040D64
|
||||
lbl_80040D64:
|
||||
/* 80040D64 0003DCC4 80 7C 07 5C */ lwz r3, 0x75c(r28)
|
||||
/* 80040D68 0003DCC8 81 83 00 00 */ lwz r12, 0(r3)
|
||||
|
@ -7665,7 +7639,6 @@ lbl_80040D64:
|
|||
/* 80040DB0 0003DD10 38 00 00 01 */ li r0, 1
|
||||
/* 80040DB4 0003DD14 90 1C 03 3C */ stw r0, 0x33c(r28)
|
||||
/* 80040DB8 0003DD18 48 00 00 58 */ b lbl_80040E10
|
||||
.global lbl_80040DBC
|
||||
lbl_80040DBC:
|
||||
/* 80040DBC 0003DD1C 80 7C 07 38 */ lwz r3, 0x738(r28)
|
||||
/* 80040DC0 0003DD20 81 83 00 00 */ lwz r12, 0(r3)
|
||||
|
@ -7688,7 +7661,6 @@ lbl_80040DBC:
|
|||
/* 80040E04 0003DD64 4E 80 04 21 */ bctrl
|
||||
/* 80040E08 0003DD68 38 00 00 02 */ li r0, 2
|
||||
/* 80040E0C 0003DD6C 90 1C 03 3C */ stw r0, 0x33c(r28)
|
||||
.global lbl_80040E10
|
||||
lbl_80040E10:
|
||||
/* 80040E10 0003DD70 57 00 06 3F */ clrlwi. r0, r24, 0x18
|
||||
/* 80040E14 0003DD74 41 82 00 0C */ beq lbl_80040E20
|
||||
|
@ -9787,10 +9759,10 @@ lbl_80042C3C:
|
|||
lbl_80042C64:
|
||||
/* 80042C64 0003FBC4 38 7E 07 48 */ addi r3, r30, 0x748
|
||||
/* 80042C68 0003FBC8 38 80 FF FF */ li r4, -1
|
||||
/* 80042C6C 0003FBCC 48 00 03 0D */ bl "__dt__Q24rstl34single_ptr<20CRainSplashGenerator>"
|
||||
/* 80042C6C 0003FBCC 48 00 03 0D */ bl "__dt__Q24rstl34single_ptr<20CRainSplashGenerator>Fv"
|
||||
/* 80042C70 0003FBD0 38 7E 07 44 */ addi r3, r30, 0x744
|
||||
/* 80042C74 0003FBD4 38 80 FF FF */ li r4, -1
|
||||
/* 80042C78 0003FBD8 48 00 01 8D */ bl "__dt__Q24rstl24single_ptr<10CAuxWeapon>"
|
||||
/* 80042C78 0003FBD8 48 00 01 8D */ bl "__dt__Q24rstl24single_ptr<10CAuxWeapon>Fv"
|
||||
/* 80042C7C 0003FBDC 34 1E 07 40 */ addic. r0, r30, 0x740
|
||||
/* 80042C80 0003FBE0 41 82 00 10 */ beq lbl_80042C90
|
||||
/* 80042C84 0003FBE4 80 7E 07 40 */ lwz r3, 0x740(r30)
|
||||
|
@ -9906,8 +9878,8 @@ lbl_80042DE0:
|
|||
/* 80042DFC 0003FD5C 38 21 00 30 */ addi r1, r1, 0x30
|
||||
/* 80042E00 0003FD60 4E 80 00 20 */ blr
|
||||
|
||||
.global "__dt__Q24rstl24single_ptr<10CAuxWeapon>"
|
||||
"__dt__Q24rstl24single_ptr<10CAuxWeapon>":
|
||||
.global "__dt__Q24rstl24single_ptr<10CAuxWeapon>Fv"
|
||||
"__dt__Q24rstl24single_ptr<10CAuxWeapon>Fv":
|
||||
/* 80042E04 0003FD64 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80042E08 0003FD68 7C 08 02 A6 */ mflr r0
|
||||
/* 80042E0C 0003FD6C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
|
@ -10015,8 +9987,8 @@ lbl_80042F54:
|
|||
/* 80042F70 0003FED0 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80042F74 0003FED4 4E 80 00 20 */ blr
|
||||
|
||||
.global "__dt__Q24rstl34single_ptr<20CRainSplashGenerator>"
|
||||
"__dt__Q24rstl34single_ptr<20CRainSplashGenerator>":
|
||||
.global "__dt__Q24rstl34single_ptr<20CRainSplashGenerator>Fv"
|
||||
"__dt__Q24rstl34single_ptr<20CRainSplashGenerator>Fv":
|
||||
/* 80042F78 0003FED8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80042F7C 0003FEDC 7C 08 02 A6 */ mflr r0
|
||||
/* 80042F80 0003FEE0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
|
|
|
@ -32,6 +32,10 @@ enum ERumblePriority {
|
|||
};
|
||||
|
||||
struct SAdsrData {
|
||||
SAdsrData();
|
||||
SAdsrData(float attackGain, float autoReleaseDur, float attackDur, float decayDur,
|
||||
float sustainGain, float releaseDur, bool hasSustain, bool autoRelease);
|
||||
|
||||
f32 x0_attackGain;
|
||||
f32 x4_autoReleaseDur;
|
||||
f32 x8_attackDur;
|
||||
|
@ -52,6 +56,11 @@ struct SAdsrDelta {
|
|||
kP_Release,
|
||||
};
|
||||
|
||||
SAdsrDelta(EPhase phase, ERumblePriority priority);
|
||||
SAdsrDelta(EPhase phase);
|
||||
static SAdsrDelta Stopped();
|
||||
static SAdsrDelta Start(ERumblePriority priority, bool prePulse);
|
||||
|
||||
f32 x0_curIntensity;
|
||||
f32 x4_attackTime;
|
||||
f32 x8_decayTime;
|
||||
|
@ -67,9 +76,21 @@ class CRumbleVoice {
|
|||
private:
|
||||
rstl::vector< SAdsrData > x0_datas;
|
||||
rstl::vector< SAdsrDelta > x10_deltas;
|
||||
rstl::reserved_vector< s16, 4 > x20_handleIds;
|
||||
s16 x2c_usedChannels;
|
||||
rstl::reserved_vector< u16, 4 > x20_handleIds;
|
||||
u16 x2c_usedChannels;
|
||||
u8 x2e_lastId;
|
||||
|
||||
CRumbleVoice();
|
||||
|
||||
s16 Activate(const SAdsrData& data, u16 idx, float gain, ERumblePriority prio);
|
||||
void Deactivate(s16 id, bool b1);
|
||||
void HardReset();
|
||||
bool UpdateChannel(SAdsrDelta& delta, const SAdsrData& data, float dt);
|
||||
bool Update(float dt);
|
||||
uint GetFreeChannel() const;
|
||||
float GetIntensity() const;
|
||||
bool OwnsSustained(s16 id) const;
|
||||
s16 CreateRumbleHandle(u16 idx);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
#ifndef __RUMBLEADSR_HPP__
|
||||
#define __RUMBLEADSR_HPP__
|
||||
|
||||
enum ERumblePriority { kPriority_Zero, kPriority_One, kPriority_Two, kPriority_Three };
|
||||
|
||||
struct SAdsrDelta {
|
||||
enum EPhase { kP_Stop, kP_PrePulse, kP_Attack, kP_Decay, kP_Sustain, kP_Release };
|
||||
|
||||
static SAdsrDelta Start(ERumblePriority priority, bool);
|
||||
static SAdsrDelta Stopped();
|
||||
SAdsrDelta(EPhase phase);
|
||||
SAdsrDelta(EPhase phase, ERumblePriority priority);
|
||||
|
||||
float x0_curIntensity;
|
||||
float x4_attackTime;
|
||||
float x8_decayTime;
|
||||
float xc_releaseTime;
|
||||
float x10_autoReleaseTime;
|
||||
float x14_attackIntensity;
|
||||
float x18_sustainIntensity;
|
||||
ERumblePriority x1c_priority;
|
||||
EPhase x20_phase;
|
||||
};
|
||||
|
||||
struct SAdsrData {
|
||||
SAdsrData();
|
||||
SAdsrData(float, float, float, float, float, float, bool, bool);
|
||||
|
||||
float x0_attackGain;
|
||||
float x4_autoReleaseDur;
|
||||
float x8_attackDur;
|
||||
float xc_decayDur;
|
||||
float x10_sustainGain;
|
||||
float x14_releaseDur;
|
||||
bool x18_24_hasSustain : 1;
|
||||
bool x18_25_autoRelease : 1;
|
||||
};
|
||||
|
||||
#endif // __RUBMLEADSR_HPP__
|
|
@ -1,17 +1,49 @@
|
|||
#ifndef _CRAINSPLASHGENERATOR_HPP
|
||||
#define _CRAINSPLASHGENERATOR_HPP
|
||||
|
||||
#include "rstl/reserved_vector.hpp"
|
||||
#include "rstl/vector.hpp"
|
||||
#include "types.h"
|
||||
|
||||
class CVector3f;
|
||||
|
||||
class CRainSplashGenerator {
|
||||
struct SSplashLine {
|
||||
float x0_t;
|
||||
float x4_xEnd;
|
||||
float x8_yEnd;
|
||||
float xc_speed;
|
||||
float x10_zParabolaHeight;
|
||||
u8 x14_;
|
||||
u8 x15_length;
|
||||
bool x16_active : 1;
|
||||
SSplashLine();
|
||||
void Update(float dt, CStateManager& mgr);
|
||||
void Draw(float alpha, float dt, const CVector3f& pos);
|
||||
void SetActive() { x16_active = true; }
|
||||
};
|
||||
|
||||
struct SRainSplash {
|
||||
rstl::reserved_vector< SSplashLine, 4 > x0_lines;
|
||||
CVector3f x64_pos;
|
||||
float x70_;
|
||||
SRainSplash();
|
||||
void Update(float dt, CStateManager& mgr);
|
||||
bool IsActive() const;
|
||||
void Draw(float alpha, float dt, const CVector3f& pos);
|
||||
void SetPoint(const CVector3f& pos);
|
||||
};
|
||||
|
||||
public:
|
||||
CRainSplashGenerator(const CVector3f& scale, int maxSplashes, int genRate, float minZ,
|
||||
float alpha);
|
||||
~CRainSplashGenerator() {}
|
||||
|
||||
private:
|
||||
u8 x0_pad[0x4c];
|
||||
rstl::vector< SRainSplash > x0_rainSplashes;
|
||||
CRandom16 x10_random;
|
||||
CVector3f x14_scale;
|
||||
u8 x0_pad[0x2c];
|
||||
};
|
||||
CHECK_SIZEOF(CRainSplashGenerator, 0x4c)
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ inline void uninitialized_copy_n(S src, int n, D dest) {
|
|||
template < typename D, typename S >
|
||||
inline void uninitialized_fill_n(D dest, int n, const S& value) {
|
||||
D cur = dest;
|
||||
for (; n > 0; --n, ++cur) {
|
||||
for (size_t i = 0; i < n ; ++i, ++cur) {
|
||||
construct(&*cur, value);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#include "Kyoto/Input/RumbleAdsr.hpp"
|
||||
#include "Kyoto/Input/CRumbleVoice.hpp"
|
||||
|
||||
SAdsrDelta SAdsrDelta::Start(ERumblePriority priority, bool prePulse) {
|
||||
return SAdsrDelta(prePulse ? kP_PrePulse : kP_Attack, priority);
|
||||
|
@ -11,7 +11,7 @@ SAdsrDelta::SAdsrDelta(EPhase phase)
|
|||
, x8_decayTime(0.f)
|
||||
, xc_releaseTime(0.f)
|
||||
, x10_autoReleaseTime(0.f)
|
||||
, x1c_priority(kPriority_Zero)
|
||||
, x1c_priority(kRP_None)
|
||||
, x20_phase(phase) {}
|
||||
|
||||
SAdsrDelta::SAdsrDelta(EPhase phase, ERumblePriority priority)
|
||||
|
|
Loading…
Reference in New Issue