From c799ec8cf5a8f8491095b42ce710534a2891a505 Mon Sep 17 00:00:00 2001 From: rjkiv Date: Thu, 15 Aug 2024 17:11:34 -0700 Subject: [PATCH] rndcam symbols --- config/SZBE69/objects.json | 1 + config/SZBE69/splits.txt | 6 ++-- config/SZBE69/symbols.txt | 70 +++++++++++++++++++------------------- src/system/os/Debug.h | 13 ++++--- src/system/rndobj/Cam.cpp | 6 ++-- src/system/rndobj/Cam.h | 6 ++++ 6 files changed, 57 insertions(+), 45 deletions(-) diff --git a/config/SZBE69/objects.json b/config/SZBE69/objects.json index 8a3ace7c..02b08ce4 100644 --- a/config/SZBE69/objects.json +++ b/config/SZBE69/objects.json @@ -30,6 +30,7 @@ "system/rndobj/Anim.cpp": "NonMatching", "system/rndobj/AnimFilter.cpp": "NonMatching", + "system/rndobj/Cam.cpp": "NonMatching", "system/rndobj/Dir.cpp": "NonMatching", "system/rndobj/DOFProc.cpp": "NonMatching", "system/rndobj/Draw.cpp": "NonMatching", diff --git a/config/SZBE69/splits.txt b/config/SZBE69/splits.txt index b0e6bd0c..710f629e 100644 --- a/config/SZBE69/splits.txt +++ b/config/SZBE69/splits.txt @@ -1116,10 +1116,12 @@ system/rndobj/Bitmap.cpp: .text start:0x805C9A68 end:0x805CAC4C system/rndobj/Cam.cpp: - .text start:0x805CCF80 end:0x805CD410 + .text start:0x805CCF80 end:0x805CE230 + .ctors start:0x807EFFE0 end:0x807EFFE4 + .data start:0x80894A18 end:0x80894AD8 rb3/unknown/805/unk_805CE140.cpp: - .text start:0x805CE140 end:0x805CFD34 + .text start:0x805CE230 end:0x805CFD34 system/rndobj/Console.cpp: .text start:0x805CFD34 end:0x805D22A8 diff --git a/config/SZBE69/symbols.txt b/config/SZBE69/symbols.txt index 6dc90934..0a4f697f 100644 --- a/config/SZBE69/symbols.txt +++ b/config/SZBE69/symbols.txt @@ -865,7 +865,7 @@ fn_8000EE40 = .text:0x8000EE40; // type:function size:0x8 fn_8000EE48 = .text:0x8000EE48; // type:function size:0x8 fn_8000EE50 = .text:0x8000EE50; // type:function size:0x8 fn_8000EE58 = .text:0x8000EE58; // type:function size:0x8 -MergedAssign4FloatStruct__FPvRCv = .text:0x8000EE60; // type:function size:0x24 +Merged4FloatStructAssignOpConst4FloatStruct = .text:0x8000EE60; // type:function size:0x24 __ct__Q23Hmx5ColorFfff = .text:0x8000EE84; // type:function size:0x1C fn_8000EEA0 = .text:0x8000EEA0; // type:function size:0x18 Start__5TimerFv = .text:0x8000EEB8; // type:function size:0x20 @@ -7987,7 +7987,7 @@ fn_800DF318 = .text:0x800DF318; // type:function size:0x2B8 __ct__Q23Hmx5ColorFRCQ23Hmx5Color = .text:0x800DF5D0; // type:function size:0x14 fn_800DF5E4 = .text:0x800DF5E4; // type:function size:0x38 fn_800DF61C = .text:0x800DF61C; // type:function size:0x78 -Set__Q23Hmx4QuatFffff = .text:0x800DF694; // type:function size:0x14 +MergedSet4FloatsTo4FloatStruct = .text:0x800DF694; // type:function size:0x14 fn_800DF6A8 = .text:0x800DF6A8; // type:function size:0x44 fn_800DF6EC = .text:0x800DF6EC; // type:function size:0xD4 fn_800DF7C0 = .text:0x800DF7C0; // type:function size:0x5C @@ -8049,7 +8049,7 @@ MergedObjDeleteOverload__FPv = .text:0x800E1114; // type:function size:0x4 __dt__16RndHighlightableFv = .text:0x800E1118; // type:function size:0x70 __dt__13RndAnimatableFv = .text:0x800E1188; // type:function size:0x70 __dt__11RndDrawableFv = .text:0x800E11F8; // type:function size:0x94 -fn_800E128C = .text:0x800E128C; // type:function size:0x6C +__dt__36ObjPtrListFv = .text:0x800E128C; // type:function size:0x6C fn_800E12F8 = .text:0x800E12F8; // type:function size:0x40 fn_800E1338 = .text:0x800E1338; // type:function size:0x44 fn_800E137C = .text:0x800E137C; // type:function size:0x54 @@ -10095,7 +10095,7 @@ fn_8011C208 = .text:0x8011C208; // type:function size:0x158 IsLoaded__9GamePanelFv = .text:0x8011C360; // type:function size:0x94 Unload__9GamePanelFv = .text:0x8011C3F4; // type:function size:0xB8 Enter__9GamePanelFv = .text:0x8011C4AC; // type:function size:0xE8 -fn_8011C594 = .text:0x8011C594; // type:function size:0x38 +SetScreenRect__6RndCamFRCQ23Hmx4Rect = .text:0x8011C594; // type:function size:0x38 fn_8011C5CC = .text:0x8011C5CC; // type:function size:0x8 fn_8011C5D4 = .text:0x8011C5D4; // type:function size:0x8 Exit__9GamePanelFv = .text:0x8011C5DC; // type:function size:0xE4 @@ -26471,7 +26471,7 @@ CachedPath__9DirLoaderFPCcb = .text:0x8032E8E8; // type:function size:0xB0 MakeString__FPCcPCcPCc6Symbol_PCc = .text:0x8032E998; // type:function size:0x70 SaveObjects__9DirLoaderFPCcP9ObjectDir = .text:0x8032EA08; // type:function size:0x8 __ct__9DirLoaderFRC8FilePath9LoaderPosPQ29DirLoader8CallbackP9BinStreamP9ObjectDir = .text:0x8032EA10; // type:function size:0x1B0 -fn_8032EBC0 = .text:0x8032EBC0; // type:function size:0x68 +__ct__36ObjPtrListFPQ23Hmx6Object11ObjListMode = .text:0x8032EBC0; // type:function size:0x68 fn_8032EC28 = .text:0x8032EC28; // type:function size:0x34 fn_8032EC5C = .text:0x8032EC5C; // type:function size:0x134 fn_8032ED90 = .text:0x8032ED90; // type:function size:0x84 @@ -30518,7 +30518,7 @@ fn_803BFC28 = .text:0x803BFC28; // type:function size:0x68 fn_803BFC90 = .text:0x803BFC90; // type:function size:0x48 fn_803BFCD8 = .text:0x803BFCD8; // type:function size:0x8 fn_803BFCE0 = .text:0x803BFCE0; // type:function size:0x50 -__ct__26ObjPtr<6RndTex,9ObjectDir> = .text:0x803BFD30; // type:function size:0x68 +__ct__26ObjPtr<6RndTex,9ObjectDir>FPQ23Hmx6ObjectP6RndTex = .text:0x803BFD30; // type:function size:0x68 fn_803BFD98 = .text:0x803BFD98; // type:function size:0xE0 fn_803BFE78 = .text:0x803BFE78; // type:function size:0x8 fn_803BFE80 = .text:0x803BFE80; // type:function size:0x70 @@ -44241,7 +44241,7 @@ StaticClassName__8UIScreenFv = .text:0x8054F788; // type:function size:0x4C SetAmbientColor__10RndEnvironFRCQ23Hmx5Color = .text:0x8054F7D4; // type:function size:0x44 New<10RndEnviron>__Q23Hmx6ObjectFv_P10RndEnviron = .text:0x8054F818; // type:function size:0x48 StaticClassName__10RndEnvironFv = .text:0x8054F860; // type:function size:0x4C -fn_8054F8AC = .text:0x8054F8AC; // type:function size:0x8 +SetZRange__6RndCamFff = .text:0x8054F8AC; // type:function size:0x8 fn_8054F8B4 = .text:0x8054F8B4; // type:function size:0x68 Terminate__9UIManagerFv = .text:0x8054F91C; // type:function size:0x14C fn_8054FA68 = .text:0x8054FA68; // type:function size:0x68 @@ -44884,7 +44884,7 @@ fn_80562FEC = .text:0x80562FEC; // type:function size:0x8 fn_80562FF4 = .text:0x80562FF4; // type:function size:0x314 fn_80563308 = .text:0x80563308; // type:function size:0x3C fn_80563344 = .text:0x80563344; // type:function size:0x11C -fn_80563460 = .text:0x80563460; // type:function size:0x3C +__rs__FR9BinStreamR36ObjPtrList_R9BinStream = .text:0x80563460; // type:function size:0x3C fn_8056349C = .text:0x8056349C; // type:function size:0x100 NumDisplay__6UIListCFv = .text:0x8056359C; // type:function size:0x8 fn_805635A4 = .text:0x805635A4; // type:function size:0x8 @@ -48378,31 +48378,31 @@ Load__6RndCamFR9BinStream = .text:0x805CCF84; // type:function size:0x194 Copy__6RndCamFPQ23Hmx6ObjectQ33Hmx6Object8CopyType = .text:0x805CD118; // type:function size:0xCC __ct__6RndCamFv = .text:0x805CD1E4; // type:function size:0x168 __dt__6RndCamFv = .text:0x805CD34C; // type:function size:0xC4 -SetFrustum__6RndCamFfff = .text:0x805CD410; // type:function size:0xF0 -fn_805CD500 = .text:0x805CD500; // type:function size:0x1D0 +SetFrustum__6RndCamFffff = .text:0x805CD410; // type:function size:0xF0 +UpdateLocal__6RndCamFv = .text:0x805CD500; // type:function size:0x1D0 fn_805CD6D0 = .text:0x805CD6D0; // type:function size:0x70 fn_805CD740 = .text:0x805CD740; // type:function size:0x8C Handle__6RndCamFP9DataArrayb = .text:0x805CD7CC; // type:function size:0x2A4 -fn_805CDA70 = .text:0x805CDA70; // type:function size:0x104 -fn_805CDB74 = .text:0x805CDB74; // type:function size:0x74 -fn_805CDBE8 = .text:0x805CDBE8; // type:function size:0xB0 -fn_805CDC98 = .text:0x805CDC98; // type:function size:0x8 +OnSetFrustum__6RndCamFPC9DataArray = .text:0x805CDA70; // type:function size:0x104 +OnSetZRange__6RndCamFPC9DataArray = .text:0x805CDB74; // type:function size:0x74 +OnSetScreenRect__6RndCamFPC9DataArray = .text:0x805CDBE8; // type:function size:0xB0 +OnFarPlane__6RndCamFPC9DataArray = .text:0x805CDC98; // type:function size:0x8 SyncProperty__6RndCamFR8DataNodeP9DataArrayi6PropOp = .text:0x805CDCA0; // type:function size:0x2D4 SetType__6RndCamF6Symbol = .text:0x805CDF74; // type:function size:0x144 ClassName__6RndCamCFv = .text:0x805CE0B8; // type:function size:0x4 -fn_805CE0BC = .text:0x805CE0BC; // type:function size:0x84 -fn_805CE140 = .text:0x805CE140; // type:function size:0x14 -fn_805CE154 = .text:0x805CE154; // type:function size:0x14 -fn_805CE168 = .text:0x805CE168; // type:function size:0x14 -fn_805CE17C = .text:0x805CE17C; // type:function size:0x14 -fn_805CE190 = .text:0x805CE190; // type:function size:0x14 -fn_805CE1A4 = .text:0x805CE1A4; // type:function size:0x14 -fn_805CE1B8 = .text:0x805CE1B8; // type:function size:0x14 -fn_805CE1CC = .text:0x805CE1CC; // type:function size:0x14 -fn_805CE1E0 = .text:0x805CE1E0; // type:function size:0x14 -fn_805CE1F4 = .text:0x805CE1F4; // type:function size:0x14 -fn_805CE208 = .text:0x805CE208; // type:function size:0x14 -fn_805CE21C = .text:0x805CE21C; // type:function size:0x14 +__sinit_\Cam_cpp = .text:0x805CE0BC; // type:function size:0x84 +@632@28@Replace__16RndTransformableFPQ23Hmx6ObjectPQ23Hmx6Object = .text:0x805CE140; // type:function size:0x14 +@632@28@Print__16RndTransformableFv = .text:0x805CE154; // type:function size:0x14 +@632@28@Load__6RndCamFR9BinStream = .text:0x805CE168; // type:function size:0x14 +@632@28@Copy__6RndCamFPCQ23Hmx6ObjectQ33Hmx6Object8CopyType = .text:0x805CE17C; // type:function size:0x14 +@632@28@Save__6RndCamFR9BinStream = .text:0x805CE190; // type:function size:0x14 +@632@28@__dt__6RndCamFv = .text:0x805CE1A4; // type:function size:0x14 +@632@28@SyncProperty__6RndCamFR8DataNodeP9DataArrayi6PropOp = .text:0x805CE1B8; // type:function size:0x14 +@632@28@Handle__6RndCamFP9DataArrayb = .text:0x805CE1CC; // type:function size:0x14 +@632@28@SetType__6RndCamF6Symbol = .text:0x805CE1E0; // type:function size:0x14 +@632@28@ClassName__6RndCamCFv = .text:0x805CE1F4; // type:function size:0x14 +@664@8@Highlight__16RndTransformableFv = .text:0x805CE208; // type:function size:0x14 +@664@8@__dt__6RndCamFv = .text:0x805CE21C; // type:function size:0x14 Copy__10RndCamAnimFPQ23Hmx6ObjectQ33Hmx6Object8CopyType = .text:0x805CE230; // type:function size:0xDC fn_805CE30C = .text:0x805CE30C; // type:function size:0x8 fn_805CE314 = .text:0x805CE314; // type:function size:0xD0 @@ -52542,7 +52542,7 @@ fn_80659690 = .text:0x80659690; // type:function size:0x78 fn_80659708 = .text:0x80659708; // type:function size:0x50 fn_80659758 = .text:0x80659758; // type:function size:0xD0 fn_80659828 = .text:0x80659828; // type:function size:0x78 -fn_806598A0 = .text:0x806598A0; // type:function size:0x54 +ConvertFov__Fff = .text:0x806598A0; // type:function size:0x54 fn_806598F4 = .text:0x806598F4; // type:function size:0xB0 fn_806599A4 = .text:0x806599A4; // type:function size:0x29C fn_80659C40 = .text:0x80659C40; // type:function size:0x60 @@ -60431,7 +60431,7 @@ lbl_807F3CA0 = .rodata:0x807F3CA0; // type:object size:0x10 data:4byte lbl_807F3CB0 = .rodata:0x807F3CB0; // type:object size:0x10 data:4byte lbl_807F3CC0 = .rodata:0x807F3CC0; // type:object size:0x10 data:4byte lbl_807F3CD0 = .rodata:0x807F3CD0; // type:object size:0x8 data:float -lbl_807F3CD8 = .rodata:0x807F3CD8; // type:object size:0x8 data:float +@F_0e381a3f = .rodata:0x807F3CD8; // type:object size:0x8 data:float lbl_807F3CE0 = .rodata:0x807F3CE0; // type:object size:0x4 data:float lbl_807F3CE4 = .rodata:0x807F3CE4; // type:object size:0x4 data:float lbl_807F3CE8 = .rodata:0x807F3CE8; // type:object size:0x4 data:float @@ -79403,7 +79403,7 @@ set_frame = .bss:0x8097E988; // type:object size:0x4 SymSetFromMeshAnim = .bss:0x8097E98C; // type:object size:0x4 SymSetFromSongSelectNode = .bss:0x8097E990; // type:object size:0x4 SymSetFrozen = .bss:0x8097E994; // type:object size:0x4 -SymSetFrustum = .bss:0x8097E998; // type:object size:0x4 +set_frustum = .bss:0x8097E998; // type:object size:0x4 SymSetFullness = .bss:0x8097E99C; // type:object size:0x4 SymSetFx = .bss:0x8097E9A0; // type:object size:0x4 SymSetFxVol = .bss:0x8097E9A4; // type:object size:0x4 @@ -79594,7 +79594,7 @@ SymSetScore = .bss:0x8097ECF0; // type:object size:0x4 SymSetScoreOrStars = .bss:0x8097ECF4; // type:object size:0x4 SymSetScoreType = .bss:0x8097ECF8; // type:object size:0x4 SymSetScoretype = .bss:0x8097ECFC; // type:object size:0x4 -SymSetScreenRect = .bss:0x8097ED00; // type:object size:0x4 +set_screen_rect = .bss:0x8097ED00; // type:object size:0x4 SymSetScreenRectX = .bss:0x8097ED04; // type:object size:0x4 SymSetScreenSaver = .bss:0x8097ED08; // type:object size:0x4 SymSetScrollExpandedDetails = .bss:0x8097ED0C; // type:object size:0x4 @@ -79720,7 +79720,7 @@ SymSetWiispeakMicrophoneSensitivity = .bss:0x8097EF20; // type:object size:0x4 SymSetWiispeakToggle = .bss:0x8097EF24; // type:object size:0x4 SymSetWipe = .bss:0x8097EF28; // type:object size:0x4 SymSetWrapWidth = .bss:0x8097EF2C; // type:object size:0x4 -SymSetZRange = .bss:0x8097EF30; // type:object size:0x4 +set_z_range = .bss:0x8097EF30; // type:object size:0x4 SymSetZero = .bss:0x8097EF34; // type:object size:0x4 SymSetlist = .bss:0x8097EF38; // type:object size:0x4 data:4byte SymSetlistChanged = .bss:0x8097EF3C; // type:object size:0x4 @@ -80748,7 +80748,7 @@ SymXlspServiceId = .bss:0x8098052C; // type:object size:0x4 data:4byte SymXsection = .bss:0x80980530; // type:object size:0x8 SymXy = .bss:0x80980538; // type:object size:0x4 SymY = .bss:0x8098053C; // type:object size:0x4 -SymYFov = .bss:0x80980540; // type:object size:0x4 data:4byte +y_fov = .bss:0x80980540; // type:object size:0x4 data:4byte SymYOffset = .bss:0x80980544; // type:object size:0x4 SymYPerSecond = .bss:0x80980548; // type:object size:0x4 SymYRadius = .bss:0x8098054C; // type:object size:0xC @@ -82154,7 +82154,7 @@ SymFakeWin = .bss:0x80982148; // type:object size:0x4 SymFalloffStart = .bss:0x8098214C; // type:object size:0x4 SymFancy = .bss:0x80982150; // type:object size:0x4 SymFarMap = .bss:0x80982154; // type:object size:0x4 -SymFarPlane = .bss:0x80982158; // type:object size:0x4 data:4byte +far_plane = .bss:0x80982158; // type:object size:0x4 data:4byte SymFastForward = .bss:0x8098215C; // type:object size:0x8 SymFeedback = .bss:0x80982164; // type:object size:0xC SymFeedbackPct = .bss:0x80982170; // type:object size:0x4 @@ -83938,7 +83938,7 @@ SymNamingResultMsg = .bss:0x80984334; // type:object size:0x4 data:4byte SymNavDown = .bss:0x80984338; // type:object size:0x4 SymNavRight = .bss:0x8098433C; // type:object size:0x4 SymNearMap = .bss:0x80984340; // type:object size:0x4 -SymNearPlane = .bss:0x80984344; // type:object size:0x4 data:4byte +near_plane = .bss:0x80984344; // type:object size:0x4 data:4byte SymNeedSongsDownload = .bss:0x80984348; // type:object size:0x4 SymNeedSync = .bss:0x8098434C; // type:object size:0x4 SymNeedleAnim = .bss:0x80984350; // type:object size:0x4 diff --git a/src/system/os/Debug.h b/src/system/os/Debug.h index 85869b6f..b3955cf9 100644 --- a/src/system/os/Debug.h +++ b/src/system/os/Debug.h @@ -155,10 +155,13 @@ class DebugNotifyOncer { return *this; } }; - -#define MILO_NOTIFY_ONCE(...) { \ - static DebugNotifyOncer _dw; \ - _dw << MakeString(__VA_ARGS__); \ - } \ +#ifdef MILO_DEBUG + #define MILO_NOTIFY_ONCE(...) { \ + static DebugNotifyOncer _dw; \ + _dw << MakeString(__VA_ARGS__); \ + } +#else + #define MILO_NOTIFY_ONCE(...){} +#endif #endif diff --git a/src/system/rndobj/Cam.cpp b/src/system/rndobj/Cam.cpp index 3569e420..2b10de57 100644 --- a/src/system/rndobj/Cam.cpp +++ b/src/system/rndobj/Cam.cpp @@ -126,13 +126,13 @@ void RndCam::UpdateLocal() { } DataNode RndCam::OnSetZRange(const DataArray* da){ - mZRange.Set(da->Float(2), da->Float(3)); + SetZRange(da->Float(2), da->Float(3)); return DataNode(0); } DataNode RndCam::OnSetScreenRect(const DataArray* da){ - mScreenRect.Set(da->Float(2), da->Float(3), da->Float(4), da->Float(5)); - UpdateLocal(); + Hmx::Rect r(da->Float(2), da->Float(3), da->Float(4), da->Float(5)); + SetScreenRect(r); return DataNode(0); } diff --git a/src/system/rndobj/Cam.h b/src/system/rndobj/Cam.h index 6c11cd0a..79eed907 100644 --- a/src/system/rndobj/Cam.h +++ b/src/system/rndobj/Cam.h @@ -38,11 +38,17 @@ class RndCam : public RndTransformable { float FarPlane() const { return mFarPlane; } float YFov() const { return mYFov; } RndTex* TargetTex(){ return mTargetTex; } + void SetZRange(float f1, float f2){ mZRange.Set(f1, f2); } bool CompareSphereToWorld(const Sphere& s) const { return s > mWorldFrustum; } + void SetScreenRect(const Hmx::Rect& rect){ + mScreenRect = rect; + UpdateLocal(); + } + static RndCam* sCurrent; NEW_OBJ(RndCam) DELETE_OVERLOAD;