mirror of
https://github.com/zeldaret/st
synced 2026-08-25 07:44:42 -04:00
Decompiling SWSW (#144)
* feat: init decompiling * feat: increase matching * feat: better matching * feat: match up jp * fix: used ifdef instand of if * doc: more explicit comment Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com> * style: add brackets for switch cases which define variables --------- Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>
This commit is contained in:
@@ -128,7 +128,7 @@ func_01ffc520 kind:function(arm,size=0x5c) addr:0x01ffc520
|
||||
_ZN11ModelRender8vfunc_0CEv kind:function(arm,size=0x24) addr:0x01ffc57c
|
||||
func_01ffc5a0 kind:function(arm,size=0x94) addr:0x01ffc5a0
|
||||
func_01ffc634 kind:function(arm,size=0xa0) addr:0x01ffc634
|
||||
_ZN19UnkSystem6_Derived213func_01ffc6d4E14UnkAngleStructP7VecFx32 kind:function(arm,size=0x70) addr:0x01ffc6d4
|
||||
_ZN15ModelRenderBase13func_01ffc6d4E14UnkAngleStructP7VecFx32 kind:function(arm,size=0x70) addr:0x01ffc6d4
|
||||
func_01ffc744 kind:function(arm,size=0x24) addr:0x01ffc744
|
||||
_ZN24UnkStruct_ov000_020b4ec413func_01ffc768Ei kind:function(arm,size=0x3c) addr:0x01ffc768
|
||||
_ZN20ModelRender_Derived18vfunc_1CEP19UnkSystem4_vfunc_1C kind:function(arm,size=0xb4) addr:0x01ffc7a4
|
||||
|
||||
@@ -101,7 +101,7 @@ _ZN11ModelRender8vfunc_1CEP19UnkSystem4_vfunc_1C kind:function(arm,size=0x4) add
|
||||
_ZN11ModelRender19func_ov000_02057c38Eii kind:function(arm,size=0x34) addr:0x02057c38
|
||||
func_ov000_02057c6c kind:function(arm,size=0x2c) addr:0x02057c6c
|
||||
_ZN11ModelRender19func_ov000_02057c98EP10UnkSystem5 kind:function(arm,size=0x18) addr:0x02057c98
|
||||
func_ov000_02057cb0 kind:function(arm,size=0x18) addr:0x02057cb0
|
||||
_ZN15ModelRenderBase19func_ov000_02057cb0Ev kind:function(arm,size=0x18) addr:0x02057cb0
|
||||
func_ov000_02057cc8 kind:function(arm,size=0x2c) addr:0x02057cc8
|
||||
_ZN11ModelRender19func_ov000_02057cf4Ev kind:function(arm,size=0x2c) addr:0x02057cf4
|
||||
_ZN11ModelRender19func_ov000_02057d20Eh kind:function(thumb,size=0x1c) addr:0x02057d20
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
.rodata start:0x02121ed0 end:0x02121f34 kind:rodata align:4
|
||||
.init start:0x02121f34 end:0x0212212c kind:code align:4
|
||||
.ctor start:0x0212212c end:0x02122140 kind:rodata align:4
|
||||
.data start:0x02122160 end:0x02122820 kind:data align:32
|
||||
.data start:0x02122160 end:0x02122818 kind:data align:32
|
||||
.bss start:0x02122820 end:0x02122bc0 kind:bss align:32
|
||||
|
||||
src/032_MapA1/Actor/ActorUnkKURI.cpp:
|
||||
@@ -34,4 +34,5 @@ src/032_MapA1/MapObject/MapObjectUnkSWSW.cpp:
|
||||
.text start:0x02120e90 end:0x02121ed0
|
||||
.init start:0x021220dc end:0x0212212c
|
||||
.ctor start:0x0212213c end:0x02122140
|
||||
.data start:0x02122744 end:0x02122818
|
||||
.bss start:0x02122aa8 end:0x02122ad8
|
||||
|
||||
@@ -916,14 +916,14 @@ from:0x02120eac kind:arm_call to:0x02011f3c module:main
|
||||
from:0x02120eb8 kind:arm_call to:0x02121104 module:overlay(32)
|
||||
from:0x02120ed0 kind:arm_call to:0x0209c9a8 module:overlay(0)
|
||||
from:0x02120ee0 kind:arm_call to:0x0207c018 module:overlay(0)
|
||||
from:0x02120f64 kind:load to:0x02122768 module:overlay(32)
|
||||
from:0x02120f68 kind:load to:0x02122784 module:overlay(32)
|
||||
from:0x02120f6c kind:load to:0x0212274c module:overlay(32)
|
||||
from:0x02120f64 kind:load to:0x02122760 module:overlay(32) add:0x8
|
||||
from:0x02120f68 kind:load to:0x0212277c module:overlay(32) add:0x8
|
||||
from:0x02120f6c kind:load to:0x02122744 module:overlay(32) add:0x8
|
||||
from:0x02120f80 kind:arm_call_thumb to:0x02057b54 module:overlay(0)
|
||||
from:0x02120fa8 kind:arm_call to:0x02057f18 module:overlay(0)
|
||||
from:0x02120fb8 kind:arm_call to:0x02057f18 module:overlay(0)
|
||||
from:0x02120fcc kind:arm_call to:0x02057c38 module:overlay(0)
|
||||
from:0x02120fd8 kind:load to:0x021227ac module:overlay(32)
|
||||
from:0x02120fd8 kind:load to:0x021227a4 module:overlay(32) add:0x8
|
||||
from:0x02120fdc kind:load to:0x02121f14 module:overlay(32)
|
||||
from:0x02120fe0 kind:load to:0x02121f24 module:overlay(32)
|
||||
from:0x02121040 kind:arm_call_thumb to:0x01ffa184 module:itcm
|
||||
@@ -933,7 +933,7 @@ from:0x0212110c kind:arm_call to:0x0209cfe0 module:overlay(0)
|
||||
from:0x02121130 kind:arm_call to:0x0200f05c module:main
|
||||
from:0x0212114c kind:arm_call to:0x02120f78 module:overlay(32)
|
||||
from:0x02121160 kind:arm_call_thumb to:0x0205778c module:overlay(0)
|
||||
from:0x021211b8 kind:load to:0x021227d8 module:overlay(32)
|
||||
from:0x021211b8 kind:load to:0x021227d0 module:overlay(32) add:0x8
|
||||
from:0x021211bc kind:load to:0x02122ab8 module:overlay(32)
|
||||
from:0x021211c0 kind:load to:0x02121ef4 module:overlay(32)
|
||||
from:0x021211c4 kind:load to:0x02122b8c module:overlay(32)
|
||||
|
||||
@@ -185,7 +185,7 @@ _ZN12ActorUnkNSSW19func_ov032_02120b6cEv kind:function(arm,size=0x10) addr:0x021
|
||||
_ZN12ActorUnkNSSW19func_ov032_02120b7cEv kind:function(arm,size=0x44) addr:0x02120b7c
|
||||
_ZN12ActorUnkNSSW19func_ov032_02120bc0Ev kind:function(arm,size=0x3c) addr:0x02120bc0
|
||||
_ZN12ActorUnkNSSW19func_ov032_02120bfcEv kind:function(arm,size=0x68) addr:0x02120bfc
|
||||
_ZN12ActorUnkNSSW19func_ov032_02120c64Ev kind:function(arm,size=0x8c) addr:0x02120c64
|
||||
_ZN12ActorUnkNSSW19func_ov032_02120c64EP16MapObjectUnkSWSW kind:function(arm,size=0x8c) addr:0x02120c64
|
||||
_ZN12ActorUnkNSSW19func_ov032_02120cf0Ev kind:function(arm,size=0x34) addr:0x02120cf0
|
||||
_ZN12ActorUnkNSSW19func_ov032_02120d24Ev kind:function(arm,size=0x3c) addr:0x02120d24
|
||||
_ZN12ActorUnkNSSW19func_ov032_02120d60Ev kind:function(arm,size=0x1c) addr:0x02120d60
|
||||
@@ -199,22 +199,22 @@ _ZN19ActorProfileUnkNSSWD1Ev kind:function(arm,size=0x14) addr:0x02120e7c
|
||||
_ZN23MapObjectProfileUnkSWSW10GetProfileEv kind:function(arm,size=0xc) addr:0x02120e90
|
||||
_ZN23MapObjectProfileUnkSWSW6CreateEv kind:function(arm,size=0x24) addr:0x02120e9c
|
||||
_ZN23MapObjectProfileUnkSWSWC1Ev kind:function(arm,size=0xb8) addr:0x02120ec0
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_02120f78Ev kind:function(arm,size=0x6c) addr:0x02120f78
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_02120fe4Ev kind:function(arm,size=0xbc) addr:0x02120fe4
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_021210a0Ev kind:function(arm,size=0x64) addr:0x021210a0
|
||||
_ZN19MapObjectUnkSWSW_40C1EP10G3d_Model_ kind:function(arm,size=0x6c) addr:0x02120f78
|
||||
_ZN19MapObjectUnkSWSW_408vfunc_1CEP19UnkSystem4_vfunc_1C kind:function(arm,size=0xbc) addr:0x02120fe4
|
||||
_ZN19MapObjectUnkSWSW_4019func_ov032_021210a0Ei kind:function(arm,size=0x64) addr:0x021210a0
|
||||
_ZN16MapObjectUnkSWSWC1Ev kind:function(arm,size=0xc4) addr:0x02121104
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_021211c8Ev kind:function(arm,size=0x14) addr:0x021211c8
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_021211dcEv kind:function(arm,size=0x240) addr:0x021211dc
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_0212141cEv kind:function(arm,size=0x4b4) addr:0x0212141c
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_021218d0Ev kind:function(arm,size=0x278) addr:0x021218d0
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_02121b48Ev kind:function(arm,size=0x48) addr:0x02121b48
|
||||
_ZN19MapObjectUnkSWSW_40D1Ev kind:function(arm,size=0x14) addr:0x021211c8
|
||||
_ZN16MapObjectUnkSWSW8vfunc_00Ev kind:function(arm,size=0x240) addr:0x021211dc
|
||||
_ZN16MapObjectUnkSWSW8vfunc_08Ev kind:function(arm,size=0x4b4) addr:0x0212141c
|
||||
_ZN16MapObjectUnkSWSW8vfunc_1CE8ActorRefiP7VecFx32 kind:function(arm,size=0x278) addr:0x021218d0
|
||||
_ZN16MapObjectUnkSWSW8vfunc_38Ev kind:function(arm,size=0x48) addr:0x02121b48
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_02121b90Ev kind:function(arm,size=0x88) addr:0x02121b90
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_02121c18Ev kind:function(arm,size=0x158) addr:0x02121c18
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_02121d70Ev kind:function(arm,size=0x58) addr:0x02121d70
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_02121dc8Ev kind:function(arm,size=0x90) addr:0x02121dc8
|
||||
_ZN16MapObjectUnkSWSWD0Ev kind:function(arm,size=0x1c) addr:0x02121e58
|
||||
_ZN16MapObjectUnkSWSW8vfunc_3CEi kind:function(arm,size=0x158) addr:0x02121c18
|
||||
_ZN16MapObjectUnkSWSW8vfunc_14Ev kind:function(arm,size=0x58) addr:0x02121d70
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_02121dc8EP7VecFx32 kind:function(arm,size=0x90) addr:0x02121dc8
|
||||
_ZN19MapObjectUnkSWSW_40D0Ev kind:function(arm,size=0x1c) addr:0x02121e58
|
||||
_ZN16MapObjectUnkSWSWD1Ev kind:function(arm,size=0x20) addr:0x02121e74
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_02121e94Ev kind:function(arm,size=0x28) addr:0x02121e94
|
||||
_ZN16MapObjectUnkSWSWD0Ev kind:function(arm,size=0x28) addr:0x02121e94
|
||||
_ZN23MapObjectProfileUnkSWSWD1Ev kind:function(arm,size=0x14) addr:0x02121ebc
|
||||
data_ov032_02121ed4 kind:data(any) addr:0x02121ed4
|
||||
data_ov032_02121ee4 kind:data(any) addr:0x02121ee4
|
||||
@@ -266,12 +266,11 @@ data_ov032_02122694 kind:data(any) addr:0x02122694
|
||||
data_ov032_021226ac kind:data(any) addr:0x021226ac
|
||||
_ZTV19data_ov032_021226c0 kind:data(any) addr:0x021226c0
|
||||
_ZTV19data_ov032_021226e4 kind:data(any) addr:0x021226e4
|
||||
data_ov032_0212274c kind:data(any) addr:0x0212274c
|
||||
data_ov032_02122768 kind:data(any) addr:0x02122768
|
||||
data_ov032_02122784 kind:data(any) addr:0x02122784
|
||||
data_ov032_021227ac kind:data(any) addr:0x021227ac
|
||||
data_ov032_021227d8 kind:data(any) addr:0x021227d8
|
||||
data_ov032_02122810 kind:data(any) addr:0x02122810 ambiguous
|
||||
_ZTV23MapObjectProfileUnkSWSW kind:data(any) addr:0x02122744
|
||||
_ZTV28MapObjectProfileUnkSWSW_Base kind:data(any) addr:0x02122760
|
||||
_ZTV17MapObject_10_SWSW kind:data(any) addr:0x0212277c
|
||||
_ZTV19MapObjectUnkSWSW_40 kind:data(any) addr:0x021227a4
|
||||
_ZTV16MapObjectUnkSWSW kind:data(any) addr:0x021227d0
|
||||
_ZGVN15ProfileInstanceI19ActorProfileUnkKURIE8sProfileE kind:bss addr:0x02122820
|
||||
@11136 kind:bss addr:0x02122824
|
||||
_ZN15ProfileInstanceI19ActorProfileUnkKURIE8sProfileE kind:bss addr:0x02122830
|
||||
|
||||
@@ -1246,7 +1246,7 @@ from:0x02120e9c kind:arm_call to:0x0203ce74 module:main
|
||||
from:0x02120eb0 kind:load to:0x02122764 module:overlay(36)
|
||||
from:0x02120eb4 kind:load to:0x02122774 module:overlay(36)
|
||||
from:0x02120eb8 kind:load to:0x0211b214 module:overlay(36)
|
||||
from:0x02120ebc kind:load to:0x02122768 module:overlay(36)
|
||||
from:0x02120ebc kind:load to:0x02122760 module:overlay(36) add:0x8
|
||||
from:0x02120edc kind:arm_call to:0x0211b278 module:overlay(36)
|
||||
from:0x02120eec kind:arm_call to:0x0203ce74 module:main
|
||||
from:0x02120f00 kind:load to:0x0212284c module:overlay(36)
|
||||
|
||||
@@ -101,7 +101,7 @@ func_ov000_02057c34 kind:function(arm,size=0x4) addr:0x02057c34
|
||||
func_ov000_02057c38 kind:function(arm,size=0x34) addr:0x02057c38
|
||||
func_ov000_02057c6c kind:function(arm,size=0x2c) addr:0x02057c6c
|
||||
func_ov000_02057c98 kind:function(arm,size=0x18) addr:0x02057c98
|
||||
func_ov000_02057cb0 kind:function(arm,size=0x18) addr:0x02057cb0
|
||||
_ZN15ModelRenderBase19func_ov000_02057cb0Ev kind:function(arm,size=0x18) addr:0x02057cb0
|
||||
func_ov000_02057cc8 kind:function(arm,size=0x2c) addr:0x02057cc8
|
||||
func_ov000_02057cf4 kind:function(arm,size=0x2c) addr:0x02057cf4
|
||||
func_ov000_02057d20 kind:function(thumb,size=0x1c) addr:0x02057d20
|
||||
|
||||
@@ -128,7 +128,7 @@ func_01ffc520 kind:function(arm,size=0x5c) addr:0x01ffc520
|
||||
_ZN11ModelRender8vfunc_0CEv kind:function(arm,size=0x24) addr:0x01ffc57c
|
||||
func_01ffc5a0 kind:function(arm,size=0x94) addr:0x01ffc5a0
|
||||
func_01ffc634 kind:function(arm,size=0xa0) addr:0x01ffc634
|
||||
_ZN19UnkSystem6_Derived213func_01ffc6d4E14UnkAngleStructP7VecFx32 kind:function(arm,size=0x70) addr:0x01ffc6d4
|
||||
_ZN15ModelRenderBase13func_01ffc6d4E14UnkAngleStructP7VecFx32 kind:function(arm,size=0x70) addr:0x01ffc6d4
|
||||
func_01ffc744 kind:function(arm,size=0x24) addr:0x01ffc744
|
||||
_ZN24UnkStruct_ov000_020b4ec413func_01ffc768Ei kind:function(arm,size=0x3c) addr:0x01ffc768
|
||||
_ZN20ModelRender_Derived18vfunc_1CEP19UnkSystem4_vfunc_1C kind:function(arm,size=0xb4) addr:0x01ffc7a4
|
||||
|
||||
@@ -101,7 +101,7 @@ _ZN11ModelRender8vfunc_1CEP19UnkSystem4_vfunc_1C kind:function(arm,size=0x4) add
|
||||
_ZN11ModelRender19func_ov000_02057c38Eii kind:function(arm,size=0x34) addr:0x020591b8
|
||||
func_ov000_020591ec kind:function(arm,size=0x2c) addr:0x020591ec
|
||||
_ZN11ModelRender19func_ov000_02057c98EP10UnkSystem5 kind:function(arm,size=0x18) addr:0x02059218
|
||||
func_ov000_02059230 kind:function(arm,size=0x18) addr:0x02059230
|
||||
_ZN15ModelRenderBase19func_ov000_02057cb0Ev kind:function(arm,size=0x18) addr:0x02059230
|
||||
func_ov000_02059248 kind:function(arm,size=0x2c) addr:0x02059248
|
||||
_ZN11ModelRender19func_ov000_02057cf4Ev kind:function(arm,size=0x2c) addr:0x02059274
|
||||
_ZN11ModelRender19func_ov000_02057d20Eh kind:function(thumb,size=0x1c) addr:0x020592a0
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
.rodata start:0x02123ea8 end:0x02123f0c kind:rodata align:4
|
||||
.init start:0x02123f0c end:0x02124104 kind:code align:4
|
||||
.ctor start:0x02124104 end:0x02124118 kind:rodata align:4
|
||||
.data start:0x02124120 end:0x02124800 kind:data align:32
|
||||
.data start:0x02124120 end:0x021247f4 kind:data align:32
|
||||
.bss start:0x02124800 end:0x02124ba0 kind:bss align:32
|
||||
|
||||
src/032_MapA1/Actor/ActorUnkKURI.cpp:
|
||||
@@ -34,4 +34,5 @@ src/032_MapA1/MapObject/MapObjectUnkSWSW.cpp:
|
||||
.text start:0x02122e68 end:0x02123ea8
|
||||
.init start:0x021240b4 end:0x02124104
|
||||
.ctor start:0x02124114 end:0x02124118
|
||||
.data start:0x02124720 end:0x021247f4
|
||||
.bss start:0x02124a88 end:0x02124ab8
|
||||
|
||||
@@ -937,14 +937,14 @@ from:0x02122e84 kind:arm_call to:0x02011f3c module:main
|
||||
from:0x02122e90 kind:arm_call to:0x021230dc module:overlay(32)
|
||||
from:0x02122ea8 kind:arm_call to:0x0209e16c module:overlay(0)
|
||||
from:0x02122eb8 kind:arm_call to:0x0207d6d0 module:overlay(0)
|
||||
from:0x02122f3c kind:load to:0x02124744 module:overlay(32)
|
||||
from:0x02122f40 kind:load to:0x02124760 module:overlay(32)
|
||||
from:0x02122f44 kind:load to:0x02124728 module:overlay(32)
|
||||
from:0x02122f3c kind:load to:0x0212473c module:overlay(32) add:0x8
|
||||
from:0x02122f40 kind:load to:0x02124758 module:overlay(32) add:0x8
|
||||
from:0x02122f44 kind:load to:0x02124720 module:overlay(32) add:0x8
|
||||
from:0x02122f58 kind:arm_call_thumb to:0x020590d4 module:overlay(0)
|
||||
from:0x02122f80 kind:arm_call to:0x02059498 module:overlay(0)
|
||||
from:0x02122f90 kind:arm_call to:0x02059498 module:overlay(0)
|
||||
from:0x02122fa4 kind:arm_call to:0x020591b8 module:overlay(0)
|
||||
from:0x02122fb0 kind:load to:0x02124788 module:overlay(32)
|
||||
from:0x02122fb0 kind:load to:0x02124780 module:overlay(32) add:0x8
|
||||
from:0x02122fb4 kind:load to:0x02123eec module:overlay(32)
|
||||
from:0x02122fb8 kind:load to:0x02123efc module:overlay(32)
|
||||
from:0x02123018 kind:arm_call_thumb to:0x01ffa184 module:itcm
|
||||
@@ -954,7 +954,7 @@ from:0x021230e4 kind:arm_call to:0x0209e7a4 module:overlay(0)
|
||||
from:0x02123108 kind:arm_call to:0x0200f05c module:main
|
||||
from:0x02123124 kind:arm_call to:0x02122f50 module:overlay(32)
|
||||
from:0x02123138 kind:arm_call_thumb to:0x02058d0c module:overlay(0)
|
||||
from:0x02123190 kind:load to:0x021247b4 module:overlay(32)
|
||||
from:0x02123190 kind:load to:0x021247ac module:overlay(32) add:0x8
|
||||
from:0x02123194 kind:load to:0x02124a98 module:overlay(32)
|
||||
from:0x02123198 kind:load to:0x02123ecc module:overlay(32)
|
||||
from:0x0212319c kind:load to:0x02124b6c module:overlay(32)
|
||||
|
||||
@@ -187,7 +187,7 @@ _ZN12ActorUnkNSSW19func_ov032_02120b7cEv kind:function(arm,size=0x44) addr:0x021
|
||||
_ZN12ActorUnkNSSW19func_ov032_02120bc0Ev kind:function(arm,size=0x3c) addr:0x02122a2c
|
||||
_ZN12ActorUnkNSSW19func_ov032_02122a68Ev kind:function(arm,size=0xa4) addr:0x02122a68
|
||||
_ZN12ActorUnkNSSW19func_ov032_02122b0cEv kind:function(arm,size=0x6c) addr:0x02122b0c
|
||||
_ZN12ActorUnkNSSW19func_ov032_02120c64Ev kind:function(arm,size=0x8c) addr:0x02122b78
|
||||
_ZN12ActorUnkNSSW19func_ov032_02120c64EP16MapObjectUnkSWSW kind:function(arm,size=0x8c) addr:0x02122b78
|
||||
_ZN12ActorUnkNSSW19func_ov032_02120cf0Ev kind:function(arm,size=0x34) addr:0x02122c04
|
||||
_ZN12ActorUnkNSSW19func_ov032_02120d24Ev kind:function(arm,size=0x3c) addr:0x02122c38
|
||||
_ZN12ActorUnkNSSW19func_ov032_02120d60Ev kind:function(arm,size=0x1c) addr:0x02122c74
|
||||
@@ -203,29 +203,29 @@ _ZN19ActorProfileUnkNSSWD1Ev kind:function(arm,size=0x14) addr:0x02122e54
|
||||
_ZN23MapObjectProfileUnkSWSW10GetProfileEv kind:function(arm,size=0xc) addr:0x02122e68
|
||||
_ZN23MapObjectProfileUnkSWSW6CreateEv kind:function(arm,size=0x24) addr:0x02122e74
|
||||
_ZN23MapObjectProfileUnkSWSWC1Ev kind:function(arm,size=0xb8) addr:0x02122e98
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_02120f78Ev kind:function(arm,size=0x6c) addr:0x02122f50
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_02120fe4Ev kind:function(arm,size=0xbc) addr:0x02122fbc
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_021210a0Ev kind:function(arm,size=0x64) addr:0x02123078
|
||||
_ZN19MapObjectUnkSWSW_40C1EP10G3d_Model_ kind:function(arm,size=0x6c) addr:0x02122f50
|
||||
_ZN19MapObjectUnkSWSW_408vfunc_1CEP19UnkSystem4_vfunc_1C kind:function(arm,size=0xbc) addr:0x02122fbc
|
||||
_ZN19MapObjectUnkSWSW_4019func_ov032_021210a0Ei kind:function(arm,size=0x64) addr:0x02123078
|
||||
_ZN16MapObjectUnkSWSWC1Ev kind:function(arm,size=0xc4) addr:0x021230dc
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_021211c8Ev kind:function(arm,size=0x14) addr:0x021231a0
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_021211dcEv kind:function(arm,size=0x240) addr:0x021231b4
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_0212141cEv kind:function(arm,size=0x4b4) addr:0x021233f4
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_021218d0Ev kind:function(arm,size=0x278) addr:0x021238a8
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_02121b48Ev kind:function(arm,size=0x48) addr:0x02123b20
|
||||
_ZN19MapObjectUnkSWSW_40D1Ev kind:function(arm,size=0x14) addr:0x021231a0
|
||||
_ZN16MapObjectUnkSWSW8vfunc_00Ev kind:function(arm,size=0x240) addr:0x021231b4
|
||||
_ZN16MapObjectUnkSWSW8vfunc_08Ev kind:function(arm,size=0x4b4) addr:0x021233f4
|
||||
_ZN16MapObjectUnkSWSW8vfunc_1CE8ActorRefiP7VecFx32 kind:function(arm,size=0x278) addr:0x021238a8
|
||||
_ZN16MapObjectUnkSWSW8vfunc_38Ev kind:function(arm,size=0x48) addr:0x02123b20
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_02121b90Ev kind:function(arm,size=0x88) addr:0x02123b68
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_02121c18Ev kind:function(arm,size=0x158) addr:0x02123bf0
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_02121d70Ev kind:function(arm,size=0x58) addr:0x02123d48
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_02121dc8Ev kind:function(arm,size=0x90) addr:0x02123da0
|
||||
_ZN16MapObjectUnkSWSWD0Ev kind:function(arm,size=0x1c) addr:0x02123e30
|
||||
_ZN16MapObjectUnkSWSW8vfunc_3CEi kind:function(arm,size=0x158) addr:0x02123bf0
|
||||
_ZN16MapObjectUnkSWSW8vfunc_14Ev kind:function(arm,size=0x58) addr:0x02123d48
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_02121dc8EP7VecFx32 kind:function(arm,size=0x90) addr:0x02123da0
|
||||
_ZN19MapObjectUnkSWSW_40D0Ev kind:function(arm,size=0x1c) addr:0x02123e30
|
||||
_ZN16MapObjectUnkSWSWD1Ev kind:function(arm,size=0x20) addr:0x02123e4c
|
||||
_ZN16MapObjectUnkSWSW19func_ov032_02123e6cEv kind:function(arm,size=0x28) addr:0x02123e6c
|
||||
_ZN16MapObjectUnkSWSWD0Ev kind:function(arm,size=0x28) addr:0x02123e6c
|
||||
_ZN23MapObjectProfileUnkSWSWD1Ev kind:function(arm,size=0x14) addr:0x02123e94
|
||||
data_ov032_02123eac kind:data(any) addr:0x02123eac
|
||||
data_ov032_02123ebc kind:data(any) addr:0x02123ebc
|
||||
data_ov032_02123ecc kind:data(any) addr:0x02123ecc
|
||||
data_ov032_02123edc kind:data(any) addr:0x02123edc
|
||||
data_ov032_02123eec kind:data(any) addr:0x02123eec
|
||||
data_ov032_02123efc kind:data(any) addr:0x02123efc
|
||||
data_ov032_02121ef4 kind:data(any) addr:0x02123ecc
|
||||
data_ov032_02121f04 kind:data(any) addr:0x02123edc
|
||||
data_ov032_02121f14 kind:data(any) addr:0x02123eec
|
||||
data_ov032_02121f24 kind:data(any) addr:0x02123efc
|
||||
__sinit_ActorUnkKURI.cpp kind:function(arm,size=0x6c) addr:0x02123f0c
|
||||
__sinit_ActorUnkMKUR.cpp kind:function(arm,size=0x80) addr:0x02123f78
|
||||
__sinit_ActorUnkKETH.cpp kind:function(arm,size=0x6c) addr:0x02123ff8
|
||||
@@ -270,11 +270,11 @@ data_ov032_0212466c kind:data(any) addr:0x0212466c
|
||||
data_ov032_02124688 kind:data(any) addr:0x02124688
|
||||
_ZTV19data_ov032_0212469c kind:data(any) addr:0x0212469c
|
||||
_ZTV19data_ov032_021246c0 kind:data(any) addr:0x021246c0
|
||||
data_ov032_02124728 kind:data(any) addr:0x02124728
|
||||
data_ov032_02124744 kind:data(any) addr:0x02124744
|
||||
data_ov032_02124760 kind:data(any) addr:0x02124760
|
||||
data_ov032_02124788 kind:data(any) addr:0x02124788
|
||||
data_ov032_021247b4 kind:data(any) addr:0x021247b4
|
||||
_ZTV23MapObjectProfileUnkSWSW kind:data(any) addr:0x02124720
|
||||
_ZTV28MapObjectProfileUnkSWSW_Base kind:data(any) addr:0x0212473c
|
||||
_ZTV17MapObject_10_SWSW kind:data(any) addr:0x02124758
|
||||
_ZTV19MapObjectUnkSWSW_40 kind:data(any) addr:0x02124780
|
||||
_ZTV16MapObjectUnkSWSW kind:data(any) addr:0x021247ac
|
||||
_ZGVN15ProfileInstanceI19ActorProfileUnkKURIE8sProfileE kind:bss addr:0x02124800
|
||||
@31136 kind:bss addr:0x02124804
|
||||
_ZN15ProfileInstanceI19ActorProfileUnkKURIE8sProfileE kind:bss addr:0x02124810
|
||||
@@ -292,5 +292,5 @@ _ZN15ProfileInstanceI19ActorProfileUnkNSSWE8sProfileE kind:bss addr:0x02124a4c
|
||||
_ZGVN15ProfileInstanceI23MapObjectProfileUnkSWSWE8sProfileE kind:bss addr:0x02124a88
|
||||
@31149 kind:bss addr:0x02124a8c
|
||||
_ZN15ProfileInstanceI23MapObjectProfileUnkSWSWE8sProfileE kind:bss addr:0x02124a98
|
||||
data_ov032_02124ab8 kind:bss addr:0x02124ab8
|
||||
data_ov032_02124b6c kind:bss addr:0x02124b6c
|
||||
data_ov032_02122ad8 kind:bss addr:0x02124ab8
|
||||
data_ov032_02122b8c kind:bss addr:0x02124b6c
|
||||
|
||||
@@ -841,7 +841,7 @@ func_020168f0 kind:function(arm,size=0x38) addr:0x020168f0
|
||||
func_02016928 kind:function(arm,size=0x44) addr:0x02016928
|
||||
func_020169d4 kind:function(arm,size=0x9c) addr:0x0201696c
|
||||
func_02016a08 kind:function(arm,size=0x70) addr:0x02016a08
|
||||
func_02016a78 kind:function(arm,size=0xac) addr:0x02016a78
|
||||
func_02016ae0 kind:function(arm,size=0xac) addr:0x02016a78
|
||||
func_02016b8c kind:function(arm,size=0xdc) addr:0x02016b24
|
||||
func_02016c00 kind:function(arm,size=0x88) addr:0x02016c00
|
||||
func_02016c88 kind:function(arm,size=0x8c) addr:0x02016c88
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorProfile.hpp"
|
||||
#include "MapObject/MapObjectUnkSWSW.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
@@ -19,8 +20,19 @@ public:
|
||||
|
||||
class ActorUnkNSSW : public Actor {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 94 */
|
||||
/* 000 (base) */
|
||||
/* 094 */ STRUCT_PAD(0x094, 0x0BC);
|
||||
/* 0BC */ unk32 mUnk_0BC;
|
||||
/* 0C0 */ STRUCT_PAD(0x0C0, 0x184);
|
||||
#if IS_JP
|
||||
/* 184 */ STRUCT_PAD(0x184, 0x190);
|
||||
/* 190 */ MapObjectUnkSWSW *mUnk_184_eur;
|
||||
/* 194 */ MapObjectUnkSWSW *mUnk_188_eur;
|
||||
#else
|
||||
/* 184 */ MapObjectUnkSWSW *mUnk_184_eur;
|
||||
/* 188 */ MapObjectUnkSWSW *mUnk_188_eur;
|
||||
#endif
|
||||
/* 18C */
|
||||
|
||||
ActorUnkNSSW();
|
||||
|
||||
@@ -42,7 +54,7 @@ public:
|
||||
void func_ov032_02120b7c(void);
|
||||
void func_ov032_02120bc0(void);
|
||||
void func_ov032_02120bfc(void);
|
||||
void func_ov032_02120c64(void);
|
||||
void func_ov032_02120c64(MapObjectUnkSWSW *param1);
|
||||
void func_ov032_02120cf0(void);
|
||||
void func_ov032_02120d24(void);
|
||||
void func_ov032_02120d60(void);
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "MapObject/MapObject.hpp"
|
||||
@@ -7,38 +5,91 @@
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class MapObjectUnkSWSW : public MapObject {
|
||||
class ActorUnkNSSW;
|
||||
|
||||
class MapObjectUnkSWSW_40 : public ModelRender {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 40 */
|
||||
/* 60 */ unk32 mUnk_60;
|
||||
/* 64 */ unk32 mUnk_64;
|
||||
/* 68 */ unk16 mUnk_68;
|
||||
/* 6A */ unk16 mUnk_6A;
|
||||
/* 6C */
|
||||
|
||||
MapObjectUnkSWSW_40(G3d_Model *pModel);
|
||||
|
||||
// data_ov032_021227ac
|
||||
/* 1C */ virtual void vfunc_1C(UnkSystem4_vfunc_1C *param1) override;
|
||||
|
||||
void func_ov032_021210a0(fx32 param1);
|
||||
};
|
||||
|
||||
class MapObjectUnkSWSW : public MapObject {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 040 */ MapObjectUnkSWSW_40 mUnk_040;
|
||||
/* 0AC */ UnkSystem5 mUnk_0AC;
|
||||
/* 0CC */ unk32 mUnk_0CC;
|
||||
/* 0E0 */ STRUCT_PAD(0xD0, 0xEC);
|
||||
/* 0EC */ VecFx32 mUnk_0EC;
|
||||
/* 0F8 */ ActorUnkNSSW *mUnk_0F8;
|
||||
/* 0FC */ unk32 mUnk_0FC;
|
||||
/* 100 */ volatile u16 mUnk_100;
|
||||
/* 102 */ u16 mUnk_102;
|
||||
/* 104 */ u8 mUnk_104;
|
||||
/* 105 */ u8 mUnk_105;
|
||||
/* 106 */ STRUCT_PAD(0x106, 0x108);
|
||||
/* 108 */ fx32 mUnk_108;
|
||||
/* 10C */ unk16 mUnk_10C;
|
||||
/* 10E */ volatile u16 mUnk_10E;
|
||||
/* 110 */ u16 mUnk_110;
|
||||
/* 114 */ ActorUnkNSSW *mUnk_114;
|
||||
/* 118 */
|
||||
|
||||
MapObjectUnkSWSW();
|
||||
|
||||
/* 30 */ virtual ~MapObjectUnkSWSW() override;
|
||||
bool IsInternalTimerOut() {
|
||||
if (this->mUnk_100 < this->mUnk_102) {
|
||||
++this->mUnk_100;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void func_ov032_02120f78(void);
|
||||
void func_ov032_02120fe4(void);
|
||||
void func_ov032_021210a0(void);
|
||||
void func_ov032_021211c8(void);
|
||||
void func_ov032_021211dc(void);
|
||||
void func_ov032_0212141c(void);
|
||||
void func_ov032_021218d0(void);
|
||||
void func_ov032_02121b48(void);
|
||||
void func_ov032_02121b90(void);
|
||||
void func_ov032_02121c18(void);
|
||||
void func_ov032_02121d70(void);
|
||||
void func_ov032_02121dc8(void);
|
||||
void func_ov032_02121e94(void);
|
||||
/* 00 */ virtual bool vfunc_00() override;
|
||||
/* 08 */ virtual void vfunc_08() override;
|
||||
/* 14 */ virtual void vfunc_14() override;
|
||||
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) override;
|
||||
/* 38 */ virtual void vfunc_38();
|
||||
/* 3C */ virtual void vfunc_3C(unk32 param1);
|
||||
|
||||
void func_ov032_02121b90();
|
||||
ActorUnkNSSW *func_ov032_02121dc8(VecFx32 *param1);
|
||||
};
|
||||
|
||||
class MapObjectProfileUnkSWSW : public MapObjectProfile {
|
||||
class MapObject_10_SWSW : public MapObject_10 {
|
||||
public:
|
||||
// data_ov032_02122784
|
||||
};
|
||||
|
||||
class MapObjectProfileUnkSWSW_Base : public MapObjectProfile_Derived2 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* D4 */ MapObject_10_SWSW mUnk_D4;
|
||||
/* F8 */
|
||||
|
||||
MapObjectProfileUnkSWSW_Base(MapObjectId id) :
|
||||
MapObjectProfile_Derived2(id, id) {}
|
||||
};
|
||||
|
||||
class MapObjectProfileUnkSWSW : public MapObjectProfileUnkSWSW_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* F8 */
|
||||
|
||||
MapObjectProfileUnkSWSW();
|
||||
~MapObjectProfileUnkSWSW();
|
||||
|
||||
/* 0C */ virtual MapObject *Create();
|
||||
/* 00 */ virtual MapObject *Create();
|
||||
|
||||
static MapObjectProfileUnkSWSW *GetProfile();
|
||||
};
|
||||
|
||||
@@ -23,7 +23,8 @@ typedef void (*UnkSystem4_UnkCallback)(void *, unk32);
|
||||
class UnkSystem4_vfunc_1C_B4 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 00 */ STRUCT_PAD(0x04, 0x4C);
|
||||
/* 00 */ STRUCT_PAD(0x04, 0x28);
|
||||
/* 28 */ Mat3p mUnk_28;
|
||||
/* 4C */ unk32 mUnk_4C;
|
||||
/* 50 */ unk32 mUnk_50;
|
||||
/* 54 */ unk32 mUnk_54;
|
||||
@@ -56,6 +57,9 @@ public:
|
||||
/* 18 */ virtual void vfunc_18(VecFx32 *param1) = 0;
|
||||
/* 1C */
|
||||
|
||||
void func_01ffc6d4(UnkAngleStruct angleStruct, VecFx32 *pos);
|
||||
|
||||
void func_ov000_02057cb0();
|
||||
unk32 func_ov000_02057f18(const void *param1);
|
||||
unk32 func_ov000_02057f40(const void *param1);
|
||||
const G3d_Model_14 *func_ov000_02057ee0() const;
|
||||
@@ -118,8 +122,6 @@ public:
|
||||
// data_ov000_020b1968
|
||||
/* 00 */ virtual ~UnkSystem6_Derived2() {}
|
||||
/* 0C */ virtual void vfunc_0C() override;
|
||||
|
||||
void func_01ffc6d4(UnkAngleStruct angleStruct, VecFx32 *pos);
|
||||
};
|
||||
|
||||
class ModelRender_ov000_020b198c : public ModelRenderBase {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#include "Unknown/UnkStruct_027e0ce0.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b5214.hpp"
|
||||
|
||||
extern "C" void func_01ffedac(u16 *, VecFx32 *);
|
||||
extern "C" void func_01ffedac(Vec2bCpp *, VecFx32 *);
|
||||
extern "C" void func_01ffb9cc(void *, VecFx32 *);
|
||||
|
||||
DECL_PROFILE(ActorProfileUnkSWOB);
|
||||
@@ -85,7 +85,7 @@ void ActorUnkSWOB::func_ov000_0209aa30(void) {
|
||||
VecFx32 vec2;
|
||||
VecFx32 vec;
|
||||
ActorParams AStack_7c;
|
||||
u16 auStack_80[2];
|
||||
Vec2bCpp auStack_80;
|
||||
int j;
|
||||
u32 i;
|
||||
|
||||
@@ -109,7 +109,7 @@ void ActorUnkSWOB::func_ov000_0209aa30(void) {
|
||||
VecFx32_Add(&vec, &vec2, &vec);
|
||||
|
||||
if (j < 10) {
|
||||
func_01ffedac(auStack_80, &vec);
|
||||
func_01ffedac(&auStack_80, &vec);
|
||||
func_01ffb9cc(&temp, &vec);
|
||||
i--;
|
||||
j++;
|
||||
|
||||
@@ -15,7 +15,7 @@ extern "C" void func_01ff97c8(VecFx32 *, int);
|
||||
extern "C" void func_01ffb714(VecFx32 *, VecFx32 *, void *);
|
||||
extern "C" unk32 func_01ffb9cc(VecFx32 *, VecFx32 *);
|
||||
extern "C" void func_01ffe6c4(Actor **, ActorRef, VecFx32 *, VecFx32 *, s32, VecFx32 *, UnkStruct_ov031_Items_00 *);
|
||||
extern "C" void func_01ffedac(u16 *, VecFx32 *);
|
||||
extern "C" void func_01ffedac(Vec2bCpp *, VecFx32 *);
|
||||
extern "C" bool func_ov000_0205aeac();
|
||||
extern "C" bool func_ov000_020982d8();
|
||||
|
||||
@@ -199,7 +199,7 @@ void ActorItemBoomerang::vfunc_20() {
|
||||
this->func_ov031_020e49b0(0x8D70);
|
||||
}
|
||||
|
||||
u16 spC;
|
||||
Vec2bCpp spC;
|
||||
VecFx32 sp3C;
|
||||
VecFx32_Copy(data_027e0ce0->func_01fff148(0x0), &sp3C);
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ void ActorUnkNSSW::func_ov032_02120b6c(void) {}
|
||||
void ActorUnkNSSW::func_ov032_02120b7c(void) {}
|
||||
void ActorUnkNSSW::func_ov032_02120bc0(void) {}
|
||||
void ActorUnkNSSW::func_ov032_02120bfc(void) {}
|
||||
void ActorUnkNSSW::func_ov032_02120c64(void) {}
|
||||
void ActorUnkNSSW::func_ov032_02120c64(MapObjectUnkSWSW *param1) {}
|
||||
void ActorUnkNSSW::func_ov032_02120cf0(void) {}
|
||||
void ActorUnkNSSW::func_ov032_02120d24(void) {}
|
||||
void ActorUnkNSSW::func_ov032_02120d60(void) {}
|
||||
|
||||
@@ -1,32 +1,522 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
#define VECFX32_CTORS
|
||||
|
||||
#include "MapObject/MapObjectUnkSWSW.hpp"
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "Actor/ActorUnkNSSW.hpp"
|
||||
#include "System/Random.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
|
||||
extern "C" char data_ov032_02121ef4;
|
||||
extern "C" char data_ov032_02121f04;
|
||||
extern "C" unk32 data_ov032_02121f14; // ig these variables should be 0x10-byte long
|
||||
extern "C" unk32 data_ov032_02121f24; // same as above
|
||||
extern "C" MapObjectProfile_Derived2_20_Base data_ov032_02122ad8;
|
||||
extern "C" MapObject_10 data_ov032_02122b8c;
|
||||
|
||||
extern "C" void func_01ff9218(fx32 *, fx32, fx32);
|
||||
extern "C" void func_01ff91b8(unk16 *, fx32, fx32);
|
||||
extern "C" fx32 func_01ffbbe0(fx32 x, fx32 z);
|
||||
extern "C" void func_01ffedac(Vec2bCpp *, VecFx32 *);
|
||||
extern "C" fx32 func_02015a18(u16, unk32, unk32, unk32, u16, unk32, unk32);
|
||||
extern "C" unk32 func_02016ae0(VecFx32 *, VecFx32 *, UnkAngleStruct, unk32, unk32);
|
||||
|
||||
DECL_PROFILE(MapObjectProfileUnkSWSW);
|
||||
|
||||
MapObject *MapObjectProfileUnkSWSW::Create() {
|
||||
return new(HeapIndex_2) MapObjectUnkSWSW();
|
||||
return new(HeapIndex_ITCM) MapObjectUnkSWSW();
|
||||
}
|
||||
|
||||
MapObjectProfileUnkSWSW::MapObjectProfileUnkSWSW() :
|
||||
MapObjectProfile(MapObjectId_SWSW) {}
|
||||
MapObjectProfileUnkSWSW_Base(MapObjectId_SWSW) {
|
||||
this->mUnk_D4.mUnk_08 = 0x7007;
|
||||
|
||||
MapObjectUnkSWSW::MapObjectUnkSWSW() {}
|
||||
VecFx32_Init(FLOAT_TO_FX32(-0.5002f), FLOAT_TO_FX32(-1.0002), FLOAT_TO_FX32(-1.0002), &this->mUnk_D4.mUnk_0C);
|
||||
VecFx32_Init(FLOAT_TO_FX32(0.5f), FLOAT_TO_FX32(1.0f), FLOAT_TO_FX32(0.0f), &this->mUnk_D4.mUnk_18);
|
||||
|
||||
void MapObjectUnkSWSW::func_ov032_02120f78(void) {}
|
||||
void MapObjectUnkSWSW::func_ov032_02120fe4(void) {}
|
||||
void MapObjectUnkSWSW::func_ov032_021210a0(void) {}
|
||||
void MapObjectUnkSWSW::func_ov032_021211c8(void) {}
|
||||
void MapObjectUnkSWSW::func_ov032_021211dc(void) {}
|
||||
void MapObjectUnkSWSW::func_ov032_0212141c(void) {}
|
||||
void MapObjectUnkSWSW::func_ov032_021218d0(void) {}
|
||||
void MapObjectUnkSWSW::func_ov032_02121b48(void) {}
|
||||
void MapObjectUnkSWSW::func_ov032_02121b90(void) {}
|
||||
void MapObjectUnkSWSW::func_ov032_02121c18(void) {}
|
||||
void MapObjectUnkSWSW::func_ov032_02121d70(void) {}
|
||||
void MapObjectUnkSWSW::func_ov032_02121dc8(void) {}
|
||||
void MapObjectUnkSWSW::func_ov032_02121e94(void) {}
|
||||
this->mUnk_D4.mUnk_04 |= 0x2;
|
||||
this->mUnk_06 = -0x1;
|
||||
this->mUnk_1E &= 0xFFFE;
|
||||
this->mUnk_20.mUnk_15 = 0x1;
|
||||
}
|
||||
|
||||
MapObjectUnkSWSW::~MapObjectUnkSWSW() {}
|
||||
MapObjectProfileUnkSWSW::~MapObjectProfileUnkSWSW() {}
|
||||
MapObjectUnkSWSW_40::MapObjectUnkSWSW_40(G3d_Model *pModel) :
|
||||
ModelRender(pModel),
|
||||
mUnk_60(0x0),
|
||||
mUnk_64(0x0),
|
||||
mUnk_68(0x0),
|
||||
mUnk_6A(0x0) {
|
||||
|
||||
this->mUnk_60 = this->ModelRenderBase::func_ov000_02057f18(&data_ov032_02121f14);
|
||||
this->mUnk_64 = this->ModelRenderBase::func_ov000_02057f18(&data_ov032_02121f24);
|
||||
|
||||
this->ModelRender::func_ov000_02057c38(0x6, 0x2);
|
||||
}
|
||||
|
||||
void MapObjectUnkSWSW_40::vfunc_1C(UnkSystem4_vfunc_1C *param1) {
|
||||
if (param1->mUnk_00[0x1] == this->mUnk_60) {
|
||||
param1->mUnk_B4->mUnk_00 &= ~0x2;
|
||||
Mat3p_InitXRotation(¶m1->mUnk_B4->mUnk_28, SIN((u16) this->mUnk_68), COS((u16) this->mUnk_68));
|
||||
}
|
||||
|
||||
if (param1->mUnk_00[0x1] != this->mUnk_64) {
|
||||
return;
|
||||
}
|
||||
param1->mUnk_B4->mUnk_00 &= ~0x2;
|
||||
Mat3p_InitXRotation(¶m1->mUnk_B4->mUnk_28, SIN((u16) this->mUnk_6A), COS((u16) this->mUnk_6A));
|
||||
}
|
||||
|
||||
struct UnkStruct_ov032_021210a0 {
|
||||
/* 00 */ s16 mUnk_00;
|
||||
/* 02 */ s16 mUnk_02;
|
||||
/* 04 */ u16 mUnk_04;
|
||||
/* 06 */ u16 mUnk_06;
|
||||
/* 08 */
|
||||
};
|
||||
|
||||
// non-matching (stack not used)
|
||||
void MapObjectUnkSWSW_40::func_ov032_021210a0(fx32 param1) {
|
||||
UnkStruct_ov032_021210a0 stack;
|
||||
if (param1 < 0) {
|
||||
param1 = 0;
|
||||
}
|
||||
if (param1 > 0x1000) {
|
||||
param1 = 0x1000;
|
||||
}
|
||||
fx32 temp_r2 = -0xB6 - (((param1 * 0xE39) << 0x4) >> 0x10);
|
||||
fx32 temp_r1 = (param1 << 0xD) >> 0xC;
|
||||
stack.mUnk_06 = temp_r2;
|
||||
stack.mUnk_04 = temp_r1;
|
||||
stack.mUnk_02 = stack.mUnk_06;
|
||||
stack.mUnk_00 = stack.mUnk_04;
|
||||
this->mUnk_68 = stack.mUnk_02;
|
||||
this->mUnk_6A = stack.mUnk_00;
|
||||
}
|
||||
|
||||
MapObjectUnkSWSW::MapObjectUnkSWSW() :
|
||||
mUnk_040(G3d_GetUnkPtr(GET_PROFILE(MapObjectProfileUnkSWSW)->mUnk_20.mUnk_50, &data_ov032_02121ef4)),
|
||||
mUnk_0AC(&this->mUnk_0CC, NULL),
|
||||
mUnk_0EC(FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.5f), FLOAT_TO_FX32(-0.4202f)),
|
||||
mUnk_0F8(NULL),
|
||||
mUnk_0FC(0x4),
|
||||
mUnk_100(0x0),
|
||||
mUnk_102(0x0),
|
||||
mUnk_104(0x0),
|
||||
mUnk_105(0x0),
|
||||
mUnk_10C(0x0),
|
||||
mUnk_10E(0x0),
|
||||
mUnk_110(0x0),
|
||||
mUnk_114(NULL) {
|
||||
this->mUnk_10 = &data_ov032_02122b8c;
|
||||
}
|
||||
|
||||
bool MapObjectUnkSWSW::vfunc_00() {
|
||||
Vec2bCpp sp00;
|
||||
|
||||
UnkStruct_027e0cd8_0C_Base *data_027e0cd8_0C = data_027e0cd8->mUnk_0C;
|
||||
|
||||
func_01ffedac(&sp00, &this->mPos);
|
||||
if (data_027e0cd8_0C->func_ov000_02080180(&sp00) == 0x14) {
|
||||
this->mPos.y = FLOAT_TO_FX32(0.0f);
|
||||
}
|
||||
|
||||
if (this->mUnk_20.mParams[2] != 0x0) {
|
||||
this->mPos.y += MUL_FX32(this->mUnk_20.mParams[2] << 0xC, 0x1333);
|
||||
}
|
||||
|
||||
this->mUnk_0AC.mpModel = this->mUnk_040.mpModel;
|
||||
unk32 param2 = data_ov032_02122ad8.func_ov000_02058a24();
|
||||
UnkStruct_ov000_02058a84 *param1 = data_ov032_02122ad8.func_ov000_02058a84(0x3, &data_ov032_02121f04);
|
||||
|
||||
this->mUnk_0AC.func_ov000_020577a4(param1, param2, 0x1);
|
||||
|
||||
this->mUnk_040.func_ov000_02057cb0();
|
||||
this->mUnk_040.func_ov000_02057c98(&this->mUnk_0AC);
|
||||
|
||||
this->mUnk_0AC.func_ov000_020577f8(0x0);
|
||||
|
||||
this->mUnk_104 = 0x0;
|
||||
this->mUnk_105 = 0x0;
|
||||
|
||||
if (this->mUnk_20.mParams[3] == 0x1 || this->mUnk_20.mParams[3] == 0x3) {
|
||||
this->mUnk_104 = 0x1;
|
||||
}
|
||||
|
||||
if ((u16) (this->mUnk_20.mParams[3] + 0xFFFE) <= 0x1) {
|
||||
this->mUnk_105 = 0x1;
|
||||
}
|
||||
|
||||
if (this->mUnk_105 != 0x0 && this->MapObject::func_ov000_0209d29c(0x1)) {
|
||||
this->vfunc_3C(0x3);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (this->mUnk_20.mParams[0] == 0x0) {
|
||||
VecFx32 sp04;
|
||||
VecFx32_Init(this->mPos.x + this->mUnk_0EC.x, this->mPos.y + this->mUnk_0EC.y, this->mPos.z + this->mUnk_0EC.z, &sp04);
|
||||
|
||||
ActorUnkNSSW *actorNSSW = this->func_ov032_02121dc8(&sp04);
|
||||
this->mUnk_0F8 = actorNSSW;
|
||||
this->mUnk_114 = actorNSSW;
|
||||
|
||||
this->vfunc_3C(0x0);
|
||||
|
||||
this->mUnk_108 = FLOAT_TO_FX32(0.0f);
|
||||
|
||||
this->MapObject::func_ov000_0209d2c4(0x1, true);
|
||||
|
||||
if (this->mUnk_104 != 0x0) {
|
||||
this->MapObject::func_ov000_0209d2c4(0x0, false);
|
||||
}
|
||||
} else {
|
||||
this->vfunc_3C(0x2);
|
||||
|
||||
this->mUnk_108 = FLOAT_TO_FX32(1.0f);
|
||||
|
||||
this->MapObject::func_ov000_0209d2c4(0x0, true);
|
||||
|
||||
if (this->mUnk_104 != 0x0) {
|
||||
this->MapObject::func_ov000_0209d2c4(0x1, false);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void MapObjectUnkSWSW::vfunc_08() {
|
||||
switch (this->mUnk_0FC) {
|
||||
case 0x0:
|
||||
func_01ff9218(&this->mUnk_108, 0x0, 0x99A);
|
||||
func_01ff91b8(&this->mUnk_10C, 0x0, 0x4CD);
|
||||
break;
|
||||
|
||||
case 0x2: {
|
||||
if (this->mUnk_102 != 0x0 && this->mUnk_100 >= this->mUnk_102) {
|
||||
this->MapObject::func_ov000_0209d2c4(0x0, true);
|
||||
|
||||
if (this->mUnk_104 != 0x0) {
|
||||
this->MapObject::func_ov000_0209d2c4(0x1, false);
|
||||
}
|
||||
}
|
||||
|
||||
if (this->mUnk_0F8 == NULL && this->mUnk_20.mParams[1] != 0x0) {
|
||||
this->vfunc_3C(0x1);
|
||||
return;
|
||||
}
|
||||
|
||||
VecFx32 *vec = data_027e0ce0->func_01fff148(0x0);
|
||||
VecFx32 sp48;
|
||||
VecFx32_Init(vec->x - this->mPos.x, vec->y - this->mPos.y, vec->z - this->mPos.z, &sp48);
|
||||
VecFx32_Normalize(&sp48, &sp48);
|
||||
|
||||
VecFx32 sp3C;
|
||||
VecFx32_Init(FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(1.0f), &sp3C);
|
||||
|
||||
bool var_r5 = false;
|
||||
if (VecFx32_Dot(&sp48, &sp3C) > FLOAT_TO_FX32(0.4f)) {
|
||||
s16 param = (s16) func_01ffbbe0(sp48.x, sp48.z);
|
||||
func_01ff91b8(&this->mUnk_10C, param, 0x333);
|
||||
|
||||
var_r5 = true;
|
||||
} else {
|
||||
func_01ff91b8(&this->mUnk_10C, 0x0, 0x333);
|
||||
}
|
||||
|
||||
if (var_r5 && this->mUnk_110 != 0x0) {
|
||||
fx16 var_r3 = COS((u16) (this->mUnk_10E * 0xFFFF / this->mUnk_110));
|
||||
|
||||
if (var_r3 < 0) {
|
||||
var_r3 = -var_r3;
|
||||
}
|
||||
|
||||
this->mUnk_108 = var_r3;
|
||||
|
||||
if (this->mUnk_10E < this->mUnk_110) {
|
||||
++this->mUnk_10E;
|
||||
}
|
||||
|
||||
if (this->mUnk_10E >= this->mUnk_110) {
|
||||
this->mUnk_110 = 0x0;
|
||||
this->mUnk_10E = 0x0;
|
||||
}
|
||||
} else {
|
||||
if (gRandom.Next32(0x33) != 0x0) {
|
||||
this->mUnk_110 = 0x0;
|
||||
} else {
|
||||
this->mUnk_110 = gRandom.Next32(0x29) + 0xA;
|
||||
}
|
||||
|
||||
this->mUnk_10E = 0x0;
|
||||
|
||||
if (!var_r5) {
|
||||
this->mUnk_110 = 0x0;
|
||||
this->mUnk_10E = 0x0;
|
||||
func_01ff9218(&this->mUnk_108, 0x0, 0x800);
|
||||
} else {
|
||||
func_01ff9218(&this->mUnk_108, 0x1000, 0x800);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case 0x1: {
|
||||
VecFx32 sp30;
|
||||
VecFx32 sp24;
|
||||
VecFx32 sp18;
|
||||
VecFx32 sp0C;
|
||||
if (this->mUnk_100 >= this->mUnk_102) {
|
||||
VecFx32_Init(this->mPos.x + this->mUnk_0EC.x, this->mPos.y + this->mUnk_0EC.y, this->mPos.z + this->mUnk_0EC.z,
|
||||
&sp30);
|
||||
sp18 = sp30;
|
||||
|
||||
ActorUnkNSSW *actorNSSW = this->mUnk_0F8;
|
||||
VecFx32_Copy(&sp18, &actorNSSW->mPos);
|
||||
VecFx32_Copy(&sp18, &actorNSSW->mPrevPos);
|
||||
|
||||
this->MapObject::func_ov000_0209d2c4(0x1, true);
|
||||
if (this->mUnk_104 != 0x0) {
|
||||
this->MapObject::func_ov000_0209d2c4(0x0, false);
|
||||
}
|
||||
|
||||
this->vfunc_3C(0x0);
|
||||
} else {
|
||||
fx32 z = this->mPos.z + this->mUnk_0EC.z +
|
||||
func_02015a18(this->mUnk_100 << 0xC, 0, -0x1000, 0, this->mUnk_102 << 0xC, 0, 0);
|
||||
VecFx32_Init(this->mPos.x + this->mUnk_0EC.x, this->mPos.y + this->mUnk_0EC.y, z, &sp24);
|
||||
|
||||
sp0C = sp24;
|
||||
|
||||
ActorUnkNSSW *actorNSSW = this->mUnk_0F8;
|
||||
VecFx32_Copy(&sp0C, &actorNSSW->mPos);
|
||||
VecFx32_Copy(&sp0C, &actorNSSW->mPrevPos);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case 0x3:
|
||||
func_01ff9218(&this->mUnk_108, 0x0, 0x99A);
|
||||
func_01ff91b8(&this->mUnk_10C, 0x0, 0x4CD);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
this->IsInternalTimerOut();
|
||||
this->mUnk_040.func_ov032_021210a0(this->mUnk_108);
|
||||
|
||||
if (this->mUnk_10C > 0x2AAB) {
|
||||
this->mUnk_10C = 0x2AAB;
|
||||
}
|
||||
|
||||
if (this->mUnk_10C < -0x2AAB) {
|
||||
this->mUnk_10C = -0x2AAB;
|
||||
}
|
||||
|
||||
if (this->mUnk_114 != NULL) {
|
||||
(*(u16 *) &this->mUnk_20.mUnk_08) = this->mUnk_10C;
|
||||
}
|
||||
this->mAngle = this->mUnk_10C;
|
||||
}
|
||||
|
||||
bool MapObjectUnkSWSW::vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) {
|
||||
if (this->mUnk_0FC != 0x2) {
|
||||
if (param1.type != 0x0) {
|
||||
Actor *actor = gpActorManager->func_01fff3b4(param1);
|
||||
|
||||
if (actor != NULL) {
|
||||
if (actor->GetActorId() == ActorId_NSSW) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
if (param1.type != 0x0) {
|
||||
ActorUnkNSSW *actorNSSW = (ActorUnkNSSW *) gpActorManager->func_01fff3b4(param1);
|
||||
|
||||
if (actorNSSW != NULL) {
|
||||
if (actorNSSW->GetActorId() == ActorId_NSSW) {
|
||||
if (actorNSSW->mUnk_0BC != 0x4) {
|
||||
return true;
|
||||
}
|
||||
|
||||
UnkAngleStruct angle = {.angle = actorNSSW->mAngle};
|
||||
VecFx32 *vec = data_027e0ce0->func_01fff148(0x0);
|
||||
|
||||
if (!func_02016ae0(&actorNSSW->mPos, vec, angle, 0x2AAB, 0x1)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
this->mUnk_114 = actorNSSW;
|
||||
actorNSSW->func_ov032_02120c64(this);
|
||||
|
||||
VecFx32 sp14;
|
||||
VecFx32 sp08;
|
||||
|
||||
VecFx32_Init(this->mPos.x + this->mUnk_0EC.x, this->mPos.y + this->mUnk_0EC.y, this->mPos.z + this->mUnk_0EC.z,
|
||||
&sp14);
|
||||
sp08 = sp14;
|
||||
|
||||
ActorUnkNSSW *nssw114 = this->mUnk_114;
|
||||
VecFx32_Init(sp08.x, sp08.y, sp08.z, &nssw114->mPos);
|
||||
VecFx32_Init(sp08.x, sp08.y, sp08.z, &nssw114->mPrevPos);
|
||||
|
||||
this->vfunc_3C(0x0);
|
||||
|
||||
this->MapObject::func_ov000_0209d2c4(0x1, true);
|
||||
|
||||
if (this->mUnk_104 != 0x0) {
|
||||
this->MapObject::func_ov000_0209d2c4(0x0, false);
|
||||
}
|
||||
|
||||
data_027e09a8->func_ov000_02071b30(0x12A, &this->mPos, 0x0);
|
||||
|
||||
if (this->mUnk_105 != 0x0) {
|
||||
data_027e09a8->func_ov000_02071b30(0x12B, &this->mPos, 0x0);
|
||||
|
||||
this->vfunc_3C(0x3);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void MapObjectUnkSWSW::vfunc_38() {
|
||||
if (this->mUnk_0FC == 0x3) {
|
||||
this->mUnk_114 = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
this->vfunc_3C(0x2);
|
||||
|
||||
this->mUnk_102 = 0xF;
|
||||
this->mUnk_100 = 0x0;
|
||||
this->mUnk_114 = NULL;
|
||||
}
|
||||
|
||||
void MapObjectUnkSWSW::func_ov032_02121b90() {
|
||||
this->mUnk_0F8 = NULL;
|
||||
|
||||
if (this->mUnk_114 != NULL) {
|
||||
if (this->mUnk_114->mUnk_184_eur != NULL && this != this->mUnk_114->mUnk_184_eur) {
|
||||
this->mUnk_114->mUnk_184_eur->func_ov032_02121b90();
|
||||
}
|
||||
|
||||
this->mUnk_0F8 = this->mUnk_114;
|
||||
this->mUnk_114->mUnk_184_eur = this;
|
||||
this->mUnk_0F8->mUnk_188_eur = this;
|
||||
|
||||
this->vfunc_3C(0x0);
|
||||
return;
|
||||
}
|
||||
|
||||
if (this->mUnk_0FC != 0x2) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this->mUnk_20.mParams[1] == 0x0) {
|
||||
return;
|
||||
}
|
||||
|
||||
this->vfunc_3C(0x1);
|
||||
}
|
||||
|
||||
// non-matching (last copies)
|
||||
void MapObjectUnkSWSW::vfunc_3C(unk32 param1) {
|
||||
this->mUnk_0FC = param1;
|
||||
this->mUnk_102 = 0xFFFF;
|
||||
this->mUnk_100 = 0x0000;
|
||||
|
||||
switch (param1) {
|
||||
case 0x2:
|
||||
this->mUnk_102 = 0x0;
|
||||
this->mUnk_100 = 0x0;
|
||||
this->mUnk_0AC.func_ov000_020577f8(0x1000);
|
||||
break;
|
||||
|
||||
case 0x1: {
|
||||
VecFx32 sp18;
|
||||
VecFx32 sp0C;
|
||||
VecFx32 sp00;
|
||||
|
||||
VecFx32_Init(this->mPos.x + this->mUnk_0EC.x, this->mPos.y + this->mUnk_0EC.y, this->mPos.z + this->mUnk_0EC.z,
|
||||
&sp0C);
|
||||
|
||||
ActorUnkNSSW *actorNSSW = this->func_ov032_02121dc8(&sp0C);
|
||||
this->mUnk_0F8 = actorNSSW;
|
||||
this->mUnk_114 = actorNSSW;
|
||||
|
||||
this->mUnk_102 = 0x28;
|
||||
this->mUnk_100 = 0x00;
|
||||
|
||||
this->mUnk_0AC.func_ov000_020577f8(0x1000);
|
||||
|
||||
VecFx32_Init(this->mPos.x + this->mUnk_0EC.x, this->mPos.y + this->mUnk_0EC.y,
|
||||
this->mPos.z + this->mUnk_0EC.z - FLOAT_TO_FX32(1.0f), &sp18);
|
||||
sp00 = sp18;
|
||||
|
||||
ActorUnkNSSW *nssw0F8 = this->mUnk_0F8;
|
||||
VecFx32_Copy(&sp00, &nssw0F8->mPos);
|
||||
VecFx32_Copy(&sp00, &nssw0F8->mPrevPos);
|
||||
break;
|
||||
}
|
||||
|
||||
case 0x0:
|
||||
this->mUnk_0AC.func_ov000_020577f8(0x1000);
|
||||
break;
|
||||
|
||||
case 0x3:
|
||||
this->mUnk_0AC.func_ov000_020577f8(0x0);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void MapObjectUnkSWSW::vfunc_14() {
|
||||
VecFx32 vec;
|
||||
VecFx32_Init(this->mPos.x + this->mUnk_0EC.x, this->mPos.y + this->mUnk_0EC.y, this->mPos.z + this->mUnk_0EC.z, &vec);
|
||||
|
||||
this->mUnk_040.func_01ffc6d4(this->mAngleStruct, &vec);
|
||||
}
|
||||
|
||||
struct UnkStack_ov032_02121dc8 {
|
||||
/* 00 */ ActorRef ref;
|
||||
/* 04 */ STRUCT_PAD(0x04, 0x08);
|
||||
/* 08 */
|
||||
};
|
||||
|
||||
// non-matching (vec copy)
|
||||
ActorUnkNSSW *MapObjectUnkSWSW::func_ov032_02121dc8(VecFx32 *param1) {
|
||||
ActorParams params;
|
||||
UnkStack_ov032_02121dc8 unk;
|
||||
|
||||
params.mUnk_28 = 0;
|
||||
params.func_ov000_020975f8();
|
||||
|
||||
params.mInitialAngle = this->mAngle;
|
||||
params.mUnk_28 = *(unk32 *) &this->mUnk_38;
|
||||
|
||||
VecFx32_Init(param1->x, param1->y, param1->z, ¶ms.mInitialPos);
|
||||
|
||||
Actor::func_ov000_020973f4(&unk.ref, &data_ov000_020b539c_eur, ActorId_NSSW, ¶ms, 0x0);
|
||||
|
||||
ActorUnkNSSW *actor = (ActorUnkNSSW *) gpActorManager->func_01fff3b4(unk.ref);
|
||||
|
||||
actor->mUnk_184_eur = this;
|
||||
actor->mUnk_188_eur = this;
|
||||
|
||||
return actor;
|
||||
}
|
||||
|
||||
@@ -51,7 +51,6 @@ extern "C" void func_01ffad5c(Mat4x3p *, Mat4x3p *, Mat4x3p *);
|
||||
extern "C" fx32 func_01ffb428(unk32, unk32);
|
||||
extern "C" void func_01ffb714(VecFx32 *, VecFx32 *, VecFx32 *);
|
||||
extern "C" unk32 func_01ffbbe0(fx32 param1, fx32 param2);
|
||||
extern "C" void func_01ffc6d4(ModelRender *param1, UnkAngleStruct param2, VecFx32 *param3);
|
||||
extern "C" void func_0200eab0(G3d_Model *, unk32, u8);
|
||||
|
||||
// Overlay 0
|
||||
@@ -453,7 +452,7 @@ void ActorUnkCANS::vfunc_2C(unk32 param1) {
|
||||
return;
|
||||
}
|
||||
|
||||
((UnkSystem6_Derived2 *) &mUnk_0B0)->func_01ffc6d4(mAngleStruct, &mPos);
|
||||
mUnk_0B0.func_01ffc6d4(mAngleStruct, &mPos);
|
||||
|
||||
if (mUnk_268 != NULL) {
|
||||
VecFx32 vec;
|
||||
|
||||
Reference in New Issue
Block a user