mirror of
https://github.com/zeldaret/st
synced 2026-06-20 16:01:24 -04:00
Merge headers from nitro decomp (#69)
* merge headers from nitro decomp * cleanup: use inlines from g2.h and gx.h when changing registers * cleanup: remove externs declarations in source files
This commit is contained in:
@@ -22,7 +22,7 @@ func_01ff92a8 kind:function(arm,size=0x64) addr:0x01ff92a8
|
||||
func_01ff930c kind:function(arm,size=0xc) addr:0x01ff930c
|
||||
func_01ff9318 kind:function(arm,size=0x4c) addr:0x01ff9318
|
||||
func_01ff9364 kind:function(arm,size=0x28) addr:0x01ff9364
|
||||
Vec3p_TryNormalize kind:function(arm,size=0x34) addr:0x01ff938c
|
||||
VecFx32_TryNormalize kind:function(arm,size=0x34) addr:0x01ff938c
|
||||
func_01ff93c0 kind:function(arm,size=0x5c) addr:0x01ff93c0
|
||||
func_01ff941c kind:function(arm,size=0x60) addr:0x01ff941c
|
||||
func_01ff947c kind:function(arm,size=0x50) addr:0x01ff947c
|
||||
@@ -97,12 +97,12 @@ func_01ffb618 kind:function(arm,size=0x2c) addr:0x01ffb618
|
||||
func_01ffb644 kind:function(arm,size=0x28) addr:0x01ffb644
|
||||
func_01ffb66c kind:function(arm,size=0x3c) addr:0x01ffb66c
|
||||
func_01ffb6a8 kind:function(arm,size=0x3c) addr:0x01ffb6a8
|
||||
Vec3p_Add kind:function(arm,size=0x30) addr:0x01ffb6e4
|
||||
VecFx32_Add kind:function(arm,size=0x30) addr:0x01ffb6e4
|
||||
func_01ffb714 kind:function(arm,size=0x30) addr:0x01ffb714
|
||||
Vec3p_Dot kind:function(arm,size=0x3c) addr:0x01ffb744
|
||||
VecFx32_Dot kind:function(arm,size=0x3c) addr:0x01ffb744
|
||||
func_01ffb780 kind:function(arm,size=0x80) addr:0x01ffb780
|
||||
Vec3p_Length kind:function(arm,size=0x60) addr:0x01ffb800
|
||||
Vec3p_Normalize kind:function(arm,size=0x114) addr:0x01ffb860
|
||||
VecFx32_Length kind:function(arm,size=0x60) addr:0x01ffb800
|
||||
VecFx32_Normalize kind:function(arm,size=0x114) addr:0x01ffb860
|
||||
func_01ffb974 kind:function(arm,size=0x58) addr:0x01ffb974
|
||||
func_01ffb9cc kind:function(arm,size=0x7c) addr:0x01ffb9cc
|
||||
func_01ffba48 kind:function(arm,size=0x198) addr:0x01ffba48
|
||||
@@ -212,7 +212,7 @@ _ZN9MapObject13func_01fff590Ei kind:function(arm,size=0x40) addr:0x01fff590
|
||||
_ZN10ActorRupee13func_01fff5d0Eii kind:function(arm,size=0x3c) addr:0x01fff5d0
|
||||
_ZN18UnkStruct_027e09b413func_01fff60cEiiihii kind:function(arm,size=0x8c) addr:0x01fff60c
|
||||
func_01fff698 kind:function(arm,size=0x38) addr:0x01fff698
|
||||
_ZN21UnkStruct_027e0cd8_1013func_01fff6d0EP5Vec3pPiS2_ kind:function(arm,size=0x74) addr:0x01fff6d0
|
||||
_ZN21UnkStruct_027e0cd8_1013func_01fff6d0EP7VecFx32PiS2_ kind:function(arm,size=0x74) addr:0x01fff6d0
|
||||
func_01fff744 kind:function(arm,size=0x20) addr:0x01fff744
|
||||
func_01fff764 kind:function(arm,size=0xec) addr:0x01fff764
|
||||
func_01fff850 kind:function(arm,size=0x158) addr:0x01fff850
|
||||
|
||||
@@ -12,7 +12,7 @@ func_ov000_02052a14 kind:function(arm,size=0xec) addr:0x02052a14
|
||||
func_ov000_02052b00 kind:function(arm,size=0xcc) addr:0x02052b00
|
||||
func_ov000_02052bcc kind:function(arm,size=0x60) addr:0x02052bcc
|
||||
func_ov000_02052c2c kind:function(arm,size=0x1c) addr:0x02052c2c
|
||||
_ZN23UnkSystem7_UnkStruct_0019func_ov000_02052c48EP5Vec3pS1_ kind:function(arm,size=0xf0) addr:0x02052c48
|
||||
_ZN23UnkSystem7_UnkStruct_0019func_ov000_02052c48EP7VecFx32S1_ kind:function(arm,size=0xf0) addr:0x02052c48
|
||||
func_ov000_02052d38 kind:function(arm,size=0x38) addr:0x02052d38
|
||||
func_ov000_02052d70 kind:function(arm,size=0xb4) addr:0x02052d70
|
||||
func_ov000_02052e24 kind:function(arm,size=0x78) addr:0x02052e24
|
||||
@@ -486,7 +486,7 @@ _ZN23UnkStruct_027e0998_Base19func_ov000_02061768Ev kind:function(arm,size=0x4)
|
||||
func_ov000_0206176c kind:function(thumb,size=0xbc) addr:0x0206176c
|
||||
func_ov000_02061828 kind:function(thumb,size=0x28) addr:0x02061828
|
||||
_ZN23UnkStruct_027e0998_Base19func_ov000_02061850Ei kind:function(arm,size=0x18) addr:0x02061850
|
||||
_ZN23UnkStruct_027e0998_Base8vfunc_00EP5Vec3pP5Vec2sPt kind:function(arm,size=0x1e0) addr:0x02061868
|
||||
_ZN23UnkStruct_027e0998_Base8vfunc_00EP7VecFx32P5Vec2sPt kind:function(arm,size=0x1e0) addr:0x02061868
|
||||
func_ov000_02061a48 kind:function(arm,size=0x28) addr:0x02061a48
|
||||
_ZN23UnkStruct_027e0998_Base19func_ov000_02061a70Ev kind:function(arm,size=0xc) addr:0x02061a70
|
||||
func_ov000_02061a7c kind:function(arm,size=0x10) addr:0x02061a7c
|
||||
@@ -1061,11 +1061,11 @@ func_ov000_02071934 kind:function(arm,size=0x60) addr:0x02071934
|
||||
func_ov000_02071994 kind:function(arm,size=0x1c) addr:0x02071994
|
||||
func_ov000_020719b0 kind:function(arm,size=0xc4) addr:0x020719b0
|
||||
func_ov000_02071a74 kind:function(arm,size=0xbc) addr:0x02071a74
|
||||
_ZN18UnkStruct_027e09a819func_ov000_02071b30EiP5Vec3pi kind:function(arm,size=0xa4) addr:0x02071b30
|
||||
_ZN18UnkStruct_027e09a819func_ov000_02071b30EiP7VecFx32i kind:function(arm,size=0xa4) addr:0x02071b30
|
||||
func_ov000_02071bd4 kind:function(arm,size=0x90) addr:0x02071bd4
|
||||
func_ov000_02071c64 kind:function(arm,size=0x2c) addr:0x02071c64
|
||||
func_ov000_02071c90 kind:function(arm,size=0xa4) addr:0x02071c90
|
||||
_ZN18UnkStruct_027e09a819func_ov000_02071d34EPviP5Vec3pi kind:function(arm,size=0xb0) addr:0x02071d34
|
||||
_ZN18UnkStruct_027e09a819func_ov000_02071d34EPviP7VecFx32i kind:function(arm,size=0xb0) addr:0x02071d34
|
||||
func_ov000_02071de4 kind:function(arm,size=0xa0) addr:0x02071de4
|
||||
func_ov000_02071e84 kind:function(arm,size=0x14) addr:0x02071e84
|
||||
func_ov000_02071e98 kind:function(arm,size=0x14) addr:0x02071e98
|
||||
@@ -1253,7 +1253,7 @@ func_ov000_020781d4 kind:function(arm,size=0x14) addr:0x020781d4
|
||||
func_ov000_020781e8 kind:function(arm,size=0x48) addr:0x020781e8
|
||||
_ZN21UnkStruct_027e09bc_0c19func_ov000_02078230Ei kind:function(arm,size=0xe4) addr:0x02078230
|
||||
func_ov000_02078314 kind:function(arm,size=0x38) addr:0x02078314
|
||||
_ZN21UnkStruct_027e09bc_0c19func_ov000_0207834cEP5Vec3pii kind:function(arm,size=0x40) addr:0x0207834c
|
||||
_ZN21UnkStruct_027e09bc_0c19func_ov000_0207834cEP7VecFx32ii kind:function(arm,size=0x40) addr:0x0207834c
|
||||
func_ov000_0207838c kind:function(arm,size=0x70) addr:0x0207838c
|
||||
func_ov000_020783fc kind:function(arm,size=0x88) addr:0x020783fc
|
||||
func_ov000_02078484 kind:function(arm,size=0x40) addr:0x02078484
|
||||
@@ -1270,7 +1270,7 @@ func_ov000_020786dc kind:function(arm,size=0x2c) addr:0x020786dc
|
||||
func_ov000_02078708 kind:function(arm,size=0x24) addr:0x02078708
|
||||
func_ov000_0207872c kind:function(arm,size=0x1c) addr:0x0207872c
|
||||
func_ov000_02078748 kind:function(arm,size=0x1c) addr:0x02078748
|
||||
_ZN21UnkStruct_027e09bc_0c19func_ov000_02078764EP5Vec3pPvi kind:function(arm,size=0x54) addr:0x02078764
|
||||
_ZN21UnkStruct_027e09bc_0c19func_ov000_02078764EP7VecFx32Pvi kind:function(arm,size=0x54) addr:0x02078764
|
||||
func_ov000_020787b8 kind:function(arm,size=0x7c) addr:0x020787b8
|
||||
func_ov000_02078834 kind:function(arm,size=0x9c) addr:0x02078834
|
||||
func_ov000_020788d0 kind:function(arm,size=0x68) addr:0x020788d0
|
||||
@@ -1560,7 +1560,7 @@ func_ov000_02080190 kind:function(arm,size=0x20) addr:0x02080190
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_020801b0EP5Vec2bii kind:function(arm,size=0x60) addr:0x020801b0
|
||||
func_ov000_02080210 kind:function(arm,size=0x78) addr:0x02080210
|
||||
func_ov000_02080288 kind:function(arm,size=0x64) addr:0x02080288
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_020802ecEtP5Vec3p kind:function(arm,size=0x78) addr:0x020802ec
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_020802ecEtP7VecFx32 kind:function(arm,size=0x78) addr:0x020802ec
|
||||
func_ov000_02080364 kind:function(arm,size=0x88) addr:0x02080364
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_020803ecEt kind:function(arm,size=0x150) addr:0x020803ec
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_0208053cEt kind:function(arm,size=0xe4) addr:0x0208053c
|
||||
@@ -2096,7 +2096,7 @@ func_ov000_02090750 kind:function(arm,size=0x3c) addr:0x02090750
|
||||
func_ov000_0209078c kind:function(arm,size=0x30) addr:0x0209078c
|
||||
_ZN24UnkStruct_ov000_0208f8208vfunc_14Ev kind:function(arm,size=0x4) addr:0x020907bc
|
||||
_ZN24UnkStruct_ov000_0208f8208vfunc_18Eiii kind:function(arm,size=0x4) addr:0x020907c0
|
||||
_ZN24UnkStruct_ov000_0208f8208vfunc_1cEP5Vec3p kind:function(arm,size=0x54) addr:0x020907c4
|
||||
_ZN24UnkStruct_ov000_0208f8208vfunc_1cEP7VecFx32 kind:function(arm,size=0x54) addr:0x020907c4
|
||||
func_ov000_02090818 kind:function(arm,size=0x38) addr:0x02090818
|
||||
func_ov000_02090850 kind:function(arm,size=0x90) addr:0x02090850
|
||||
func_ov000_020908e0 kind:function(arm,size=0x104) addr:0x020908e0
|
||||
@@ -2326,13 +2326,13 @@ _ZN5Actor8vfunc_30Ev kind:function(arm,size=0x4) addr:0x020984c4
|
||||
_ZN5Actor8vfunc_34Ev kind:function(arm,size=0x8) addr:0x020984c8
|
||||
_ZN5Actor19func_ov000_020984d0Ev kind:function(arm,size=0x20) addr:0x020984d0
|
||||
_ZN5Actor19func_ov000_020984f0Ev kind:function(arm,size=0x28) addr:0x020984f0
|
||||
_ZN5Actor8vfunc_00EP5Vec3p kind:function(arm,size=0x24) addr:0x02098518
|
||||
_ZN5Actor8vfunc_00EP7VecFx32 kind:function(arm,size=0x24) addr:0x02098518
|
||||
_ZN5Actor19func_ov000_0209853cEi kind:function(arm,size=0x18) addr:0x0209853c
|
||||
_ZN5Actor8vfunc_04Ev kind:function(arm,size=0x18) addr:0x02098554
|
||||
_ZN5Actor8vfunc_08Ev kind:function(arm,size=0xc) addr:0x0209856c
|
||||
_ZN5Actor8vfunc_0cEv kind:function(arm,size=0xc) addr:0x02098578
|
||||
_ZN5Actor8vfunc_38Ei kind:function(arm,size=0x6c) addr:0x02098584
|
||||
_ZN5Actor8vfunc_3cEiP5Vec3p kind:function(arm,size=0x3c) addr:0x020985f0
|
||||
_ZN5Actor8vfunc_3cEiP7VecFx32 kind:function(arm,size=0x3c) addr:0x020985f0
|
||||
_ZN5Actor19func_ov000_0209862cEi kind:function(arm,size=0x28) addr:0x0209862c
|
||||
func_ov000_02098654 kind:function(arm,size=0x28) addr:0x02098654
|
||||
func_ov000_0209867c kind:function(arm,size=0x38) addr:0x0209867c
|
||||
@@ -2561,7 +2561,7 @@ _ZN9MapObject8vfunc_1CEv kind:function(arm,size=0x8) addr:0x0209d1cc
|
||||
_ZN9MapObject8vfunc_20Ev kind:function(arm,size=0x4) addr:0x0209d1d4
|
||||
_ZN9MapObject8vfunc_24Ev kind:function(arm,size=0xc) addr:0x0209d1d8
|
||||
_ZN9MapObject8vfunc_28Ev kind:function(arm,size=0x8) addr:0x0209d1e4
|
||||
_ZN9MapObject8vfunc_2CEP5Vec3p kind:function(arm,size=0x40) addr:0x0209d1ec
|
||||
_ZN9MapObject8vfunc_2CEP7VecFx32 kind:function(arm,size=0x40) addr:0x0209d1ec
|
||||
_ZN9MapObject19func_ov000_0209d22cEPsPS_i kind:function(arm,size=0x48) addr:0x0209d22c
|
||||
_ZN9MapObject19func_ov000_0209d274Ei kind:function(arm,size=0x28) addr:0x0209d274
|
||||
_ZN9MapObject19func_ov000_0209d29cEi kind:function(arm,size=0x28) addr:0x0209d29c
|
||||
@@ -2570,11 +2570,11 @@ _ZN9MapObject19func_ov000_0209d2f0EiiP5Vec2b kind:function(arm,size=0xc4) addr:0
|
||||
_ZN9MapObject19func_ov000_0209d3b4Eii kind:function(arm,size=0x80) addr:0x0209d3b4
|
||||
_ZN9MapObject19func_ov000_0209d434EPcP34UnkStruct_ov019_020d24c8_28_258_00i kind:function(arm,size=0xe4) addr:0x0209d434
|
||||
_ZN9MapObject19func_ov000_0209d518Eiiih kind:function(arm,size=0x34) addr:0x0209d518
|
||||
_ZN9MapObject19func_ov000_0209d54cEPvPS_iP5Vec3pii kind:function(arm,size=0x7c) addr:0x0209d54c
|
||||
_ZN9MapObject19func_ov000_0209d54cEPvPS_iP7VecFx32ii kind:function(arm,size=0x7c) addr:0x0209d54c
|
||||
_ZN9MapObject19func_ov000_0209d5c8E8ActorRef kind:function(arm,size=0x4c) addr:0x0209d5c8
|
||||
_ZN9MapObject19func_ov000_0209d614Ei kind:function(arm,size=0x54) addr:0x0209d614
|
||||
_ZN9MapObject19func_ov000_0209d668Ev kind:function(arm,size=0x44) addr:0x0209d668
|
||||
_ZN9MapObject19func_ov000_0209d6acEP5Vec3p kind:function(arm,size=0x54) addr:0x0209d6ac
|
||||
_ZN9MapObject19func_ov000_0209d6acEP7VecFx32 kind:function(arm,size=0x54) addr:0x0209d6ac
|
||||
func_ov000_0209d700 kind:function(arm,size=0x50) addr:0x0209d700
|
||||
_ZN19func_ov000_0209d750D0Ev kind:function(arm,size=0x1c) addr:0x0209d750
|
||||
_ZN19func_ov000_0209d76cD2Ev kind:function(arm,size=0x14) addr:0x0209d76c
|
||||
@@ -2669,10 +2669,10 @@ func_ov000_0209fe54 kind:function(arm,size=0x18) addr:0x0209fe54
|
||||
func_ov000_0209fe6c kind:function(arm,size=0x18) addr:0x0209fe6c
|
||||
func_ov000_0209fe84 kind:function(arm,size=0x1c) addr:0x0209fe84
|
||||
func_ov000_0209fea0 kind:function(arm,size=0xc) addr:0x0209fea0
|
||||
_ZN18UnkStruct_027e0cec19func_ov000_0209feacEiP5Vec3piii kind:function(arm,size=0x78) addr:0x0209feac
|
||||
_ZN18UnkStruct_027e0cec19func_ov000_0209feacEiP7VecFx32iii kind:function(arm,size=0x78) addr:0x0209feac
|
||||
func_ov000_0209ff24 kind:function(arm,size=0x28) addr:0x0209ff24
|
||||
func_ov000_0209ff4c kind:function(arm,size=0x40) addr:0x0209ff4c
|
||||
_ZN18UnkStruct_027e0cec19func_ov000_0209ff8cEP22UnkStruct_PlayerGet_eciP5Vec3pi kind:function(arm,size=0x74) addr:0x0209ff8c
|
||||
_ZN18UnkStruct_027e0cec19func_ov000_0209ff8cEP22UnkStruct_PlayerGet_eciP7VecFx32i kind:function(arm,size=0x74) addr:0x0209ff8c
|
||||
func_ov000_020a0000 kind:function(arm,size=0xa0) addr:0x020a0000
|
||||
func_ov000_020a00a0 kind:function(arm,size=0x34) addr:0x020a00a0
|
||||
func_ov000_020a00d4 kind:function(arm,size=0x3c) addr:0x020a00d4
|
||||
@@ -3035,7 +3035,7 @@ _ZN23ActorUnk_ov000_020a8bb019func_ov000_020a8db0Ev kind:function(arm,size=0x20)
|
||||
_ZN23ActorUnk_ov000_020a8bb019func_ov000_020a8dd0Ev kind:function(arm,size=0x20) addr:0x020a8dd0
|
||||
_ZN23ActorUnk_ov000_020a8bb019func_ov000_020a8df0E8ActorRefi kind:function(arm,size=0x94) addr:0x020a8df0
|
||||
_ZN23ActorUnk_ov000_020a8bb08vfunc_b4Ev kind:function(arm,size=0x18) addr:0x020a8e84
|
||||
_ZN23ActorUnk_ov000_020a8bb019func_ov000_020a8e9cEP5Vec3p kind:function(arm,size=0x24) addr:0x020a8e9c
|
||||
_ZN23ActorUnk_ov000_020a8bb019func_ov000_020a8e9cEP7VecFx32 kind:function(arm,size=0x24) addr:0x020a8e9c
|
||||
_ZN23ActorUnk_ov000_020a8bb08vfunc_b0Ev kind:function(arm,size=0x94) addr:0x020a8ec0
|
||||
_ZN23ActorUnk_ov000_020a8bb08vfunc_88Ev kind:function(arm,size=0x8) addr:0x020a8f54
|
||||
_ZN23ActorUnk_ov000_020a8bb08vfunc_8cEv kind:function(arm,size=0x8) addr:0x020a8f5c
|
||||
@@ -3049,7 +3049,7 @@ _ZN23ActorUnk_ov000_020a8bb08vfunc_68Ev kind:function(arm,size=0x50) addr:0x020a
|
||||
_ZN23ActorUnk_ov000_020a8bb08vfunc_7cEv kind:function(arm,size=0x8) addr:0x020a91a0
|
||||
_ZN23ActorUnk_ov000_020a8bb08vfunc_80Ev kind:function(arm,size=0x8) addr:0x020a91a8
|
||||
_ZN23ActorUnk_ov000_020a8bb08vfunc_84Ev kind:function(arm,size=0x8) addr:0x020a91b0
|
||||
_ZN23ActorUnk_ov000_020a8bb019func_ov000_020a91b8EP5Vec3pi kind:function(arm,size=0x48) addr:0x020a91b8
|
||||
_ZN23ActorUnk_ov000_020a8bb019func_ov000_020a91b8EP7VecFx32i kind:function(arm,size=0x48) addr:0x020a91b8
|
||||
_ZN23ActorUnk_ov000_020a8bb019func_ov000_020a9200Ev kind:function(arm,size=0x1c) addr:0x020a9200
|
||||
_ZN23ActorUnk_ov000_020a8bb08vfunc_70Ev kind:function(arm,size=0x24) addr:0x020a921c
|
||||
_ZN23ActorUnk_ov000_020a8bb08vfunc_74Ev kind:function(arm,size=0x4) addr:0x020a9240
|
||||
|
||||
@@ -109,9 +109,9 @@ _ZN18UnkStruct_027e09987DestroyEv kind:function(arm,size=0x2c) addr:0x020c6f08
|
||||
_ZN18UnkStruct_027e0998D1Ev kind:function(arm,size=0x14) addr:0x020c6f34
|
||||
_ZN18UnkStruct_027e0998C1Ev kind:function(arm,size=0x20) addr:0x020c6f48
|
||||
_ZN18UnkStruct_027e09986CreateEv kind:function(arm,size=0x24) addr:0x020c6f68
|
||||
_ZN18UnkStruct_027e09988vfunc_00EP5Vec3pP5Vec2sPt kind:function(arm,size=0x1e0) addr:0x020c6f8c
|
||||
_ZN18UnkStruct_027e09988vfunc_00EP7VecFx32P5Vec2sPt kind:function(arm,size=0x1e0) addr:0x020c6f8c
|
||||
_ZN18UnkStruct_027e099819func_ov024_020c716cEv kind:function(arm,size=0xa8) addr:0x020c716c
|
||||
_ZN18UnkStruct_027e099819func_ov024_020c7214EP5Vec3pP5Vec2sPt kind:function(arm,size=0x68) addr:0x020c7214
|
||||
_ZN18UnkStruct_027e099819func_ov024_020c7214EP7VecFx32P5Vec2sPt kind:function(arm,size=0x68) addr:0x020c7214
|
||||
_ZN18UnkStruct_027e099819func_ov024_020c727cEP5Vec2sPt kind:function(arm,size=0x84) addr:0x020c727c
|
||||
_ZN18UnkStruct_027e099819func_ov024_020c7300Ei kind:function(arm,size=0x54) addr:0x020c7300
|
||||
_ZN18UnkStruct_027e099819func_ov024_020c7354Ev kind:function(arm,size=0x3c) addr:0x020c7354
|
||||
|
||||
@@ -559,7 +559,7 @@ _ZN19ActorProfileUnkROCKD1Ev kind:function(arm,size=0x14) addr:0x020e8ca4
|
||||
_ZN17ActorProfileRupee10GetProfileEv kind:function(arm,size=0xc) addr:0x020e8cb8
|
||||
_ZN17ActorProfileRupee6CreateEv kind:function(arm,size=0x24) addr:0x020e8cc4
|
||||
_ZN17ActorProfileRupeeC1Ev kind:function(arm,size=0x44) addr:0x020e8ce8
|
||||
_ZN10ActorRupee19func_ov031_020e8d2cEP5Vec3phii kind:function(arm,size=0x7c) addr:0x020e8d2c
|
||||
_ZN10ActorRupee19func_ov031_020e8d2cEP7VecFx32hii kind:function(arm,size=0x7c) addr:0x020e8d2c
|
||||
_ZN10ActorRupeeC1Ev kind:function(arm,size=0x74) addr:0x020e8da8
|
||||
_ZN10ActorRupee8vfunc_18Ei kind:function(arm,size=0x1d0) addr:0x020e8e1c
|
||||
_ZN10ActorRupee19func_ov031_020e8fecEv kind:function(arm,size=0x7c) addr:0x020e8fec
|
||||
@@ -1298,7 +1298,7 @@ _ZN17MapObjectDoorBase19func_ov031_020fcd40Ev kind:function(arm,size=0x28) addr:
|
||||
_ZN17MapObjectDoorBase8vfunc_70Ev kind:function(arm,size=0x80) addr:0x020fcd68
|
||||
_ZN17MapObjectDoorBase8vfunc_44Ev kind:function(arm,size=0x4) addr:0x020fcde8
|
||||
_ZN17MapObjectDoorBase8vfunc_4CEv kind:function(arm,size=0x4) addr:0x020fcdec
|
||||
_ZN17MapObjectDoorBase8vfunc_84EiP5Vec3pPs kind:function(arm,size=0x11c) addr:0x020fcdf0
|
||||
_ZN17MapObjectDoorBase8vfunc_84EiP7VecFx32Ps kind:function(arm,size=0x11c) addr:0x020fcdf0
|
||||
_ZN17MapObjectDoorBase19func_ov031_020fcf0cEi kind:function(arm,size=0x24) addr:0x020fcf0c
|
||||
_ZN17MapObjectDoorBase19func_ov031_020fcf30Ev kind:function(arm,size=0x44) addr:0x020fcf30
|
||||
_ZN17MapObjectDoorBase9vfunc2_04Ev kind:function(arm,size=0x4) addr:0x020fcf74
|
||||
@@ -1338,8 +1338,8 @@ _ZN24MapObjectDoorDangerSpawn8vfunc_48Ev kind:function(arm,size=0x2c) addr:0x020
|
||||
_ZN24MapObjectDoorDangerSpawn8vfunc_4CEv kind:function(arm,size=0x44) addr:0x020fe2e8
|
||||
_ZN24MapObjectDoorDangerSpawn8vfunc_88Ev kind:function(arm,size=0x24) addr:0x020fe32c
|
||||
_ZN24MapObjectDoorDangerSpawn8vfunc_8CEv kind:function(arm,size=0x38) addr:0x020fe350
|
||||
_ZN24MapObjectDoorDangerSpawn8vfunc_84EiP5Vec3pPs kind:function(arm,size=0x274) addr:0x020fe388
|
||||
_ZN24MapObjectDoorDangerSpawn19func_ov031_020fe5fcEP5Vec3pPS_ kind:function(arm,size=0x9c) addr:0x020fe5fc
|
||||
_ZN24MapObjectDoorDangerSpawn8vfunc_84EiP7VecFx32Ps kind:function(arm,size=0x274) addr:0x020fe388
|
||||
_ZN24MapObjectDoorDangerSpawn19func_ov031_020fe5fcEP7VecFx32PS_ kind:function(arm,size=0x9c) addr:0x020fe5fc
|
||||
_ZN24MapObjectDoorDangerSpawnD1Ev kind:function(arm,size=0x30) addr:0x020fe698
|
||||
_ZN24MapObjectDoorDangerSpawnD0Ev kind:function(arm,size=0x38) addr:0x020fe6c8
|
||||
_ZN31MapObjectProfileDoorDangerSpawnD1Ev kind:function(arm,size=0x14) addr:0x020fe700
|
||||
|
||||
@@ -4,7 +4,7 @@ _ZN17PlayerSceneChangeD0Ev kind:function(arm,size=0x60) addr:0x02184b5c
|
||||
_ZN17PlayerSceneChange19func_ov112_02184bbcEs kind:function(arm,size=0x58) addr:0x02184bbc
|
||||
_ZN17PlayerSceneChange8vfunc_0cEP35UnkStruct_PlayerGet_vfunc_0c_param1 kind:function(arm,size=0xb68) addr:0x02184c14
|
||||
_ZN17PlayerSceneChange8vfunc_10Eii kind:function(arm,size=0x80c) addr:0x0218577c
|
||||
_ZN17PlayerSceneChange8vfunc_1cEP5Vec3p kind:function(arm,size=0x84) addr:0x02185f88
|
||||
_ZN17PlayerSceneChange8vfunc_1cEP7VecFx32 kind:function(arm,size=0x84) addr:0x02185f88
|
||||
_ZN18PlayerSceneChange2C1Ev kind:function(arm,size=0x40) addr:0x0218600c
|
||||
_ZN18PlayerSceneChange28vfunc_0cEP35UnkStruct_PlayerGet_vfunc_0c_param1 kind:function(arm,size=0x25c) addr:0x0218604c
|
||||
_ZN18PlayerSceneChange28vfunc_10Eii kind:function(arm,size=0x208) addr:0x021862a8
|
||||
|
||||
@@ -685,11 +685,11 @@ _ZN18UnkStruct_02049b8013func_02013ee8Eii kind:function(arm,size=0x98) addr:0x02
|
||||
func_02013f80 kind:function(arm,size=0x6c) addr:0x02013f80
|
||||
func_02013fec kind:function(arm,size=0xc) addr:0x02013fec
|
||||
func_02013ff8 kind:function(arm,size=0x12c) addr:0x02013ff8
|
||||
_ZN12TouchControl11UpdateStateEP10TouchStatePK15TouchStateFlags kind:function(arm,size=0xb8) addr:0x02014124
|
||||
_ZN12TouchControl11UpdateStateEP10TouchStatePK6TPData kind:function(arm,size=0xb8) addr:0x02014124
|
||||
_ZN12TouchControlC1Ev kind:function(thumb,size=0x3c) addr:0x020141dc
|
||||
_ZN12TouchControl13IncreaseSpeedEt kind:function(arm,size=0x18) addr:0x02014218
|
||||
_ZN12TouchControl11UpdateFlagsEt kind:function(arm,size=0x12c) addr:0x02014230
|
||||
_ZN12TouchControl20UpdateWithStateFlagsEP15TouchStateFlagst kind:function(arm,size=0x44) addr:0x0201435c
|
||||
_ZN12TouchControl20UpdateWithStateFlagsEP6TPDatat kind:function(arm,size=0x44) addr:0x0201435c
|
||||
_ZN12TouchControl6UpdateEPK10TouchStatet kind:function(arm,size=0x50) addr:0x020143a0
|
||||
_ZN12TouchControl13func_020143f0Ev kind:function(arm,size=0x24) addr:0x020143f0
|
||||
_ZN12TouchControl13func_02014414Etb kind:function(arm,size=0x64) addr:0x02014414
|
||||
@@ -1775,15 +1775,15 @@ FS_func_0034 kind:function(arm,size=0x8) addr:0x0202d4d8
|
||||
FS_AddRomVolume kind:function(arm,size=0x144) addr:0x0202d4e0
|
||||
func_0202d624 kind:function(arm,size=0x20) addr:0x0202d624
|
||||
func_0202d644 kind:function(arm,size=0x30) addr:0x0202d644
|
||||
func_0202d674 kind:function(arm,size=0x1c) addr:0x0202d674
|
||||
func_0202d690 kind:function(arm,size=0x3c) addr:0x0202d690
|
||||
func_0202d6cc kind:function(arm,size=0x28) addr:0x0202d6cc
|
||||
func_0202d6f4 kind:function(arm,size=0xfc) addr:0x0202d6f4
|
||||
FS_GetOverlaySize kind:function(arm,size=0x1c) addr:0x0202d674
|
||||
FS_ClearOverlayCacheAndBss kind:function(arm,size=0x3c) addr:0x0202d690
|
||||
FS_Overlay_0202d6cc kind:function(arm,size=0x28) addr:0x0202d6cc
|
||||
FS_Overlay_0202d6f4 kind:function(arm,size=0xfc) addr:0x0202d6f4
|
||||
FS_LoadOverlayInfo kind:function(arm,size=0x100) addr:0x0202d7f0
|
||||
FS_LoadOverlayFile kind:function(arm,size=0x94) addr:0x0202d8f0
|
||||
func_0202d984 kind:function(arm,size=0x90) addr:0x0202d984
|
||||
FS_Overlay_0202d984 kind:function(arm,size=0x90) addr:0x0202d984
|
||||
FS_StartOverlay kind:function(arm,size=0xf4) addr:0x0202da14
|
||||
Overlay_CleanupResources kind:function(arm,size=0xf0) addr:0x0202db08
|
||||
FS_CleanupOverlayResources kind:function(arm,size=0xf0) addr:0x0202db08
|
||||
FS_StopOverlay kind:function(arm,size=0x10) addr:0x0202dbf8
|
||||
FS_LoadOverlay kind:function(arm,size=0x58) addr:0x0202dc08
|
||||
FS_UnloadOverlay kind:function(arm,size=0x50) addr:0x0202dc60
|
||||
@@ -1801,7 +1801,7 @@ TP_GetUserInfo kind:function(arm,size=0x94) addr:0x0202e864
|
||||
TP_SetCalibrateParam kind:function(arm,size=0xf0) addr:0x0202e8f8
|
||||
TP_func_0002 kind:function(arm,size=0x9c) addr:0x0202e9e8
|
||||
TP_func_0003 kind:function(arm,size=0x4c) addr:0x0202ea84
|
||||
TP_GetTouchStateFlags kind:function(arm,size=0x1c) addr:0x0202ead0
|
||||
TP_GetData kind:function(arm,size=0x1c) addr:0x0202ead0
|
||||
TP_func_0004 kind:function(arm,size=0x1ec) addr:0x0202eaec
|
||||
TP_GetCalibratedPoint kind:function(arm,size=0x11c) addr:0x0202ecd8
|
||||
TP_func_0005 kind:function(arm,size=0x18) addr:0x0202edf4
|
||||
|
||||
@@ -22,7 +22,7 @@ func_01ff92a8 kind:function(arm,size=0x64) addr:0x01ff92a8
|
||||
func_01ff930c kind:function(arm,size=0xc) addr:0x01ff930c
|
||||
func_01ff9318 kind:function(arm,size=0x4c) addr:0x01ff9318
|
||||
func_01ff9364 kind:function(arm,size=0x28) addr:0x01ff9364
|
||||
Vec3p_TryNormalize kind:function(arm,size=0x34) addr:0x01ff938c
|
||||
VecFx32_TryNormalize kind:function(arm,size=0x34) addr:0x01ff938c
|
||||
func_01ff93c0 kind:function(arm,size=0x5c) addr:0x01ff93c0
|
||||
func_01ff941c kind:function(arm,size=0x60) addr:0x01ff941c
|
||||
func_01ff947c kind:function(arm,size=0x50) addr:0x01ff947c
|
||||
@@ -97,12 +97,12 @@ func_01ffb618 kind:function(arm,size=0x2c) addr:0x01ffb618
|
||||
func_01ffb644 kind:function(arm,size=0x28) addr:0x01ffb644
|
||||
func_01ffb66c kind:function(arm,size=0x3c) addr:0x01ffb66c
|
||||
func_01ffb6a8 kind:function(arm,size=0x3c) addr:0x01ffb6a8
|
||||
Vec3p_Add kind:function(arm,size=0x30) addr:0x01ffb6e4
|
||||
VecFx32_Add kind:function(arm,size=0x30) addr:0x01ffb6e4
|
||||
func_01ffb714 kind:function(arm,size=0x30) addr:0x01ffb714
|
||||
Vec3p_Dot kind:function(arm,size=0x3c) addr:0x01ffb744
|
||||
VecFx32_Dot kind:function(arm,size=0x3c) addr:0x01ffb744
|
||||
func_01ffb780 kind:function(arm,size=0x80) addr:0x01ffb780
|
||||
Vec3p_Length kind:function(arm,size=0x60) addr:0x01ffb800
|
||||
Vec3p_Normalize kind:function(arm,size=0x114) addr:0x01ffb860
|
||||
VecFx32_Length kind:function(arm,size=0x60) addr:0x01ffb800
|
||||
VecFx32_Normalize kind:function(arm,size=0x114) addr:0x01ffb860
|
||||
func_01ffb974 kind:function(arm,size=0x58) addr:0x01ffb974
|
||||
func_01ffb9cc kind:function(arm,size=0x7c) addr:0x01ffb9cc
|
||||
func_01ffba48 kind:function(arm,size=0x198) addr:0x01ffba48
|
||||
@@ -212,7 +212,7 @@ _ZN9MapObject13func_01fff590Ei kind:function(arm,size=0x40) addr:0x01fff590
|
||||
_ZN10ActorRupee13func_01fff5d0Eii kind:function(arm,size=0x3c) addr:0x01fff5d0
|
||||
_ZN18UnkStruct_027e09b413func_01fff60cEiiihii kind:function(arm,size=0x8c) addr:0x01fff60c
|
||||
func_01fff698 kind:function(arm,size=0x38) addr:0x01fff698
|
||||
_ZN21UnkStruct_027e0cd8_1013func_01fff6d0EP5Vec3pPiS2_ kind:function(arm,size=0x74) addr:0x01fff6d0
|
||||
_ZN21UnkStruct_027e0cd8_1013func_01fff6d0EP7VecFx32PiS2_ kind:function(arm,size=0x74) addr:0x01fff6d0
|
||||
func_01fff744 kind:function(arm,size=0x20) addr:0x01fff744
|
||||
func_01fff764 kind:function(arm,size=0xec) addr:0x01fff764
|
||||
func_01fff850 kind:function(arm,size=0x158) addr:0x01fff850
|
||||
|
||||
@@ -12,7 +12,7 @@ func_ov000_02053f94 kind:function(arm,size=0xec) addr:0x02053f94
|
||||
func_ov000_02054080 kind:function(arm,size=0xcc) addr:0x02054080
|
||||
func_ov000_0205414c kind:function(arm,size=0x60) addr:0x0205414c
|
||||
func_ov000_020541ac kind:function(arm,size=0x1c) addr:0x020541ac
|
||||
_ZN23UnkSystem7_UnkStruct_0019func_ov000_02052c48EP5Vec3pS1_ kind:function(arm,size=0xf0) addr:0x020541c8
|
||||
_ZN23UnkSystem7_UnkStruct_0019func_ov000_02052c48EP7VecFx32S1_ kind:function(arm,size=0xf0) addr:0x020541c8
|
||||
func_ov000_020542b8 kind:function(arm,size=0x38) addr:0x020542b8
|
||||
func_ov000_020542f0 kind:function(arm,size=0xb4) addr:0x020542f0
|
||||
func_ov000_020543a4 kind:function(arm,size=0x78) addr:0x020543a4
|
||||
@@ -486,7 +486,7 @@ _ZN23UnkStruct_027e0998_Base19func_ov000_02061768Ev kind:function(arm,size=0x4)
|
||||
func_ov000_02062cf4 kind:function(thumb,size=0xbc) addr:0x02062cf4
|
||||
func_ov000_02062db0 kind:function(thumb,size=0x28) addr:0x02062db0
|
||||
_ZN23UnkStruct_027e0998_Base19func_ov000_02061850Ei kind:function(arm,size=0x18) addr:0x02062dd8
|
||||
_ZN23UnkStruct_027e0998_Base8vfunc_00EP5Vec3pP5Vec2sPt kind:function(arm,size=0x1e0) addr:0x02062df0
|
||||
_ZN23UnkStruct_027e0998_Base8vfunc_00EP7VecFx32P5Vec2sPt kind:function(arm,size=0x1e0) addr:0x02062df0
|
||||
func_ov000_02062fd0 kind:function(arm,size=0x28) addr:0x02062fd0
|
||||
_ZN23UnkStruct_027e0998_Base19func_ov000_02061a70Ev kind:function(arm,size=0xc) addr:0x02062ff8
|
||||
func_ov000_02063004 kind:function(arm,size=0x10) addr:0x02063004
|
||||
@@ -1062,11 +1062,11 @@ func_ov000_02072fec kind:function(arm,size=0x60) addr:0x02072fec
|
||||
func_ov000_0207304c kind:function(arm,size=0x1c) addr:0x0207304c
|
||||
func_ov000_02073068 kind:function(arm,size=0xc4) addr:0x02073068
|
||||
func_ov000_0207312c kind:function(arm,size=0xbc) addr:0x0207312c
|
||||
_ZN18UnkStruct_027e09a819func_ov000_02071b30EiP5Vec3pi kind:function(arm,size=0xa4) addr:0x020731e8
|
||||
_ZN18UnkStruct_027e09a819func_ov000_02071b30EiP7VecFx32i kind:function(arm,size=0xa4) addr:0x020731e8
|
||||
func_ov000_0207328c kind:function(arm,size=0x90) addr:0x0207328c
|
||||
func_ov000_0207331c kind:function(arm,size=0x2c) addr:0x0207331c
|
||||
func_ov000_02073348 kind:function(arm,size=0xa4) addr:0x02073348
|
||||
_ZN18UnkStruct_027e09a819func_ov000_02071d34EPviP5Vec3pi kind:function(arm,size=0xb0) addr:0x020733ec
|
||||
_ZN18UnkStruct_027e09a819func_ov000_02071d34EPviP7VecFx32i kind:function(arm,size=0xb0) addr:0x020733ec
|
||||
func_ov000_0207349c kind:function(arm,size=0xa0) addr:0x0207349c
|
||||
func_ov000_0207353c kind:function(arm,size=0x14) addr:0x0207353c
|
||||
func_ov000_02073550 kind:function(arm,size=0x14) addr:0x02073550
|
||||
@@ -1251,7 +1251,7 @@ func_ov000_0207988c kind:function(arm,size=0x14) addr:0x0207988c
|
||||
func_ov000_020798a0 kind:function(arm,size=0x48) addr:0x020798a0
|
||||
_ZN21UnkStruct_027e09bc_0c19func_ov000_02078230Ei kind:function(arm,size=0xe4) addr:0x020798e8
|
||||
func_ov000_020799cc kind:function(arm,size=0x38) addr:0x020799cc
|
||||
_ZN21UnkStruct_027e09bc_0c19func_ov000_0207834cEP5Vec3pii kind:function(arm,size=0x40) addr:0x02079a04
|
||||
_ZN21UnkStruct_027e09bc_0c19func_ov000_0207834cEP7VecFx32ii kind:function(arm,size=0x40) addr:0x02079a04
|
||||
func_ov000_02079a44 kind:function(arm,size=0x70) addr:0x02079a44
|
||||
func_ov000_02079ab4 kind:function(arm,size=0x88) addr:0x02079ab4
|
||||
func_ov000_02079b3c kind:function(arm,size=0x40) addr:0x02079b3c
|
||||
@@ -1268,7 +1268,7 @@ func_ov000_02079d94 kind:function(arm,size=0x2c) addr:0x02079d94
|
||||
func_ov000_02079dc0 kind:function(arm,size=0x24) addr:0x02079dc0
|
||||
func_ov000_02079de4 kind:function(arm,size=0x1c) addr:0x02079de4
|
||||
func_ov000_02079e00 kind:function(arm,size=0x1c) addr:0x02079e00
|
||||
_ZN21UnkStruct_027e09bc_0c19func_ov000_02078764EP5Vec3pPvi kind:function(arm,size=0x54) addr:0x02079e1c
|
||||
_ZN21UnkStruct_027e09bc_0c19func_ov000_02078764EP7VecFx32Pvi kind:function(arm,size=0x54) addr:0x02079e1c
|
||||
func_ov000_02079e70 kind:function(arm,size=0x7c) addr:0x02079e70
|
||||
func_ov000_02079eec kind:function(arm,size=0x9c) addr:0x02079eec
|
||||
func_ov000_02079f88 kind:function(arm,size=0x68) addr:0x02079f88
|
||||
@@ -1558,7 +1558,7 @@ func_ov000_02081848 kind:function(arm,size=0x20) addr:0x02081848
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_020801b0EP5Vec2bii kind:function(arm,size=0x60) addr:0x02081868
|
||||
func_ov000_020818c8 kind:function(arm,size=0x78) addr:0x020818c8
|
||||
func_ov000_02081940 kind:function(arm,size=0x64) addr:0x02081940
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_020802ecEtP5Vec3p kind:function(arm,size=0x78) addr:0x020819a4
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_020802ecEtP7VecFx32 kind:function(arm,size=0x78) addr:0x020819a4
|
||||
func_ov000_02081a1c kind:function(arm,size=0x88) addr:0x02081a1c
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_020803ecEt kind:function(arm,size=0x150) addr:0x02081aa4
|
||||
_ZN21UnkStruct_027e0cd8_0c19func_ov000_0208053cEt kind:function(arm,size=0xe4) addr:0x02081bf4
|
||||
@@ -2094,7 +2094,7 @@ func_ov000_02091e2c kind:function(arm,size=0x3c) addr:0x02091e2c
|
||||
func_ov000_02091e68 kind:function(arm,size=0x30) addr:0x02091e68
|
||||
_ZN24UnkStruct_ov000_0208f8208vfunc_14Ev kind:function(arm,size=0x4) addr:0x02091e98
|
||||
_ZN24UnkStruct_ov000_0208f8208vfunc_18Eiii kind:function(arm,size=0x4) addr:0x02091e9c
|
||||
_ZN24UnkStruct_ov000_0208f8208vfunc_1cEP5Vec3p kind:function(arm,size=0x54) addr:0x02091ea0
|
||||
_ZN24UnkStruct_ov000_0208f8208vfunc_1cEP7VecFx32 kind:function(arm,size=0x54) addr:0x02091ea0
|
||||
func_ov000_02091ef4 kind:function(arm,size=0x38) addr:0x02091ef4
|
||||
func_ov000_02091f2c kind:function(arm,size=0x90) addr:0x02091f2c
|
||||
func_ov000_02091fbc kind:function(arm,size=0x104) addr:0x02091fbc
|
||||
@@ -2323,13 +2323,13 @@ _ZN5Actor8vfunc_30Ev kind:function(arm,size=0x4) addr:0x02099c6c
|
||||
_ZN5Actor8vfunc_34Ev kind:function(arm,size=0x8) addr:0x02099c70
|
||||
_ZN5Actor19func_ov000_020984d0Ev kind:function(arm,size=0x20) addr:0x02099c78
|
||||
_ZN5Actor19func_ov000_020984f0Ev kind:function(arm,size=0x28) addr:0x02099c98
|
||||
_ZN5Actor8vfunc_00EP5Vec3p kind:function(arm,size=0x24) addr:0x02099cc0
|
||||
_ZN5Actor8vfunc_00EP7VecFx32 kind:function(arm,size=0x24) addr:0x02099cc0
|
||||
_ZN5Actor19func_ov000_0209853cEi kind:function(arm,size=0x18) addr:0x02099ce4
|
||||
_ZN5Actor8vfunc_04Ev kind:function(arm,size=0x18) addr:0x02099cfc
|
||||
_ZN5Actor8vfunc_08Ev kind:function(arm,size=0xc) addr:0x02099d14
|
||||
_ZN5Actor8vfunc_0cEv kind:function(arm,size=0xc) addr:0x02099d20
|
||||
_ZN5Actor8vfunc_38Ei kind:function(arm,size=0x6c) addr:0x02099d2c
|
||||
_ZN5Actor8vfunc_3cEiP5Vec3p kind:function(arm,size=0x3c) addr:0x02099d98
|
||||
_ZN5Actor8vfunc_3cEiP7VecFx32 kind:function(arm,size=0x3c) addr:0x02099d98
|
||||
_ZN5Actor19func_ov000_0209862cEi kind:function(arm,size=0x28) addr:0x02099dd4
|
||||
func_ov000_02099dfc kind:function(arm,size=0x28) addr:0x02099dfc
|
||||
func_ov000_02099e24 kind:function(arm,size=0x38) addr:0x02099e24
|
||||
@@ -2557,7 +2557,7 @@ _ZN9MapObject8vfunc_1CEv kind:function(arm,size=0x8) addr:0x0209e990
|
||||
_ZN9MapObject8vfunc_20Ev kind:function(arm,size=0x4) addr:0x0209e998
|
||||
_ZN9MapObject8vfunc_24Ev kind:function(arm,size=0xc) addr:0x0209e99c
|
||||
_ZN9MapObject8vfunc_28Ev kind:function(arm,size=0x8) addr:0x0209e9a8
|
||||
_ZN9MapObject8vfunc_2CEP5Vec3p kind:function(arm,size=0x40) addr:0x0209e9b0
|
||||
_ZN9MapObject8vfunc_2CEP7VecFx32 kind:function(arm,size=0x40) addr:0x0209e9b0
|
||||
_ZN9MapObject19func_ov000_0209d22cEPsPS_i kind:function(arm,size=0x48) addr:0x0209e9f0
|
||||
_ZN9MapObject19func_ov000_0209d274Ei kind:function(arm,size=0x28) addr:0x0209ea38
|
||||
_ZN9MapObject19func_ov000_0209d29cEi kind:function(arm,size=0x28) addr:0x0209ea60
|
||||
@@ -2566,11 +2566,11 @@ _ZN9MapObject19func_ov000_0209d2f0EiiP5Vec2b kind:function(arm,size=0xc4) addr:0
|
||||
_ZN9MapObject19func_ov000_0209d3b4Eii kind:function(arm,size=0x80) addr:0x0209eb78
|
||||
_ZN9MapObject19func_ov000_0209d434EPcP34UnkStruct_ov019_020d24c8_28_258_00i kind:function(arm,size=0xe4) addr:0x0209ebf8
|
||||
_ZN9MapObject19func_ov000_0209d518Eiiih kind:function(arm,size=0x34) addr:0x0209ecdc
|
||||
_ZN9MapObject19func_ov000_0209d54cEPvPS_iP5Vec3pii kind:function(arm,size=0x7c) addr:0x0209ed10
|
||||
_ZN9MapObject19func_ov000_0209d54cEPvPS_iP7VecFx32ii kind:function(arm,size=0x7c) addr:0x0209ed10
|
||||
_ZN9MapObject19func_ov000_0209d5c8E8ActorRef kind:function(arm,size=0x4c) addr:0x0209ed8c
|
||||
_ZN9MapObject19func_ov000_0209d614Ei kind:function(arm,size=0x54) addr:0x0209edd8
|
||||
_ZN9MapObject19func_ov000_0209d668Ev kind:function(arm,size=0x44) addr:0x0209ee2c
|
||||
_ZN9MapObject19func_ov000_0209d6acEP5Vec3p kind:function(arm,size=0x54) addr:0x0209ee70
|
||||
_ZN9MapObject19func_ov000_0209d6acEP7VecFx32 kind:function(arm,size=0x54) addr:0x0209ee70
|
||||
func_ov000_0209eec4 kind:function(arm,size=0x50) addr:0x0209eec4
|
||||
_ZN19func_ov000_0209ef14D0Ev kind:function(arm,size=0x1c) addr:0x0209ef14
|
||||
_ZN19func_ov000_0209ef30D2Ev kind:function(arm,size=0x14) addr:0x0209ef30
|
||||
@@ -2667,10 +2667,10 @@ func_ov000_020a162c kind:function(arm,size=0x18) addr:0x020a162c
|
||||
func_ov000_020a1644 kind:function(arm,size=0x18) addr:0x020a1644
|
||||
func_ov000_020a165c kind:function(arm,size=0x1c) addr:0x020a165c
|
||||
func_ov000_020a1678 kind:function(arm,size=0xc) addr:0x020a1678
|
||||
_ZN18UnkStruct_027e0cec19func_ov000_0209feacEiP5Vec3piii kind:function(arm,size=0x78) addr:0x020a1684
|
||||
_ZN18UnkStruct_027e0cec19func_ov000_0209feacEiP7VecFx32iii kind:function(arm,size=0x78) addr:0x020a1684
|
||||
func_ov000_020a16fc kind:function(arm,size=0x28) addr:0x020a16fc
|
||||
func_ov000_020a1724 kind:function(arm,size=0x40) addr:0x020a1724
|
||||
_ZN18UnkStruct_027e0cec19func_ov000_0209ff8cEP22UnkStruct_PlayerGet_eciP5Vec3pi kind:function(arm,size=0x74) addr:0x020a1764
|
||||
_ZN18UnkStruct_027e0cec19func_ov000_0209ff8cEP22UnkStruct_PlayerGet_eciP7VecFx32i kind:function(arm,size=0x74) addr:0x020a1764
|
||||
func_ov000_020a17d8 kind:function(arm,size=0xa0) addr:0x020a17d8
|
||||
func_ov000_020a1878 kind:function(arm,size=0x34) addr:0x020a1878
|
||||
func_ov000_020a18ac kind:function(arm,size=0x3c) addr:0x020a18ac
|
||||
@@ -3034,7 +3034,7 @@ _ZN23ActorUnk_ov000_020a8bb019func_ov000_020a8db0Ev kind:function(arm,size=0x20)
|
||||
_ZN23ActorUnk_ov000_020a8bb019func_ov000_020a8dd0Ev kind:function(arm,size=0x20) addr:0x020aa5d0
|
||||
_ZN23ActorUnk_ov000_020a8bb019func_ov000_020a8df0E8ActorRefi kind:function(arm,size=0x94) addr:0x020aa5f0
|
||||
_ZN23ActorUnk_ov000_020a8bb08vfunc_b4Ev kind:function(arm,size=0x18) addr:0x020aa684
|
||||
_ZN23ActorUnk_ov000_020a8bb019func_ov000_020a8e9cEP5Vec3p kind:function(arm,size=0x24) addr:0x020aa69c
|
||||
_ZN23ActorUnk_ov000_020a8bb019func_ov000_020a8e9cEP7VecFx32 kind:function(arm,size=0x24) addr:0x020aa69c
|
||||
_ZN23ActorUnk_ov000_020a8bb08vfunc_b0Ev kind:function(arm,size=0x94) addr:0x020aa6c0
|
||||
_ZN23ActorUnk_ov000_020a8bb08vfunc_88Ev kind:function(arm,size=0x8) addr:0x020aa754
|
||||
_ZN23ActorUnk_ov000_020a8bb08vfunc_8cEv kind:function(arm,size=0x8) addr:0x020aa75c
|
||||
@@ -3048,7 +3048,7 @@ _ZN23ActorUnk_ov000_020a8bb08vfunc_68Ev kind:function(arm,size=0x50) addr:0x020a
|
||||
_ZN23ActorUnk_ov000_020a8bb08vfunc_7cEv kind:function(arm,size=0x8) addr:0x020aa9a0
|
||||
_ZN23ActorUnk_ov000_020a8bb08vfunc_80Ev kind:function(arm,size=0x8) addr:0x020aa9a8
|
||||
_ZN23ActorUnk_ov000_020a8bb08vfunc_84Ev kind:function(arm,size=0x8) addr:0x020aa9b0
|
||||
_ZN23ActorUnk_ov000_020a8bb019func_ov000_020a91b8EP5Vec3pi kind:function(arm,size=0x48) addr:0x020aa9b8
|
||||
_ZN23ActorUnk_ov000_020a8bb019func_ov000_020a91b8EP7VecFx32i kind:function(arm,size=0x48) addr:0x020aa9b8
|
||||
_ZN23ActorUnk_ov000_020a8bb019func_ov000_020a9200Ev kind:function(arm,size=0x1c) addr:0x020aaa00
|
||||
_ZN23ActorUnk_ov000_020a8bb08vfunc_70Ev kind:function(arm,size=0x24) addr:0x020aaa1c
|
||||
_ZN23ActorUnk_ov000_020a8bb08vfunc_74Ev kind:function(arm,size=0x4) addr:0x020aaa40
|
||||
|
||||
@@ -109,9 +109,9 @@ _ZN18UnkStruct_027e09987DestroyEv kind:function(arm,size=0x2c) addr:0x020c8758
|
||||
_ZN18UnkStruct_027e0998D1Ev kind:function(arm,size=0x14) addr:0x020c8784
|
||||
_ZN18UnkStruct_027e0998C1Ev kind:function(arm,size=0x20) addr:0x020c8798
|
||||
_ZN18UnkStruct_027e09986CreateEv kind:function(arm,size=0x24) addr:0x020c87b8
|
||||
_ZN18UnkStruct_027e09988vfunc_00EP5Vec3pP5Vec2sPt kind:function(arm,size=0x1e0) addr:0x020c87dc
|
||||
_ZN18UnkStruct_027e09988vfunc_00EP7VecFx32P5Vec2sPt kind:function(arm,size=0x1e0) addr:0x020c87dc
|
||||
_ZN18UnkStruct_027e099819func_ov024_020c716cEv kind:function(arm,size=0xa8) addr:0x020c89bc
|
||||
_ZN18UnkStruct_027e099819func_ov024_020c7214EP5Vec3pP5Vec2sPt kind:function(arm,size=0x68) addr:0x020c8a64
|
||||
_ZN18UnkStruct_027e099819func_ov024_020c7214EP7VecFx32P5Vec2sPt kind:function(arm,size=0x68) addr:0x020c8a64
|
||||
_ZN18UnkStruct_027e099819func_ov024_020c727cEP5Vec2sPt kind:function(arm,size=0x84) addr:0x020c8acc
|
||||
_ZN18UnkStruct_027e099819func_ov024_020c7300Ei kind:function(arm,size=0x54) addr:0x020c8b50
|
||||
_ZN18UnkStruct_027e099819func_ov024_020c7354Ev kind:function(arm,size=0x3c) addr:0x020c8ba4
|
||||
|
||||
@@ -559,7 +559,7 @@ _ZN19ActorProfileUnkROCKD1Ev kind:function(arm,size=0x14) addr:0x020ea690
|
||||
_ZN17ActorProfileRupee10GetProfileEv kind:function(arm,size=0xc) addr:0x020ea6a4
|
||||
_ZN17ActorProfileRupee6CreateEv kind:function(arm,size=0x24) addr:0x020ea6b0
|
||||
_ZN17ActorProfileRupeeC1Ev kind:function(arm,size=0x44) addr:0x020ea6d4
|
||||
_ZN10ActorRupee19func_ov031_020e8d2cEP5Vec3phii kind:function(arm,size=0x7c) addr:0x020ea718
|
||||
_ZN10ActorRupee19func_ov031_020e8d2cEP7VecFx32hii kind:function(arm,size=0x7c) addr:0x020ea718
|
||||
_ZN10ActorRupeeC1Ev kind:function(arm,size=0x74) addr:0x020ea794
|
||||
_ZN10ActorRupee8vfunc_18Ei kind:function(arm,size=0x1d0) addr:0x020ea808
|
||||
_ZN10ActorRupee19func_ov031_020e8fecEv kind:function(arm,size=0x7c) addr:0x020ea9d8
|
||||
@@ -1297,7 +1297,7 @@ _ZN17MapObjectDoorBase19func_ov031_020fcd40Ev kind:function(arm,size=0x28) addr:
|
||||
_ZN17MapObjectDoorBase8vfunc_70Ev kind:function(arm,size=0x80) addr:0x020fe7b0
|
||||
_ZN17MapObjectDoorBase8vfunc_44Ev kind:function(arm,size=0x4) addr:0x020fe830
|
||||
_ZN17MapObjectDoorBase8vfunc_4CEv kind:function(arm,size=0x4) addr:0x020fe834
|
||||
_ZN17MapObjectDoorBase8vfunc_84EiP5Vec3pPs kind:function(arm,size=0x11c) addr:0x020fe838
|
||||
_ZN17MapObjectDoorBase8vfunc_84EiP7VecFx32Ps kind:function(arm,size=0x11c) addr:0x020fe838
|
||||
_ZN17MapObjectDoorBase19func_ov031_020fcf0cEi kind:function(arm,size=0x24) addr:0x020fe954
|
||||
_ZN17MapObjectDoorBase19func_ov031_020fcf30Ev kind:function(arm,size=0x44) addr:0x020fe978
|
||||
_ZN17MapObjectDoorBase9vfunc2_04Ev kind:function(arm,size=0x4) addr:0x020fe9bc
|
||||
@@ -1337,8 +1337,8 @@ _ZN24MapObjectDoorDangerSpawn8vfunc_48Ev kind:function(arm,size=0x2c) addr:0x020
|
||||
_ZN24MapObjectDoorDangerSpawn8vfunc_4CEv kind:function(arm,size=0x44) addr:0x020ffd90
|
||||
_ZN24MapObjectDoorDangerSpawn8vfunc_88Ev kind:function(arm,size=0x24) addr:0x020ffdd4
|
||||
_ZN24MapObjectDoorDangerSpawn8vfunc_8CEv kind:function(arm,size=0x38) addr:0x020ffdf8
|
||||
_ZN24MapObjectDoorDangerSpawn8vfunc_84EiP5Vec3pPs kind:function(arm,size=0x274) addr:0x020ffe30
|
||||
_ZN24MapObjectDoorDangerSpawn19func_ov031_020fe5fcEP5Vec3pPS_ kind:function(arm,size=0x9c) addr:0x021000a4
|
||||
_ZN24MapObjectDoorDangerSpawn8vfunc_84EiP7VecFx32Ps kind:function(arm,size=0x274) addr:0x020ffe30
|
||||
_ZN24MapObjectDoorDangerSpawn19func_ov031_020fe5fcEP7VecFx32PS_ kind:function(arm,size=0x9c) addr:0x021000a4
|
||||
_ZN24MapObjectDoorDangerSpawnD1Ev kind:function(arm,size=0x30) addr:0x02100140
|
||||
_ZN24MapObjectDoorDangerSpawnD0Ev kind:function(arm,size=0x38) addr:0x02100170
|
||||
_ZN31MapObjectProfileDoorDangerSpawnD1Ev kind:function(arm,size=0x14) addr:0x021001a8
|
||||
|
||||
@@ -4,7 +4,7 @@ _ZN17PlayerSceneChangeD0Ev kind:function(arm,size=0x60) addr:0x021866dc
|
||||
_ZN17PlayerSceneChange19func_ov112_02184bbcEs kind:function(arm,size=0x58) addr:0x0218673c
|
||||
_ZN17PlayerSceneChange8vfunc_0cEP35UnkStruct_PlayerGet_vfunc_0c_param1 kind:function(arm,size=0xb68) addr:0x02186794
|
||||
_ZN17PlayerSceneChange8vfunc_10Eii kind:function(arm,size=0x80c) addr:0x021872fc
|
||||
_ZN17PlayerSceneChange8vfunc_1cEP5Vec3p kind:function(arm,size=0x84) addr:0x02187b08
|
||||
_ZN17PlayerSceneChange8vfunc_1cEP7VecFx32 kind:function(arm,size=0x84) addr:0x02187b08
|
||||
_ZN18PlayerSceneChange2C1Ev kind:function(arm,size=0x40) addr:0x02187b8c
|
||||
_ZN18PlayerSceneChange28vfunc_0cEP35UnkStruct_PlayerGet_vfunc_0c_param1 kind:function(arm,size=0x25c) addr:0x02187bcc
|
||||
_ZN18PlayerSceneChange28vfunc_10Eii kind:function(arm,size=0x208) addr:0x02187e28
|
||||
|
||||
@@ -685,11 +685,11 @@ _ZN18UnkStruct_02049b8013func_02013ee8Eii kind:function(arm,size=0x98) addr:0x02
|
||||
func_02013f84 kind:function(arm,size=0x6c) addr:0x02013f84
|
||||
func_02013ff0 kind:function(arm,size=0xc) addr:0x02013ff0
|
||||
func_02013ffc kind:function(arm,size=0x12c) addr:0x02013ffc
|
||||
_ZN12TouchControl11UpdateStateEP10TouchStatePK15TouchStateFlags kind:function(arm,size=0xb8) addr:0x02014128
|
||||
_ZN12TouchControl11UpdateStateEP10TouchStatePK6TPData kind:function(arm,size=0xb8) addr:0x02014128
|
||||
_ZN12TouchControlC1Ev kind:function(thumb,size=0x3c) addr:0x020141e0
|
||||
_ZN12TouchControl13IncreaseSpeedEt kind:function(arm,size=0x18) addr:0x0201421c
|
||||
_ZN12TouchControl11UpdateFlagsEt kind:function(arm,size=0x12c) addr:0x02014234
|
||||
_ZN12TouchControl20UpdateWithStateFlagsEP15TouchStateFlagst kind:function(arm,size=0x44) addr:0x02014360
|
||||
_ZN12TouchControl20UpdateWithStateFlagsEP6TPDatat kind:function(arm,size=0x44) addr:0x02014360
|
||||
_ZN12TouchControl6UpdateEPK10TouchStatet kind:function(arm,size=0x50) addr:0x020143a4
|
||||
_ZN12TouchControl13func_020143f0Ev kind:function(arm,size=0x24) addr:0x020143f4
|
||||
_ZN12TouchControl13func_02014414Etb kind:function(arm,size=0x64) addr:0x02014418
|
||||
@@ -1796,15 +1796,15 @@ FS_func_0034 kind:function(arm,size=0x8) addr:0x0202ea08
|
||||
FS_AddRomVolume kind:function(arm,size=0x144) addr:0x0202ea10
|
||||
func_0202d624 kind:function(arm,size=0x20) addr:0x0202eb54
|
||||
func_0202eb74 kind:function(arm,size=0x30) addr:0x0202eb74
|
||||
func_0202eba4 kind:function(arm,size=0x1c) addr:0x0202eba4
|
||||
func_0202ebc0 kind:function(arm,size=0x3c) addr:0x0202ebc0
|
||||
func_0202ebfc kind:function(arm,size=0x28) addr:0x0202ebfc
|
||||
func_0202ec24 kind:function(arm,size=0xfc) addr:0x0202ec24
|
||||
FS_GetOverlaySize kind:function(arm,size=0x1c) addr:0x0202eba4
|
||||
FS_ClearOverlayCacheAndBss kind:function(arm,size=0x3c) addr:0x0202ebc0
|
||||
FS_Overlay_0202d6cc kind:function(arm,size=0x28) addr:0x0202ebfc
|
||||
FS_Overlay_0202d6f4 kind:function(arm,size=0xfc) addr:0x0202ec24
|
||||
FS_LoadOverlayInfo kind:function(arm,size=0x100) addr:0x0202ed20
|
||||
FS_LoadOverlayFile kind:function(arm,size=0x94) addr:0x0202ee20
|
||||
func_0202eeb4 kind:function(arm,size=0x90) addr:0x0202eeb4
|
||||
FS_Overlay_0202d984 kind:function(arm,size=0x90) addr:0x0202eeb4
|
||||
FS_StartOverlay kind:function(arm,size=0xf4) addr:0x0202ef44
|
||||
Overlay_CleanupResources kind:function(arm,size=0xf0) addr:0x0202f038
|
||||
FS_CleanupOverlayResources kind:function(arm,size=0xf0) addr:0x0202f038
|
||||
FS_StopOverlay kind:function(arm,size=0x10) addr:0x0202f128
|
||||
FS_LoadOverlay kind:function(arm,size=0x58) addr:0x0202f138
|
||||
FS_UnloadOverlay kind:function(arm,size=0x50) addr:0x0202f190
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
class ActorParams {
|
||||
public:
|
||||
/* 00 */ Vec3p mInitialPos;
|
||||
/* 00 */ VecFx32 mInitialPos;
|
||||
/* 0C */ s16 mInitialAngle;
|
||||
/* 0E */ s8 mUnk_0E;
|
||||
/* 0F */ bool mUnk_0F;
|
||||
@@ -102,9 +102,9 @@ class Actor_c4;
|
||||
class Actor : public SysObject {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ Vec3p mPos;
|
||||
/* 10 */ Vec3p mPrevPos;
|
||||
/* 1C */ Vec3p mVel;
|
||||
/* 04 */ VecFx32 mPos;
|
||||
/* 10 */ VecFx32 mPrevPos;
|
||||
/* 1C */ VecFx32 mVel;
|
||||
/* 28 */ s16 mAngle;
|
||||
/* 2A */ unk16 mUnk_2A;
|
||||
/* 2C */ unk32 mUnk_2C; // gravity?
|
||||
@@ -129,7 +129,7 @@ public:
|
||||
/* 90 */ ActorProfile *mpProfile;
|
||||
/* 94 */
|
||||
|
||||
/* 00 */ virtual void vfunc_00(Vec3p *param1);
|
||||
/* 00 */ virtual void vfunc_00(VecFx32 *param1);
|
||||
/* 04 */ virtual bool vfunc_04();
|
||||
/* 08 */ virtual unk16 vfunc_08();
|
||||
/* 0C */ virtual unk8 vfunc_0c();
|
||||
@@ -144,7 +144,7 @@ public:
|
||||
/* 30 */ virtual void vfunc_30();
|
||||
/* 34 */ virtual unk32 vfunc_34();
|
||||
/* 38 */ virtual unk32 vfunc_38(unk32 param1);
|
||||
/* 3C */ virtual bool vfunc_3c(unk32 param2, Vec3p *param3);
|
||||
/* 3C */ virtual bool vfunc_3c(unk32 param2, VecFx32 *param3);
|
||||
/* 40 */ virtual void vfunc_40();
|
||||
/* 44 */ virtual void vfunc_44();
|
||||
/* 48 */ virtual void vfunc_48();
|
||||
@@ -178,7 +178,7 @@ public:
|
||||
unk32 func_ov000_02098910(unk32 param1, unk32 param2);
|
||||
|
||||
s32 func_ov000_02098518(unk32 *param1);
|
||||
Vec3p *func_ov000_0209853c(unk32 param1);
|
||||
VecFx32 *func_ov000_0209853c(unk32 param1);
|
||||
s32 func_ov000_02098554();
|
||||
s16 func_ov000_0209856c();
|
||||
s8 func_ov000_02098578();
|
||||
@@ -194,7 +194,7 @@ public:
|
||||
bool func_ov000_02098a60(unk32 param1);
|
||||
void func_ov000_02098a88(unk32 param1, unk32 param2);
|
||||
|
||||
void func_ov017_020bf5c4(Vec3p *param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5);
|
||||
void func_ov017_020bf5c4(VecFx32 *param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5);
|
||||
};
|
||||
|
||||
struct Actor_c4_stack {
|
||||
|
||||
@@ -78,7 +78,7 @@ public:
|
||||
|
||||
void func_ov017_020bf9c8(Actor *param1);
|
||||
|
||||
void func_ov031_020e8d2c(Vec3p *param1, u8 param2, unk32 param3, unk32 param4);
|
||||
void func_ov031_020e8d2c(VecFx32 *param1, u8 param2, unk32 param3, unk32 param4);
|
||||
void func_ov031_020e8fec();
|
||||
void func_ov031_020e9068();
|
||||
void func_ov031_020e9108();
|
||||
|
||||
@@ -24,8 +24,8 @@ public:
|
||||
/* 2C */ unk32 mUnk_2C;
|
||||
/* 30 */ unk16 mUnk_30;
|
||||
/* 32 */ unk16 mUnk_32;
|
||||
/* 34 */ Vec3p mUnk_34;
|
||||
/* 40 */ Vec3p mUnk_40;
|
||||
/* 34 */ VecFx32 mUnk_34;
|
||||
/* 40 */ VecFx32 mUnk_40;
|
||||
/* 4C */
|
||||
|
||||
ActorUnk_vfunc_b0();
|
||||
@@ -51,7 +51,7 @@ public:
|
||||
/* 0A */ unk32 mUnk_08;
|
||||
/* 0C */
|
||||
|
||||
void func_01ffc6d4(u16 param1, Vec3p *pos);
|
||||
void func_01ffc6d4(u16 param1, VecFx32 *pos);
|
||||
|
||||
ActorUnk_ov000_020a8bb0_a4() {}
|
||||
~ActorUnk_ov000_020a8bb0_a4() {}
|
||||
@@ -71,7 +71,7 @@ public:
|
||||
/* 0B4 */ unk32 mUnk_0B4;
|
||||
/* 0B8 */ unk32 mUnk_0B8;
|
||||
/* 0BC */ ActorRef mUnk_0BC;
|
||||
/* 0C0 */ Vec3p mUnk_0C0;
|
||||
/* 0C0 */ VecFx32 mUnk_0C0;
|
||||
/* 0CC */ unk16 mUnk_0CC;
|
||||
/* 0CC */ unk16 mUnk_0CE;
|
||||
/* 0D0 */ unk32 mUnk_0D0;
|
||||
@@ -134,14 +134,14 @@ public:
|
||||
/* B8 */ virtual void vfunc_b8();
|
||||
/* BC */
|
||||
|
||||
void func_ov000_020a8ae0(q20 param1);
|
||||
void func_ov000_020a8ae0(fx32 param1);
|
||||
ActorUnk_ov000_020a8bb0(UnkSystem4 *param1, unk32 param2);
|
||||
bool func_ov000_020a8db0();
|
||||
bool func_ov000_020a8dd0();
|
||||
void func_ov000_020a8df0(ActorRef param1, unk32 param2);
|
||||
void func_ov000_020a8e9c(Vec3p *param1);
|
||||
void func_ov000_020a8e9c(VecFx32 *param1);
|
||||
void func_ov000_020a8ff4();
|
||||
void func_ov000_020a91b8(Vec3p *param1, unk32 param2);
|
||||
void func_ov000_020a91b8(VecFx32 *param1, unk32 param2);
|
||||
void func_ov000_020a9200();
|
||||
void func_ov000_020a9248();
|
||||
void func_ov000_020a94b0();
|
||||
|
||||
@@ -49,12 +49,12 @@ public:
|
||||
/* 9A */ unk8 mUnk_9A;
|
||||
/* 9B */ SCCNType mUnk_9B : 8;
|
||||
/* 9C */ unk32 mUnk_9C;
|
||||
/* A0 */ q20 mUnk_A0;
|
||||
/* A4 */ q20 mUnk_A4;
|
||||
/* A8 */ q20 mUnk_A8;
|
||||
/* AC */ q20 mUnk_AC;
|
||||
/* B0 */ q20 mUnk_B0;
|
||||
/* B4 */ q20 mUnk_B4;
|
||||
/* A0 */ fx32 mUnk_A0;
|
||||
/* A4 */ fx32 mUnk_A4;
|
||||
/* A8 */ fx32 mUnk_A8;
|
||||
/* AC */ fx32 mUnk_AC;
|
||||
/* B0 */ fx32 mUnk_B0;
|
||||
/* B4 */ fx32 mUnk_B4;
|
||||
/* B8 */ unk32 mUnk_B8;
|
||||
/* BC */ unk32 mUnk_BC;
|
||||
/* C0 */ unk32 mUnk_C0;
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
#include "global.h"
|
||||
#include "iterator.hpp"
|
||||
#include "math.hpp"
|
||||
#include "regs.h"
|
||||
#include "types.h"
|
||||
#include <nitro/reg.h>
|
||||
|
||||
extern const unk16 data_ov019_020d1bb0[];
|
||||
extern "C" void func_ov001_020bd6a8();
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
#include "Player/TouchControl.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkStruct_02049b18.hpp"
|
||||
#include "input.hpp"
|
||||
#include "math.hpp"
|
||||
#include "types.h"
|
||||
|
||||
#include <nitro/button.h>
|
||||
#include <nitro/touch.h>
|
||||
#include <nitro/tp.h>
|
||||
|
||||
class GameModeManagerBase;
|
||||
class GameModeManagerBase_104;
|
||||
|
||||
@@ -67,16 +67,16 @@ public:
|
||||
/* 0C */ virtual void vfunc_0C() = 0;
|
||||
/* 10 */ virtual void vfunc_10(Cylinder *param1) = 0;
|
||||
/* 14 */ virtual void vfunc_14() = 0;
|
||||
/* 18 */ virtual void vfunc_18(Vec3p *param1) = 0;
|
||||
/* 1C */ virtual void vfunc_1C(Vec3p *param1) = 0;
|
||||
/* 18 */ virtual void vfunc_18(VecFx32 *param1) = 0;
|
||||
/* 1C */ virtual void vfunc_1C(VecFx32 *param1) = 0;
|
||||
/* 20 */
|
||||
};
|
||||
|
||||
class MapObject_10 : public MapObject_10_Base {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 0C */ Vec3p mUnk_0C;
|
||||
/* 18 */ Vec3p mUnk_18;
|
||||
/* 0C */ VecFx32 mUnk_0C;
|
||||
/* 18 */ VecFx32 mUnk_18;
|
||||
/* 24 */
|
||||
|
||||
MapObject_10() {}
|
||||
@@ -88,8 +88,8 @@ public:
|
||||
/* 0C */ virtual void vfunc_0C();
|
||||
/* 10 */ virtual void vfunc_10(Cylinder *param1);
|
||||
/* 14 */ virtual void vfunc_14();
|
||||
/* 18 */ virtual void vfunc_18(Vec3p *param1);
|
||||
/* 1C */ virtual void vfunc_1C(Vec3p *param1);
|
||||
/* 18 */ virtual void vfunc_18(VecFx32 *param1);
|
||||
/* 1C */ virtual void vfunc_1C(VecFx32 *param1);
|
||||
/* 20 */
|
||||
};
|
||||
|
||||
@@ -116,7 +116,7 @@ public:
|
||||
class MapObject : public SysObject {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ Vec3p mPos;
|
||||
/* 04 */ VecFx32 mPos;
|
||||
/* 10 */ MapObject_10 *mUnk_10;
|
||||
/* 14 */ s16 mUnk_14;
|
||||
/* 16 */ s16 mUnk_16;
|
||||
@@ -144,7 +144,7 @@ public:
|
||||
/* 20 */ virtual void vfunc_20();
|
||||
/* 24 */ virtual void vfunc_24();
|
||||
/* 28 */ virtual unk32 vfunc_28();
|
||||
/* 2C */ virtual bool vfunc_2C(Vec3p *param1);
|
||||
/* 2C */ virtual bool vfunc_2C(VecFx32 *param1);
|
||||
/* 30 */ virtual ~MapObject();
|
||||
/* 38 */
|
||||
|
||||
@@ -175,15 +175,15 @@ public:
|
||||
bool func_ov000_0209d29c(unk32 param1);
|
||||
void func_ov000_0209d2c4(unk32 param1, unk32 param2);
|
||||
void func_ov000_0209d2f0(unk32 param1, unk32 param2, Vec2b *param3);
|
||||
void func_ov000_0209d3b4(unk32 param1, q20 size);
|
||||
void func_ov000_0209d3b4(unk32 param1, fx32 size);
|
||||
void func_ov000_0209d434(s8 *param1, UnkStruct_ov019_020d24c8_28_258_00 *param2, unk32 param3);
|
||||
void func_ov000_0209d518(unk32 param1, unk32 param2, unk32 param3, u8 param4);
|
||||
void func_ov000_0209d5c8(ActorRef ref);
|
||||
void func_ov000_0209d614(unk32 param1);
|
||||
bool func_ov000_0209d668();
|
||||
void func_ov000_0209d6ac(Vec3p *param1);
|
||||
void func_ov000_0209d6ac(VecFx32 *param1);
|
||||
|
||||
static void func_ov000_0209d0bc(Vec2b *param1, MapObject *thisx);
|
||||
static void func_ov000_0209d22c(unk16 *param1, MapObject *thisx, unk32 param2);
|
||||
static void func_ov000_0209d54c(void *param1, MapObject *thisx, unk32 param2, Vec3p *param3, unk32 param4, unk32 param5);
|
||||
static void func_ov000_0209d54c(void *param1, MapObject *thisx, unk32 param2, VecFx32 *param3, unk32 param4, unk32 param5);
|
||||
};
|
||||
|
||||
@@ -9,7 +9,7 @@ public:
|
||||
/* 04 */ unk32 mUnk_44;
|
||||
/* 08 */ unk16 mUnk_48;
|
||||
/* 0A */ s16 mUnk_4A;
|
||||
/* 0C */ Vec3p mUnk_4C;
|
||||
/* 0C */ VecFx32 mUnk_4C;
|
||||
/* 18 */
|
||||
|
||||
MapObject_UnkStruct1(); // func_ov000_02073194 & func_ov000_020731c4
|
||||
@@ -27,7 +27,7 @@ public:
|
||||
/* 18 */ bool mUnk_58;
|
||||
/* 19 */ unk8 mUnk_59;
|
||||
/* 1A */ s16 mUnk_5A;
|
||||
/* 1C */ Vec3p mUnk_5C;
|
||||
/* 1C */ VecFx32 mUnk_5C;
|
||||
/* 28 */
|
||||
|
||||
MapObject_UnkStruct1_Derived1(); // func_ov000_02073234
|
||||
@@ -112,7 +112,7 @@ public:
|
||||
/* 78 */ virtual void vfunc_78();
|
||||
/* 7C */ virtual void vfunc_7C();
|
||||
/* 80 */ virtual void vfunc_80();
|
||||
/* 84 */ virtual void vfunc_84(unk32 param1, Vec3p *param2, unk16 *param3);
|
||||
/* 84 */ virtual void vfunc_84(unk32 param1, VecFx32 *param2, unk16 *param3);
|
||||
/* 88 */ virtual bool vfunc_88();
|
||||
/* 8C */ virtual unk32 vfunc_8C();
|
||||
/* 90 */
|
||||
|
||||
@@ -63,7 +63,7 @@ public:
|
||||
/* 6C */ virtual bool vfunc_6C() override;
|
||||
/* 74 */ virtual void vfunc_74() override;
|
||||
/* 7C */ virtual void vfunc_7C() override;
|
||||
/* 84 */ virtual void vfunc_84(unk32 param1, Vec3p *param2, unk16 *param3) override;
|
||||
/* 84 */ virtual void vfunc_84(unk32 param1, VecFx32 *param2, unk16 *param3) override;
|
||||
/* 88 */ virtual bool vfunc_88() override;
|
||||
/* 8C */ virtual unk32 vfunc_8C() override;
|
||||
|
||||
@@ -72,5 +72,5 @@ public:
|
||||
|
||||
bool func_ov031_020fdec8(void);
|
||||
|
||||
static void func_ov031_020fe5fc(Vec3p *param1, MapObjectDoorDangerSpawn *thisx);
|
||||
static void func_ov031_020fe5fc(VecFx32 *param1, MapObjectDoorDangerSpawn *thisx);
|
||||
};
|
||||
|
||||
@@ -14,14 +14,14 @@ public:
|
||||
/* 0F4 */ MapObject_10 mUnk_0F4;
|
||||
#if IS_JP
|
||||
/* 118 */ MapObject_10 mUnk_118;
|
||||
/* 13C */ q20 mUnkPos;
|
||||
/* 13C */ fx32 mUnkPos;
|
||||
/* 140 */ bool mUnk_140;
|
||||
/* 141 */ bool mUnk_141;
|
||||
/* 142 */ unk8 mUnk_142; // pad
|
||||
/* 143 */ unk8 mUnk_143; // pad
|
||||
/* 144 */
|
||||
#else
|
||||
/* 118 */ q20 mUnkPos;
|
||||
/* 118 */ fx32 mUnkPos;
|
||||
/* 11C */
|
||||
#endif
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ public:
|
||||
MapObject *func_01fff498(Vec2b param1);
|
||||
void func_01fff4cc(UnkCallback_func_01fff4cc param1, void *param2);
|
||||
MapObject **func_01fff520(UnkStruct_ov000_020b34c4 *param1, MapObject **param2);
|
||||
void func_01fff6d0(Vec3p *param1, s32 *param2, s32 *param3);
|
||||
void func_01fff6d0(VecFx32 *param1, s32 *param2, s32 *param3);
|
||||
|
||||
MapObjectId func_ov000_0209c3a8(Vec2b *param1);
|
||||
void func_ov000_0209c3e8();
|
||||
|
||||
@@ -5,15 +5,15 @@
|
||||
#include "math.hpp"
|
||||
|
||||
struct Cylinder {
|
||||
Vec3p pos;
|
||||
q20 size; // height and radius
|
||||
VecFx32 pos;
|
||||
fx32 size; // height and radius
|
||||
|
||||
Cylinder() {}
|
||||
Cylinder(q20 size) {
|
||||
Cylinder(fx32 size) {
|
||||
this->Init(size);
|
||||
}
|
||||
|
||||
void Init(q20 size) {
|
||||
void Init(fx32 size) {
|
||||
pos.x = 0;
|
||||
pos.y = size;
|
||||
pos.z = 0;
|
||||
@@ -22,7 +22,7 @@ struct Cylinder {
|
||||
}
|
||||
|
||||
void MakeEmpty() {
|
||||
pos = gVec3p_ZERO;
|
||||
pos = gVecFx32_ZERO;
|
||||
size = -1;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
// incomplete
|
||||
class PlayerActor {
|
||||
public:
|
||||
/* 00 */ Vec3p mPos;
|
||||
/* 0C */ Vec3p mPrevPos;
|
||||
/* 18 */ Vec3p mVel;
|
||||
/* 24 */ Vec3p mAccel;
|
||||
/* 00 */ VecFx32 mPos;
|
||||
/* 0C */ VecFx32 mPrevPos;
|
||||
/* 18 */ VecFx32 mVel;
|
||||
/* 24 */ VecFx32 mAccel;
|
||||
/* 30 */ u16 mAngle;
|
||||
/* 32 */ u8 mInvincibilityTimer;
|
||||
/* 33 */ u8 mInvincibilityIconTimer; // the blinking icon on top-screen
|
||||
|
||||
@@ -90,10 +90,10 @@ struct UnkStruct_ov110_02185dc8 {
|
||||
|
||||
class UnkStruct_ov110_021861ec {
|
||||
public:
|
||||
/* 00 */ Vec3p mUnk_00;
|
||||
/* 00 */ VecFx32 mUnk_00;
|
||||
/* 0C */
|
||||
|
||||
ARM UnkStruct_ov110_021861ec(q20 x, q20 y, q20 z) {
|
||||
ARM UnkStruct_ov110_021861ec(fx32 x, fx32 y, fx32 z) {
|
||||
this->mUnk_00.x = x;
|
||||
this->mUnk_00.y = y;
|
||||
this->mUnk_00.z = z;
|
||||
|
||||
@@ -17,14 +17,14 @@ public:
|
||||
/* 54 */ UnkStruct_SceneChange1 mUnk_54;
|
||||
/* 68 */ unk32 mUnk_68;
|
||||
/* 6C */ s32 mUnk_6C;
|
||||
/* 70 */ volatile Vec3p mUnk_70;
|
||||
/* 70 */ volatile VecFx32 mUnk_70;
|
||||
/* 7C */ unk32 mUnk_7C;
|
||||
/* 80 */ volatile Vec3p mUnk_80;
|
||||
/* 80 */ volatile VecFx32 mUnk_80;
|
||||
/* 8C */ unk32 mUnk_8C;
|
||||
/* 90 */ volatile u32 mUnk_90;
|
||||
/* 94 */ u16 mUnk_94[2];
|
||||
/* 98 */ unk32 mUnk_98;
|
||||
/* 9C */ Vec3p mUnk_9C;
|
||||
/* 9C */ VecFx32 mUnk_9C;
|
||||
/* A8 */ unk16 mUnk_A8;
|
||||
/* AA */ unk16 mUnk_AA;
|
||||
/* AC */ bool mUnk_AC;
|
||||
@@ -38,7 +38,7 @@ public:
|
||||
/* 04 */ virtual ~PlayerSceneChange() override;
|
||||
/* 0C */ virtual void vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) override;
|
||||
/* 10 */ virtual void vfunc_10(unk32 param1, unk32 param2) override;
|
||||
/* 1C */ virtual bool vfunc_1c(Vec3p *param1) override;
|
||||
/* 1C */ virtual bool vfunc_1c(VecFx32 *param1) override;
|
||||
};
|
||||
|
||||
class PlayerSceneChange2 : public UnkStruct_ov000_0208f820 {
|
||||
@@ -47,8 +47,8 @@ public:
|
||||
/* 48 */ unk32 mUnk_48;
|
||||
/* 4C */ unk32 mUnk_4C;
|
||||
/* 50 */ unk32 mUnk_50;
|
||||
/* 54 */ Vec3p mUnk_54;
|
||||
/* 54 */ Vec3p mUnk_60;
|
||||
/* 54 */ VecFx32 mUnk_54;
|
||||
/* 54 */ VecFx32 mUnk_60;
|
||||
|
||||
PlayerSceneChange2();
|
||||
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
|
||||
#include "math.hpp"
|
||||
#include "types.h"
|
||||
#include <nitro/touch.h>
|
||||
|
||||
#include <nitro/tp.h>
|
||||
|
||||
typedef u16 TouchFlags;
|
||||
enum TouchFlag_ {
|
||||
@@ -14,6 +15,14 @@ enum TouchFlag_ {
|
||||
|
||||
#define CHECK_TOUCH_FLAGS(pTC, flags) ((pTC)->mFlags & (flags))
|
||||
|
||||
struct TouchState {
|
||||
/* 00 */ bool touch;
|
||||
/* 01 */ bool unk_01;
|
||||
/* 02 */ struct {
|
||||
s16 x, y;
|
||||
} touchPos;
|
||||
}; // size = 0x06
|
||||
|
||||
class TouchControl {
|
||||
public:
|
||||
/* 00 */ u16 mSpeed;
|
||||
@@ -34,11 +43,13 @@ public:
|
||||
TouchControl();
|
||||
void IncreaseSpeed(u16 increase);
|
||||
void UpdateFlags(u16 speed);
|
||||
void UpdateWithStateFlags(TouchStateFlags *state, u16 speed);
|
||||
void UpdateWithStateFlags(TPData *state, u16 speed);
|
||||
void Update(const TouchState *state, u16 speed);
|
||||
void func_02014414(u16 speedIncrease, bool shouldIncrease);
|
||||
void func_02014478(TouchState *state, u16 speed);
|
||||
|
||||
static bool func_020143f0();
|
||||
static void UpdateState(TouchState *state, const TouchStateFlags *stateFlags);
|
||||
static void UpdateState(TouchState *state, const TPData *stateFlags);
|
||||
};
|
||||
|
||||
extern TouchState data_02049b4c;
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
#include "MainGame/MiscAdvManager.hpp"
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkMemFuncs.h"
|
||||
#include "Unknown/UnkStruct_ov000_02067bc4.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
#include <nitro/mi.h>
|
||||
|
||||
//! TODO: kinda draft state for now
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "System/SysFault.hpp"
|
||||
#include "types.h"
|
||||
|
||||
#include <nitro/Overlay.h>
|
||||
#include <nitro/fs.h>
|
||||
|
||||
typedef u32 ItemFlag;
|
||||
|
||||
|
||||
@@ -3,13 +3,10 @@
|
||||
#include "Game/GameModeManager.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "regs.h"
|
||||
#include "types.h"
|
||||
|
||||
extern "C" {
|
||||
void GX_SetGraphicsMode(unk32 param1, unk32 param2, unk32 param3);
|
||||
void GXS_SetGraphicsMode(unk32 param1);
|
||||
}
|
||||
#include <nitro/g2.h>
|
||||
#include <nitro/reg.h>
|
||||
|
||||
DECL_PTMF(TitleScreenPTMF, Input *pButtons, TouchControl *pTouchControl);
|
||||
|
||||
@@ -124,7 +121,7 @@ public:
|
||||
this->mpGameMode = NULL;
|
||||
GX_SetGraphicsMode(1, 0, 1);
|
||||
GXS_SetGraphicsMode(5);
|
||||
REG_BG3CNT_SUB = (REG_BG3CNT_SUB & 0x0043) | 0x4E14;
|
||||
G2S_SetBG3Control(1, 0, 14, 5, 0);
|
||||
}
|
||||
|
||||
void func_ov025_020c4c20();
|
||||
|
||||
+10
-10
@@ -3,11 +3,11 @@
|
||||
#include "Game/GameModeManager.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkFileSystem.hpp"
|
||||
#include "Unknown/UnkMemFuncs.h"
|
||||
#include "global.h"
|
||||
#include "math.hpp"
|
||||
#include "profile.hpp"
|
||||
#include "types.h"
|
||||
#include <nitro/mi.h>
|
||||
|
||||
#include <nns/text.h>
|
||||
|
||||
@@ -1006,7 +1006,7 @@ public:
|
||||
/* 08 */ virtual void vfunc_08(void *param1); // resource thing? (GetUnkPointer1_Impl as param1)
|
||||
/* 0C */ virtual void vfunc_0C();
|
||||
/* 10 */ virtual void vfunc_10();
|
||||
/* 14 */ virtual void vfunc_14(Mat3p *param1, Vec3p *param2);
|
||||
/* 14 */ virtual void vfunc_14(Mat3p *param1, VecFx32 *param2);
|
||||
/* 18 */ virtual void vfunc_18();
|
||||
/* 1C */ virtual void vfunc_1C(UnkSystem4_vfunc_1C *param1);
|
||||
/* 20 */ virtual void vfunc_20();
|
||||
@@ -1093,10 +1093,10 @@ public:
|
||||
// data_ov000_020b1a98
|
||||
/* 00 */ virtual ~UnkSystem6();
|
||||
/* 08 */ virtual void vfunc_08(void *param1); // resource thing like UnkSystem4?
|
||||
/* 0C */ virtual void vfunc_0C() = 0;
|
||||
/* 10 */ virtual void vfunc_10() = 0;
|
||||
/* 14 */ virtual void vfunc_14(Mat3p *param1, Vec3p *param2) = 0;
|
||||
/* 18 */ virtual void vfunc_18() = 0;
|
||||
/* 0C */ virtual void vfunc_0C() = 0;
|
||||
/* 10 */ virtual void vfunc_10() = 0;
|
||||
/* 14 */ virtual void vfunc_14(Mat3p *param1, VecFx32 *param2) = 0;
|
||||
/* 18 */ virtual void vfunc_18() = 0;
|
||||
/* 1C */
|
||||
};
|
||||
|
||||
@@ -1111,7 +1111,7 @@ public:
|
||||
// data_ov000_020b1a48
|
||||
/* 00 */ virtual ~UnkSystem6_Derived1() override {}
|
||||
/* 10 */ virtual void vfunc_10() override;
|
||||
/* 14 */ virtual void vfunc_14(Mat3p *param1, Vec3p *param2) override;
|
||||
/* 14 */ virtual void vfunc_14(Mat3p *param1, VecFx32 *param2) override;
|
||||
/* 18 */ virtual void vfunc_18() override;
|
||||
};
|
||||
|
||||
@@ -1140,13 +1140,13 @@ struct UnkStackStruct1 {
|
||||
/* 03 */ unk8 mUnk_03;
|
||||
/* 04 */ void *mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ Vec3p mUnk_0C;
|
||||
/* 0C */ VecFx32 mUnk_0C;
|
||||
/* 18 */ unk16 mUnk_18;
|
||||
/* 1A */ unk16 mUnk_1A;
|
||||
/* 1C */ unk16 mUnk_1C;
|
||||
/* 1E */ unk16 mUnk_1E;
|
||||
/* 20 */ unk32 mUnk_20;
|
||||
/* 24 */ Vec3p mUnk_24;
|
||||
/* 24 */ VecFx32 mUnk_24;
|
||||
/* 30 */ unk16 mUnk_30;
|
||||
/* 32 */ unk16 mUnk_32;
|
||||
/* 34 */ unk16 mUnk_34;
|
||||
@@ -1165,7 +1165,7 @@ struct UnkSystem7_UnkStruct_00 {
|
||||
/* 28 */ STRUCT_PAD(0x28, 0xA4);
|
||||
/* A4 */ unk16 mUnk_A4;
|
||||
|
||||
void func_ov000_02052c48(Vec3p *param1, Vec3p *param2);
|
||||
void func_ov000_02052c48(VecFx32 *param1, VecFx32 *param2);
|
||||
};
|
||||
|
||||
class UnkSystem7 {
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
|
||||
//! TODO: temporary place until this is documented properly
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
void MI_CpuFill16(int value, void *dst, size_t size);
|
||||
void MI_CpuCopy16(void *src, void *dest, size_t size);
|
||||
void MI_CpuFill32(int value, void *dest, size_t size);
|
||||
// MI_CpuCopy32
|
||||
// Stream32
|
||||
void _MI_CpuFill(int value, void *dst, size_t size);
|
||||
void _MI_CpuCopy(void *src, void *dest, size_t size);
|
||||
// CopySingle256
|
||||
// CopySingle288
|
||||
// CopySingle384
|
||||
// CopySingle512
|
||||
void MI_CpuFill8(void *dst, int value, size_t size);
|
||||
// Copy
|
||||
// Zero288
|
||||
// Swap32
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
#include "Player/TouchControl.hpp"
|
||||
#include "global.h"
|
||||
#include "input.hpp"
|
||||
#include "types.h"
|
||||
#include <nitro/button.h>
|
||||
|
||||
class UnkStruct_02049b18_06 {
|
||||
public:
|
||||
|
||||
@@ -2,10 +2,11 @@
|
||||
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "Unknown/UnkMemFuncs.h"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include <nitro/mi.h>
|
||||
|
||||
class GameModeManagerBase;
|
||||
|
||||
struct UnkStruct_0204a110_Sub2_000_158 {
|
||||
@@ -69,7 +70,7 @@ public:
|
||||
/* 200 */
|
||||
|
||||
UnkStruct_0204a110_Sub3_00() {
|
||||
MI_CpuFill16(0, (u16 *) this->mUnk_000, sizeof(this->mUnk_000));
|
||||
MI_CpuFill16(0, this->mUnk_000, sizeof(this->mUnk_000));
|
||||
}
|
||||
};
|
||||
|
||||
@@ -159,8 +160,7 @@ public:
|
||||
UnkSubStruct1_Methods;
|
||||
};
|
||||
|
||||
//! TODO: actually a matrix
|
||||
extern Vec4p data_027e0120;
|
||||
extern MtxFx22 data_027e0120;
|
||||
|
||||
class UnkStruct_0204a110_Sub7 {
|
||||
public:
|
||||
@@ -170,7 +170,7 @@ public:
|
||||
/* 03 */ unk8 mUnk_03;
|
||||
/* 04 */ UnkSystem2_UnkSubSystem9 *mUnk_04;
|
||||
/* 08 */ UnkStruct_0204a110_Sub7_08 *mUnk_08;
|
||||
/* 0C */ Vec4p mUnk_0C; // same type as data_027e0120?
|
||||
/* 0C */ MtxFx22 mUnk_0C;
|
||||
/* 1C */
|
||||
|
||||
UnkStruct_0204a110_Sub7();
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "Unknown/UnkStruct_02049b18.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
#include <nitro/button.h>
|
||||
#include <nitro/pad.h>
|
||||
|
||||
class UnkStruct_0204e64c_00 {
|
||||
public:
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "Player/Player.hpp"
|
||||
#include "Player/TouchControl.hpp"
|
||||
#include "global.h"
|
||||
#include <nitro/button.h>
|
||||
#include <nitro/pad.h>
|
||||
|
||||
// incomplete
|
||||
class UnkStruct_027e0478 {
|
||||
|
||||
@@ -18,7 +18,7 @@ public:
|
||||
UnkStruct_027e0998_Base();
|
||||
|
||||
// data_ov000_020b1e08
|
||||
/* 00 */ virtual bool vfunc_00(Vec3p *pPos, Vec2s *param2, u16 *param3);
|
||||
/* 00 */ virtual bool vfunc_00(VecFx32 *pPos, Vec2s *param2, u16 *param3);
|
||||
/* 04 */
|
||||
|
||||
void func_ov000_02061760();
|
||||
@@ -38,11 +38,11 @@ public:
|
||||
~UnkStruct_027e0998(); // ClearInstance
|
||||
|
||||
// data_ov024_020d7c98
|
||||
/* 00 */ virtual bool vfunc_00(Vec3p *pPos, Vec2s *param2, u16 *param3) override;
|
||||
/* 00 */ virtual bool vfunc_00(VecFx32 *pPos, Vec2s *param2, u16 *param3) override;
|
||||
/* 04 */
|
||||
|
||||
bool func_ov024_020c716c();
|
||||
bool func_ov024_020c7214(Vec3p *pPos, Vec2s *param2, u16 *param3);
|
||||
bool func_ov024_020c7214(VecFx32 *pPos, Vec2s *param2, u16 *param3);
|
||||
bool func_ov024_020c727c(Vec2s *param1, u16 *param2);
|
||||
bool func_ov024_020c7300(unk32 param1);
|
||||
bool func_ov024_020c7354();
|
||||
|
||||
@@ -227,7 +227,7 @@ public:
|
||||
/* 28 */ unk32 mUnk_28;
|
||||
/* 2C */ s16 mUnk_2C;
|
||||
/* 2C */ unk16 mUnk_2E;
|
||||
/* 30 */ Vec3p mUnk_30;
|
||||
/* 30 */ VecFx32 mUnk_30;
|
||||
/* 3C */ STRUCT_PAD(0x3C, 0x54);
|
||||
/* 54 */ void *mUnk_54; // vtable
|
||||
/* 58 */ UnkStruct_WarpUnk1 *mpWarpUnk1;
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
|
||||
class UnkStruct_027e09a8 {
|
||||
public:
|
||||
void func_ov000_02071b30(unk32 param1, Vec3p *pPos, unk32 param3);
|
||||
void func_ov000_02071d34(void *param1, unk32 param2, Vec3p *pPos, unk32 param4);
|
||||
void func_ov000_02071b30(unk32 param1, VecFx32 *pPos, unk32 param3);
|
||||
void func_ov000_02071d34(void *param1, unk32 param2, VecFx32 *pPos, unk32 param4);
|
||||
};
|
||||
|
||||
extern UnkStruct_027e09a8 *data_027e09a8;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
#include "Unknown/UnkMemFuncs.h"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
#include <nitro/mi.h>
|
||||
|
||||
#include "math.hpp"
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
class UnkStruct_027e09bc_0c {
|
||||
public:
|
||||
void func_ov000_02078230(unk32 param1);
|
||||
bool func_ov000_0207834c(Vec3p *param1, unk32 param2, unk32 param3);
|
||||
bool func_ov000_02078764(Vec3p *param1, void *param2, unk32 param3);
|
||||
bool func_ov000_0207834c(VecFx32 *param1, unk32 param2, unk32 param3);
|
||||
bool func_ov000_02078764(VecFx32 *param1, void *param2, unk32 param3);
|
||||
};
|
||||
|
||||
class UnkStruct_027e09bc {
|
||||
|
||||
@@ -90,10 +90,10 @@ public:
|
||||
/* 1C */ virtual void vfunc_1c();
|
||||
/* 20 */ virtual void vfunc_20();
|
||||
/* 24 */ virtual void vfunc_24();
|
||||
/* 28 */ virtual q20 vfunc_28(Vec3p *param1, unk32 param2, unk32 param3);
|
||||
/* 28 */ virtual fx32 vfunc_28(VecFx32 *param1, unk32 param2, unk32 param3);
|
||||
/* 2C */ virtual void vfunc_2c();
|
||||
|
||||
q20 func_01ffedf4(Vec2b *pPos);
|
||||
fx32 func_01ffedf4(Vec2b *pPos);
|
||||
|
||||
unk32 func_ov000_02080180(void *param1);
|
||||
bool func_ov000_02080658(unk32 param1, UnkStruct_SceneChange1 *param2);
|
||||
@@ -102,9 +102,9 @@ public:
|
||||
void func_ov000_020801b0(Vec2b *param1, unk32 param2, unk32 param3);
|
||||
void func_ov000_0208053c(u16 param1);
|
||||
void func_ov000_020803ec(u16 param1);
|
||||
unk32 func_ov000_020802ec(u16 param1, Vec3p *param2);
|
||||
unk32 func_ov000_020802ec(u16 param1, VecFx32 *param2);
|
||||
|
||||
Vec3p *func_ov001_020b8a5c(unk32 spawnIndex, unk32 param1);
|
||||
VecFx32 *func_ov001_020b8a5c(unk32 spawnIndex, unk32 param1);
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8_04_0C {
|
||||
@@ -138,7 +138,7 @@ public:
|
||||
/* 0C */ UnkStruct_027e0cd8_0c *mUnk_0C; // related to train?
|
||||
/* 10 */ MapObjectManager *mUnk_10;
|
||||
/* 14 */ STRUCT_PAD(0x14, 0x24);
|
||||
/* 24 */ Vec3p mUnk_24;
|
||||
/* 24 */ VecFx32 mUnk_24;
|
||||
/* 34 */ STRUCT_PAD(0x34, 0x4C);
|
||||
/* 4C */
|
||||
|
||||
|
||||
@@ -76,14 +76,14 @@ public:
|
||||
/* 40 */ unk32 *mUnk_40; // pointer to data_027e0478 when not on the train
|
||||
/* 44 */
|
||||
|
||||
Vec3p *func_01fff148(unk32 param1);
|
||||
VecFx32 *func_01fff148(unk32 param1);
|
||||
bool func_01fff1a4();
|
||||
|
||||
// overlay 0
|
||||
void func_ov000_0208a318(unk32 param1, unk32 param2, unk32 param3);
|
||||
void func_ov000_0208bbd4(unk32 param1, Vec3p *param2, u16 param3);
|
||||
void func_ov000_0208bbd4(unk32 param1, VecFx32 *param2, u16 param3);
|
||||
|
||||
void func_ov000_0208bbd4(unk32 param1, Vec3p *param2, void *param3);
|
||||
void func_ov000_0208bbd4(unk32 param1, VecFx32 *param2, void *param3);
|
||||
|
||||
static UnkStruct_027e0ce0_34 *func_ov000_0205c904();
|
||||
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
|
||||
class UnkStruct_027e0cec {
|
||||
public:
|
||||
void func_ov000_0209feac(unk32 param1, Vec3p *param2, unk32 param3, unk32 param4, unk32 param5);
|
||||
void func_ov000_0209ff8c(UnkStruct_PlayerGet_ec *param1, unk32 param2, Vec3p *param3, unk32 param4);
|
||||
void func_ov000_020a0000(UnkStruct_PlayerGet_ec *param1, void *param2, unk32 *param3, Vec3p *param4, unk32 param5);
|
||||
void func_ov000_0209feac(unk32 param1, VecFx32 *param2, unk32 param3, unk32 param4, unk32 param5);
|
||||
void func_ov000_0209ff8c(UnkStruct_PlayerGet_ec *param1, unk32 param2, VecFx32 *param3, unk32 param4);
|
||||
void func_ov000_020a0000(UnkStruct_PlayerGet_ec *param1, void *param2, unk32 *param3, VecFx32 *param4, unk32 param5);
|
||||
void func_ov000_020a0110(UnkStruct_PlayerGet_ec *param1);
|
||||
void func_ov000_020a0220(void *param1, void *param2);
|
||||
};
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "Unknown/UnkStruct_02049b18.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
#include <nitro/button.h>
|
||||
#include <nitro/pad.h>
|
||||
|
||||
class UnkStruct_ov000_02067bc4_Sub1 {
|
||||
public:
|
||||
|
||||
@@ -55,7 +55,7 @@ public:
|
||||
// /* 3C */ unk32 mUnk_3C;
|
||||
// /* 40 */ u16 mUnk_40;
|
||||
|
||||
void func_ov093_0216f76c(Vec3p *param1, unk32 param2);
|
||||
void func_ov093_0216f76c(VecFx32 *param1, unk32 param2);
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820_28 {
|
||||
@@ -136,7 +136,7 @@ public:
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ unk32 mUnk_0C;
|
||||
/* 10 */ Vec3p mUnk_10;
|
||||
/* 10 */ VecFx32 mUnk_10;
|
||||
/* 1C */ ItemId mUnk_1C;
|
||||
};
|
||||
|
||||
@@ -204,9 +204,9 @@ public:
|
||||
/* 28 */ UnkStruct_ov000_0208f820_28 *mUnk_28;
|
||||
/* 2C */ UnkStruct_ov000_0208f820_2c *mUnk_2C;
|
||||
/* 30 */ UnkStruct_ov000_0208f820_30 *mUnk_30;
|
||||
/* 34 */ Vec3p *mUnk_34;
|
||||
/* 38 */ Vec3p *mUnk_38;
|
||||
/* 3C */ Vec3p *mUnk_3C;
|
||||
/* 34 */ VecFx32 *mUnk_34;
|
||||
/* 38 */ VecFx32 *mUnk_38;
|
||||
/* 3C */ VecFx32 *mUnk_3C;
|
||||
/* 40 */ UnkStruct_ov000_0208f820_40 *mUnk_40;
|
||||
/* 44 */ UnkStruct_ov000_0208f820_44 *mUnk_44;
|
||||
/* 48 */
|
||||
@@ -217,11 +217,11 @@ public:
|
||||
/* 10 */ virtual void vfunc_10(unk32 param1, unk32 param2) = 0;
|
||||
/* 14 */ virtual void vfunc_14();
|
||||
/* 18 */ virtual void vfunc_18(unk32 param1, unk32 param2, unk32 param3);
|
||||
/* 1C */ virtual bool vfunc_1c(Vec3p *param1);
|
||||
/* 1C */ virtual bool vfunc_1c(VecFx32 *param1);
|
||||
/* 20 */
|
||||
|
||||
UnkStruct_ov000_0208f820();
|
||||
|
||||
bool func_ov000_020914b0(unk32 param1, Vec3p *param2, unk32 param3);
|
||||
bool func_ov000_020914b0(unk32 param1, VecFx32 *param2, unk32 param3);
|
||||
bool func_ov000_02091e68(unk32 param1);
|
||||
};
|
||||
|
||||
@@ -10,7 +10,7 @@ class UnkStruct_ov000_020b5d34_00 {
|
||||
public:
|
||||
/* 00 */ unk32 *mUnk_00;
|
||||
/* 04 */ MapObject_20 *mUnk_04;
|
||||
/* 08 */ Vec3p *mUnk_08;
|
||||
/* 08 */ VecFx32 *mUnk_08;
|
||||
/* 0C */ s16 *mUnk_0C;
|
||||
/* 10 */
|
||||
};
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include <nitro/button.h>
|
||||
#include <nitro/pad.h>
|
||||
|
||||
// Title Card Scene Message Index (see sBMGSceneMap)
|
||||
typedef s32 TC_SceneMsgIdx;
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
#ifndef GLOBAL_H
|
||||
#define GLOBAL_H
|
||||
|
||||
#define ARRAY_LEN_U(arr) (u32)((sizeof(arr) / sizeof(*arr)))
|
||||
#define ARRAY_LEN(arr) (s32)((sizeof(arr) / sizeof(*arr)))
|
||||
|
||||
// Prevent the IDE from reporting errors that the compiler/linker won't report
|
||||
#ifdef __INTELLISENSE__
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#include <nitro/pad.h>
|
||||
|
||||
#define CHECK_BUTTON_COMBO(value, btn) ((value) & (btn))
|
||||
|
||||
struct Input {
|
||||
/* 00 */ u16 cur;
|
||||
/* 02 */ volatile u16 press;
|
||||
/* 04 */ u16 release;
|
||||
/* 06 */
|
||||
|
||||
Input();
|
||||
unk32 func_02013c08(u16 param1);
|
||||
unk32 func_02013b24(unk32 param1);
|
||||
unk32 func_02013bbc();
|
||||
};
|
||||
+8
-8
@@ -231,11 +231,11 @@ static inline void Vec2b_Copy(const Vec2b *a, Vec2b *dst) {
|
||||
|
||||
union Vec2pCpp {
|
||||
struct {
|
||||
/* 0 */ q20 x;
|
||||
/* 4 */ q20 y;
|
||||
/* 0 */ fx32 x;
|
||||
/* 4 */ fx32 y;
|
||||
/* 8 */
|
||||
};
|
||||
q20 coords[2];
|
||||
fx32 coords[2];
|
||||
|
||||
void operator=(const Vec2pCpp &from) {
|
||||
this->x = from.x;
|
||||
@@ -243,7 +243,7 @@ union Vec2pCpp {
|
||||
}
|
||||
|
||||
Vec2pCpp() {}
|
||||
Vec2pCpp(q20 X, q20 Y) {
|
||||
Vec2pCpp(fx32 X, fx32 Y) {
|
||||
x = X;
|
||||
y = Y;
|
||||
}
|
||||
@@ -267,16 +267,16 @@ static inline void Vec2pCpp_Clear(Vec2pCpp *dst) {
|
||||
}
|
||||
|
||||
static inline void Vec2pCpp_Add(const Vec2pCpp *a, const Vec2pCpp *b, Vec2pCpp *dst) {
|
||||
q20 x = a->x + b->x;
|
||||
q20 y = a->y + b->y;
|
||||
fx32 x = a->x + b->x;
|
||||
fx32 y = a->y + b->y;
|
||||
|
||||
dst->x = x;
|
||||
dst->y = y;
|
||||
}
|
||||
|
||||
static inline void Vec2pCpp_Sub(const Vec2pCpp *a, const Vec2pCpp *b, Vec2pCpp *dst) {
|
||||
q20 x = a->x - b->x;
|
||||
q20 y = a->y - b->y;
|
||||
fx32 x = a->x - b->x;
|
||||
fx32 y = a->y - b->y;
|
||||
|
||||
dst->x = x;
|
||||
dst->y = y;
|
||||
|
||||
+1
-31
@@ -1,37 +1,7 @@
|
||||
#ifndef TYPES_H
|
||||
#define TYPES_H
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
typedef unsigned long long u64;
|
||||
typedef unsigned int u32;
|
||||
typedef unsigned short u16;
|
||||
typedef unsigned char u8;
|
||||
|
||||
typedef long long s64;
|
||||
typedef int s32;
|
||||
typedef short s16;
|
||||
typedef char s8;
|
||||
|
||||
typedef float f32;
|
||||
typedef double f64;
|
||||
|
||||
typedef volatile u64 vu64;
|
||||
typedef volatile u32 vu32;
|
||||
typedef volatile u16 vu16;
|
||||
typedef volatile u8 vu8;
|
||||
|
||||
typedef volatile s64 vs64;
|
||||
typedef volatile s32 vs32;
|
||||
typedef volatile s16 vs16;
|
||||
typedef volatile s8 vs8;
|
||||
|
||||
typedef volatile f32 vf32;
|
||||
typedef volatile f64 vf64;
|
||||
|
||||
typedef u32 BOOL;
|
||||
|
||||
#define ATTRIBUTE_ALIGN(x) __attribute__((aligned(x)))
|
||||
#include <nitro/types.h>
|
||||
|
||||
typedef s8 unk8;
|
||||
typedef s16 unk16;
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
#ifndef _C_STDBOOL_H
|
||||
#define _C_STDBOOL_H
|
||||
|
||||
#ifndef __cplusplus
|
||||
#define bool int
|
||||
#define true 1
|
||||
#define false 0
|
||||
#define __bool_true_false_are_defined 1
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -28,10 +28,7 @@ typedef unsigned int size_t;
|
||||
#endif
|
||||
|
||||
#ifndef __cplusplus
|
||||
typedef int bool;
|
||||
typedef unsigned short wchar_t;
|
||||
#define true 1
|
||||
#define false 0
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#include <stdbool.h>
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include <mem.h>
|
||||
#include <secure_error.h>
|
||||
#include <stdarg.h>
|
||||
#include <stdbool.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <wstring.h>
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
#include <stdbool.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#include "nitro/card.h"
|
||||
#include "nitro/dc.h"
|
||||
#include "nitro/fs.h"
|
||||
#include "nitro/fx.h"
|
||||
#include "nitro/g2.h"
|
||||
#include "nitro/gx.h"
|
||||
#include "nitro/hw.h"
|
||||
#include "nitro/mi.h"
|
||||
#include "nitro/os.h"
|
||||
#include "nitro/pad.h"
|
||||
#include "nitro/pm.h"
|
||||
#include "nitro/reg.h"
|
||||
#include "nitro/rtc.h"
|
||||
#include "nitro/snd.h"
|
||||
#include "nitro/std.h"
|
||||
#include "nitro/svc.h"
|
||||
#include "nitro/tp.h"
|
||||
#include "nitro/types.h"
|
||||
@@ -1,43 +0,0 @@
|
||||
#ifndef _NITRO_OVERLAY_H
|
||||
#define _NITRO_OVERLAY_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define EXTERN_OVERLAY_ID(name_or_index) extern u32 OVERLAY_##name_or_index##_ID;
|
||||
#define OVERLAY_ID(name_or_index) ((u32) & OVERLAY_##name_or_index##_ID)
|
||||
|
||||
typedef struct Overlay {
|
||||
/* 00 */ unk32 mId;
|
||||
/* 04 */ void *mBaseAddress;
|
||||
/* 08 */ u32 mTextSize;
|
||||
/* 0C */ s32 mBssSize;
|
||||
/* 10 */ unk32 mCtorStart;
|
||||
/* 14 */ unk32 mCtorEnd;
|
||||
/* 18 */ unk32 mFileId;
|
||||
/* 1C */ u32 mFileSize;
|
||||
/* 20 */
|
||||
} Overlay;
|
||||
|
||||
u32 Overlay_FileSize(Overlay *overlay);
|
||||
void Overlay_ClearCacheAndBss(Overlay *overlay);
|
||||
void Overlay_func_02042238(unk32 *param1, Overlay *overlay);
|
||||
bool Overlay_func_02042250(Overlay *param1, Overlay *param2, s32 param3, unk32 param4, s32 param5, u32 param6, s32 param7,
|
||||
u32 param8);
|
||||
bool Overlay_func_020422ec(Overlay *param1, Overlay *param2, s32 param3);
|
||||
bool Overlay_func_0204238c(Overlay *overlay);
|
||||
bool Overlay_func_020423e8(s32 param1, unk32 param2, unk32 param3);
|
||||
void Overlay_Init(Overlay *overlay);
|
||||
void Overlay_RunGlobalDestructors(Overlay *overlay);
|
||||
bool Overlay_Destroy(Overlay *overlay);
|
||||
bool FS_LoadOverlay(Overlay *overlay, unk32 param2);
|
||||
bool FS_UnloadOverlay(Overlay *overlay, unk32 param2);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -1,30 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#define BTN_A (1 << 0) // 0x0001
|
||||
#define BTN_B (1 << 1) // 0x0002
|
||||
#define BTN_SELECT (1 << 2) // 0x0004
|
||||
#define BTN_START (1 << 3) // 0x0008
|
||||
#define BTN_DRIGHT (1 << 4) // 0x0010
|
||||
#define BTN_DLEFT (1 << 5) // 0x0020
|
||||
#define BTN_DUP (1 << 6) // 0x0040
|
||||
#define BTN_DDOWN (1 << 7) // 0x0080
|
||||
#define BTN_R (1 << 8) // 0x0100
|
||||
#define BTN_L (1 << 9) // 0x0200
|
||||
#define BTN_X (1 << 10) // 0x0400
|
||||
#define BTN_Y (1 << 11) // 0x0800
|
||||
|
||||
#define CHECK_BUTTON_COMBO(value, btn) ((value) & (btn))
|
||||
|
||||
struct Input {
|
||||
/* 00 */ u16 cur;
|
||||
/* 02 */ volatile u16 press;
|
||||
/* 04 */ u16 release;
|
||||
/* 06 */
|
||||
|
||||
Input();
|
||||
unk32 func_02013c08(u16 param1);
|
||||
unk32 func_02013b24(unk32 param1);
|
||||
unk32 func_02013bbc();
|
||||
};
|
||||
@@ -0,0 +1,71 @@
|
||||
#ifndef _NITRO_CARD_H
|
||||
#define _NITRO_CARD_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "nitro/types.h"
|
||||
|
||||
#define CARD_BACKUP_TYPE_EEPROM 1
|
||||
#define CARD_BACKUP_TYPE_FLASH 2
|
||||
#define CARD_BACKUP_TYPE_FRAM 3
|
||||
|
||||
#define CARD_BACKUP_TYPE_EEPROM_4KBITS (0x900 | CARD_BACKUP_TYPE_EEPROM)
|
||||
#define CARD_BACKUP_TYPE_EEPROM_64KBITS (0xd00 | CARD_BACKUP_TYPE_EEPROM)
|
||||
#define CARD_BACKUP_TYPE_EEPROM_512KBITS (0x1000 | CARD_BACKUP_TYPE_EEPROM)
|
||||
#define CARD_BACKUP_TYPE_FLASH_2MBITS (0x1200 | CARD_BACKUP_TYPE_FLASH)
|
||||
#define CARD_BACKUP_TYPE_FLASH_4MBITS (0x1300 | CARD_BACKUP_TYPE_FLASH)
|
||||
#define CARD_BACKUP_TYPE_FLASH_8MBITS (0x1400 | CARD_BACKUP_TYPE_FLASH)
|
||||
#define CARD_BACKUP_TYPE_FRAM_256KBITS (0xf00 | CARD_BACKUP_TYPE_FRAM)
|
||||
|
||||
// TODO: Find values for these
|
||||
#define CARD_RESULT_SUCCESS 0
|
||||
#define CARD_RESULT_FAILURE
|
||||
#define CARD_RESULT_INVALID_PARAM
|
||||
#define CARD_RESULT_UNSUPPORTED
|
||||
#define CARD_RESULT_TIMEOUT
|
||||
#define CARD_RESULT_CANCELED
|
||||
#define CARD_RESULT_NO_RESPONSE
|
||||
#define CARD_RESULT_ERROR
|
||||
|
||||
typedef u32 CARDBackupType;
|
||||
typedef u32 CARDResult;
|
||||
|
||||
void CARD_LockBackup(u16 cardId);
|
||||
void CARD_UnlockBackup(u16 cardId);
|
||||
BOOL CARD_IdentifyBackup(CARDBackupType type);
|
||||
CARDBackupType CARD_GetBackupType();
|
||||
#define CARD_IsBackupEeprom() (CARD_GetBackupType() & 0xff) == CARD_BACKUP_TYPE_EEPROM
|
||||
#define CARD_IsBackupFlash() (CARD_GetBackupType() & 0xff) == CARD_BACKUP_TYPE_FLASH
|
||||
#define CARD_IsBackupFram() (CARD_GetBackupType() & 0xff) == CARD_BACKUP_TYPE_FRAM
|
||||
BOOL CARD_ReadWriteBackupAsync(u32 offset, void *buf, u32 size, void *, void *, u32, u32, u32, u32);
|
||||
void CARD_WaitBackupAsync(void);
|
||||
CARDResult CARD_GetResultCode(void);
|
||||
BOOL CARD_func_0033();
|
||||
void CARD_func_0034();
|
||||
|
||||
inline BOOL CARD_ReadEepromAsync(u32 offset, void *buf, u32 size, void *param4, void *param5) {
|
||||
return CARD_ReadWriteBackupAsync(offset, buf, size, param4, param5, 1, 6, 1, 0);
|
||||
}
|
||||
inline BOOL CARD_ReadFlashAsync(u32 offset, void *buf, u32 size, void *param4, void *param5) {
|
||||
return CARD_ReadWriteBackupAsync(offset, buf, size, param4, param5, 0, 6, 1, 0);
|
||||
}
|
||||
inline BOOL CARD_ReadFramAsync(u32 offset, void *buf, u32 size, void *param4, void *param5) {
|
||||
return CARD_ReadWriteBackupAsync(offset, buf, size, param4, param5, 1, 6, 1, 0);
|
||||
}
|
||||
inline BOOL CARD_WriteAndVerifyEepromAsync(u32 offset, void *buf, u32 size, void *param4, void *param5) {
|
||||
return CARD_ReadWriteBackupAsync(offset, buf, size, param4, param5, 1, 8, 10, 2);
|
||||
}
|
||||
inline BOOL CARD_WriteAndVerifyFlashAsync(u32 offset, void *buf, u32 size, void *param4, void *param5) {
|
||||
return CARD_ReadWriteBackupAsync(offset, buf, size, param4, param5, 0, 7, 10, 2);
|
||||
}
|
||||
inline BOOL CARD_WriteAndVerifyFramAsync(u32 offset, void *buf, u32 size, void *param4, void *param5) {
|
||||
return CARD_ReadWriteBackupAsync(offset, buf, size, param4, param5, 1, 8, 10, 2);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,25 @@
|
||||
#ifndef _NITRO_DC_H
|
||||
#define _NITRO_DC_H
|
||||
|
||||
#include "nitro/types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void DC_StoreAll(void);
|
||||
void DC_StoreRange(void *ptr, u32 size);
|
||||
|
||||
void DC_FlushAll(void);
|
||||
void DC_FlushRange(void *ptr, u32 size);
|
||||
|
||||
void DC_InvalidateRange(void *ptr, u32 size);
|
||||
|
||||
void DC_func_0004(void *, int);
|
||||
void DC_func_0002();
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,178 @@
|
||||
#ifndef _NITRO_FS_H
|
||||
#define _NITRO_FS_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "nitro/os.h"
|
||||
#include "nitro/types.h"
|
||||
|
||||
#define FS_SEEK_SET 0
|
||||
#define FS_SEEK_CUR 1
|
||||
#define FS_SEEK_END 2
|
||||
|
||||
#define FS_FILE_FLAG_FILE 0x10
|
||||
|
||||
#define FS_FILEMODE_R 0x1
|
||||
|
||||
struct FSVolume;
|
||||
typedef struct FSUnkStruct2 {
|
||||
/* 00 */ struct FSVolume *unk_00;
|
||||
/* 04 */ s16 unk_04;
|
||||
/* 06 */ u16 unk_06;
|
||||
/* 08 */
|
||||
} FSUnkStruct2;
|
||||
|
||||
typedef struct FSUnkStruct5 {
|
||||
/* 00 */ struct FSVolume *volume;
|
||||
/* 04 */ struct FSVolume *next;
|
||||
/* 08 */ struct FSVolume *prev;
|
||||
/* 0c */
|
||||
} FSUnkStruct5;
|
||||
|
||||
struct FSFile;
|
||||
typedef struct FSVolume {
|
||||
/* 00 */ u32 volumeName;
|
||||
/* 04 */ struct FSVolume *next;
|
||||
/* 08 */ struct FSVolume *prev;
|
||||
/* 0c */ u32 unk_0c;
|
||||
/* 10 */ u32 unk_10;
|
||||
/* 14 */ u32 unk_14;
|
||||
/* 18 */ u32 unk_18;
|
||||
/* 1c */ vu32 flags;
|
||||
/* 20 */ u32 unk_20;
|
||||
/* 24 */ struct FSVolume *unk_24;
|
||||
/* 28 */ u32 unk_28;
|
||||
/* 2c */ u32 *fat;
|
||||
/* 30 */ u32 fatSize;
|
||||
/* 34 */ u8 *fnt;
|
||||
/* 38 */ u32 fntSize;
|
||||
/* 3c */ u32 fatRomOffset;
|
||||
/* 40 */ u32 fntRomOffset;
|
||||
/* 44 */ u32 *unk_44;
|
||||
/* 48 */ BOOL (*unk_48)(struct FSVolume *, u32, u32, u32);
|
||||
/* 4c */ BOOL (*unk_4c)(struct FSVolume *, u32, u32, u32);
|
||||
/* 50 */ BOOL (*unk_50)(struct FSVolume *, u32, u32, u32);
|
||||
/* 54 */ u32 (*unk_54)(struct FSFile *, u32);
|
||||
/* 58 */ u32 unk_58;
|
||||
/* 5c */
|
||||
} FSVolume;
|
||||
|
||||
typedef struct FSUnkStruct3 {
|
||||
/* 00 */ u32 volumeName;
|
||||
/* 04 */ u32 unk_04;
|
||||
/* 08 */ u32 unk_08;
|
||||
/* 0c */ u32 unk_0c;
|
||||
/* 10 */ u32 unk_10;
|
||||
/* 14 */ u8 unk_14[0x94 - 0x14];
|
||||
/* 94 */
|
||||
} FSUnkStruct3;
|
||||
|
||||
typedef struct FSUnkStruct7 {
|
||||
/* 00 */ u32 unk_00;
|
||||
/* 04 */ u32 unk_04;
|
||||
/* 08 */ u32 unk_08;
|
||||
/* 0c */
|
||||
} FSUnkStruct7;
|
||||
|
||||
typedef struct FSFile {
|
||||
/* 00 */ u32 unk_00;
|
||||
/* 04 */ s32 *unk_04;
|
||||
/* 08 */ FSVolume *volume;
|
||||
/* 0c */ vu32 flags;
|
||||
/* 10 */ u32 unk_10;
|
||||
/* 14 */ u32 unk_14;
|
||||
/* 18 */ OSLinkedList unk_18;
|
||||
/* 20 */ u32 unk_20;
|
||||
/* 24 */ u32 startRomOffset;
|
||||
/* 28 */ u32 endRomOffset;
|
||||
/* 2c */ u32 cursor;
|
||||
/* 30 */ u32 buf;
|
||||
union {
|
||||
/* 34 */ u32 unk_34;
|
||||
struct {
|
||||
/* 34 */ u16 unk_34_s;
|
||||
/* 36 */ u16 unk_36_s;
|
||||
};
|
||||
};
|
||||
/* 38 */ u16 unk_38;
|
||||
/* 3c */ u32 unk_3c;
|
||||
/* 40 */ u32 unk_40;
|
||||
/* 44 */ u32 unk_44;
|
||||
/* 48 */
|
||||
} FSFile;
|
||||
|
||||
typedef struct FSFntDirectory {
|
||||
/* 00 */ u32 subtableOffset;
|
||||
/* 04 */ u16 firstFileId;
|
||||
/* 06 */ u16 parentId;
|
||||
/* 08 */
|
||||
} FSFntDirectory;
|
||||
|
||||
typedef struct FSDirEntry {
|
||||
/* 00 */ u32 unk_00;
|
||||
/* 04 */ union {
|
||||
u32 unk_04_u32;
|
||||
struct {
|
||||
u16 unk_04_u16;
|
||||
u16 unk_06;
|
||||
};
|
||||
};
|
||||
/* 08 */ u32 unk_08;
|
||||
/* 0c */ u32 unk_0c;
|
||||
/* 10 */ u32 unk_10;
|
||||
/* 14 */ char name[0x80];
|
||||
/* 94 */
|
||||
} FSDirEntry;
|
||||
|
||||
typedef struct FSOverlay {
|
||||
/* 00 */ s32 id;
|
||||
/* 04 */ void *addr;
|
||||
/* 08 */ u32 textSize;
|
||||
/* 0C */ s32 bssSize;
|
||||
/* 10 */ s32 ctorStart;
|
||||
/* 14 */ s32 ctorEnd;
|
||||
/* 18 */ s32 fileId;
|
||||
/* 1C */ u32 fileSize;
|
||||
/* 20 */
|
||||
} FSOverlay;
|
||||
|
||||
void FS_Init(u32 dmaCount);
|
||||
void FS_InitFile(FSFile *file);
|
||||
BOOL FS_OpenFile(FSFile *file, const char *path);
|
||||
BOOL FS_OpenFileEx(FSFile *file, const char *path, u32 flags);
|
||||
BOOL FS_SeekFile(FSFile *file, s32 pos, u32 mode);
|
||||
u32 FS_GetLength(FSFile *file);
|
||||
u32 FS_ReadFile(FSFile *file, void *buf, u32 size);
|
||||
BOOL FS_CloseFile(FSFile *file);
|
||||
inline BOOL FS_IsFile(FSFile *file) {
|
||||
return !!(file->flags & FS_FILE_FLAG_FILE);
|
||||
}
|
||||
|
||||
BOOL FS_FindDir(FSFile *file, const char *path);
|
||||
BOOL FS_ReadDir(FSFile *file, FSDirEntry *dir);
|
||||
void FS_CloseDirectory(FSFile *file);
|
||||
|
||||
#define EXTERN_OVERLAY_ID(name_or_index) extern u32 OVERLAY_##name_or_index##_ID;
|
||||
#define OVERLAY_ID(name_or_index) ((u32) & OVERLAY_##name_or_index##_ID)
|
||||
|
||||
u32 FS_GetOverlaySize(FSOverlay *overlay);
|
||||
void FS_ClearOverlayCacheAndBss(FSOverlay *overlay);
|
||||
void FS_Overlay_0202d6cc(void **param1, FSOverlay *overlay); // param1 is the address of gArchiveList
|
||||
BOOL FS_Overlay_0202d6f4(FSOverlay *param1, FSOverlay *param2, s32 param3, s32 param4, s32 param5, u32 param6, s32 param7,
|
||||
u32 param8);
|
||||
BOOL FS_LoadOverlayInfo(FSOverlay *overlay, s32 param2, s32 param3);
|
||||
BOOL FS_LoadOverlayFile(FSOverlay *overlay);
|
||||
BOOL FS_Overlay_0202d984(FSOverlay *param1, s32 param2, s32 param3);
|
||||
BOOL FS_StartOverlay(FSOverlay *overlay);
|
||||
BOOL FS_CleanupOverlayResources(FSOverlay *overlay);
|
||||
BOOL FS_StopOverlay(FSOverlay *overlay);
|
||||
BOOL FS_LoadOverlay(FSOverlay *overlay, s32 param2);
|
||||
BOOL FS_UnloadOverlay(FSOverlay *overlay, s32 param2);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,46 @@
|
||||
#ifndef _NITRO_FX_H
|
||||
#define _NITRO_FX_H
|
||||
|
||||
#include "nitro/types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define FX32_SHIFT 12
|
||||
#define FX16_SHIFT 12
|
||||
|
||||
#define FX32_ONE (fx32)(1 << FX32_SHIFT)
|
||||
#define FX16_ONE (fx16)(1 << FX16_SHIFT)
|
||||
|
||||
typedef s32 fx32;
|
||||
typedef s16 fx16;
|
||||
|
||||
typedef union VecFx32 {
|
||||
struct {
|
||||
/* 00 */ fx32 x;
|
||||
/* 04 */ fx32 y;
|
||||
/* 08 */ fx32 z;
|
||||
/* 0c */
|
||||
};
|
||||
fx32 coords[3];
|
||||
} VecFx32;
|
||||
|
||||
typedef union MtxFx22 {
|
||||
struct {
|
||||
/* 00 */ fx32 x;
|
||||
/* 04 */ fx32 y;
|
||||
/* 08 */ fx32 z;
|
||||
/* 0c */ fx32 w;
|
||||
/* 10 */
|
||||
};
|
||||
fx32 coords[4];
|
||||
} MtxFx22;
|
||||
|
||||
void FX_Init(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,343 @@
|
||||
#ifndef _NITRO_G2_H
|
||||
#define _NITRO_G2_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "nitro/fx.h"
|
||||
#include "nitro/gx.h"
|
||||
#include "nitro/reg.h"
|
||||
#include "nitro/types.h"
|
||||
|
||||
void G2_SetBGAffine(u32 *reg, MtxFx22 *mtx, s32 x0, s32 y0, s32 x1, s32 y1);
|
||||
|
||||
void _G2_SetBlend(u32 *reg, u32 srcPlane, u32 dstPlane, u32 srcAlpha, u32 dstAlpha);
|
||||
|
||||
void *G2_GetBG2ScrPtr(void);
|
||||
void *G2_GetBG3ScrPtr(void);
|
||||
void *G2S_func_0001();
|
||||
|
||||
inline void G2_SetBG0Priority(u32 value) {
|
||||
REG_BG0CNT = (REG_BG0CNT & ~0x3) | (value);
|
||||
}
|
||||
|
||||
inline void G2_SetBG1Priority(u32 value) {
|
||||
REG_BG1CNT = (REG_BG1CNT & ~0x3) | (value);
|
||||
}
|
||||
|
||||
inline void G2_SetBG2Priority(u32 value) {
|
||||
REG_BG2CNT = (REG_BG2CNT & ~0x3) | (value);
|
||||
}
|
||||
|
||||
inline void G2_SetBG3Priority(u32 value) {
|
||||
REG_BG3CNT = (REG_BG3CNT & ~0x3) | (value);
|
||||
}
|
||||
|
||||
inline void G2S_SetBG0Priority(u32 value) {
|
||||
REG_BG0CNT_SUB = (REG_BG0CNT_SUB & ~0x3) | (value);
|
||||
}
|
||||
|
||||
inline void G2S_SetBG1Priority(u32 value) {
|
||||
REG_BG1CNT_SUB = (REG_BG1CNT_SUB & ~0x3) | (value);
|
||||
}
|
||||
|
||||
inline void G2S_SetBG2Priority(u32 value) {
|
||||
REG_BG2CNT_SUB = (REG_BG2CNT_SUB & ~0x3) | (value);
|
||||
}
|
||||
|
||||
inline void G2S_SetBG3Priority(u32 value) {
|
||||
REG_BG3CNT_SUB = (REG_BG3CNT_SUB & ~0x3) | (value);
|
||||
}
|
||||
|
||||
inline void G2_SetBG0Offset(u32 x, u32 y) {
|
||||
REG_BG0OFS = (x & 0x1ff) | ((y << 16) & 0x1ff0000);
|
||||
}
|
||||
|
||||
inline void G2_SetBG1Offset(u32 x, u32 y) {
|
||||
REG_BG1OFS = (x & 0x1ff) | ((y << 16) & 0x1ff0000);
|
||||
}
|
||||
|
||||
inline void G2_SetBG2Offset(u32 x, u32 y) {
|
||||
REG_BG2OFS = (x & 0x1ff) | ((y << 16) & 0x1ff0000);
|
||||
}
|
||||
|
||||
inline void G2_SetBG3Offset(u32 x, u32 y) {
|
||||
REG_BG3OFS = (x & 0x1ff) | ((y << 16) & 0x1ff0000);
|
||||
}
|
||||
|
||||
inline void G2S_SetBG0Offset(u32 x, u32 y) {
|
||||
REG_BG0OFS_SUB = (x & 0x1ff) | ((y << 16) & 0x1ff0000);
|
||||
}
|
||||
|
||||
inline void G2S_SetBG1Offset(u32 x, u32 y) {
|
||||
REG_BG1OFS_SUB = (x & 0x1ff) | ((y << 16) & 0x1ff0000);
|
||||
}
|
||||
|
||||
inline void G2S_SetBG2Offset(u32 x, u32 y) {
|
||||
REG_BG2OFS_SUB = (x & 0x1ff) | ((y << 16) & 0x1ff0000);
|
||||
}
|
||||
|
||||
inline void G2S_SetBG3Offset(u32 x, u32 y) {
|
||||
REG_BG3OFS_SUB = (x & 0x1ff) | ((y << 16) & 0x1ff0000);
|
||||
}
|
||||
|
||||
inline void G2_SetBG0Control(GXBGScrSizeText scrSize, GXBGColorMode colMode, GXBGScrBase scrBase, GXBGCharBase charBase, u32) {
|
||||
REG_BG0CNT = (REG_BG0CNT & 0x43) | (scrSize << 0xe) | (colMode << 0x7) | (scrBase << 0x8) | (charBase << 0x2);
|
||||
}
|
||||
|
||||
inline void G2_SetBG1Control(GXBGScrSizeText scrSize, GXBGColorMode colMode, GXBGScrBase scrBase, GXBGCharBase charBase, u32) {
|
||||
REG_BG1CNT = (REG_BG1CNT & 0x43) | (scrSize << 0xe) | (colMode << 0x7) | (scrBase << 0x8) | (charBase << 0x2);
|
||||
}
|
||||
|
||||
inline void G2_SetBG2Control(GXBGScrSizeText scrSize, GXBGColorMode colMode, GXBGScrBase scrBase, GXBGCharBase charBase, u32) {
|
||||
REG_BG2CNT = (REG_BG2CNT & 0x43) | (scrSize << 0xe) | (colMode << 0x7) | (scrBase << 0x8) | (charBase << 0x2);
|
||||
}
|
||||
|
||||
inline void G2_SetBG3Control(GXBGScrSizeText scrSize, GXBGColorMode colMode, GXBGScrBase scrBase, GXBGCharBase charBase, u32) {
|
||||
REG_BG3CNT = (REG_BG3CNT & 0x43) | (scrSize << 0xe) | (colMode << 0x7) | (scrBase << 0x8) | (charBase << 0x2);
|
||||
}
|
||||
|
||||
inline void G2S_SetBG0Control(GXBGScrSizeText scrSize, GXBGColorMode colMode, GXBGScrBase scrBase, GXBGCharBase charBase,
|
||||
u32) {
|
||||
REG_BG0CNT_SUB = (REG_BG0CNT_SUB & 0x43) | (scrSize << 0xe) | (colMode << 0x7) | (scrBase << 0x8) | (charBase << 0x2);
|
||||
}
|
||||
|
||||
inline void G2S_SetBG1Control(GXBGScrSizeText scrSize, GXBGColorMode colMode, GXBGScrBase scrBase, GXBGCharBase charBase,
|
||||
u32) {
|
||||
REG_BG1CNT_SUB = (REG_BG1CNT_SUB & 0x43) | (scrSize << 0xe) | (colMode << 0x7) | (scrBase << 0x8) | (charBase << 0x2);
|
||||
}
|
||||
|
||||
inline void G2S_SetBG2Control(GXBGScrSizeText scrSize, GXBGColorMode colMode, GXBGScrBase scrBase, GXBGCharBase charBase,
|
||||
u32) {
|
||||
REG_BG2CNT_SUB = (REG_BG2CNT_SUB & 0x43) | (scrSize << 0xe) | (colMode << 0x7) | (scrBase << 0x8) | (charBase << 0x2);
|
||||
}
|
||||
|
||||
inline void G2S_SetBG3Control(GXBGScrSizeText scrSize, GXBGColorMode colMode, GXBGScrBase scrBase, GXBGCharBase charBase,
|
||||
u32) {
|
||||
REG_BG3CNT_SUB = (REG_BG3CNT_SUB & 0x43) | (scrSize << 0xe) | (colMode << 0x7) | (scrBase << 0x8) | (charBase << 0x2);
|
||||
}
|
||||
|
||||
inline void G2_SetBG2Control256Bmp(GXBGScrSize256Bmp scrSize, GXBGAreaOver areaOver, GXBGBmpScrBase scrBase) {
|
||||
REG_BG2CNT = (REG_BG2CNT & 0x43) | (scrSize << 0xe) | 0x80 | (scrBase << 0x8) | (areaOver << 0xd);
|
||||
}
|
||||
|
||||
inline void G2_SetBG3Control256Bmp(GXBGScrSize256Bmp scrSize, GXBGAreaOver areaOver, GXBGBmpScrBase scrBase) {
|
||||
REG_BG3CNT = (REG_BG3CNT & 0x43) | (scrSize << 0xe) | 0x80 | (scrBase << 0x8) | (areaOver << 0xd);
|
||||
}
|
||||
|
||||
inline void G2S_SetBG2Control256Bmp(GXBGScrSize256Bmp scrSize, GXBGAreaOver areaOver, GXBGBmpScrBase scrBase) {
|
||||
REG_BG2CNT_SUB = (REG_BG2CNT_SUB & 0x43) | (scrSize << 0xe) | 0x80 | (scrBase << 0x8) | (areaOver << 0xd);
|
||||
}
|
||||
|
||||
inline void G2S_SetBG3Control256Bmp(GXBGScrSize256Bmp scrSize, GXBGAreaOver areaOver, GXBGBmpScrBase scrBase) {
|
||||
REG_BG3CNT_SUB = (REG_BG3CNT_SUB & 0x43) | (scrSize << 0xe) | 0x80 | (scrBase << 0x8) | (areaOver << 0xd);
|
||||
}
|
||||
|
||||
inline void G2_SetBG2ControlDCBmp(GXBGScrSizeDcBmp scrSize, GXBGAreaOver areaOver, GXBGBmpScrBase scrBase) {
|
||||
REG_BG2CNT = (REG_BG2CNT & 0x43) | (scrSize << 0xe) | 0x84 | (scrBase << 0x8) | (areaOver << 0xd);
|
||||
}
|
||||
|
||||
inline void G2_SetBG3ControlDCBmp(GXBGScrSizeDcBmp scrSize, GXBGAreaOver areaOver, GXBGBmpScrBase scrBase) {
|
||||
REG_BG3CNT = (REG_BG3CNT & 0x43) | (scrSize << 0xe) | 0x84 | (scrBase << 0x8) | (areaOver << 0xd);
|
||||
}
|
||||
|
||||
inline void G2S_SetBG2ControlDCBmp(GXBGScrSizeDcBmp scrSize, GXBGAreaOver areaOver, GXBGBmpScrBase scrBase) {
|
||||
REG_BG2CNT_SUB = (REG_BG2CNT_SUB & 0x43) | (scrSize << 0xe) | 0x84 | (scrBase << 0x8) | (areaOver << 0xd);
|
||||
}
|
||||
|
||||
inline void G2S_SetBG3ControlDCBmp(GXBGScrSizeDcBmp scrSize, GXBGAreaOver areaOver, GXBGBmpScrBase scrBase) {
|
||||
REG_BG3CNT_SUB = (REG_BG3CNT_SUB & 0x43) | (scrSize << 0xe) | 0x84 | (scrBase << 0x8) | (areaOver << 0xd);
|
||||
}
|
||||
|
||||
inline void G2_SetBG2ControlText(GXBGScrSizeText scrSize, GXBGColorMode colMode, GXBGScrBase scrBase, GXBGCharBase charBase) {
|
||||
G2_SetBG2Control(scrSize, colMode, scrBase, charBase, 0);
|
||||
}
|
||||
|
||||
inline void G2_SetBG3ControlText(GXBGScrSizeText scrSize, GXBGColorMode colMode, GXBGScrBase scrBase, GXBGCharBase charBase) {
|
||||
G2_SetBG3Control(scrSize, colMode, scrBase, charBase, 0);
|
||||
}
|
||||
|
||||
inline void G2S_SetBG2ControlText(GXBGScrSizeText scrSize, GXBGColorMode colMode, GXBGScrBase scrBase, GXBGCharBase charBase) {
|
||||
G2S_SetBG2Control(scrSize, colMode, scrBase, charBase, 0);
|
||||
}
|
||||
|
||||
inline void G2S_SetBG3ControlText(GXBGScrSizeText scrSize, GXBGColorMode colMode, GXBGScrBase scrBase, GXBGCharBase charBase) {
|
||||
G2S_SetBG3Control(scrSize, colMode, scrBase, charBase, 0);
|
||||
}
|
||||
|
||||
inline void G2_SetBG2Affine(MtxFx22 *mtx, u32 param2, u32 param3, u32 param4, u32 param5) {
|
||||
G2_SetBGAffine((u32 *) ®_BG2PA, mtx, param2, param3, param4, param5);
|
||||
}
|
||||
|
||||
inline void G2_SetBG3Affine(MtxFx22 *mtx, u32 param2, u32 param3, u32 param4, u32 param5) {
|
||||
G2_SetBGAffine((u32 *) ®_BG3PA, mtx, param2, param3, param4, param5);
|
||||
}
|
||||
|
||||
inline void G2S_SetBG2Affine(MtxFx22 *mtx, u32 param2, u32 param3, u32 param4, u32 param5) {
|
||||
G2_SetBGAffine((u32 *) ®_BG2PA_SUB, mtx, param2, param3, param4, param5);
|
||||
}
|
||||
|
||||
inline void G2S_SetBG3Affine(MtxFx22 *mtx, u32 param2, u32 param3, u32 param4, u32 param5) {
|
||||
G2_SetBGAffine((u32 *) ®_BG3PA_SUB, mtx, param2, param3, param4, param5);
|
||||
}
|
||||
|
||||
inline void G2_ChangeBlendAlpha(u32 param1, u32 param2) {
|
||||
REG_BLDALPHA = param1 | (param2 << 8);
|
||||
}
|
||||
|
||||
inline void G2S_ChangeBlendAlpha(u32 param1, u32 param2) {
|
||||
REG_BLDALPHA_SUB = param1 | (param2 << 8);
|
||||
}
|
||||
|
||||
inline void G2_BG0Mosaic(BOOL flag) {
|
||||
if (flag) {
|
||||
REG_BG0CNT |= 0x40;
|
||||
} else {
|
||||
REG_BG0CNT &= ~0x40;
|
||||
}
|
||||
}
|
||||
|
||||
inline void G2_BG1Mosaic(BOOL flag) {
|
||||
if (flag) {
|
||||
REG_BG1CNT |= 0x40;
|
||||
} else {
|
||||
REG_BG1CNT &= ~0x40;
|
||||
}
|
||||
}
|
||||
|
||||
inline void G2_BG2Mosaic(BOOL flag) {
|
||||
if (flag) {
|
||||
REG_BG2CNT |= 0x40;
|
||||
} else {
|
||||
REG_BG2CNT &= ~0x40;
|
||||
}
|
||||
}
|
||||
|
||||
inline void G2_BG3Mosaic(BOOL flag) {
|
||||
if (flag) {
|
||||
REG_BG3CNT |= 0x40;
|
||||
} else {
|
||||
REG_BG3CNT &= ~0x40;
|
||||
}
|
||||
}
|
||||
|
||||
inline void G2S_BG0Mosaic(BOOL flag) {
|
||||
if (flag) {
|
||||
REG_BG0CNT_SUB |= 0x40;
|
||||
} else {
|
||||
REG_BG0CNT_SUB &= ~0x40;
|
||||
}
|
||||
}
|
||||
|
||||
inline void G2S_BG1Mosaic(BOOL flag) {
|
||||
if (flag) {
|
||||
REG_BG1CNT_SUB |= 0x40;
|
||||
} else {
|
||||
REG_BG1CNT_SUB &= ~0x40;
|
||||
}
|
||||
}
|
||||
|
||||
inline void G2S_BG2Mosaic(BOOL flag) {
|
||||
if (flag) {
|
||||
REG_BG2CNT_SUB |= 0x40;
|
||||
} else {
|
||||
REG_BG2CNT_SUB &= ~0x40;
|
||||
}
|
||||
}
|
||||
|
||||
inline void G2S_BG3Mosaic(BOOL flag) {
|
||||
if (flag) {
|
||||
REG_BG3CNT_SUB |= 0x40;
|
||||
} else {
|
||||
REG_BG3CNT_SUB &= ~0x40;
|
||||
}
|
||||
}
|
||||
|
||||
inline void G2_SetBGMosaicSize(u32 width, u32 height) {
|
||||
REG_MOSAIC = width | (height << 4);
|
||||
}
|
||||
|
||||
inline void G2S_SetBGMosaicSize(u32 width, u32 height) {
|
||||
REG_MOSAIC_SUB = width | (height << 4);
|
||||
}
|
||||
|
||||
inline void G2_SetOBJMosaicSize(u32 width, u32 height) {
|
||||
REG_OBJMOSAIC = width | (height << 4);
|
||||
}
|
||||
|
||||
inline void G2S_SetOBJMosaicSize(u32 width, u32 height) {
|
||||
REG_OBJMOSAIC_SUB = width | (height << 4);
|
||||
}
|
||||
|
||||
inline void G2_BlendNone() {
|
||||
REG_BLDCNT = 0;
|
||||
}
|
||||
|
||||
inline void G2S_BlendNone() {
|
||||
REG_BLDCNT_SUB = 0;
|
||||
}
|
||||
|
||||
inline void G2_SetBlendAlpha(u32 srcPlane, u32 dstPlane, u32 srcAlpha, u32 dstAlpha) {
|
||||
_G2_SetBlend((u32 *) ®_BLDCNT, srcPlane, dstPlane, srcAlpha, dstAlpha);
|
||||
}
|
||||
|
||||
inline void G2S_SetBlendAlpha(u32 srcPlane, u32 dstPlane, u32 srcAlpha, u32 dstAlpha) {
|
||||
_G2_SetBlend((u32 *) ®_BLDCNT_SUB, srcPlane, dstPlane, srcAlpha, dstAlpha);
|
||||
}
|
||||
|
||||
inline void G2_GetOBJPosition(GXOamAttr *oam, u32 *x, u32 *y) {
|
||||
*x = (oam->attr01 & 0x1ff0000) >> 16;
|
||||
*y = oam->attr01 & 0xff;
|
||||
}
|
||||
|
||||
inline void G2_SetOBJPosition(GXOamAttr *oam, u32 x, u32 y) {
|
||||
oam->attr01 = (oam->attr01 & 0xfe00ff00) | (y & 0xff) | (x << 0x17 >> 0x7);
|
||||
}
|
||||
|
||||
inline u32 G2_GetOBJCharName(GXOamAttr *oam) {
|
||||
return oam->attr2 & 0x3ff;
|
||||
}
|
||||
|
||||
inline void G2_SetOBJCharName(volatile GXOamAttr *oam, u32 name) {
|
||||
oam->attr2 = (oam->attr2 & -0x400) | (name);
|
||||
}
|
||||
|
||||
inline u32 G2_GetOBJColorParam(GXOamAttr *oam) {
|
||||
return (oam->attr2 & 0xf000) >> 0xc;
|
||||
}
|
||||
|
||||
// Defined as macro as sometimes `oam` is volatile and other times not
|
||||
#define G2_GetOBJMode(oam) (GXOamMode)(((oam)->attr01 & 0xc00) >> 0xa)
|
||||
// inline GXOamMode G2_GetOBJMode(volatile GXOamAttr *oam) {
|
||||
// return ((oam)->attr01 & 0xc00) >> 0xa;
|
||||
// }
|
||||
|
||||
inline void G2_SetOBJMode(GXOamAttr *oam, GXOamMode mode, u32 color) {
|
||||
oam->attr01 = (oam->attr01 & ~0xc00) | (mode << 0xa);
|
||||
oam->attr2 = (oam->attr2 & ~0xf000) | (color << 0xc);
|
||||
}
|
||||
|
||||
inline void G2_SetOBJPriority(GXOamAttr *oam, u32 prio) {
|
||||
// no implementation found
|
||||
}
|
||||
|
||||
inline void G2_SetOBJAttr(GXOamAttr *oam, u32 x, u32 y, u32 param4, GXOamMode mode, BOOL param6, u32 effect, u32 shape,
|
||||
u32 color, u32 param10, u32 param11, u32 param12) {
|
||||
// Unused: param4, param6, effect, param11, param12
|
||||
|
||||
// c1ff0cff
|
||||
// 3 bits at 0x8
|
||||
// 4 bits at 0xc
|
||||
// 5 bits at 0x19
|
||||
oam->attr01 = (y & 0xff) | (mode << 0xa) | (shape << 0x1e) | ((x << 0x17) >> 0x7);
|
||||
// f3ff
|
||||
// 2 bits at 0xa
|
||||
oam->attr2 = param10 | (color << 0xc);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,122 @@
|
||||
#ifndef _NITRO_G3_H
|
||||
#define _NITRO_G3_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "nitro/fx.h"
|
||||
#include "nitro/gx.h"
|
||||
#include "nitro/types.h"
|
||||
|
||||
#define G3OP_TEXCOORD 0x1 // guess
|
||||
|
||||
void G3X_Init(void);
|
||||
void G3X_InitTable(void);
|
||||
void G3X_InitMtxStack(void);
|
||||
void G3X_Reset(void);
|
||||
void G3X_SetClearColor(u32 rgb, u32 a, u32 param3, u32 param4, BOOL param5);
|
||||
|
||||
inline void G3_TexImageParam(GXTexFmt fmt, u32 gen, GXTexSizeS sizeS, GXTexSizeT sizeT, u32 repeat, u32 flip,
|
||||
GXTexPlttColor0 color0, u32 addr) {
|
||||
// Unclear where repeat and flip should go
|
||||
// GGCFFFTT_TSSSxAAA_AAAAAAAA_AAAAAxxx
|
||||
// G: gen
|
||||
// C: color0
|
||||
// F: fmt
|
||||
// T: sizeT
|
||||
// S: sizeS
|
||||
// A: addr
|
||||
REG_GFX_FIFO_TEXTURE_PARAM =
|
||||
(fmt << 0x1a) | (addr << 0x3) | (gen << 0x1e) | (sizeS << 0x14) | (sizeT << 0x17) | (color0 << 0x1d);
|
||||
}
|
||||
inline void G3_TexPlttBase(u32 addr, GXTexFmt fmt) {
|
||||
REG_GFX_FIFO_TEXTURE_PALETTE = addr >> (4 - (fmt == 2));
|
||||
}
|
||||
|
||||
inline void G3_PolygonAttr(u32 lightMask, u32 polygonMode, u32 cull, u32 id, u32 alpha, u32 param6) {
|
||||
// Unclear where lightMask, cull and param6 should go
|
||||
// xxIIIIII_xxxAAAAA_xxxxxxxx_PPxxxxxx
|
||||
// I: id
|
||||
// A: alpha
|
||||
// P: polygonMode
|
||||
REG_GFX_FIFO_POLYGON_ATTR = (id << 0x18) | (polygonMode << 0x6) | (alpha << 0x10);
|
||||
}
|
||||
|
||||
inline void G3_PushMtx(void) {
|
||||
REG_GFX_FIFO_MATRIX_PUSH = 0;
|
||||
}
|
||||
inline void G3_Translate(fx32 x, fx32 y, fx32 z) {
|
||||
REG_GFX_FIFO_MATRIX_TRANSLATE = x;
|
||||
REG_GFX_FIFO_MATRIX_TRANSLATE = y;
|
||||
REG_GFX_FIFO_MATRIX_TRANSLATE = z;
|
||||
}
|
||||
inline void G3_ViewPort(u32 left, u32 top, u32 right, u32 bottom) {
|
||||
// Unclear how to combine the arguments
|
||||
// left = 0, top = 0, right = 255, bottom = 191 => 0x8000
|
||||
REG_GFX_FIFO_VIEWPORT = 0xbfff0000;
|
||||
}
|
||||
void _G3_Ortho(fx32 top, fx32 bottom, fx32 left, fx32 right, fx32 near, fx32 far, fx32 param7, BOOL param8, void *param9);
|
||||
inline void G3_Ortho(fx32 top, fx32 bottom, fx32 left, fx32 right, fx32 near, fx32 far, void *param7) {
|
||||
_G3_Ortho(top, bottom, left, right, near, far, FX32_ONE, TRUE, param7);
|
||||
}
|
||||
inline void G3_StoreMtx(u32 param1) {
|
||||
REG_GFX_FIFO_MATRIX_STORE = param1;
|
||||
}
|
||||
void _G3_LookAt(VecFx32 *camera, VecFx32 *up, VecFx32 *lookAt, BOOL param4, void *param5);
|
||||
inline void G3_LookAt(VecFx32 *camera, VecFx32 *up, VecFx32 *lookAt, void *param4) {
|
||||
_G3_LookAt(camera, up, lookAt, true, param4);
|
||||
}
|
||||
inline void G3_MtxMode(u32 mode) {
|
||||
REG_GFX_FIFO_MATRIX_MODE = mode;
|
||||
}
|
||||
inline void G3_Identity(void) {
|
||||
REG_GFX_FIFO_MATRIX_IDENTITY = 0;
|
||||
}
|
||||
inline void G3_PopMtx(u32 param1) {
|
||||
REG_GFX_FIFO_MATRIX_POP = param1;
|
||||
}
|
||||
|
||||
inline void G3_Begin(u32 shape) {
|
||||
REG_GFX_FIFO_POLYGONS_BEGIN = shape;
|
||||
}
|
||||
inline void G3_Color(u16 color) {
|
||||
REG_GFX_FIFO_VERTEX_COLOR = color;
|
||||
}
|
||||
inline void G3_Direct1(u32 op, GXSt texCoord) {
|
||||
switch (op) {
|
||||
case G3OP_TEXCOORD:
|
||||
REG_GFX_FIFO_VERTEX_TEXCOORD = texCoord;
|
||||
break;
|
||||
}
|
||||
}
|
||||
inline void G3_Vtx(u16 x, u16 y, u16 z) {
|
||||
REG_GFX_FIFO_VERTEX_16 = x | (y << 0x10);
|
||||
REG_GFX_FIFO_VERTEX_16 = z;
|
||||
}
|
||||
inline void G3_End(void) {
|
||||
REG_GFX_FIFO_POLYGONS_END = 0;
|
||||
}
|
||||
|
||||
inline void G3_SwapBuffers(u32 sortMode, u32 bufferMode) {
|
||||
// Unclear what values these macros have and how they are meant to be combined
|
||||
// GX_SORTMODE_MANUAL | GX_BUFFERMODE_Z == 0x1
|
||||
REG_GFX_FIFO_SWAP_BUFFERS = 0x1;
|
||||
}
|
||||
|
||||
inline BOOL G3X_IsGeometryBusy(void) {
|
||||
return REG_GFX_STATUS & 0x8000000;
|
||||
}
|
||||
|
||||
inline void G3X_AntiAlias(BOOL param1) {
|
||||
REG_DISP3DCNT = REG_DISP3DCNT & ~0x3000 | (param1 << 0x4);
|
||||
}
|
||||
inline void G3X_AlphaBlend(BOOL param1) {
|
||||
REG_DISP3DCNT = REG_DISP3DCNT & ~0x3000 | (param1 << 0x3);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,423 @@
|
||||
#ifndef _NITRO_GX_H
|
||||
#define _NITRO_GX_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "nitro/reg.h"
|
||||
#include "nitro/types.h"
|
||||
|
||||
#define GX_POWER_ALL 0x20e
|
||||
|
||||
#define GX_DISP_SELECT_MAIN_SUB 0x8000
|
||||
#define GX_DISP_SELECT_SUB_MAIN 0
|
||||
#define GX_DISPMODE_GRAPHICS 1
|
||||
#define GX_DISPMODE_VRAM_C 0xa
|
||||
#define GX_DISPMODE_VRAM_D 0xe
|
||||
|
||||
#define GX_VRAM_LCDC_ALL 0x1ff
|
||||
#define GX_VRAM_LCDC_C 0x4
|
||||
#define GX_VRAM_LCDC_D 0x8
|
||||
|
||||
#define GX_VRAM_BG_NONE ((GXVRamBG) 0)
|
||||
#define GX_VRAM_BG_128_A ((GXVRamBG) 0x1)
|
||||
#define GX_VRAM_BG_128_B ((GXVRamBG) 0x2)
|
||||
#define GX_VRAM_BG_128_C ((GXVRamBG) 0x4)
|
||||
#define GX_VRAM_BG_128_D ((GXVRamBG) 0x8)
|
||||
#define GX_VRAM_BG_256_AB ((GXVRamBG) 0x3)
|
||||
#define GX_VRAM_BG_384_ABC ((GXVRamBG) 0x7)
|
||||
#define GX_VRAM_BG_384_ABD ((GXVRamBG) 0xb)
|
||||
#define GX_VRAM_BG_512_ABCD ((GXVRamBG) 0xf)
|
||||
|
||||
#define GX_VRAM_SUB_BG_NONE ((GXVRamBG) 0)
|
||||
#define GX_VRAM_SUB_BG_32_H ((GXVRamBG) 0x80)
|
||||
#define GX_VRAM_SUB_BG_48_HI ((GXVRamBG) 0x180)
|
||||
#define GX_VRAM_SUB_BG_128_C ((GXVRamBG) 0x4)
|
||||
|
||||
#define GX_VRAM_OBJ_NONE ((GXVRamOBJ) 0)
|
||||
#define GX_VRAM_OBJ_128_A ((GXVRamOBJ) 0x1)
|
||||
#define GX_VRAM_OBJ_128_B ((GXVRamOBJ) 0x2)
|
||||
#define GX_VRAM_OBJ_128_C ((GXVRamOBJ) 0x4)
|
||||
#define GX_VRAM_OBJ_128_D ((GXVRamOBJ) 0x8)
|
||||
#define GX_VRAM_OBJ_64_E ((GXVRamOBJ) 0x10)
|
||||
#define GX_VRAM_OBJ_16_F ((GXVRamOBJ) 0x20)
|
||||
#define GX_VRAM_OBJ_16_G ((GXVRamOBJ) 0x40)
|
||||
|
||||
#define GX_VRAM_SUB_OBJ_NONE ((GXVRamOBJ) 0)
|
||||
#define GX_VRAM_SUB_OBJ_16_I ((GXVRamOBJ) 0x100)
|
||||
#define GX_VRAM_SUB_OBJ_128_D ((GXVRamOBJ) 0x8)
|
||||
|
||||
#define GX_VRAM_BGEXTPLTT_01_F 0x20
|
||||
#define GX_VRAM_BGEXTPLTT_0123_FG 0x60
|
||||
#define GX_VRAM_SUB_BGEXTPLTT_0123_H 0x80
|
||||
#define GX_VRAM_SUB_OBJEXTPLTT_0_I 0x100
|
||||
#define GX_VRAM_OBJEXTPLTT_0_F 0x20
|
||||
#define GX_VRAM_OBJEXTPLTT_0_G 0x40
|
||||
|
||||
#define GX_VRAM_TEX_01_AB 0x3
|
||||
|
||||
#define GX_VRAM_TEXPLTT_0123_E 0x10
|
||||
|
||||
#define GX_PLANEMASK_NONE 0
|
||||
#define GX_PLANEMASK_BG0 0x1
|
||||
#define GX_PLANEMASK_BG1 0x2
|
||||
#define GX_PLANEMASK_BG2 0x4
|
||||
#define GX_PLANEMASK_BG3 0x8
|
||||
#define GX_PLANEMASK_OBJ 0x10
|
||||
|
||||
#define GX_BGCHAROFFSET_0x00000 0
|
||||
#define GX_BGSCROFFSET_0x00000 0
|
||||
#define GX_BGMODE_0 0
|
||||
#define GX_BGMODE_3 3
|
||||
#define GX_BGMODE_5 5
|
||||
#define GX_BG0_AS_2D 0
|
||||
#define GX_BG_SCRSIZE_TEXT_256x256 0
|
||||
#define GX_BG_SCRSIZE_256BMP_128x128 ((GXBGScrSize256Bmp) 0)
|
||||
#define GX_BG_SCRSIZE_256BMP_256x256 ((GXBGScrSize256Bmp) 1)
|
||||
#define GX_BG_SCRSIZE_256BMP_512x256 ((GXBGScrSize256Bmp) 2)
|
||||
#define GX_BG_SCRSIZE_256BMP_512x512 ((GXBGScrSize256Bmp) 3)
|
||||
#define GX_BG_SCRSIZE_DCBMP_128x128 ((GXBGScrSizeDcBmp) 0)
|
||||
#define GX_BG_SCRSIZE_DCBMP_256x256 ((GXBGScrSizeDcBmp) 1)
|
||||
#define GX_BG_SCRSIZE_DCBMP_512x256 ((GXBGScrSizeDcBmp) 2)
|
||||
#define GX_BG_SCRSIZE_DCBMP_512x512 ((GXBGScrSizeDcBmp) 3)
|
||||
#define GX_BG_AREAOVER_XLU ((GXBGAreaOver) 0)
|
||||
#define GX_BG_AREAOVER_REPEAT ((GXBGAreaOver) 1)
|
||||
#define GX_BG_BMPSCRBASE_0x00000 ((GXBGBmpScrBase) 0)
|
||||
#define GX_BG_BMPSCRBASE_0x04000 ((GXBGBmpScrBase) 1)
|
||||
#define GX_BG_BMPSCRBASE_0x08000 ((GXBGBmpScrBase) 2)
|
||||
#define GX_BG_BMPSCRBASE_0x0c000 ((GXBGBmpScrBase) 3)
|
||||
#define GX_BG_BMPSCRBASE_0x10000 ((GXBGBmpScrBase) 4)
|
||||
#define GX_BG_BMPSCRBASE_0x14000 ((GXBGBmpScrBase) 5)
|
||||
#define GX_BG_BMPSCRBASE_0x18000 ((GXBGBmpScrBase) 6)
|
||||
#define GX_BG_BMPSCRBASE_0x1c000 ((GXBGBmpScrBase) 7)
|
||||
#define GX_BG_BMPSCRBASE_0x20000 ((GXBGBmpScrBase) 8)
|
||||
#define GX_BG_BMPSCRBASE_0x24000 ((GXBGBmpScrBase) 9)
|
||||
#define GX_BG_BMPSCRBASE_0x28000 ((GXBGBmpScrBase) 10)
|
||||
#define GX_BG_BMPSCRBASE_0x2c000 ((GXBGBmpScrBase) 11)
|
||||
#define GX_BG_BMPSCRBASE_0x30000 ((GXBGBmpScrBase) 12)
|
||||
#define GX_BG_BMPSCRBASE_0x34000 ((GXBGBmpScrBase) 13)
|
||||
#define GX_BG_BMPSCRBASE_0x38000 ((GXBGBmpScrBase) 14)
|
||||
#define GX_BG_BMPSCRBASE_0x3c000 ((GXBGBmpScrBase) 15)
|
||||
#define GX_BG_BMPSCRBASE_0x40000 ((GXBGBmpScrBase) 16)
|
||||
#define GX_BG_BMPSCRBASE_0x44000 ((GXBGBmpScrBase) 17)
|
||||
#define GX_BG_BMPSCRBASE_0x48000 ((GXBGBmpScrBase) 18)
|
||||
#define GX_BG_BMPSCRBASE_0x4c000 ((GXBGBmpScrBase) 19)
|
||||
#define GX_BG_BMPSCRBASE_0x50000 ((GXBGBmpScrBase) 20)
|
||||
#define GX_BG_BMPSCRBASE_0x54000 ((GXBGBmpScrBase) 21)
|
||||
#define GX_BG_BMPSCRBASE_0x58000 ((GXBGBmpScrBase) 22)
|
||||
#define GX_BG_BMPSCRBASE_0x5c000 ((GXBGBmpScrBase) 23)
|
||||
#define GX_BG_BMPSCRBASE_0x60000 ((GXBGBmpScrBase) 24)
|
||||
#define GX_BG_BMPSCRBASE_0x64000 ((GXBGBmpScrBase) 25)
|
||||
#define GX_BG_BMPSCRBASE_0x68000 ((GXBGBmpScrBase) 26)
|
||||
#define GX_BG_BMPSCRBASE_0x6c000 ((GXBGBmpScrBase) 27)
|
||||
#define GX_BG_BMPSCRBASE_0x70000 ((GXBGBmpScrBase) 28)
|
||||
#define GX_BG_BMPSCRBASE_0x74000 ((GXBGBmpScrBase) 29)
|
||||
#define GX_BG_BMPSCRBASE_0x78000 ((GXBGBmpScrBase) 30)
|
||||
#define GX_BG_BMPSCRBASE_0x7c000 ((GXBGBmpScrBase) 31)
|
||||
#define GX_BG_COLORMODE_16 0
|
||||
#define GX_BG_CHARBASE_0x00000 0
|
||||
#define GX_BG_SCRBASE_0x0000 0
|
||||
#define GX_BG_EXTPLTT_01 1
|
||||
|
||||
#define GX_OBJVRAMMODE_CHAR_1D_32K 0x10
|
||||
#define GX_OBJVRAMMODE_CHAR_1D_64K 0x100010
|
||||
#define GX_OBJVRAMMODE_CHAR_1D_128K 0x200010
|
||||
#define GX_OBJVRAMMODE_CHAR_1D_256K 0x300010
|
||||
|
||||
#define GX_BLEND_PLANEMASK_NONE 0
|
||||
#define GX_BLEND_PLANEMASK_BG0 0x1
|
||||
#define GX_BLEND_PLANEMASK_BG1 0x2
|
||||
#define GX_BLEND_PLANEMASK_BG2 0x4
|
||||
#define GX_BLEND_PLANEMASK_BG3 0x8
|
||||
#define GX_BLEND_PLANEMASK_OBJ 0x10
|
||||
#define GX_BLEND_PLANEMASK_BD 0x20
|
||||
|
||||
#define GX_OAM_MODE_XLU 1
|
||||
#define GX_OAM_MODE_BITMAPOBJ 3
|
||||
|
||||
#define GX_OAM_EFFECT_NONE 0
|
||||
|
||||
#define GX_OAM_SHAPE_64x64 0x3
|
||||
|
||||
#define GX_OAM_COLOR_16 0xf
|
||||
|
||||
#define GX_TEXSIZE_S8 0
|
||||
#define GX_TEXSIZE_S16 0x1
|
||||
#define GX_TEXSIZE_S32 0x2
|
||||
#define GX_TEXSIZE_S64 0x3
|
||||
#define GX_TEXSIZE_S128 0x4
|
||||
#define GX_TEXSIZE_S256 0x5
|
||||
#define GX_TEXSIZE_S512 0x6
|
||||
#define GX_TEXSIZE_S1024 0x7
|
||||
#define GX_TEXSIZE_T8 0
|
||||
#define GX_TEXSIZE_T16 0x1
|
||||
#define GX_TEXSIZE_T32 0x2
|
||||
#define GX_TEXSIZE_T64 0x3
|
||||
#define GX_TEXSIZE_T128 0x4
|
||||
#define GX_TEXSIZE_T256 0x5
|
||||
#define GX_TEXSIZE_T512 0x6
|
||||
#define GX_TEXSIZE_T1024 0x7
|
||||
|
||||
#define GX_TEXFMT_NONE 0
|
||||
#define GX_TEXFMT_PLTT4 0x2
|
||||
#define GX_TEXFMT_PLTT16 0x3
|
||||
#define GX_TEXFMT_PLTT256 0x4
|
||||
#define GX_TEXFMT_DIRECT 0x7
|
||||
|
||||
#define GX_TEXPLTTCOLOR0_USE 0
|
||||
#define GX_TEXPLTTCOLOR0_TRNS 0x1
|
||||
|
||||
#define GX_TEXGEN_NONE 0
|
||||
#define GX_TEXGEN_TEXCOORD 0x1
|
||||
|
||||
#define GX_TEXREPEAT_NONE 0
|
||||
|
||||
#define GX_TEXFLIP_NONE 0
|
||||
|
||||
#define GX_LIGHTMASK_NONE 0
|
||||
|
||||
#define GX_POLYGONMODE_MODULATE 0x3
|
||||
|
||||
#define GX_CULL_NONE 0
|
||||
|
||||
#define GX_BEGIN_QUADS 0x1
|
||||
|
||||
#define GX_RGB(r, g, b) ((r) | ((g) << 0x5) | ((b) << 0xa))
|
||||
|
||||
#define GX_CAPTURE_SIZE_256x192 -1 // unknown value
|
||||
#define GX_CAPTURE_MODE_A -1 // unknown value
|
||||
#define GX_CAPTURE_SRCA_2D3D -1 // unknown value
|
||||
#define GX_CAPTURE_DEST_VRAM_C_0x00000 0x2
|
||||
#define GX_CAPTURE_DEST_VRAM_D_0x00000 0x3
|
||||
|
||||
#define GX_SORTMODE_MANUAL -1 // unknown value
|
||||
|
||||
#define GX_BUFFERMODE_Z -1 // unknown value
|
||||
|
||||
#define GX_MTXMODE_POSITION_VECTOR 0x2
|
||||
#define GX_MTXMODE_TEXTURE 0x3
|
||||
|
||||
typedef u32 GXVRamBG;
|
||||
typedef u32 GXVRamOBJ;
|
||||
|
||||
typedef struct {
|
||||
u32 attr01;
|
||||
union {
|
||||
u16 attr2;
|
||||
u32 attr23;
|
||||
};
|
||||
} GXOamAttr;
|
||||
|
||||
typedef u32 GXOamMode;
|
||||
|
||||
typedef u32 GXBGScrSize256Bmp;
|
||||
typedef u32 GXBGScrSizeDcBmp;
|
||||
typedef u32 GXBGAreaOver;
|
||||
typedef u32 GXBGBmpScrBase;
|
||||
typedef u32 GXBGScrSizeText;
|
||||
typedef u32 GXBGColorMode;
|
||||
typedef u32 GXBGScrBase;
|
||||
typedef u32 GXBGCharBase;
|
||||
|
||||
typedef u32 GXOBJVRamModeChar;
|
||||
|
||||
typedef u32 GXTexFmt;
|
||||
typedef s32 GXTexSizeS;
|
||||
typedef s32 GXTexSizeT;
|
||||
typedef u32 GXSt;
|
||||
|
||||
inline GXSt GX_ST(GXTexSizeS sizeS, GXTexSizeT sizeT) {
|
||||
u16 t = sizeT << 8 >> 16;
|
||||
u16 s = sizeS << 8 >> 16;
|
||||
return s | (t << 16);
|
||||
}
|
||||
|
||||
typedef u32 GXTexPlttColor0;
|
||||
|
||||
typedef u32 GXCaptureSrcB;
|
||||
|
||||
typedef struct GX_UnkStruct2 {
|
||||
/* 00 */ u16 unk_00;
|
||||
/* 02 */ u16 unk_02;
|
||||
/* 04 */ u16 unk_04;
|
||||
/* 06 */ u16 unk_06;
|
||||
/* 08 */ u16 unk_08;
|
||||
/* 0a */ u16 unk_0a;
|
||||
/* 0c */ u16 unk_0c;
|
||||
/* 0e */ u16 unk_0e;
|
||||
/* 10 */ u16 unk_10;
|
||||
/* 12 */ u16 unk_12;
|
||||
/* 14 */ u16 unk_14;
|
||||
/* 16 */ u16 unk_16;
|
||||
/* 18 */ u16 unk_18;
|
||||
/* 1a */
|
||||
} GX_UnkStruct2;
|
||||
|
||||
void GX_Init(void);
|
||||
void GX_DispOff(void);
|
||||
void GX_DispOn(void);
|
||||
|
||||
u16 GX_VBlankIntr(BOOL);
|
||||
u16 GX_HBlankIntr(BOOL);
|
||||
|
||||
void GX_SetBankForLCDC(s32);
|
||||
void GX_DisableBankForLCDC(void);
|
||||
void GX_SetBankForBG(s32);
|
||||
void GX_SetBankForOBJ(s32);
|
||||
void GX_SetBankForSubBG(s32);
|
||||
void GX_SetBankForSubOBJ(s32);
|
||||
void GX_SetBankForTex(u32);
|
||||
void GX_SetBankForTexPltt(u32);
|
||||
void GX_SetGraphicsMode(u32, u32, u32);
|
||||
void GXS_SetGraphicsMode(u32);
|
||||
|
||||
void GX_LoadOAM(GXOamAttr *oam, u32 offset, u32 size);
|
||||
void GXS_LoadOAM(GXOamAttr *oam, u32 offset, u32 size);
|
||||
|
||||
void GX_LoadBG0Char(void *ptr, u32 offset, u32 size);
|
||||
void GX_LoadBG0Scr(void *ptr, u32 offset, u32 size);
|
||||
void GX_LoadBG1Char(void *ptr, u32 offset, u32 size);
|
||||
void GX_LoadBG1Scr(void *ptr, u32 offset, u32 size);
|
||||
void GX_LoadBG2Bmp(void *ptr, u32 offset, u32 size);
|
||||
void GX_LoadBG2Char(void *ptr, u32 offset, u32 size);
|
||||
void GX_LoadBG2Scr(void *ptr, u32 offset, u32 size);
|
||||
void GX_LoadBG3Bmp(void *ptr, u32 offset, u32 size);
|
||||
void GX_LoadBG3Char(void *ptr, u32 offset, u32 size);
|
||||
void GX_LoadBG3Scr(void *ptr, u32 offset, u32 size);
|
||||
|
||||
void GXS_LoadBG0Char(void *ptr, u32 offset, u32 size);
|
||||
void GXS_LoadBG0Scr(void *ptr, u32 offset, u32 size);
|
||||
void GXS_LoadBG1Char(void *ptr, u32 offset, u32 size);
|
||||
void GXS_LoadBG1Scr(void *ptr, u32 offset, u32 size);
|
||||
void GXS_LoadBG2Bmp(void *ptr, u32 offset, u32 size);
|
||||
void GXS_LoadBG2Char(void *ptr, u32 offset, u32 size);
|
||||
void GXS_LoadBG2Scr(void *ptr, u32 offset, u32 size);
|
||||
void GXS_LoadBG3Bmp(void *ptr, u32 offset, u32 size);
|
||||
void GXS_LoadBG3Char(void *ptr, u32 offset, u32 size);
|
||||
void GXS_LoadBG3Scr(void *ptr, u32 offset, u32 size);
|
||||
|
||||
void GX_LoadBGPltt(void *ptr, u32 offset, u32 size);
|
||||
void GX_LoadOBJPltt(void *ptr, u32 offset, u32 size);
|
||||
void GXS_LoadBGPltt(void *ptr, u32 offset, u32 size);
|
||||
void GXS_LoadOBJPltt(void *ptr, u32 offset, u32 size);
|
||||
|
||||
void GX_LoadOBJ(void *ptr, u32 offset, u32 size);
|
||||
void GXS_LoadOBJ(void *ptr, u32 offset, u32 size);
|
||||
|
||||
BOOL GX_TrySetBankForBGExtPltt(s32);
|
||||
BOOL GX_TrySetBankForSubBGExtPltt(s32);
|
||||
BOOL GX_TrySetBankForOBJExtPltt(s32);
|
||||
BOOL GX_TrySetBankForSubOBJExtPltt(s32);
|
||||
u16 GX_ResetBankForBGExtPltt(void);
|
||||
u16 GX_ResetBankForSubBGExtPltt(void);
|
||||
u16 GX_ResetBankForOBJExtPltt(void);
|
||||
u16 GX_ResetBankForSubOBJExtPltt(void);
|
||||
|
||||
void GX_BeginLoadBGExtPltt(void);
|
||||
void GX_LoadBGExtPltt(void *ptr, u32 offset, u32 size);
|
||||
void GX_EndLoadBGExtPltt(void);
|
||||
|
||||
void GXS_BeginLoadBGExtPltt(void);
|
||||
void GXS_LoadBGExtPltt(void *ptr, u32 offset, u32 size);
|
||||
void GXS_EndLoadBGExtPltt(void);
|
||||
|
||||
void GX_BeginLoadOBJExtPltt(void);
|
||||
void GX_LoadOBJExtPltt(void *ptr, u32 offset, u32 size);
|
||||
void GX_EndLoadOBJExtPltt(void);
|
||||
|
||||
void GXS_BeginLoadOBJExtPltt(void);
|
||||
void GXS_LoadOBJExtPltt(void *ptr, u32 offset, u32 size);
|
||||
void GXS_EndLoadOBJExtPltt(void);
|
||||
|
||||
void GX_BeginLoadTexPltt(void);
|
||||
void GX_LoadTexPltt(void *ptr, u32 offset, u32 size);
|
||||
void GX_EndLoadTexPltt(void);
|
||||
|
||||
void GX_BeginLoadTex(void);
|
||||
void GX_LoadTex(void *ptr, u32 offset, u32 size);
|
||||
void GX_EndLoadTex(void);
|
||||
|
||||
void GX_func_0008(void *, s32, s32);
|
||||
|
||||
extern u16 data_020a7088;
|
||||
extern u32 data_020a708c;
|
||||
|
||||
extern u16 data_0216a0dc;
|
||||
extern u16 data_0216a0de;
|
||||
extern GX_UnkStruct2 data_0216a0e0;
|
||||
|
||||
inline void GXS_DispOff(void) {
|
||||
REG_DISPCNT_SUB &= ~0x10000;
|
||||
}
|
||||
|
||||
inline void GXS_DispOn(void) {
|
||||
REG_DISPCNT_SUB |= 0x10000;
|
||||
}
|
||||
|
||||
inline void GX_SetPower(u32 value) {
|
||||
REG_POWER_CNT = (REG_POWER_CNT & 0xFFFFFDF1) | (value);
|
||||
}
|
||||
|
||||
inline void GX_SetDispSelect(u32 value) {
|
||||
REG_POWER_CNT = (REG_POWER_CNT & ~0x8000) | value;
|
||||
}
|
||||
|
||||
inline void GX_SetOBJVRamModeChar(u32 value) {
|
||||
REG_DISPCNT = (REG_DISPCNT & 0xFFCFFFEF) | (value);
|
||||
}
|
||||
|
||||
inline void GXS_SetOBJVRamModeChar(u32 value) {
|
||||
REG_DISPCNT_SUB = (REG_DISPCNT_SUB & 0xFFCFFFEF) | (value);
|
||||
}
|
||||
|
||||
inline u16 GX_GetVCount(void) {
|
||||
return REG_VCOUNT;
|
||||
}
|
||||
|
||||
inline void GX_SetVisiblePlane(s32 plane) {
|
||||
REG_DISPCNT = (REG_DISPCNT & ~0x1f00) | (plane << 8);
|
||||
}
|
||||
|
||||
inline void GXS_SetVisiblePlane(s32 plane) {
|
||||
REG_DISPCNT_SUB = (REG_DISPCNT_SUB & ~0x1f00) | (plane << 8);
|
||||
}
|
||||
|
||||
inline void GX_SetBGCharOffset(u32 offset) {
|
||||
REG_DISPCNT = (REG_DISPCNT & ~0x7000000) | offset;
|
||||
}
|
||||
|
||||
inline void GX_SetBGScrOffset(u32 offset) {
|
||||
REG_DISPCNT = (REG_DISPCNT & ~0x38000000) | offset;
|
||||
}
|
||||
|
||||
inline void GX_SetCapture(u32 size, u32 mode, u32 srcA, GXCaptureSrcB srcB, u32 dest, u32 param6, u32 param7) {
|
||||
// Unclear how to combine the arguments
|
||||
// size = GX_CAPTURE_SIZE_256x192,
|
||||
// mode = GX_CAPTURE_MODE_A,
|
||||
// srcA = GX_CAPTURE_SRCA_2D3D,
|
||||
// srcB = 0,
|
||||
// dest = GX_CAPTURE_DEST_VRAM_C_0x00000,
|
||||
// param6 = 16,
|
||||
// param7 = 0,
|
||||
// => 0x80320010
|
||||
REG_DISPCAPCNT = 0x80300010 | (dest << 0x10);
|
||||
}
|
||||
|
||||
inline void GXS_SetOBJVRamModeBmp(u32 mode) {
|
||||
REG_DISPCNT_SUB = REG_DISPCNT_SUB & ~0x60 | ((mode & 0x3) << 5);
|
||||
}
|
||||
|
||||
inline void GX_SetVisibleWindows(s32 windows) {
|
||||
REG_DISPCNT = (REG_DISPCNT & ~0xE000) | (windows << 13);
|
||||
}
|
||||
|
||||
inline void GXS_SetVisibleWindows(s32 windows) {
|
||||
REG_DISPCNT_SUB = (REG_DISPCNT_SUB & ~0xE000) | (windows << 13);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,39 @@
|
||||
#ifndef _NITRO_HW_H
|
||||
#define _NITRO_HW_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define HW_PLTT ((void *) 0x05000000)
|
||||
#define HW_PLTT_SIZE 0x400
|
||||
|
||||
#define HW_DB_PLTT ((void *) 0x05000400)
|
||||
#define HW_DB_PLTT_SIZE 0x400
|
||||
|
||||
#define HW_BG_VRAM ((void *) 0x06000000)
|
||||
#define HW_BG_VRAM_SIZE // TODO
|
||||
|
||||
#define HW_DB_BG_VRAM ((void *) 0x06200000)
|
||||
#define HW_DB_BG_VRAM_SIZE // TODO
|
||||
|
||||
#define HW_OBJ_VRAM ((void *) 0x06400000)
|
||||
#define HW_OBJ_VRAM_SIZE // TODO
|
||||
|
||||
#define HW_DB_OBJ_VRAM ((void *) 0x06600000)
|
||||
#define HW_DB_OBJ_VRAM_SIZE // TODO
|
||||
|
||||
#define HW_LCDC_VRAM ((void *) 0x06800000)
|
||||
#define HW_LCDC_VRAM_SIZE 0xA4000
|
||||
|
||||
#define HW_OAM ((void *) 0x07000000)
|
||||
#define HW_OAM_SIZE 0x400
|
||||
|
||||
#define HW_DB_OAM ((void *) 0x07000400)
|
||||
#define HW_DB_OAM_SIZE 0x400
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -4,6 +4,8 @@
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include <nitro/fx.h>
|
||||
|
||||
#if __MWERKS__
|
||||
#define Vec2_Set(a, dst) \
|
||||
{ \
|
||||
@@ -45,18 +47,13 @@ extern "C" {
|
||||
#define CLAMP(x, min, max) ((x) > (max) ? (max) : (x) < (min) ? (min) : (x))
|
||||
#define CLAMP2(x, min, max) ((x) > (max) ? (max) : (x) >= (min) ? (x) : (min))
|
||||
|
||||
// Q20.12 fixed point number
|
||||
typedef s32 q20;
|
||||
// Q4.12 fixed point number
|
||||
typedef s16 q4;
|
||||
|
||||
#define INT_TO_Q20(n) ((s32) ((n) << 12))
|
||||
#define INT_TO_Q20(n) ((s32) ((n) << FX32_SHIFT))
|
||||
#define FLOAT_TO_Q21(n) ((s32) (((n) * 8192 + 1) / 4))
|
||||
#define FLOAT_TO_Q20(n) ((s32) (((n) * 8192 + 1) / 2))
|
||||
#define FLOAT_TO_Q19(n) ((s32) (((n) * 8192 + 1)))
|
||||
#define ROUND_Q20(n) (((s32) (n) + 0x800) >> 12)
|
||||
#define MUL_Q20(a, b) (q20)((((s64) (a)) * ((s64) (b)) + 0x800) >> 12)
|
||||
#define DIV_Q20(a, b) (((a) << 12) / (b))
|
||||
#define ROUND_Q20(n) (((s32) (n) + 0x800) >> FX32_SHIFT)
|
||||
#define MUL_Q20(a, b) (fx32)((((s64) (a)) * ((s64) (b)) + 0x800) >> FX32_SHIFT)
|
||||
#define DIV_Q20(a, b) (((a) << FX32_SHIFT) / (b))
|
||||
|
||||
#define DEG_TO_ANG(n) ((n) * 0x10000 / 360)
|
||||
#define SIN(n) (gSinCosTable[2 * ((n) >> 4)])
|
||||
@@ -67,38 +64,17 @@ typedef s16 q4;
|
||||
|
||||
typedef union Vec2p {
|
||||
struct {
|
||||
/* 0 */ q20 x;
|
||||
/* 4 */ q20 y;
|
||||
/* 0 */ fx32 x;
|
||||
/* 4 */ fx32 y;
|
||||
/* 8 */
|
||||
};
|
||||
q20 coords[2];
|
||||
fx32 coords[2];
|
||||
} Vec2p;
|
||||
|
||||
#define Vec2p_Add(a, b, dst) Vec2_Add(Vec2p, a, b, dst)
|
||||
#define Vec2p_Sub(a, b, dst) Vec2_Sub(Vec2p, a, b, dst)
|
||||
#define Vec2p_Set(a, dst) Vec2_Set(Vec2p, a, dst)
|
||||
#define Vec2p_Clear(dst) Vec2_Clear(q20, dst)
|
||||
|
||||
typedef union Vec3p {
|
||||
struct {
|
||||
/* 0 */ q20 x;
|
||||
/* 4 */ q20 y;
|
||||
/* 8 */ q20 z;
|
||||
/* C */
|
||||
};
|
||||
q20 coords[3];
|
||||
} Vec3p;
|
||||
|
||||
typedef union Vec4p {
|
||||
struct {
|
||||
/* 00 */ q20 x;
|
||||
/* 04 */ q20 y;
|
||||
/* 08 */ q20 z;
|
||||
/* 0C */ q20 w;
|
||||
/* 10 */
|
||||
};
|
||||
q20 coords[4];
|
||||
} Vec4p;
|
||||
#define Vec2p_Clear(dst) Vec2_Clear(fx32, dst)
|
||||
|
||||
typedef struct Mat2p {
|
||||
/* 00 */ Vec2p xColumn;
|
||||
@@ -107,25 +83,25 @@ typedef struct Mat2p {
|
||||
} Mat2p;
|
||||
|
||||
typedef struct Mat3p {
|
||||
/* 00 */ Vec3p xColumn;
|
||||
/* 0C */ Vec3p yColumn;
|
||||
/* 18 */ Vec3p zColumn;
|
||||
/* 00 */ VecFx32 xColumn;
|
||||
/* 0C */ VecFx32 yColumn;
|
||||
/* 18 */ VecFx32 zColumn;
|
||||
/* 24 */
|
||||
} Mat3p;
|
||||
|
||||
typedef struct Mat4x3p {
|
||||
/* 00 */ Vec3p xColumn;
|
||||
/* 0C */ Vec3p yColumn;
|
||||
/* 18 */ Vec3p zColumn;
|
||||
/* 24 */ Vec3p wColumn;
|
||||
/* 00 */ VecFx32 xColumn;
|
||||
/* 0C */ VecFx32 yColumn;
|
||||
/* 18 */ VecFx32 zColumn;
|
||||
/* 24 */ VecFx32 wColumn;
|
||||
/* 30 */
|
||||
} Mat4x3p;
|
||||
|
||||
typedef struct Mat4p {
|
||||
/* 00 */ Vec4p xColumn;
|
||||
/* 10 */ Vec4p yColumn;
|
||||
/* 20 */ Vec4p zColumn;
|
||||
/* 30 */ Vec4p wColumn;
|
||||
/* 00 */ MtxFx22 xColumn;
|
||||
/* 10 */ MtxFx22 yColumn;
|
||||
/* 20 */ MtxFx22 zColumn;
|
||||
/* 30 */ MtxFx22 wColumn;
|
||||
/* 40 */
|
||||
} Mat4p;
|
||||
|
||||
@@ -148,85 +124,85 @@ void StartDivision64By32(u32 a, u32 b);
|
||||
u32 CoDivide32(u32 a, u32 b);
|
||||
u32 CoRemainder(u32 a, u32 b);
|
||||
|
||||
bool Approach(unk32 *src, unk32 dest, unk32 step);
|
||||
bool Approach_thunk(unk32 *src, unk32 dest, unk32 step);
|
||||
extern q4 gSinCosTable[];
|
||||
bool Approach(s32 *src, s32 dest, s32 step);
|
||||
bool Approach_thunk(s32 *src, s32 dest, s32 step);
|
||||
extern fx16 gSinCosTable[];
|
||||
|
||||
extern const Vec3p gVec3p_ZERO;
|
||||
extern const VecFx32 gVecFx32_ZERO;
|
||||
|
||||
void Vec3p_Add(Vec3p *a, const Vec3p *b, Vec3p *out);
|
||||
void Vec3p_Sub(Vec3p *a, Vec3p *b, Vec3p *out);
|
||||
q20 Vec3p_Dot(Vec3p *a, Vec3p *b);
|
||||
void Vec3p_Cross(Vec3p *a, Vec3p *b, Vec3p *out);
|
||||
q20 Vec3p_Length(Vec3p *a);
|
||||
void Vec3p_Normalize(Vec3p *vec, Vec3p *out);
|
||||
void Vec3p_Axpy(q20 a, Vec3p *x, Vec3p *y, Vec3p *out);
|
||||
q20 Vec3p_Distance(Vec3p *a, Vec3p *b);
|
||||
bool Vec3p_TryNormalize(Vec3p *vec);
|
||||
q20 Vec3p_DistanceSquared(Vec3p *a, Vec3p *b);
|
||||
void Vec3p_Scale(Vec3p *vec, q20 scale);
|
||||
bool Vec3p_CalculateNormal(Vec3p *vec, Vec3p *a, Vec3p *b, Vec3p *c);
|
||||
void VecFx32_Add(VecFx32 *a, const VecFx32 *b, VecFx32 *out);
|
||||
void VecFx32_Sub(VecFx32 *a, VecFx32 *b, VecFx32 *out);
|
||||
fx32 VecFx32_Dot(VecFx32 *a, VecFx32 *b);
|
||||
void VecFx32_Cross(VecFx32 *a, VecFx32 *b, VecFx32 *out);
|
||||
fx32 VecFx32_Length(VecFx32 *a);
|
||||
void VecFx32_Normalize(VecFx32 *vec, VecFx32 *out);
|
||||
void VecFx32_Axpy(fx32 a, VecFx32 *x, VecFx32 *y, VecFx32 *out);
|
||||
fx32 VecFx32_Distance(VecFx32 *a, VecFx32 *b);
|
||||
bool VecFx32_TryNormalize(VecFx32 *vec);
|
||||
fx32 VecFx32_DistanceSquared(VecFx32 *a, VecFx32 *b);
|
||||
void VecFx32_Scale(VecFx32 *vec, fx32 scale);
|
||||
bool VecFx32_CalculateNormal(VecFx32 *vec, VecFx32 *a, VecFx32 *b, VecFx32 *c);
|
||||
|
||||
static inline void Vec3p_Rotate(Vec3p *vec, q20 sin, q20 cos, Vec3p *out) {
|
||||
static inline void VecFx32_Rotate(VecFx32 *vec, fx32 sin, fx32 cos, VecFx32 *out) {
|
||||
out->x += MUL_Q20(vec->z, sin);
|
||||
out->z += MUL_Q20(vec->z, cos);
|
||||
out->x += MUL_Q20(vec->x, cos);
|
||||
out->z += MUL_Q20(vec->x, -sin);
|
||||
}
|
||||
|
||||
static inline void Vec3p_CopyXZ(Vec3p *vec, Vec3p *out) {
|
||||
q20 z = vec->z;
|
||||
q20 x = vec->x;
|
||||
static inline void VecFx32_CopyXZ(VecFx32 *vec, VecFx32 *out) {
|
||||
fx32 z = vec->z;
|
||||
fx32 x = vec->x;
|
||||
|
||||
out->x = x;
|
||||
out->y = 0;
|
||||
out->z = z;
|
||||
}
|
||||
|
||||
static inline void Vec3p_Copy(Vec3p *vec, Vec3p *out) {
|
||||
static inline void VecFx32_Copy(VecFx32 *vec, VecFx32 *out) {
|
||||
out->x = vec->x;
|
||||
out->y = vec->y;
|
||||
out->z = vec->z;
|
||||
}
|
||||
|
||||
static inline void Vec3p_Init(q20 x, q20 y, q20 z, Vec3p *dst) {
|
||||
static inline void VecFx32_Init(fx32 x, fx32 y, fx32 z, VecFx32 *dst) {
|
||||
dst->x = x;
|
||||
dst->y = y;
|
||||
dst->z = z;
|
||||
}
|
||||
|
||||
void Mat2p_InitIdentity(Mat2p *m);
|
||||
void Mat2p_InitRotation(Mat2p *m, q20 sin, q20 cos);
|
||||
void Mat2p_InitRotation(Mat2p *m, fx32 sin, fx32 cos);
|
||||
void Mat2p_Multiply(Mat2p *a, Mat2p *b, Mat2p *out);
|
||||
|
||||
void Mat3p_InitIdentity(Mat3p *m);
|
||||
void Mat3p_CopyToMat4x3p(Mat3p *m, Mat4x3p *out);
|
||||
void Mat3p_InitScale(Mat3p *m, q20 x, q20 y, q20 z);
|
||||
void Mat3p_ScaleColumns(Mat3p *m, Mat3p *out, q20 x, q20 y, q20 z);
|
||||
void Mat3p_InitXRotation(Mat3p *m, q20 sin, q20 cos);
|
||||
void Mat3p_InitYRotation(Mat3p *m, q20 sin, q20 cos);
|
||||
void Mat3p_InitZRotation(Mat3p *m, q20 sin, q20 cos);
|
||||
void Mat3p_func_01ff8248(Mat3p *m, Vec3p *v, q20 scale, q20 offset);
|
||||
void Mat3p_InitScale(Mat3p *m, fx32 x, fx32 y, fx32 z);
|
||||
void Mat3p_ScaleColumns(Mat3p *m, Mat3p *out, fx32 x, fx32 y, fx32 z);
|
||||
void Mat3p_InitXRotation(Mat3p *m, fx32 sin, fx32 cos);
|
||||
void Mat3p_InitYRotation(Mat3p *m, fx32 sin, fx32 cos);
|
||||
void Mat3p_InitZRotation(Mat3p *m, fx32 sin, fx32 cos);
|
||||
void Mat3p_func_01ff8248(Mat3p *m, VecFx32 *v, fx32 scale, fx32 offset);
|
||||
void Mat3p_func_01ff83a0(Mat3p *a, Mat3p *b);
|
||||
void Mat3p_Multiply(Mat3p *a, Mat3p *b, Mat3p *out);
|
||||
void Mat3p_MultiplyVec(Vec3p *v, Mat3p *m, Vec3p *out);
|
||||
void Mat3p_MultiplyVec(VecFx32 *v, Mat3p *m, VecFx32 *out);
|
||||
|
||||
void Mat4x3p_InitIdentity(Mat4x3p *m);
|
||||
void Mat4x3p_CopyToMat4p(Mat4x3p *m, Mat4p *out);
|
||||
void Mat4x3p_func_01ff8988(Mat4x3p *m, Mat4x3p *out, q20 x, q20 y, q20 z);
|
||||
void Mat4x3p_InitScale(Mat4x3p *m, q20 x, q20 y, q20 z);
|
||||
void Mat4x3p_ScaleColumns(Mat4x3p *m, Mat4x3p *out, q20 x, q20 y, q20 z);
|
||||
void Mat4x3p_InitXRotation(Mat4x3p *m, q20 sin, q20 cos);
|
||||
void Mat4x3p_InitYRotation(Mat4x3p *m, q20 sin, q20 cos);
|
||||
void Mat4x3p_InitZRotation(Mat4x3p *m, q20 sin, q20 cos);
|
||||
void Mat4x3p_func_01ff8ad8(Mat4x3p *m, Vec3p *v, q20 scale, q20 offset);
|
||||
void Mat4x3p_func_01ff8988(Mat4x3p *m, Mat4x3p *out, fx32 x, fx32 y, fx32 z);
|
||||
void Mat4x3p_InitScale(Mat4x3p *m, fx32 x, fx32 y, fx32 z);
|
||||
void Mat4x3p_ScaleColumns(Mat4x3p *m, Mat4x3p *out, fx32 x, fx32 y, fx32 z);
|
||||
void Mat4x3p_InitXRotation(Mat4x3p *m, fx32 sin, fx32 cos);
|
||||
void Mat4x3p_InitYRotation(Mat4x3p *m, fx32 sin, fx32 cos);
|
||||
void Mat4x3p_InitZRotation(Mat4x3p *m, fx32 sin, fx32 cos);
|
||||
void Mat4x3p_func_01ff8ad8(Mat4x3p *m, VecFx32 *v, fx32 scale, fx32 offset);
|
||||
void Mat4x3p_func_01ff8af8(Mat4x3p *a, Mat4x3p *b);
|
||||
void Mat4x3p_Multiply(Mat4x3p *a, Mat4x3p *b, Mat4x3p *out);
|
||||
void Mat4x3p_MultiplyVec(Vec3p *v, Mat4x3p *m, Vec3p *out);
|
||||
void Mat4x3p_MultiplyVec(VecFx32 *v, Mat4x3p *m, VecFx32 *out);
|
||||
|
||||
void Mat4p_InitIdentity(Mat4p *m);
|
||||
void Mat4p_CopyToMat4x3p(Mat4p *m, Mat4x3p *out);
|
||||
void Mat4p_InitZRotation(Mat4p *m, q20 sin, q20 cos);
|
||||
void Mat4p_InitZRotation(Mat4p *m, fx32 sin, fx32 cos);
|
||||
void Mat4p_Multiply(Mat4p *a, Mat4p *b, Mat4p *out);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
#ifndef _NITRO_MB_H
|
||||
#define _NITRO_MB_H
|
||||
|
||||
#include "nitro/types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define MB_USER_NAME_LENGTH 0 // nocheckin
|
||||
|
||||
typedef struct {
|
||||
u16 length;
|
||||
u16 rssi;
|
||||
u16 bssid[3];
|
||||
u16 ssidLength;
|
||||
u8 ssid[32];
|
||||
u16 capaInfo;
|
||||
struct {
|
||||
u16 basic;
|
||||
u16 support;
|
||||
} rateSet;
|
||||
u16 beaconPeriod;
|
||||
u16 dtimPeriod;
|
||||
u16 channel;
|
||||
u16 cfpPeriod;
|
||||
u16 cfpMaxDuration;
|
||||
} MBParentBssDesc;
|
||||
|
||||
typedef struct MBGameRegistry {
|
||||
/* 00 */ const char *programPathName;
|
||||
/* 04 */ const u16 *title;
|
||||
/* 08 */ const u16 *description;
|
||||
/* 0c */ const char *iconCharacterDataFile;
|
||||
/* 10 */ const char *iconPaletteFile;
|
||||
/* 14 */ u32 ggid;
|
||||
/* 18 */ u8 numPlayers;
|
||||
/* 19 */ u8 unk_19[0x3c - 0x19];
|
||||
/* 3c */
|
||||
} MBGameRegistry;
|
||||
|
||||
typedef struct MBUserInfo {
|
||||
// nocheckin
|
||||
u16 nameLength;
|
||||
char name[1];
|
||||
} MBUserInfo;
|
||||
|
||||
inline BOOL MB_IsMultiBootChild(void) {
|
||||
return REG_027FFC40 == 0x2;
|
||||
}
|
||||
inline const MBParentBssDesc *MB_GetMultiBootParentBssDesc(void) {
|
||||
BOOL b = REG_027FFC40 == 2;
|
||||
if (b) {
|
||||
return (const MBParentBssDesc *) ®_027FFC42;
|
||||
} else {
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,45 @@
|
||||
#ifndef _NITRO_MI_H
|
||||
#define _NITRO_MI_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "nitro/types.h"
|
||||
|
||||
#define MI_DMA_MAX_NUM 3
|
||||
|
||||
void MI_DmaFill32(u32, void *ptr, u8 value, u32 size);
|
||||
void MI_DmaCopy16(u32, void *src, void *dst, u32 size);
|
||||
void MI_DmaCopy32(u32, void *src, void *dst, u32 size);
|
||||
void MI_func_0206d87c(u32, void *src, void *dst, u32 size, u32, u32);
|
||||
void MI_func_0206d934(u32);
|
||||
BOOL MI_IsDmaBusy(u32);
|
||||
|
||||
void _MI_CpuCopy(void *src, void *dest, u32 size);
|
||||
void _MI_CpuFill(u32 value, void *ptr, u32 size);
|
||||
void MI_CpuFill8(void *ptr, u8 value, u32 size);
|
||||
void MI_CpuCopy8(void *src, void *dst, u32 size);
|
||||
void MI_CpuCopy16(void *src, void *dst, u32 size);
|
||||
void MI_CpuCopy32(void *src, void *dst, u32 size);
|
||||
void MI_CpuFill16(int value, void *dst, size_t size);
|
||||
void MI_CpuFill32(u32 value, void *ptr, u32 size);
|
||||
void MI_Swap(u32 *a, u32 *b);
|
||||
|
||||
inline void MI_CpuClearFast(void *ptr, u32 size) {
|
||||
_MI_CpuFill(0, ptr, size);
|
||||
}
|
||||
|
||||
inline void MI_CpuFillFast(void *ptr, u8 value, u32 size) {
|
||||
_MI_CpuFill(value, ptr, size);
|
||||
}
|
||||
|
||||
inline void MI_CpuCopyFast(void *src, void *dest, u32 size) {
|
||||
_MI_CpuCopy(src, dest, size);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,238 @@
|
||||
#ifndef _NITRO_OS_H
|
||||
#define _NITRO_OS_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "nitro/os/context.h"
|
||||
#include "nitro/os/mutex.h"
|
||||
#include "nitro/os/thread.h"
|
||||
#include "nitro/reg.h"
|
||||
|
||||
#define OS_IE_V_BLANK 1
|
||||
#define OS_IE_H_BLANK 2
|
||||
|
||||
#define OS_ARENA_MAIN 0
|
||||
#define OS_ARENA_ITCM 3
|
||||
#define OS_ARENA_DTCM 4
|
||||
#define OS_CURRENT_HEAP_HANDLE -1
|
||||
|
||||
#define OS_MESSAGE_NOBLOCK 0
|
||||
#define OS_MESSAGE_BLOCK 1
|
||||
|
||||
#define OS_CONSOLE_ISDEBUGGER 0x40000000
|
||||
#define OS_CONSOLE_NITRO 0x80000000
|
||||
|
||||
#define OS_LOCK_ID_ERROR -3
|
||||
|
||||
#define OS_THREAD_LAUNCHER_PRIORITY 0x10
|
||||
|
||||
typedef struct OSLinkedList {
|
||||
/* 00 */ void *head;
|
||||
/* 04 */ void *tail;
|
||||
/* 08 */
|
||||
} OSLinkedList;
|
||||
|
||||
typedef struct OSMessageQueue {
|
||||
/* 00 */ OSLinkedList unk_00;
|
||||
/* 08 */ u32 unk_08;
|
||||
/* 0c */ u32 unk_0c;
|
||||
/* 10 */ u32 unk_10;
|
||||
/* 14 */ u32 unk_14;
|
||||
/* 18 */ u32 unk_18;
|
||||
/* 1c */ u32 unk_1c;
|
||||
/* 20 */
|
||||
} OSMessageQueue;
|
||||
|
||||
// TODO: Maybe align is wrong? g_msgBuf in PM4 is aligned by 8 with 4 bytes of padding before it
|
||||
typedef void *OSMessage ATTRIBUTE_ALIGN(8);
|
||||
|
||||
typedef struct OSAlarm {
|
||||
/* 00 */ u32 unk_00;
|
||||
/* 04 */ u32 unk_04;
|
||||
/* 08 */ u32 unk_08;
|
||||
/* 0c */ u32 unk_0c;
|
||||
/* 10 */ u32 unk_10;
|
||||
/* 14 */ void *unk_14;
|
||||
/* 18 */ void *unk_18;
|
||||
/* 1c */ u32 unk_1c;
|
||||
/* 20 */ u32 unk_20;
|
||||
/* 24 */ u32 unk_24;
|
||||
/* 28 */ u32 unk_28;
|
||||
/* 2c */
|
||||
} OSAlarm;
|
||||
|
||||
typedef struct OSDma {
|
||||
/* 00 */ vu32 src;
|
||||
/* 04 */ vu32 dst;
|
||||
/* 08 */ vu32 cnt;
|
||||
/* 0c */
|
||||
} OSDma;
|
||||
|
||||
typedef u32 OSHeapHandle;
|
||||
typedef u64 OSTime;
|
||||
|
||||
typedef u32 OSIntrMode;
|
||||
|
||||
void OS_Init(void);
|
||||
void OS_InitThread(void);
|
||||
void OS_InitTick(void);
|
||||
void OS_InitAlarm(void);
|
||||
void OS_Terminate(void);
|
||||
void OS_SetIrqFunction(u32 type, void (*function)());
|
||||
|
||||
void OS_EnableIrqMask(u32 mask);
|
||||
|
||||
void OS_WaitVBlankIntr(void);
|
||||
void _OS_SpinWait(u32 param1);
|
||||
inline void OS_SpinWait(u32 param1) {
|
||||
_OS_SpinWait(param1 / 2);
|
||||
}
|
||||
|
||||
void _OS_Panic();
|
||||
|
||||
#ifdef DEBUG
|
||||
void OS_TPrintf(const char *format, ...) {}
|
||||
void OS_Printf(const char *format, ...) {}
|
||||
void OS_TVPrintf(const char *format, va_list args) {}
|
||||
void OS_TPanic(const char *message) {}
|
||||
void OS_Panic(const char *message) {}
|
||||
#else
|
||||
#define OS_TPrintf(...)
|
||||
#define OS_Printf(...)
|
||||
#define OS_TVPrintf(...)
|
||||
#define OS_TPanic(...) _OS_Panic()
|
||||
#define OS_Panic(...) _OS_Panic()
|
||||
#endif
|
||||
|
||||
void OS_ResetSystem(u32);
|
||||
|
||||
void *OS_InitAlloc(u32 arena, u32 addrLo, u32 addrHi, u32);
|
||||
u32 OS_GetArenaLo(u32 arena);
|
||||
u32 OS_GetArenaHi(u32 arena);
|
||||
|
||||
void OS_SetArenaLo(u32 arena, void *addr);
|
||||
void *OS_AllocFromArenaLo(u32 arena, u32 size, u32 num);
|
||||
|
||||
OSHeapHandle OS_CreateHeap(u32 arena, void *addrLo, void *addrHi);
|
||||
void OS_SetCurrentHeap(u32 arena, OSHeapHandle heap);
|
||||
void OS_DumpHeap(u32 arena, OSHeapHandle heap);
|
||||
void *OS_AllocFromHeap(u32 arena, OSHeapHandle heap, u32 size);
|
||||
void OS_FreeFromHeap(u32 arena, OSHeapHandle heap, void *ptr);
|
||||
u32 OS_CheckHeap(u32 arena, OSHeapHandle heap);
|
||||
|
||||
void OS_Sleep(u32 time);
|
||||
|
||||
#ifdef DEBUG
|
||||
void OS_CheckStack(OSThread *thread);
|
||||
#else
|
||||
#define OS_CheckStack(thread)
|
||||
#endif
|
||||
void OS_func_0044(void);
|
||||
s32 OS_func_0039(OSMutexQueue *param1);
|
||||
|
||||
void OS_InitMessageQueue(OSMessageQueue *queue, OSMessage *buf, u32 bufLength);
|
||||
void OS_ReceiveMessage(OSMessageQueue *queue, OSMessage *message, u32 block);
|
||||
void OS_SendMessage(OSMessageQueue *queue, OSMessage message, u32 block);
|
||||
|
||||
void OS_CreateAlarm(OSAlarm *alarm);
|
||||
void OS_SetPeriodicAlarm(OSAlarm *alarm, OSTime, OSTime, void (*callback)(void *arg), void *arg);
|
||||
void OS_CancelAlarm(OSAlarm *alarm);
|
||||
|
||||
OSTime OS_GetTick(void);
|
||||
|
||||
u32 OS_GetConsoleType(void);
|
||||
|
||||
u32 OS_GetLockID(void);
|
||||
|
||||
OSIntrMode OS_DisableInterrupts(void);
|
||||
u32 OS_DisableInterrupts_Irq(void);
|
||||
void OS_RestoreInterrupts(u32);
|
||||
void OS_EnableInterrupts(void);
|
||||
|
||||
BOOL OS_func_0206d5ac(u16, u32);
|
||||
void OS_func_0206d66c(u16, u32);
|
||||
u32 OS_func_0206d3cc(void);
|
||||
|
||||
void OS_func_0013(s32, void (*)(u32), u32);
|
||||
|
||||
void OS_func_0167(void);
|
||||
void OS_func_0169(u32, void (*)(u32, u32, u32));
|
||||
BOOL OS_func_0170(u32, u32);
|
||||
s32 OS_func_0171(u32, u32, u32);
|
||||
s32 OS_func_0174(void);
|
||||
BOOL OS_func_0065(void);
|
||||
|
||||
inline void OS_SetIrqCheckFlag(void) {
|
||||
REG_IRQ |= 1;
|
||||
}
|
||||
|
||||
inline u16 OS_EnableIrq(void) {
|
||||
u16 oldVal = REG_IME;
|
||||
REG_IME = 1;
|
||||
return oldVal;
|
||||
}
|
||||
|
||||
inline u32 OS_GetMainArenaLo() {
|
||||
return OS_GetArenaLo(OS_ARENA_MAIN);
|
||||
}
|
||||
inline u32 OS_GetMainArenaHi(void) {
|
||||
return OS_GetArenaHi(OS_ARENA_MAIN);
|
||||
}
|
||||
inline u32 OS_GetITCMArenaLo() {
|
||||
return OS_GetArenaLo(OS_ARENA_ITCM);
|
||||
}
|
||||
inline u32 OS_GetITCMArenaHi() {
|
||||
return OS_GetArenaHi(OS_ARENA_ITCM);
|
||||
}
|
||||
inline u32 OS_GetDTCMArenaLo() {
|
||||
return OS_GetArenaLo(OS_ARENA_DTCM);
|
||||
}
|
||||
inline u32 OS_GetDTCMArenaHi() {
|
||||
return OS_GetArenaHi(OS_ARENA_DTCM);
|
||||
}
|
||||
|
||||
inline void OS_SetMainArenaLo(void *addr) {
|
||||
OS_SetArenaLo(OS_ARENA_MAIN, addr);
|
||||
}
|
||||
|
||||
inline void *OS_AllocFromMainArenaLo(u32 size, u32 num) {
|
||||
return OS_AllocFromArenaLo(OS_ARENA_MAIN, size, num);
|
||||
}
|
||||
|
||||
inline void *OS_Alloc(u32 size) {
|
||||
return OS_AllocFromHeap(OS_ARENA_MAIN, OS_CURRENT_HEAP_HANDLE, size);
|
||||
}
|
||||
|
||||
inline void OS_Free(void *ptr) {
|
||||
OS_FreeFromHeap(OS_ARENA_MAIN, OS_CURRENT_HEAP_HANDLE, ptr);
|
||||
}
|
||||
|
||||
inline OSTime OS_MilliSecondsToTicks(OSTime ms) {
|
||||
return (ms * 33514) / 64;
|
||||
}
|
||||
|
||||
inline OSTime OS_MicroSecondsToTicks(OSTime us) {
|
||||
return OS_MilliSecondsToTicks(us) / 1000;
|
||||
}
|
||||
|
||||
inline OSTime OS_TicksToMilliSeconds(OSTime ticks) {
|
||||
return (ticks * 64) / 33514;
|
||||
}
|
||||
|
||||
inline BOOL OS_IsRunOnTwl(void) {
|
||||
#ifndef IS_TWL
|
||||
return false;
|
||||
#else
|
||||
// Probably checks some reg here
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -1,5 +1,5 @@
|
||||
#ifndef NITROSDK_OS_CONTEXT_H
|
||||
#define NITROSDK_OS_CONTEXT_H
|
||||
#ifndef _NITRO_CONTEXT_H
|
||||
#define _NITRO_CONTEXT_H
|
||||
|
||||
#include <types.h>
|
||||
|
||||
@@ -12,4 +12,4 @@ typedef struct OSContext {
|
||||
/* 0x44 */ char unk_40[0x20];
|
||||
} OSContext; // Size: 0x64
|
||||
|
||||
#endif // NITROSDK_OS_CONTEXT_H
|
||||
#endif // _NITRO_CONTEXT_H
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#ifndef NITROSDK_OS_THREAD_H
|
||||
#define NITROSDK_OS_THREAD_H
|
||||
#ifndef _NITRO_THREAD_H
|
||||
#define _NITRO_THREAD_H
|
||||
|
||||
#include <nitro/os/context.h>
|
||||
|
||||
@@ -71,6 +71,7 @@ OSMutex *OS_RemoveMutexFromQueue(OSMutexQueue *queue);
|
||||
OSThread *OS_SelectThread(void);
|
||||
void OS_CreateThread(OSThread *thread, void (*func)(void *), void *arg, void *stack, u32 stackSize, u32 priority);
|
||||
void OS_ExitThread(void);
|
||||
void OS_WakeupThreadDirect(void *param1);
|
||||
|
||||
/// MARK: Inlines
|
||||
|
||||
@@ -95,4 +96,4 @@ static inline u32 OS_GetThreadId(OSThread *thread) {
|
||||
return thread->id;
|
||||
}
|
||||
|
||||
#endif // NITROSDK_OS_THREAD_H
|
||||
#endif // _NITRO_THREAD_H
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
#ifndef _NITRO_PAD_H
|
||||
#define _NITRO_PAD_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "nitro/reg.h"
|
||||
#include "nitro/types.h"
|
||||
|
||||
#define PAD_BUTTON_A (1 << 0) // 0x0001
|
||||
#define PAD_BUTTON_B (1 << 1) // 0x0002
|
||||
#define PAD_BUTTON_SELECT (1 << 2) // 0x0004
|
||||
#define PAD_BUTTON_START (1 << 3) // 0x0008
|
||||
#define PAD_KEY_RIGHT (1 << 4) // 0x0010
|
||||
#define PAD_KEY_LEFT (1 << 5) // 0x0020
|
||||
#define PAD_KEY_UP (1 << 6) // 0x0040
|
||||
#define PAD_KEY_DOWN (1 << 7) // 0x0080
|
||||
#define PAD_BUTTON_R (1 << 8) // 0x0100
|
||||
#define PAD_BUTTON_L (1 << 9) // 0x0200
|
||||
#define PAD_BUTTON_X (1 << 10) // 0x0400
|
||||
#define PAD_BUTTON_Y (1 << 11) // 0x0800
|
||||
|
||||
#define PAD_BUTTON_ALL \
|
||||
(PAD_BUTTON_A | PAD_BUTTON_B | PAD_BUTTON_SELECT | PAD_BUTTON_START | PAD_BUTTON_R | PAD_BUTTON_L | PAD_BUTTON_X | \
|
||||
PAD_BUTTON_Y)
|
||||
|
||||
#define PAD_KEY_ALL (PAD_KEY_RIGHT | PAD_KEY_LEFT | PAD_KEY_UP | PAD_KEY_DOWN)
|
||||
|
||||
#define PAD_ALL (PAD_BUTTON_ALL | PAD_KEY_ALL)
|
||||
|
||||
inline BOOL PAD_DetectFold(void) {
|
||||
return (REG_PAD & 0x8000) >> 0xf;
|
||||
}
|
||||
|
||||
inline u16 PAD_Read(void) {
|
||||
return ((REG_KEYINPUT | REG_PAD) ^ 0x2fff) & 0x2fff;
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,23 @@
|
||||
#ifndef _NITRO_PM_H
|
||||
#define _NITRO_PM_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// TODO: These two may swap values
|
||||
#define PM_TRIGGER_COVER_OPEN 4
|
||||
#define PM_TRIGGER_CARD 8
|
||||
|
||||
#define PM_LCD_POWER_OFF 0
|
||||
#define PM_LCD_POWER_ON 0x1
|
||||
|
||||
void PM_GoSleepMode(u32, u32, u32);
|
||||
|
||||
BOOL PM_SetLCDPower(u32 power);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -5,13 +5,21 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "types.h"
|
||||
#include "nitro/types.h"
|
||||
|
||||
#define REG_POWER_CNT (*(vu16 *) 0x04000304)
|
||||
#define REG_IME (*(vu16 *) 0x04000208)
|
||||
|
||||
#define REG_DISPSTAT (*(vu16 *) 0x4000004)
|
||||
#define REG_VCOUNT (*(vu16 *) 0x04000006)
|
||||
#define REG_DISP3DCNT (*(vu16 *) 0x04000060)
|
||||
#define REG_DISPCAPCNT (*(vu32 *) 0x04000064)
|
||||
#define REG_GFX_STATUS (*(vu32 *) 0x04000600)
|
||||
|
||||
#define REG_DMA ((OSDma *) 0x040000b0)
|
||||
#define REG_DMA0SAD (*(vu32 *) 0x040000b0)
|
||||
#define REG_DMA0DAD (*(vu32 *) 0x040000b4)
|
||||
#define REG_DMA0CNT (*(vu32 *) 0x040000b8)
|
||||
|
||||
#define REG_VRAM_CNT_ABCD (*(vu32 *) 0x04000240)
|
||||
#define REG_VRAM_CNT_A (*(vu8 *) 0x04000240)
|
||||
@@ -26,19 +34,50 @@ extern "C" {
|
||||
#define REG_VRAM_CNT_H (*(vu8 *) 0x04000248)
|
||||
#define REG_VRAM_CNT_I (*(vu8 *) 0x04000249)
|
||||
|
||||
#define REG_PAD (*(u16 *) 0x027FFFA8)
|
||||
#if NITRO_VERSION >= 0x05057533
|
||||
#define _BIOS_REG_BASE 0x02FFF000
|
||||
#else
|
||||
#define _BIOS_REG_BASE 0x027FF000
|
||||
#endif
|
||||
|
||||
#define REG_PAD (*(u16 *) (_BIOS_REG_BASE | 0xFA8))
|
||||
#define REG_KEYINPUT (*(u16 *) 0x04000130)
|
||||
|
||||
#define REG_FRAME_COUNTER (*(u32 *) 0x027FFC3C)
|
||||
#define REG_027FFC40 (*(u16 *) 0x027FFC40)
|
||||
#define REG_FNT_ROM_OFFSET (*(u32 *) 0x027FFE40)
|
||||
#define REG_FNT_SIZE (*(u32 *) 0x027FFE44)
|
||||
#define REG_FAT_ROM_OFFSET (*(u32 *) 0x027FFE48)
|
||||
#define REG_FAT_SIZE (*(u32 *) 0x027FFE4C)
|
||||
#define REG_FRAME_COUNTER (*(u32 *) (_BIOS_REG_BASE | 0xC3C))
|
||||
#define REG_027FFC40 (*(u16 *) (_BIOS_REG_BASE | 0xC40))
|
||||
#define REG_027FFC42 (*(u16 *) (_BIOS_REG_BASE | 0xC42))
|
||||
#define REG_027FFDE8 (*(u32 *) (_BIOS_REG_BASE | 0xDE8))
|
||||
#define REG_027FFDEA (*(u16 *) (_BIOS_REG_BASE | 0xDEA))
|
||||
#define REG_027FFDEC (*(u32 *) (_BIOS_REG_BASE | 0xDEC))
|
||||
#define REG_FNT_ROM_OFFSET (*(u32 *) (_BIOS_REG_BASE | 0xE40))
|
||||
#define REG_FNT_SIZE (*(u32 *) (_BIOS_REG_BASE | 0xE44))
|
||||
#define REG_FAT_ROM_OFFSET (*(u32 *) (_BIOS_REG_BASE | 0xE48))
|
||||
#define REG_FAT_SIZE (*(u32 *) (_BIOS_REG_BASE | 0xE4C))
|
||||
#define REG_027FFF9C (*(u32 *) (_BIOS_REG_BASE | 0xF9C))
|
||||
#define REG_027FFFA0 (*(u32 *) (_BIOS_REG_BASE | 0xFA0))
|
||||
|
||||
extern u32 _DTCM_BASE; // TODO: Provide address via LCF
|
||||
#define DTCM_BASE ((u8 *) &_DTCM_BASE)
|
||||
#define REG_IRQ (*(u32 *) (DTCM_BASE + 0x3FF8))
|
||||
#define REG_GFX_FIFO (*(vu32 *) 0x04000400)
|
||||
#define REG_GFX_FIFO_MATRIX_MODE (*(vu32 *) 0x04000440)
|
||||
#define REG_GFX_FIFO_MATRIX_PUSH (*(vu32 *) 0x04000444)
|
||||
#define REG_GFX_FIFO_MATRIX_POP (*(vu32 *) 0x04000448)
|
||||
#define REG_GFX_FIFO_MATRIX_STORE (*(vu32 *) 0x0400044c)
|
||||
#define REG_GFX_FIFO_MATRIX_RESTORE (*(vu32 *) 0x04000450)
|
||||
#define REG_GFX_FIFO_MATRIX_IDENTITY (*(vu32 *) 0x04000454)
|
||||
#define REG_GFX_FIFO_MATRIX_TRANSLATE (*(vu32 *) 0x04000470)
|
||||
#define REG_GFX_FIFO_VERTEX_COLOR (*(vu32 *) 0x04000480)
|
||||
#define REG_GFX_FIFO_VERTEX_TEXCOORD (*(vu32 *) 0x04000488)
|
||||
#define REG_GFX_FIFO_VERTEX_16 (*(vu32 *) 0x0400048c)
|
||||
#define REG_GFX_FIFO_POLYGON_ATTR (*(vu32 *) 0x040004a4)
|
||||
#define REG_GFX_FIFO_TEXTURE_PARAM (*(vu32 *) 0x040004a8)
|
||||
#define REG_GFX_FIFO_TEXTURE_PALETTE (*(vu32 *) 0x040004ac)
|
||||
#define REG_GFX_FIFO_POLYGONS_BEGIN (*(vu32 *) 0x04000500)
|
||||
#define REG_GFX_FIFO_POLYGONS_END (*(vu32 *) 0x04000504)
|
||||
#define REG_GFX_FIFO_SWAP_BUFFERS (*(vu32 *) 0x04000540)
|
||||
#define REG_GFX_FIFO_VIEWPORT (*(vu32 *) 0x04000580)
|
||||
|
||||
extern u32 __DTCM_LO;
|
||||
#define DTCM_LO ((u8 *) &__DTCM_LO)
|
||||
#define REG_IRQ (*(u32 *) (DTCM_LO + 0x3FF8))
|
||||
|
||||
#define _MAIN_REG_BASE 0x04000000
|
||||
#define _SUB_REG_BASE 0x04001000
|
||||
@@ -130,25 +169,7 @@ extern u32 _DTCM_BASE; // TODO: Provide address via LCF
|
||||
#define REG_BLDALPHA_SUB _REG_BLDALPHA(_SUB_REG_BASE)
|
||||
#define REG_MASTER_BRIGHT_SUB _REG_MASTER_BRIGHT(_SUB_REG_BASE)
|
||||
|
||||
#define REG_SWAP_BUFFERS (*(((u32 *) (_MAIN_REG_BASE | 0x00000540))))
|
||||
|
||||
#define REG_VRAM (*(((u32 *) (0x06800000))))
|
||||
#define REG_PALETTE_A (*(((u32 *) (0x05000000))))
|
||||
#define REG_PALETTE_B (*(((u32 *) (0x05000400))))
|
||||
#define REG_OAM_A (*(((u32 *) (0x07000000))))
|
||||
#define REG_OAM_B (*(((u32 *) (0x07000400))))
|
||||
|
||||
#define REG_GFX_FIFO (*(vu32 *) 0x04000400)
|
||||
#define GFX_FIFO_MTX_MODE (*(vu32 *) 0x04000440)
|
||||
#define GFX_FIFO_MTX_PUSH (*(vu32 *) 0x04000444)
|
||||
#define GFX_FIFO_MTX_POP (*(vu32 *) 0x04000448)
|
||||
#define GFX_FIFO_MTX_STORE (*(vu32 *) 0x0400044c)
|
||||
#define GFX_FIFO_MTX_RESTORE (*(vu32 *) 0x04000450)
|
||||
#define GFX_FIFO_MTX_IDENTITY (*(vu32 *) 0x04000454)
|
||||
#define GFX_FIFO_SWAP_BUFFERS (*(vu32 *) 0x04000540)
|
||||
#define GFX_FIFO_VIEWPORT (*(vu32 *) 0x04000580)
|
||||
#define REG_GFX_RAM_COUNT (*(vu16 *) 0x04000604)
|
||||
#define REG_GFX_RAM_COUNT_2 (*(vu16 *) 0x04000606)
|
||||
#define REG_04FFF200 (*(vu32 *) 0x04fff200)
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
@@ -0,0 +1,32 @@
|
||||
#ifndef _NITRO_RTC_H
|
||||
#define _NITRO_RTC_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "nitro/types.h"
|
||||
|
||||
typedef struct RTCDate {
|
||||
u32 year;
|
||||
u32 month;
|
||||
u32 day;
|
||||
u32 unk;
|
||||
} RTCDate;
|
||||
|
||||
typedef struct RTCTime {
|
||||
u32 hour;
|
||||
u32 minute;
|
||||
u32 second;
|
||||
} RTCTime;
|
||||
|
||||
void RTC_Init(void);
|
||||
s32 RTC_GetDate(RTCDate *date);
|
||||
s32 RTC_GetTime(RTCTime *time);
|
||||
u64 RTC_ConvertDateTimeToSecond(const RTCDate *date, const RTCTime *time);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,70 @@
|
||||
#ifndef _NITRO_SND_H
|
||||
#define _NITRO_SND_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "nitro/types.h"
|
||||
|
||||
#define SND_COMMAND_NOBLOCK 0
|
||||
#define SND_COMMAND_BLOCK 1
|
||||
|
||||
#define SND_TIMER_CLOCK 0xffb0ff
|
||||
|
||||
#define SND_WAVE_FORMAT_PCM16 1
|
||||
|
||||
#define SND_CHANNEL_LOOP_REPEAT 1
|
||||
|
||||
#define SND_CHANNEL_DATASHIFT_NONE 0
|
||||
|
||||
typedef void (*SNDAlarmCallback)(void *arg);
|
||||
|
||||
typedef u32 SNDCommandType;
|
||||
enum SNDCommandType_ {
|
||||
SNDCommandType_StartTimer = 0xc,
|
||||
SNDCommandType_SetupChannelPcm = 0xe,
|
||||
SNDCommandType_SetupAlarm = 0x12,
|
||||
SNDCommandType_SetChannelVolume = 0x14,
|
||||
SNDCommandType_SetChannelPan = 0x15,
|
||||
SNDCommandType_LockChannel = 0x1a,
|
||||
SNDCommandType_Unk_1d = 0x1d,
|
||||
};
|
||||
|
||||
typedef struct SNDCommand {
|
||||
/* 00 */ struct SNDCommand *next;
|
||||
/* 04 */ SNDCommandType type;
|
||||
// Usage differs based on command type
|
||||
// For channels and alarms, each bit is a channel/alarm to apply to
|
||||
// It can also be a pointer to memory
|
||||
/* 08 */ u32 target;
|
||||
/* 0c */ u32 param0;
|
||||
/* 10 */ u32 param1;
|
||||
/* 14 */ u32 param2;
|
||||
/* 18 */
|
||||
} SNDCommand;
|
||||
|
||||
void SND_Init(void);
|
||||
SNDCommand *SND_RecvCommandReply(u32);
|
||||
BOOL SND_FlushCommand(u32);
|
||||
|
||||
void SND_StopTimer(u32 channel, u32, u32 alarm, u32);
|
||||
void SND_UnlockChannel(u32 channel, u32);
|
||||
void SND_LockChannel(u32 channel, u32);
|
||||
void SND_SetChannelVolume(u32 channel, u32 volume, u32 datashift);
|
||||
void SND_SetChannelPan(u32 channel, u32 pan);
|
||||
|
||||
void SND_SetupChannelPcm(u32 channel, u32 format, void *buf, u32 loop, u32, u32 numSamples, u32 volume, u32 datashift, u32,
|
||||
u32);
|
||||
|
||||
void SND_SetupAlarm(u32 num, u32, u32, SNDAlarmCallback callback, void *arg);
|
||||
void SND_StartTimer(u32 channel, u32, u32 num, u32);
|
||||
|
||||
u32 SND_GetCurrentCommandTag(void);
|
||||
void SND_WaitForCommandProc(u32 tag);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,17 @@
|
||||
#ifndef _NITRO_STD_H
|
||||
#define _NITRO_STD_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
s32 STD_CompareNString(const char *src, const char *dst, s32 size);
|
||||
s32 STD_CompareString(const char *src, const char *dst);
|
||||
char *STD_CopyString(char *dst, const char *src);
|
||||
char *STD_SearchString(const char *src, const char *dst);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,14 @@
|
||||
#ifndef _NITRO_SVC_H
|
||||
#define _NITRO_SVC_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void SVC_WaitVBlankIntr(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -1,40 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
#include <nitro/math.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct TouchStateFlags {
|
||||
/* 00 */ struct {
|
||||
u16 x, y;
|
||||
} touchPos;
|
||||
/* 04 */ u16 touch;
|
||||
/* 06 */ u16 flags;
|
||||
} TouchStateFlags; // size = 0x08
|
||||
|
||||
typedef struct TouchState {
|
||||
/* 00 */ bool touch;
|
||||
/* 01 */ bool unk_01;
|
||||
/* 02 */ struct {
|
||||
s16 x, y;
|
||||
} touchPos;
|
||||
} TouchState; // size = 0x06
|
||||
|
||||
void WaitForTouchUpdate(u16 param1);
|
||||
bool TP_GetTouchStateFlags(TouchStateFlags *pState);
|
||||
|
||||
static inline void TP_CopyState(TouchState *from, TouchState *to) {
|
||||
to->touch = from->touch;
|
||||
to->unk_01 = from->unk_01;
|
||||
to->touchPos = from->touchPos;
|
||||
}
|
||||
|
||||
extern TouchState data_02049b4c;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,70 @@
|
||||
#ifndef _NITRO_TP_H
|
||||
#define _NITRO_TP_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "nitro/types.h"
|
||||
|
||||
#define TP_VALIDITY_VALID 0
|
||||
#define TP_VALIDITY_INVALID_X 1
|
||||
#define TP_VALIDITY_INVALID_Y 2
|
||||
#define TP_VALIDITY_INVALID_XY 3
|
||||
|
||||
#define TP_REQUEST_COMMAND_AUTO_SAMPLING 0x10
|
||||
|
||||
#define TP_RESULT_SUCCESS 0x0
|
||||
|
||||
#define TP_TOUCH_ON 0x1
|
||||
|
||||
typedef struct TPCalibrateParam {
|
||||
/* 00 */ s16 unk_00;
|
||||
/* 02 */ s16 unk_02;
|
||||
/* 04 */ s16 unk_04;
|
||||
/* 06 */ s16 unk_06;
|
||||
/* 08 */
|
||||
} TPCalibrateParam;
|
||||
|
||||
typedef struct TPData {
|
||||
u16 x;
|
||||
u16 y;
|
||||
u16 touch;
|
||||
u16 validity;
|
||||
} TPData;
|
||||
|
||||
typedef u32 TPRequestCommand;
|
||||
typedef u32 TPRequestResult;
|
||||
|
||||
void TP_Init(void);
|
||||
void TP_SetCallback(void (*callback)(TPRequestCommand command, TPRequestResult result, u16 index));
|
||||
BOOL TP_GetUserInfo(TPCalibrateParam *calibrate);
|
||||
void TP_SetCalibrateParam(const TPCalibrateParam *calibrate);
|
||||
|
||||
void func_020711c0(void);
|
||||
BOOL func_02071254(TPData *data);
|
||||
BOOL TP_GetData(TPData *data);
|
||||
|
||||
void TP_GetCalibratedPoint(TPData *, TPData *);
|
||||
|
||||
void _TP_RequestAutoSamplingStart(u32 param1, u32 param2, TPData *sampleBuf, u32 sampleBufSize);
|
||||
void TP_func_02032704(u32 param1);
|
||||
void TP_func_0203271c(u32 param1);
|
||||
void TP_GetLatestCalibratedPointInAuto(TPData *data);
|
||||
|
||||
inline BOOL TP_RequestRawSampling(TPData *data) {
|
||||
func_020711c0();
|
||||
return func_02071254(data);
|
||||
}
|
||||
|
||||
inline void TP_RequestAutoSamplingStart(u32 param1, u32 param2, TPData *sampleBuf, u32 sampleBufSize) {
|
||||
_TP_RequestAutoSamplingStart(param1, param2, sampleBuf, sampleBufSize);
|
||||
TP_func_02032704(2);
|
||||
TP_func_0203271c(2);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,48 @@
|
||||
#ifndef _NITRO_TYPES_H
|
||||
#define _NITRO_TYPES_H
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef unsigned long long u64;
|
||||
typedef unsigned int u32;
|
||||
typedef unsigned short u16;
|
||||
typedef unsigned char u8;
|
||||
|
||||
typedef long long s64;
|
||||
typedef int s32;
|
||||
typedef short s16;
|
||||
typedef char s8;
|
||||
|
||||
typedef float f32;
|
||||
typedef double f64;
|
||||
|
||||
typedef volatile u64 vu64;
|
||||
typedef volatile u32 vu32;
|
||||
typedef volatile u16 vu16;
|
||||
typedef volatile u8 vu8;
|
||||
|
||||
typedef volatile s64 vs64;
|
||||
typedef volatile s32 vs32;
|
||||
typedef volatile s16 vs16;
|
||||
typedef volatile s8 vs8;
|
||||
|
||||
typedef volatile f32 vf32;
|
||||
typedef volatile f64 vf64;
|
||||
|
||||
typedef u32 BOOL;
|
||||
|
||||
#define ATTRIBUTE_ALIGN(x) __attribute__((aligned(x)))
|
||||
|
||||
#define ARRAY_LEN(arr) (s32)((sizeof(arr) / sizeof(*arr)))
|
||||
#define ARRAY_LEN_U(arr) (u32)((sizeof(arr) / sizeof(*arr)))
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,209 @@
|
||||
#ifndef _NITRO_WM_H
|
||||
#define _NITRO_WM_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define WM_SYSTEM_BUF_SIZE 0xf00
|
||||
|
||||
#define WM_ERRCODE_SUCCESS 0
|
||||
#define WM_ERRCODE_FAILED 0x1
|
||||
#define WM_ERRCODE_ILLEGAL_STATE 0x3
|
||||
#define WM_ERRCODE_OPERATING 0x2
|
||||
#define WM_ERRCODE_TIMEOUT 0x9
|
||||
#define WM_ERRCODE_NO_ENTRY 0xb // may swap value with WM_ERRCODE_OVER_MAX_ENTRY
|
||||
#define WM_ERRCODE_OVER_MAX_ENTRY 0xc
|
||||
#define WM_ERRCODE_SEND_FAILED 0xf
|
||||
|
||||
#define WM_STATECODE_PARENT_START 0x0
|
||||
#define WM_STATECODE_PARENT_FOUND 0x5
|
||||
#define WM_STATECODE_MP_START 0xa
|
||||
#define WM_STATECODE_CONNECTED 0x7
|
||||
#define WM_STATECODE_BEACON_LOST 0x8
|
||||
#define WM_STATECODE_DISCONNECTED 0x9
|
||||
#define WM_STATECODE_PORT_RECV 0x15
|
||||
|
||||
#define WM_SIZE_BSSID 6
|
||||
#define WM_SIZE_SSID 32
|
||||
|
||||
#define WM_ATTR_FLAG_ENTRY 0x1
|
||||
#define WM_ATTR_FLAG_MB 0x2
|
||||
|
||||
#define WM_STATE_PARENT 0x7 // may swap value with WM_STATE_CHILD
|
||||
#define WM_STATE_CHILD 0x8
|
||||
|
||||
typedef u16 WMErrCode;
|
||||
typedef u16 WMStateCode;
|
||||
|
||||
typedef struct WMParentParam {
|
||||
/* 00 */ void *userGameInfo;
|
||||
/* 04 */ u16 userGameInfoLength;
|
||||
/* 08 */ u32 ggid;
|
||||
/* 0c */ u16 tgid;
|
||||
/* 0e */ u16 entryFlag;
|
||||
/* 10 */ u16 maxEntry;
|
||||
/* 12 */ u16 multiBootFlag;
|
||||
/* 14 */ u16 KS_Flag;
|
||||
/* 16 */ u16 CS_Flag;
|
||||
/* 18 */ u16 beaconPeriod;
|
||||
/* 1a */ u8 unk_1a[0x32 - 0x1a];
|
||||
/* 32 */ u16 channel;
|
||||
/* 34 */ u16 parentMaxSize;
|
||||
/* 36 */ u16 childMaxSize;
|
||||
/* 38 */
|
||||
} WMParentParam;
|
||||
|
||||
typedef struct WMScanParam {
|
||||
/* 00 */ void *scanBuf;
|
||||
/* 04 */ u16 channel;
|
||||
/* 06 */ u16 maxChannelTime;
|
||||
/* 08 */ u8 bssid[WM_SIZE_BSSID];
|
||||
/* 0e */ u8 unk_0e[0x20 - 0x0e];
|
||||
/* 20 */
|
||||
} WMScanParam;
|
||||
|
||||
typedef struct WMGameInfo {
|
||||
/* 00 */ u32 ggid;
|
||||
/* 04 */ u8 unk_04[0x07 - 0x04];
|
||||
/* 07 */ u8 attribute;
|
||||
/* 08 */ u8 unk_08[0x78];
|
||||
/* 80 */
|
||||
} WMGameInfo;
|
||||
|
||||
typedef struct WMBssDesc {
|
||||
u16 length;
|
||||
u16 rssi;
|
||||
u8 bssid[WM_SIZE_BSSID];
|
||||
u16 ssidLength;
|
||||
u8 ssid[WM_SIZE_SSID];
|
||||
u16 capaInfo;
|
||||
struct {
|
||||
u16 basic;
|
||||
u16 support;
|
||||
} rateSet;
|
||||
u16 beaconPeriod;
|
||||
u16 dtimPeriod;
|
||||
u16 channel;
|
||||
u16 cfpPeriod;
|
||||
u16 cfpMaxDuration;
|
||||
u16 gameInfoLength;
|
||||
u16 rsv;
|
||||
WMGameInfo gameInfo;
|
||||
} WMBssDesc;
|
||||
|
||||
typedef struct WMCallback {
|
||||
u8 unk_00[0x02 - 0x00];
|
||||
WMErrCode errcode;
|
||||
} WMCallback;
|
||||
|
||||
typedef struct WMPortRecvCallback {
|
||||
/* 00 */ u8 unk_00[0x02 - 0x00];
|
||||
/* 02 */ WMErrCode errcode;
|
||||
/* 04 */ WMStateCode state;
|
||||
/* 08 */ u8 unk_08[0x0c - 0x08];
|
||||
/* 0c */ void *data;
|
||||
/* 10 */ u16 length;
|
||||
/* 14 */
|
||||
} WMPortRecvCallback;
|
||||
|
||||
typedef struct WMStartMPCallback {
|
||||
/* 00 */ u8 unk_00[0x02 - 0x00];
|
||||
/* 02 */ WMErrCode errcode;
|
||||
/* 04 */ WMStateCode state;
|
||||
} WMStartMPCallback;
|
||||
|
||||
typedef struct WMStartParentCallback {
|
||||
/* 00 */ u8 unk_00[0x02 - 0x00];
|
||||
/* 02 */ WMErrCode errcode;
|
||||
/* 04 */ u8 unk_04[0x08 - 0x04];
|
||||
/* 08 */ WMStateCode state;
|
||||
/* 0a */ u8 unk_0a[0x10 - 0x0a];
|
||||
/* 10 */ u16 aid;
|
||||
} WMStartParentCallback;
|
||||
|
||||
typedef struct WMStartConnectCallback {
|
||||
/* 00 */ u8 unk_00[0x02 - 0x00];
|
||||
/* 02 */ WMErrCode errcode;
|
||||
/* 04 */ u8 unk_04[0x08 - 0x04];
|
||||
/* 08 */ WMStateCode state;
|
||||
} WMStartConnectCallback;
|
||||
|
||||
typedef struct WMStartScanCallback {
|
||||
/* 00 */ u8 unk_00[0x02 - 0x00];
|
||||
/* 02 */ WMErrCode errcode;
|
||||
/* 04 */ u8 unk_04[0x08 - 0x04];
|
||||
/* 08 */ WMStateCode state;
|
||||
/* 0a */ u8 unk_0a[0x3c - 0x0a];
|
||||
/* 3c */ WMGameInfo gameInfo;
|
||||
} WMStartScanCallback;
|
||||
|
||||
typedef struct WMPortSendCallback {
|
||||
/* 00 */ u8 unk_00[0x02 - 0x00];
|
||||
/* 02 */ WMErrCode errcode;
|
||||
/* 04 */ u8 unk_04[0x0c - 0x04];
|
||||
/* 0c */ u16 destBitmap;
|
||||
/* 0e */ u8 unk_0e[0x10 - 0x0e];
|
||||
/* 10 */ u16 sentBitmap;
|
||||
/* 12 */ u8 unk_12[0x14 - 0x12];
|
||||
/* 14 */ void *data;
|
||||
/* 18 */ u16 length;
|
||||
} WMPortSendCallback;
|
||||
|
||||
typedef struct WMMeasureChannelCallback {
|
||||
/* 00 */ u8 unk_00[0x02 - 0x00];
|
||||
/* 02 */ WMErrCode errcode;
|
||||
/* 04 */ u8 unk_04[0x08 - 0x04];
|
||||
/* 08 */ u16 channel;
|
||||
/* 0a */ u16 ccaBusyRatio;
|
||||
} WMMeasureChannelCallback;
|
||||
|
||||
typedef struct WMStatus {
|
||||
WMStateCode state;
|
||||
u8 unk[0x7cc];
|
||||
} WMStatus;
|
||||
|
||||
WMErrCode WM_Initialize(void *buf, void (*callback)(void *arg), u32 param3);
|
||||
|
||||
WMErrCode WM_SetPortCallback(u16 port, void (*callback)(void *arg), void *param3);
|
||||
void WM_SetEntry(void (*callback)(void *arg), u32 param2);
|
||||
WMErrCode WM_SetParentParameter(void (*callback)(void *arg), WMParentParam *parentParam);
|
||||
WMErrCode _WM_SetMPDataToPort(void (*callback)(void *arg), u32 param2, u16 *data, u32 length, u32 recvBitmap, u16 port,
|
||||
u32 param7);
|
||||
inline WMErrCode WM_SetMPDataToPort(void (*callback)(void *arg), u16 *data, u32 length, u32 recvBitmap, u16 port, u32 param6) {
|
||||
return _WM_SetMPDataToPort(callback, 0, data, length, recvBitmap, port, param6);
|
||||
}
|
||||
|
||||
u32 WM_GetMPSendBufferSize(void);
|
||||
u32 WM_GetMPReceiveBufferSize(void);
|
||||
u32 WM_GetDispersionBeaconPeriod(void);
|
||||
u32 WM_GetDispersionScanPeriod(void);
|
||||
u32 WM_GetAllowedChannel(void);
|
||||
u32 WM_GetLinkLevel(void);
|
||||
u16 WM_GetNextTgid(void);
|
||||
|
||||
WMErrCode WM_StartParent(void (*callback)(void *arg));
|
||||
WMErrCode _WM_StartConnect(void (*callback)(void *arg), WMBssDesc *bssDesc, void *param3, u32 param4, u32 param5);
|
||||
inline WMErrCode WM_StartConnect(void (*callback)(void *arg), WMBssDesc *bssDesc, void *param3) {
|
||||
return _WM_StartConnect(callback, bssDesc, param3, 1, 0);
|
||||
}
|
||||
void WM_Disconnect(void (*callback)(void *arg), u16 aid);
|
||||
WMErrCode WM_Reset(void (*callback)(void *arg));
|
||||
WMErrCode WM_End(void (*callback)(void *arg));
|
||||
|
||||
WMErrCode WM_StartMP(void (*callback)(void *arg), u16 *recvBuf, u32 recvBufSize, u16 *sendBuf, u32 sendBufSize,
|
||||
u32 commsPerFrame);
|
||||
void WM_EndMP(void (*callback)(void *arg));
|
||||
|
||||
WMErrCode WM_StartScan(void (*callback)(void *arg), WMScanParam *scanParam);
|
||||
WMErrCode WM_EndScan(void (*callback)(void *arg));
|
||||
|
||||
WMErrCode WM_MeasureChannel(void (*callback)(void *arg), u32 param2, u32 param3, u16 channel, u32 param5);
|
||||
|
||||
void WM_ReadStatus(WMStatus *status);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,3 @@
|
||||
#define IS_TWL
|
||||
|
||||
#include "nitro.h"
|
||||
@@ -63,14 +63,14 @@ typedef struct G3d_Model_ {
|
||||
/* 18 */ u8 numMat; // number of materials
|
||||
/* 19 */ u8 numMesh; // number of meshes
|
||||
/* 1A */ u8 dummy2[2];
|
||||
/* 1C */ q20 upScale;
|
||||
/* 20 */ q20 downScale;
|
||||
/* 24 */ u16 numVertex; // number of vertices
|
||||
/* 26 */ u16 numPolygon; // number of polygons
|
||||
/* 28 */ u16 numTriangle; // number of triangles
|
||||
/* 2A */ u16 numQuad; // number of quads
|
||||
/* 2C */ q4 boundingBoxMin[3]; // bounding box lower vertex
|
||||
/* 32 */ q4 boundingBoxMax[3]; // bounding box upper vertex
|
||||
/* 1C */ fx32 upScale;
|
||||
/* 20 */ fx32 downScale;
|
||||
/* 24 */ u16 numVertex; // number of vertices
|
||||
/* 26 */ u16 numPolygon; // number of polygons
|
||||
/* 28 */ u16 numTriangle; // number of triangles
|
||||
/* 2A */ u16 numQuad; // number of quads
|
||||
/* 2C */ fx16 boundingBoxMin[3]; // bounding box lower vertex
|
||||
/* 32 */ fx16 boundingBoxMax[3]; // bounding box upper vertex
|
||||
/* 38 */ u8 dummy3[8];
|
||||
/* 40 */ G3d_NameList boneList; // bone list
|
||||
/* 4C */
|
||||
|
||||
@@ -50,8 +50,8 @@ typedef struct G3d_RenderState_ {
|
||||
/* D4 */ G3d_NameList *boneList;
|
||||
/* D8 */ const G3d_Material_List *materialList;
|
||||
/* DC */ G3d_NameList *meshList;
|
||||
/* E0 */ q20 upScale;
|
||||
/* E4 */ q20 downScale;
|
||||
/* E0 */ fx32 upScale;
|
||||
/* E4 */ fx32 downScale;
|
||||
/* E8 */ void *jntScalingHandler; // scaling handler
|
||||
/* EC */ void *jntSRTHandler; // SRT transform handler
|
||||
/* F0 */ void *textureHandler; // texture matrix handler
|
||||
@@ -102,8 +102,8 @@ static inline void G3d_MtxMult44_inline(const Mat4p *m) {
|
||||
PushGeometryCommand(0x18, (u32 *) m, 0x10);
|
||||
}
|
||||
|
||||
static inline void G3d_Scale_inline(q20 x, q20 y, q20 z) {
|
||||
Vec3p vec;
|
||||
static inline void G3d_Scale_inline(fx32 x, fx32 y, fx32 z) {
|
||||
VecFx32 vec;
|
||||
vec.x = x;
|
||||
vec.y = y;
|
||||
vec.z = z;
|
||||
|
||||
+61
-61
@@ -1,30 +1,30 @@
|
||||
#include "nns/g3d/sbc.h"
|
||||
typedef struct UnkStruct_027e037c_ {
|
||||
/* 000 */ unk32 mUnk_000;
|
||||
/* 004 */ unk32 mUnk_004;
|
||||
/* 000 */ s32 mUnk_000;
|
||||
/* 004 */ s32 mUnk_004;
|
||||
/* 008 */ Mat4p mUnk_008;
|
||||
/* 048 */ unk32 mUnk_048;
|
||||
/* 048 */ s32 mUnk_048;
|
||||
/* 04C */ Mat4x3p mUnk_04C;
|
||||
/* 07C */ unk32 mUnk_07C;
|
||||
/* 080 */ unk32 mUnk_080;
|
||||
/* 084 */ unk32 mUnk_084;
|
||||
/* 088 */ unk32 mUnk_088;
|
||||
/* 08C */ unk32 mUnk_08C;
|
||||
/* 090 */ unk32 mUnk_090;
|
||||
/* 094 */ unk32 mUnk_094;
|
||||
/* 098 */ unk32 mUnk_098;
|
||||
/* 09C */ unk32 mUnk_09C;
|
||||
/* 0A0 */ unk32 mUnk_0A0;
|
||||
/* 0A4 */ unk32 mUnk_0A4;
|
||||
/* 0A8 */ unk32 mUnk_0A8;
|
||||
/* 0AC */ unk32 mUnk_0AC;
|
||||
/* 0B0 */ unk32 mUnk_0B0;
|
||||
/* 0B4 */ unk32 mUnk_0B4;
|
||||
/* 0B8 */ unk32 mUnk_0B8;
|
||||
/* 07C */ s32 mUnk_07C;
|
||||
/* 080 */ s32 mUnk_080;
|
||||
/* 084 */ s32 mUnk_084;
|
||||
/* 088 */ s32 mUnk_088;
|
||||
/* 08C */ s32 mUnk_08C;
|
||||
/* 090 */ s32 mUnk_090;
|
||||
/* 094 */ s32 mUnk_094;
|
||||
/* 098 */ s32 mUnk_098;
|
||||
/* 09C */ s32 mUnk_09C;
|
||||
/* 0A0 */ s32 mUnk_0A0;
|
||||
/* 0A4 */ s32 mUnk_0A4;
|
||||
/* 0A8 */ s32 mUnk_0A8;
|
||||
/* 0AC */ s32 mUnk_0AC;
|
||||
/* 0B0 */ s32 mUnk_0B0;
|
||||
/* 0B4 */ s32 mUnk_0B4;
|
||||
/* 0B8 */ s32 mUnk_0B8;
|
||||
/* 0BC */ Mat3p rotation;
|
||||
/* 0E0 */ Vec3p translation;
|
||||
/* 0EC */ Vec3p scale;
|
||||
/* 0F8 */ unk32 mUnk_0F8;
|
||||
/* 0E0 */ VecFx32 translation;
|
||||
/* 0EC */ VecFx32 scale;
|
||||
/* 0F8 */ s32 mUnk_0F8;
|
||||
/* 0FC */ u32 flags;
|
||||
/* 100 */ Mat4x3p mUnk_100;
|
||||
/* 130 */ Mat4x3p mUnk_130;
|
||||
@@ -34,8 +34,8 @@ typedef struct UnkStruct_027e037c_ {
|
||||
} UnkStruct_027e037c;
|
||||
|
||||
extern UnkStruct_027e037c data_027e0208;
|
||||
#include "Unknown/UnkMemFuncs.h"
|
||||
#include "regs.h"
|
||||
#include <nitro/mi.h>
|
||||
#include <nitro/reg.h>
|
||||
|
||||
#define G3D_SBC_CMD_MASK 0x1f
|
||||
#define G3D_SBC_FLG_MASK 0xe0
|
||||
@@ -48,12 +48,12 @@ extern Mat4x3p *func_0200c198();
|
||||
extern Mat4x3p *func_0200c23c();
|
||||
extern Mat4x3p *func_0200c270();
|
||||
extern s32 func_02024d94(Mat3p *matrix);
|
||||
extern void func_02024a68(unk32 param1);
|
||||
extern void func_02024a68(s32 param1);
|
||||
extern void func_02024a30(Mat4x3p *matrix);
|
||||
extern void func_01ff8dac(const void *param1, u32 param2);
|
||||
extern void func_02024a84(Mat3p *param1);
|
||||
extern Mat3p gGeomMatrix;
|
||||
extern Vec3p gGeomTranslation;
|
||||
extern VecFx32 gGeomTranslation;
|
||||
extern void G3d_GetCurrentMtx(Mat4x3p *mtx1, Mat3p *mtx2);
|
||||
|
||||
UnkStruct_0205ae08 data_02046c80;
|
||||
@@ -69,7 +69,7 @@ void G3d_RenderSBCCommands(G3d_RenderState *renderState) {
|
||||
|
||||
// Initializes the render state and starts rendering the SBC command list
|
||||
void G3d_InitRenderState(G3d_RenderState *renderState, G3d_RenderObject *renderObj) {
|
||||
_MI_CpuFill(0, (short *) renderState, sizeof(*renderState));
|
||||
MI_CpuClearFast(renderState, sizeof(*renderState));
|
||||
|
||||
renderState->mUnk_C4[0] = 1;
|
||||
renderState->flag = G3D_RENDERST_FLAG_BONE_VISIBLE;
|
||||
@@ -194,8 +194,8 @@ void G3d_SBCRender_007(G3d_RenderState *renderState, u32 opCode) {
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
Vec3p *translationVec = (Vec3p *) &funcArgs[12];
|
||||
Vec3p *scaleVec = (Vec3p *) &funcArgs[15];
|
||||
VecFx32 *translationVec = (VecFx32 *) &funcArgs[12];
|
||||
VecFx32 *scaleVec = (VecFx32 *) &funcArgs[15];
|
||||
Mat4p currentMtx;
|
||||
u8 callbackSkip;
|
||||
u32 callbackSegment;
|
||||
@@ -273,9 +273,9 @@ void G3d_SBCRender_007(G3d_RenderState *renderState, u32 opCode) {
|
||||
translationVec->y = currentMtx.wColumn.y;
|
||||
translationVec->z = currentMtx.wColumn.z;
|
||||
|
||||
scaleVec->x = Vec3p_Length((Vec3p *) ¤tMtx.xColumn);
|
||||
scaleVec->y = Vec3p_Length((Vec3p *) ¤tMtx.yColumn);
|
||||
scaleVec->z = Vec3p_Length((Vec3p *) ¤tMtx.zColumn);
|
||||
scaleVec->x = VecFx32_Length((VecFx32 *) ¤tMtx.xColumn);
|
||||
scaleVec->y = VecFx32_Length((VecFx32 *) ¤tMtx.yColumn);
|
||||
scaleVec->z = VecFx32_Length((VecFx32 *) ¤tMtx.zColumn);
|
||||
|
||||
if (data_027e0208.flags & 1) {
|
||||
REG_GFX_FIFO = 0x171012; // MTX_POP | MTX_MODE | MTX_LOAD_4x3
|
||||
@@ -333,9 +333,9 @@ void G3d_SBCRender_008(G3d_RenderState *renderState, u32 opCode) {
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
Vec3p *translationVec = (Vec3p *) &funcArgs[12];
|
||||
Vec3p *scaleVec = (Vec3p *) &funcArgs[15];
|
||||
Mat4x3p *mtx = (Mat4x3p *) &funcArgs[3];
|
||||
VecFx32 *translationVec = (VecFx32 *) &funcArgs[12];
|
||||
VecFx32 *scaleVec = (VecFx32 *) &funcArgs[15];
|
||||
Mat4x3p *mtx = (Mat4x3p *) &funcArgs[3];
|
||||
u8 callbackSkip;
|
||||
u32 callbackSegment;
|
||||
|
||||
@@ -411,17 +411,17 @@ void G3d_SBCRender_008(G3d_RenderState *renderState, u32 opCode) {
|
||||
translationVec->y = currentMtx.wColumn.y;
|
||||
translationVec->z = currentMtx.wColumn.z;
|
||||
|
||||
scaleVec->x = Vec3p_Length((Vec3p *) ¤tMtx.xColumn);
|
||||
scaleVec->y = Vec3p_Length((Vec3p *) ¤tMtx.yColumn);
|
||||
scaleVec->z = Vec3p_Length((Vec3p *) ¤tMtx.zColumn);
|
||||
scaleVec->x = VecFx32_Length((VecFx32 *) ¤tMtx.xColumn);
|
||||
scaleVec->y = VecFx32_Length((VecFx32 *) ¤tMtx.yColumn);
|
||||
scaleVec->z = VecFx32_Length((VecFx32 *) ¤tMtx.zColumn);
|
||||
|
||||
if (currentMtx.yColumn.y != 0 || currentMtx.yColumn.z != 0) {
|
||||
Vec3p_Normalize((Vec3p *) ¤tMtx.yColumn, (Vec3p *) &mtx->yColumn);
|
||||
VecFx32_Normalize((VecFx32 *) ¤tMtx.yColumn, (VecFx32 *) &mtx->yColumn);
|
||||
|
||||
mtx->zColumn.y = -mtx->yColumn.z;
|
||||
mtx->zColumn.z = mtx->yColumn.y;
|
||||
} else {
|
||||
Vec3p_Normalize((Vec3p *) ¤tMtx.zColumn, (Vec3p *) &mtx->zColumn);
|
||||
VecFx32_Normalize((VecFx32 *) ¤tMtx.zColumn, (VecFx32 *) &mtx->zColumn);
|
||||
|
||||
mtx->yColumn.z = -mtx->zColumn.y;
|
||||
mtx->yColumn.y = mtx->zColumn.z;
|
||||
@@ -483,13 +483,13 @@ void G3d_SBCRender_SKN(G3d_RenderState *renderState, u32) {
|
||||
Mat4p *mat4x;
|
||||
Mat3p *mat3x;
|
||||
|
||||
_MI_CpuFill(0, (unk16 *) &mtxStruct, sizeof(mtxStruct));
|
||||
MI_CpuClearFast(&mtxStruct, sizeof(mtxStruct));
|
||||
FlushGfxQueue();
|
||||
|
||||
GFX_FIFO_MTX_MODE = 0; // Projection
|
||||
GFX_FIFO_MTX_STORE = 1;
|
||||
GFX_FIFO_MTX_IDENTITY = 0;
|
||||
GFX_FIFO_MTX_MODE = 2; // Position + Vector
|
||||
REG_GFX_FIFO_MATRIX_MODE = 0; // Projection
|
||||
REG_GFX_FIFO_MATRIX_STORE = 1;
|
||||
REG_GFX_FIFO_MATRIX_IDENTITY = 0;
|
||||
REG_GFX_FIFO_MATRIX_MODE = 2; // Position + Vector
|
||||
|
||||
for (i = 0; i < numTerms; i++) {
|
||||
u32 jntIndex = *(termPtr + 1);
|
||||
@@ -499,8 +499,8 @@ void G3d_SBCRender_SKN(G3d_RenderState *renderState, u32) {
|
||||
if (!unk) {
|
||||
G3d_SetBitArray(&renderState->mUnk_CC[0], jntIndex);
|
||||
|
||||
GFX_FIFO_MTX_RESTORE = (*termPtr);
|
||||
GFX_FIFO_MTX_MODE = 1; // Position
|
||||
REG_GFX_FIFO_MATRIX_RESTORE = (*termPtr);
|
||||
REG_GFX_FIFO_MATRIX_MODE = 1; // Position
|
||||
func_02024a68(&invBMtx[jntIndex].mtx);
|
||||
}
|
||||
|
||||
@@ -521,7 +521,7 @@ void G3d_SBCRender_SKN(G3d_RenderState *renderState, u32) {
|
||||
if (!unk) {
|
||||
while (func_02024d64(mat4x))
|
||||
;
|
||||
GFX_FIFO_MTX_MODE = 2; // Position + Vector
|
||||
REG_GFX_FIFO_MATRIX_MODE = 2; // Position + Vector
|
||||
func_02024a84(&invBMtx[jntIndex].unkMtx);
|
||||
}
|
||||
|
||||
@@ -564,12 +564,12 @@ void G3d_SBCRender_SKN(G3d_RenderState *renderState, u32) {
|
||||
mtxStruct.mtx2.zColumn.z += (weight * mat3x->zColumn.z) >> 0xc;
|
||||
|
||||
func_02024a30((const Mat4x3p *) &mtxStruct.mtx2);
|
||||
GFX_FIFO_MTX_MODE = 1; // Position
|
||||
REG_GFX_FIFO_MATRIX_MODE = 1; // Position
|
||||
func_02024a30(&mtxStruct.mtx1);
|
||||
GFX_FIFO_MTX_MODE = 0; // Projection
|
||||
GFX_FIFO_MTX_RESTORE = 1;
|
||||
GFX_FIFO_MTX_MODE = 2; // Position + Vector
|
||||
GFX_FIFO_MTX_STORE = (*(renderState->currentCmd + 1));
|
||||
REG_GFX_FIFO_MATRIX_MODE = 0; // Projection
|
||||
REG_GFX_FIFO_MATRIX_RESTORE = 1;
|
||||
REG_GFX_FIFO_MATRIX_MODE = 2; // Position + Vector
|
||||
REG_GFX_FIFO_MATRIX_STORE = (*(renderState->currentCmd + 1));
|
||||
renderState->currentCmd += 3 + *(renderState->currentCmd + 2) * 3;
|
||||
}
|
||||
|
||||
@@ -622,7 +622,7 @@ void G3d_SBCRender_00A(G3d_RenderState *renderState, u32) {
|
||||
|
||||
// Renders the Scale SBC command
|
||||
void G3d_SBCRender_SCL(G3d_RenderState *renderState, u32 opCode) {
|
||||
Vec3p scaleVector;
|
||||
VecFx32 scaleVector;
|
||||
|
||||
if (!(renderState->flag & G3D_RENDERST_FLAG_SKIP_CMD) && !(renderState->flag & G3D_RENDERST_FLAG_SKIP_SBC_RENDER)) {
|
||||
if (opCode == 0) {
|
||||
@@ -676,7 +676,7 @@ void G3d_SBCRender_00C(G3d_RenderState *renderState, u32) {
|
||||
if (!callbackSkip) {
|
||||
s32 width = renderState->matAnim->width;
|
||||
s32 height = renderState->matAnim->height;
|
||||
Vec3p vec;
|
||||
VecFx32 vec;
|
||||
u32 tmp;
|
||||
|
||||
G3d_Scale_inline(width << 15, -height << 15, INT_TO_Q20(1) << 4);
|
||||
@@ -890,19 +890,19 @@ void G3d_SBCRender_00D(G3d_RenderState *renderState, u32) {
|
||||
{
|
||||
FlushGfxQueue();
|
||||
|
||||
GFX_FIFO_MTX_MODE = 0; // Projection
|
||||
GFX_FIFO_MTX_PUSH = 0;
|
||||
GFX_FIFO_MTX_IDENTITY = 0;
|
||||
REG_GFX_FIFO_MATRIX_MODE = 0; // Projection
|
||||
REG_GFX_FIFO_MATRIX_PUSH = 0;
|
||||
REG_GFX_FIFO_MATRIX_IDENTITY = 0;
|
||||
|
||||
while (func_02024d64(&mtx))
|
||||
;
|
||||
|
||||
GFX_FIFO_MTX_POP = 1;
|
||||
GFX_FIFO_MTX_MODE = 3; // Texture
|
||||
REG_GFX_FIFO_MATRIX_POP = 1;
|
||||
REG_GFX_FIFO_MATRIX_MODE = 3; // Texture
|
||||
}
|
||||
|
||||
PushGeometryCommand(0x16, &mtx, 0x10);
|
||||
tmp = GX_PACK_TEXCOORD_PARAM((q20) (mtx.wColumn.x >> 4), (q20) (mtx.wColumn.y >> 4));
|
||||
tmp = GX_PACK_TEXCOORD_PARAM((fx32) (mtx.wColumn.x >> 4), (fx32) (mtx.wColumn.y >> 4));
|
||||
PushGeometryCommand(0x22, (u32 *) &tmp, 1); // TEXCOORD
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Unknown/UnkMemFuncs.h"
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0ce0.hpp"
|
||||
#include <nitro/mi.h>
|
||||
|
||||
ARM Actor::Actor() {
|
||||
this->mVel.x = 0;
|
||||
@@ -21,9 +21,9 @@ ARM Actor::Actor() {
|
||||
this->mUnk_5C.func_ov000_020975f8();
|
||||
this->mRef.Reset();
|
||||
this->mpProfile = NULL;
|
||||
_MI_CpuCopy(&data_ov000_020b539c_eur.mUnk_00, &this->mUnk_5C, sizeof(ActorParams));
|
||||
Vec3p_Copy(&this->mUnk_5C.mInitialPos, &this->mPos);
|
||||
Vec3p_Copy(&this->mUnk_5C.mInitialPos, &this->mPrevPos);
|
||||
MI_CpuCopyFast(&data_ov000_020b539c_eur.mUnk_00, &this->mUnk_5C, sizeof(ActorParams));
|
||||
VecFx32_Copy(&this->mUnk_5C.mInitialPos, &this->mPos);
|
||||
VecFx32_Copy(&this->mUnk_5C.mInitialPos, &this->mPrevPos);
|
||||
this->mAngle = this->mUnk_5C.mInitialAngle;
|
||||
SET_FLAGS(this->mFlags, ActorFlag_Alive, ActorFlag_Visible, ActorFlag_Active, ActorFlag_14);
|
||||
this->mUnk_44 = 0xFF;
|
||||
@@ -82,7 +82,7 @@ ARM void Actor::func_ov000_020984f0() {
|
||||
}
|
||||
|
||||
// non-matching
|
||||
ARM void Actor::vfunc_00(Vec3p *param1) {
|
||||
ARM void Actor::vfunc_00(VecFx32 *param1) {
|
||||
*param1 = mPos;
|
||||
param1->y += mUnk_4E;
|
||||
// short sVar1;
|
||||
@@ -94,7 +94,7 @@ ARM void Actor::vfunc_00(Vec3p *param1) {
|
||||
// param1->z = this->mPos.z;
|
||||
}
|
||||
|
||||
ARM Vec3p *Actor::func_ov000_0209853c(unk32 param1) {
|
||||
ARM VecFx32 *Actor::func_ov000_0209853c(unk32 param1) {
|
||||
return data_027e0ce0->func_01fff148(param1);
|
||||
}
|
||||
|
||||
@@ -142,7 +142,7 @@ ARM unk32 Actor::vfunc_38(unk32 param1) {
|
||||
}
|
||||
|
||||
// non-matching
|
||||
ARM bool Actor::vfunc_3c(unk32 param2, Vec3p *param3) {
|
||||
ARM bool Actor::vfunc_3c(unk32 param2, VecFx32 *param3) {
|
||||
if (!GET_FLAG(this->mFlags, ActorFlag_Grabbed)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ ARM void ActorUnkEFIK::vfunc_20() {
|
||||
u16 random = gRandom.Next32(0, 6);
|
||||
|
||||
if (random == 0) {
|
||||
Vec3p vec;
|
||||
VecFx32 vec;
|
||||
pUVar5->func_ov000_020808f4(&vec, bStack_40, 0);
|
||||
data_027e0cec->func_ov000_020a0220(&this->mUnk_98, &vec);
|
||||
}
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
#include "Unknown/UnkStruct_027e0ce0.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b5214.hpp"
|
||||
|
||||
extern "C" void func_01ffedac(u16 *, Vec3p *);
|
||||
extern "C" void func_01ffb9cc(void *, Vec3p *);
|
||||
extern "C" void func_01ffedac(u16 *, VecFx32 *);
|
||||
extern "C" void func_01ffb9cc(void *, VecFx32 *);
|
||||
|
||||
ARM DECL_PROFILE(ActorProfileUnkSWOB);
|
||||
|
||||
@@ -79,19 +79,19 @@ ARM void ActorUnkSWOB::func_ov000_0209aa30(void) {
|
||||
}
|
||||
break;
|
||||
case 2: {
|
||||
Vec3p temp;
|
||||
Vec3p vec2;
|
||||
Vec3p vec;
|
||||
VecFx32 temp;
|
||||
VecFx32 vec2;
|
||||
VecFx32 vec;
|
||||
ActorParams AStack_7c;
|
||||
u16 auStack_80[2];
|
||||
int j;
|
||||
u32 i;
|
||||
|
||||
data_ov000_020b5214.func_ov000_0206db44(0xA3);
|
||||
temp.coords = data_027e0ce0->func_01fff148(0)->coords;
|
||||
vec2.x = temp.x;
|
||||
vec2.y = temp.y + FLOAT_TO_Q20(3.0f);
|
||||
vec2.z = temp.z;
|
||||
temp = *data_027e0ce0->func_01fff148(0);
|
||||
vec2.x = temp.x;
|
||||
vec2.y = temp.y + FLOAT_TO_Q20(3.0f);
|
||||
vec2.z = temp.z;
|
||||
|
||||
AStack_7c.mUnk_28 = 0;
|
||||
AStack_7c.func_ov000_020975f8();
|
||||
@@ -104,7 +104,7 @@ ARM void ActorUnkSWOB::func_ov000_0209aa30(void) {
|
||||
vec.y = 0;
|
||||
vec.z = INT_TO_Q20(gRandom.Next32(0, 11) - 5);
|
||||
|
||||
Vec3p_Add(&vec, &vec2, &vec);
|
||||
VecFx32_Add(&vec, &vec2, &vec);
|
||||
|
||||
if (j < 10) {
|
||||
func_01ffedac(auStack_80, &vec);
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "flags.h"
|
||||
#include "global.h"
|
||||
|
||||
ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a8ae0(q20 param1) {
|
||||
ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a8ae0(fx32 param1) {
|
||||
u32 posY = this->mVel.y;
|
||||
|
||||
if (posY <= param1) {
|
||||
@@ -110,10 +110,10 @@ ARM void ActorUnk_ov000_020a8bb0::vfunc_b4() {
|
||||
}
|
||||
|
||||
// non-matching
|
||||
ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a8e9c(Vec3p *param1) {
|
||||
q20 z = param1->x;
|
||||
q20 y = param1->y;
|
||||
q20 x = param1->z;
|
||||
ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a8e9c(VecFx32 *param1) {
|
||||
fx32 z = param1->x;
|
||||
fx32 y = param1->y;
|
||||
fx32 x = param1->z;
|
||||
|
||||
this->mUnk_0C0.x = x;
|
||||
this->mUnk_0C0.y = y;
|
||||
@@ -192,7 +192,7 @@ ARM unk32 ActorUnk_ov000_020a8bb0::vfunc_84() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a91b8(Vec3p *param1, unk32 param2) {
|
||||
ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a91b8(VecFx32 *param1, unk32 param2) {
|
||||
this->func_ov000_020a8e9c(param1);
|
||||
|
||||
if (param2 != 0) {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#include "Item/ItemManager.hpp"
|
||||
#include "Save/SaveManager.hpp"
|
||||
#include "System/Random.hpp"
|
||||
#include "Unknown/UnkMemFuncs.h"
|
||||
#include "global.h"
|
||||
#include <nitro/mi.h>
|
||||
|
||||
static const unk32 data_ov000_020afda8[] = {
|
||||
0x0015007E, 0x0015007F, 0x00150080, 0x00150081, 0x00150082, 0x00150083, 0x00150084, 0x00150085,
|
||||
@@ -86,7 +86,7 @@ extern u16 data_ov000_020afe90;
|
||||
extern u16 data_ov000_020afe94;
|
||||
|
||||
ARM void TreasureManager::func_ov000_020a9b10(void *param1) {
|
||||
_MI_CpuCopy(param1, this, sizeof(TreasureManager));
|
||||
MI_CpuCopyFast(param1, this, sizeof(TreasureManager));
|
||||
}
|
||||
|
||||
ARM unk32 TreasureManager::func_ov000_020a9b2c(unk32 param1) {
|
||||
|
||||
@@ -2,17 +2,17 @@
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "Physics/Cylinder.hpp"
|
||||
#include "Unknown/UnkMemFuncs.h"
|
||||
#include "Unknown/UnkStruct_0204af1c.hpp"
|
||||
#include "Unknown/UnkStruct_027e0998.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b4.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0ce0.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b5d34.hpp"
|
||||
#include <nitro/mi.h>
|
||||
|
||||
extern "C" void func_01ffb714(Vec3p *, Vec3p *, void *);
|
||||
extern "C" void func_01ffb9cc(Vec3p *, Vec3p *);
|
||||
extern "C" u16 func_01ffbbe0(q20 x, q20 z);
|
||||
extern "C" void func_01ffb714(VecFx32 *, VecFx32 *, void *);
|
||||
extern "C" void func_01ffb9cc(VecFx32 *, VecFx32 *);
|
||||
extern "C" u16 func_01ffbbe0(fx32 x, fx32 z);
|
||||
extern "C" void func_01ffecdc(unk32 param1, Cylinder *param2);
|
||||
extern "C" bool func_01ffd768(unk32, void *, void *, unk8);
|
||||
|
||||
@@ -32,13 +32,13 @@ ARM MapObject::MapObject() {
|
||||
|
||||
*(u32 *) &this->mUnk_38 = *ptr2->mUnk_00;
|
||||
|
||||
Vec3p *ptr = ptr2->mUnk_08;
|
||||
VecFx32 *ptr = ptr2->mUnk_08;
|
||||
this->mPos.x = ptr->x;
|
||||
this->mPos.y = ptr->y;
|
||||
this->mPos.z = ptr->z;
|
||||
|
||||
this->mUnk_14 = *ptr2->mUnk_0C;
|
||||
_MI_CpuCopy(ptr2->mUnk_04, &this->mUnk_20, sizeof(MapObject_20));
|
||||
MI_CpuCopyFast(ptr2->mUnk_04, &this->mUnk_20, sizeof(MapObject_20));
|
||||
|
||||
for (int i = 0; i < ARRAY_LEN(this->mUnk_18); i++) {
|
||||
this->mUnk_18[i] = 0;
|
||||
@@ -56,12 +56,12 @@ ARM bool MapObject::vfunc_00() {
|
||||
ARM void MapObject::vfunc_04() {}
|
||||
|
||||
ARM void MapObject::func_ov000_0209d0bc(Vec2b *param1, MapObject *thisx) {
|
||||
Vec3p pos;
|
||||
VecFx32 pos;
|
||||
Vec2p out;
|
||||
|
||||
MapObjectManager *t = data_027e0cd8->mUnk_10;
|
||||
pos.coords = thisx->mPos.coords;
|
||||
t->func_01fff6d0(&pos, (q20 *) &out.y, (q20 *) &out.x);
|
||||
pos = thisx->mPos;
|
||||
t->func_01fff6d0(&pos, (fx32 *) &out.y, (fx32 *) &out.x);
|
||||
|
||||
Vec2p temp;
|
||||
temp.y = out.x;
|
||||
@@ -91,7 +91,7 @@ ARM bool MapObject::func_ov000_0209d144(Vec2s *param1, unk32 param2, unk32 param
|
||||
stack[1] = 0;
|
||||
stack[2] = 0;
|
||||
|
||||
this->vfunc_2C((Vec3p *) &stack);
|
||||
this->vfunc_2C((VecFx32 *) &stack);
|
||||
unk8 value = this->mpProfile->mUnk_04[param2];
|
||||
Vec2s stack2;
|
||||
|
||||
@@ -118,10 +118,10 @@ ARM unk32 MapObject::vfunc_28() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
ARM bool MapObject::vfunc_2C(Vec3p *param1) {
|
||||
ARM bool MapObject::vfunc_2C(VecFx32 *param1) {
|
||||
if (this->mUnk_10 != NULL) {
|
||||
this->mUnk_10->vfunc_18(param1);
|
||||
Vec3p_Add(param1, &this->mPos, param1);
|
||||
VecFx32_Add(param1, &this->mPos, param1);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -129,7 +129,7 @@ ARM bool MapObject::vfunc_2C(Vec3p *param1) {
|
||||
}
|
||||
|
||||
ARM void MapObject::func_ov000_0209d22c(unk16 *param1, MapObject *thisx, unk32 param2) {
|
||||
Vec3p local_18;
|
||||
VecFx32 local_18;
|
||||
func_01ffb714(data_027e0ce0->func_01fff148(param2), &thisx->mPos, &local_18);
|
||||
*param1 = func_01ffbbe0(local_18.x, local_18.z);
|
||||
}
|
||||
@@ -171,7 +171,7 @@ ARM void MapObject::func_ov000_0209d2f0(unk32 param1, unk32 param2, Vec2b *param
|
||||
}
|
||||
}
|
||||
|
||||
ARM void MapObject::func_ov000_0209d3b4(unk32 param1, q20 size) {
|
||||
ARM void MapObject::func_ov000_0209d3b4(unk32 param1, fx32 size) {
|
||||
Cylinder spC;
|
||||
|
||||
if (this->mUnk_10 != NULL) {
|
||||
@@ -180,7 +180,7 @@ ARM void MapObject::func_ov000_0209d3b4(unk32 param1, q20 size) {
|
||||
spC.Init(FLOAT_TO_Q20(0.5f));
|
||||
}
|
||||
|
||||
Vec3p_Add(&spC.pos, &this->mPos, &spC.pos);
|
||||
VecFx32_Add(&spC.pos, &this->mPos, &spC.pos);
|
||||
spC.size += size;
|
||||
|
||||
func_01ffecdc(param1, &spC);
|
||||
@@ -229,7 +229,7 @@ ARM void MapObject::func_ov000_0209d518(unk32 param1, unk32 param2, unk32 param3
|
||||
}
|
||||
|
||||
struct TempStruct {
|
||||
Vec3p pos;
|
||||
VecFx32 pos;
|
||||
u16 param_r2;
|
||||
s16 extra_s16;
|
||||
u16 extra_u16;
|
||||
@@ -239,7 +239,7 @@ struct TempStruct {
|
||||
};
|
||||
|
||||
// non-matching
|
||||
ARM void MapObject::func_ov000_0209d54c(void *param1, MapObject *thisx, unk32 param2, Vec3p *param3, unk32 param4,
|
||||
ARM void MapObject::func_ov000_0209d54c(void *param1, MapObject *thisx, unk32 param2, VecFx32 *param3, unk32 param4,
|
||||
unk32 param5) {
|
||||
TempStruct local_4c;
|
||||
local_4c.mUnk_28 = 0;
|
||||
@@ -287,10 +287,10 @@ ARM bool MapObject::func_ov000_0209d668() {
|
||||
return pUVar1->func_ov000_02081f3c(this->mUnk_20.mUnk_14, uVar2);
|
||||
}
|
||||
|
||||
ARM void MapObject::func_ov000_0209d6ac(Vec3p *param1) {
|
||||
ARM void MapObject::func_ov000_0209d6ac(VecFx32 *param1) {
|
||||
if (this->mUnk_10 == NULL) {
|
||||
volatile Vec3p *tempPos = &this->mPos;
|
||||
Vec3p pos;
|
||||
volatile VecFx32 *tempPos = &this->mPos;
|
||||
VecFx32 pos;
|
||||
|
||||
pos.x = tempPos->x;
|
||||
pos.y = tempPos->y;
|
||||
@@ -303,5 +303,5 @@ ARM void MapObject::func_ov000_0209d6ac(Vec3p *param1) {
|
||||
}
|
||||
|
||||
this->mUnk_10->vfunc_1C(param1);
|
||||
Vec3p_Add(param1, &this->mPos, param1);
|
||||
VecFx32_Add(param1, &this->mPos, param1);
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ ARM bool MapObjectMiniBlocks::vfunc_00(void) {
|
||||
this->mPos.y = pUnkStruct_027e0cd8_0c->func_01ffedf4(&vec);
|
||||
}
|
||||
|
||||
Vec3p vec;
|
||||
VecFx32 vec;
|
||||
vec.x = FLOAT_TO_Q20(0.0f);
|
||||
vec.y = FLOAT_TO_Q20(0.0f);
|
||||
vec.z = FLOAT_TO_Q20(0.0f);
|
||||
@@ -125,7 +125,7 @@ next:
|
||||
}
|
||||
|
||||
func_01ff9638(&vec, -this->mUnk_14);
|
||||
Vec3p_Add(&this->mPos, &vec, &this->mPos);
|
||||
VecFx32_Add(&this->mPos, &vec, &this->mPos);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "MapObject/MapObject.hpp"
|
||||
#include "Unknown/UnkMemFuncs.h"
|
||||
#include "Unknown/UnkStruct_ov000_020b5d34.hpp"
|
||||
#include <nitro/mi.h>
|
||||
|
||||
extern unk8 data_ov000_020af4d4[];
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#include "MapObject/MapObjectSwitchStep.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkMemFuncs.h"
|
||||
#include "Unknown/UnkStruct_0204af1c.hpp"
|
||||
#include "Unknown/UnkStruct_027e0998.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a4.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a8.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b5214.hpp"
|
||||
#include <nitro/mi.h>
|
||||
|
||||
extern "C" unk32 func_0200f218(unk32, const char *);
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "System/OverlayManager.hpp"
|
||||
#include "Unknown/UnkMemFuncs.h"
|
||||
#include "Unknown/UnkStruct_027e09a0.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a4.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b8.hpp"
|
||||
@@ -9,6 +8,7 @@
|
||||
#include "Unknown/UnkStruct_027e0d70.hpp"
|
||||
#include "flags.h"
|
||||
#include "global.h"
|
||||
#include <nitro/mi.h>
|
||||
|
||||
extern "C" {
|
||||
void func_ov000_020977e4();
|
||||
|
||||
@@ -18,8 +18,6 @@
|
||||
extern "C" {
|
||||
void *func_ov024_020d1658();
|
||||
void *func_ov000_02066294();
|
||||
void GX_SetGraphicsMode(unk32 param1, unk32 param2, unk32 param3);
|
||||
void GXS_SetGraphicsMode(unk32 param1);
|
||||
}
|
||||
|
||||
extern int data_ov001_020c27a8;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user