From 234afca6c2659c194e6245e4f81ffb2529b3f72a Mon Sep 17 00:00:00 2001 From: Luke Street Date: Sun, 18 Sep 2022 02:05:46 -0400 Subject: [PATCH] clang-format pass Former-commit-id: 6a979e343f6a88e4c9b78d3917c1fabfcb211a0a --- include/Collision/CCollidableAABox.hpp | 2 +- include/Collision/CCollisionPrimitive.hpp | 2 +- include/Collision/CMaterialFilter.hpp | 5 +- include/Collision/CMaterialList.hpp | 2 +- include/Collision/CRayCastResult.hpp | 2 +- include/GuiSys/CGuiSys.hpp | 2 +- include/Kyoto/Alloc/CCircularBuffer.hpp | 29 +- include/Kyoto/Alloc/CMemory.hpp | 8 +- include/Kyoto/Alloc/CSmallAllocPool.hpp | 17 +- include/Kyoto/Alloc/IAllocator.hpp | 15 +- include/Kyoto/Animation/CSkinnedModel.hpp | 2 +- include/Kyoto/Audio/CAudioSys.hpp | 2 +- include/Kyoto/Audio/CDSPStreamManager.hpp | 2 +- include/Kyoto/Audio/g721.h | 53 +- include/Kyoto/Basics/CCast.hpp | 12 +- include/Kyoto/Basics/CStopwatch.hpp | 8 +- include/Kyoto/CARAMManager.hpp | 4 +- include/Kyoto/CCrc32.hpp | 2 +- include/Kyoto/CFactoryMgr.hpp | 5 +- include/Kyoto/CFrameDelayedKiller.hpp | 2 +- include/Kyoto/CResFactory.hpp | 3 +- include/Kyoto/CTimeProvider.hpp | 1 + include/Kyoto/Graphics/CCubeMaterial.hpp | 2 +- include/Kyoto/Graphics/CGX.hpp | 52 +- include/Kyoto/Graphics/CGraphics.hpp | 2 +- include/Kyoto/Graphics/CLight.hpp | 4 +- include/Kyoto/Graphics/CModelFlags.hpp | 27 +- include/Kyoto/Graphics/CTevCombiners.hpp | 2 +- include/Kyoto/Graphics/CTexture.hpp | 2 +- include/Kyoto/IObj.hpp | 5 +- include/Kyoto/IObjectStore.hpp | 5 +- include/Kyoto/Input/CControllerAxis.hpp | 1 + .../Kyoto/Input/CControllerGamepadData.hpp | 5 +- include/Kyoto/Input/CDolphinController.hpp | 18 +- include/Kyoto/Input/CRumbleGenerator.hpp | 2 +- include/Kyoto/Input/CRumbleVoice.hpp | 2 +- include/Kyoto/Input/IController.hpp | 27 +- include/Kyoto/Input/InputTypes.hpp | 14 +- include/Kyoto/Math/CAABox.hpp | 2 +- include/Kyoto/Math/CFrustumPlanes.hpp | 4 +- include/Kyoto/Math/CMatrix3f.hpp | 2 +- include/Kyoto/Math/CMatrix4f.hpp | 2 +- include/Kyoto/Math/CNUQuaternion.hpp | 2 +- include/Kyoto/Math/CPlane.hpp | 2 +- include/Kyoto/Math/CQuaternion.hpp | 2 +- include/Kyoto/Math/CTransform4f.hpp | 5 +- include/Kyoto/Math/CVector2f.hpp | 2 +- include/Kyoto/Math/CVector2i.hpp | 2 +- include/Kyoto/Particles/CElementGen.hpp | 2 +- include/Kyoto/Particles/CParticleGen.hpp | 56 +- include/Kyoto/Streams/CInputStream.hpp | 5 +- include/Kyoto/Streams/CZipInputStream.hpp | 2 +- include/Kyoto/TToken.hpp | 9 +- include/Kyoto/Text/CRasterFont.hpp | 4 +- include/MetaRender/CCubeRenderer.hpp | 3 +- include/MetaRender/Renderer.hpp | 2 +- include/MetroTRK/TrkInit.h | 1 - include/MetroidPrime/CActor.hpp | 23 +- include/MetroidPrime/CActorLights.hpp | 2 +- include/MetroidPrime/CActorModelParticles.hpp | 2 +- include/MetroidPrime/CActorParameters.hpp | 5 +- .../MetroidPrime/CAdditiveAnimPlayback.hpp | 2 +- include/MetroidPrime/CAnimData.hpp | 8 +- include/MetroidPrime/CAnimPlaybackParms.hpp | 2 +- include/MetroidPrime/CAreaFog.hpp | 2 +- include/MetroidPrime/CAxisAngle.hpp | 2 +- include/MetroidPrime/CCharAnimTime.hpp | 2 +- include/MetroidPrime/CCharacterInfo.hpp | 2 +- include/MetroidPrime/CDamageVulnerability.hpp | 2 +- include/MetroidPrime/CDecalManager.hpp | 2 +- include/MetroidPrime/CEffectComponent.hpp | 2 +- include/MetroidPrime/CEntity.hpp | 3 +- include/MetroidPrime/CEntityInfo.hpp | 7 +- include/MetroidPrime/CEnvFxManager.hpp | 2 +- include/MetroidPrime/CFluidPlaneManager.hpp | 2 +- include/MetroidPrime/CGameArea.hpp | 2 +- include/MetroidPrime/CHealthInfo.hpp | 2 +- .../MetroidPrime/CHierarchyPoseBuilder.hpp | 2 +- include/MetroidPrime/CIOWin.hpp | 2 +- include/MetroidPrime/CInputGenerator.hpp | 2 +- include/MetroidPrime/CMemoryCard.hpp | 2 +- include/MetroidPrime/CModelData.hpp | 12 +- include/MetroidPrime/CPASAnimState.hpp | 2 +- include/MetroidPrime/CPASDatabase.hpp | 2 +- include/MetroidPrime/CPOINode.hpp | 2 +- include/MetroidPrime/CParticleData.hpp | 2 +- include/MetroidPrime/CParticleDatabase.hpp | 2 +- include/MetroidPrime/CPhysicsActor.hpp | 2 +- include/MetroidPrime/CPoseAsTransforms.hpp | 2 +- include/MetroidPrime/CRippleManager.hpp | 2 +- include/MetroidPrime/CRumbleManager.hpp | 2 +- include/MetroidPrime/CSimpleShadow.hpp | 2 +- include/MetroidPrime/CSortedLists.hpp | 2 +- include/MetroidPrime/CSplashScreen.hpp | 2 +- include/MetroidPrime/CStateManager.hpp | 9 +- .../MetroidPrime/CStateManagerContainer.hpp | 2 +- include/MetroidPrime/CWeaponMgr.hpp | 2 +- include/MetroidPrime/CWorld.hpp | 14 +- include/MetroidPrime/Cameras/CCameraHint.hpp | 17 +- .../MetroidPrime/Cameras/CCameraManager.hpp | 2 +- .../MetroidPrime/Cameras/CCameraShakeData.hpp | 2 +- include/MetroidPrime/Cameras/CGameCamera.hpp | 2 +- include/MetroidPrime/HUD/CHUDMemoParms.hpp | 22 +- .../CScriptDebugCameraWaypoint.hpp | 5 +- .../ScriptObjects/CScriptMazeNode.hpp | 15 +- include/MetroidPrime/Tweaks/CTweakPlayer.hpp | 8 +- include/Weapons/IWeaponRenderer.hpp | 13 +- .../WorldFormat/CCollidableOBBTreeGroup.hpp | 2 +- include/dolphin/CARDPriv.h | 9 +- include/dolphin/__ppc_eabi_init.h | 2 +- include/dolphin/card.h | 28 +- include/dolphin/dsp.h | 50 +- include/dolphin/dsp_regs.h | 2 +- include/dolphin/gx/GXBump.h | 9 +- include/dolphin/gx/GXCommandList.h | 22 +- include/dolphin/gx/GXFifo.h | 7 +- include/dolphin/gx/GXGeometry.h | 7 +- include/dolphin/gx/GXGet.h | 3 +- include/dolphin/gx/GXLighting.h | 7 +- include/dolphin/gx/GXPixel.h | 3 +- include/dolphin/gx/GXStruct.h | 2 +- include/dolphin/gx/GXTev.h | 10 +- include/dolphin/gx/GXTexture.h | 13 +- include/dolphin/mtx.h | 2 +- include/dolphin/os/OSAlarm.h | 2 +- include/dolphin/os/OSContext.h | 32 +- include/dolphin/os/OSFastCast.h | 2 +- include/dolphin/os/OSReset.h | 17 +- include/dolphin/os/OSSerial.h | 3 +- include/dolphin/pad.h | 6 +- include/dolphin/si.h | 3 +- include/dolphin/vi.h | 4 +- include/musyx/musyx.h | 3 +- include/musyx/musyx_priv.h | 5 +- include/musyx/seq.h | 1 - include/musyx/synth.h | 41 +- include/musyx/synth_dbtab.h | 2 +- include/rstl/construction_deferred.hpp | 2 +- include/rstl/hash_map.hpp | 6 +- include/rstl/pair.hpp | 5 +- include/rstl/pointer_iterator.hpp | 36 +- include/rstl/red_black_tree.hpp | 2 +- include/rstl/string.hpp | 3 +- include/static_assert.hpp | 5 +- libc/locale.h | 2 +- libc/math.h | 3 +- libc/mem_funcs.h | 2 +- libc/stdio.h | 2 +- src/Dolphin/ai.c | 8 +- src/Dolphin/card/CARDBios.c | 21 +- src/Dolphin/card/CARDBlock.c | 3 +- src/Dolphin/card/CARDCheck.c | 7 +- src/Dolphin/card/CARDCreate.c | 6 +- src/Dolphin/card/CARDFormat.c | 20 +- src/Dolphin/card/CARDMount.c | 7 +- src/Dolphin/card/CARDNet.c | 1 - src/Dolphin/card/CARDOpen.c | 8 +- src/Dolphin/card/CARDRead.c | 15 +- src/Dolphin/card/CARDStat.c | 6 +- src/Dolphin/card/CARDUnlock.c | 38 +- src/Dolphin/card/CARDWrite.c | 9 +- src/Dolphin/dsp/dsp.c | 120 ++- src/Dolphin/dsp/dsp_debug.c | 3 +- src/Dolphin/dvd/dvd.c | 42 +- src/Dolphin/os/OSAudioSystem.c | 8 +- src/Dolphin/os/OSReset.c | 104 +- src/Dolphin/os/__start.c | 13 +- src/Kyoto/Alloc/CSmallAllocPool.cpp | 34 +- src/Kyoto/Alloc/IAllocator.cpp | 11 +- src/Kyoto/Audio/CSfxHandle.cpp | 3 +- src/Kyoto/Basics/CSWDataDolphin.cpp | 2 +- src/Kyoto/CCrc32.cpp | 74 +- src/Kyoto/CTimeProvider.cpp | 5 +- src/Kyoto/Graphics/CCubeMaterial.cpp | 31 +- src/Kyoto/Graphics/CGX.cpp | 97 +- src/Kyoto/Graphics/DolphinCColor.cpp | 9 +- src/Kyoto/Input/CDolphinController.cpp | 25 +- src/Kyoto/Input/DolphinIController.cpp | 12 +- src/Kyoto/Streams/CMemoryInStream.cpp | 3 +- src/Kyoto/Text/CStringTable.cpp | 5 +- src/MetroTRK/mslsupp.c | 2 +- src/MetroidPrime/CActor.cpp | 58 +- src/MetroidPrime/CEntity.cpp | 5 +- src/MetroidPrime/CObjectList.cpp | 35 +- src/MetroidPrime/Cameras/CCameraFilter.cpp | 4 +- src/MetroidPrime/Cameras/CCameraHint.cpp | 8 +- src/MetroidPrime/HUD/CHUDMemoParms.cpp | 5 +- .../CScriptDebugCameraWaypoint.cpp | 7 +- .../ScriptObjects/CScriptMazeNode.cpp | 53 +- src/MetroidPrime/TCastTo.cpp | 353 +++++-- src/MetroidPrime/UserNames.cpp | 4 +- src/MetroidPrime/main.cpp | 321 +++--- src/Runtime/ctype.c | 30 +- src/Runtime/e_atan2.c | 3 +- src/Runtime/e_fmod.c | 6 +- src/Runtime/e_pow.c | 3 +- src/Runtime/e_rem_pio2.c | 21 +- src/Runtime/fdlibm.h | 2 +- src/Runtime/k_rem_pio2.c | 3 +- src/Runtime/qsort.c | 29 +- src/Runtime/s_floor.c | 2 +- src/Runtime/s_modf.c | 4 +- src/musyx/creverb_fx.c | 16 +- src/musyx/delay_fx.c | 3 +- src/musyx/dsp_import.c | 966 ++++++++---------- src/musyx/hw_memory.c | 10 +- src/musyx/reverb_fx.c | 48 +- src/musyx/seq_api.c | 36 +- src/musyx/snd_math.c | 29 +- src/musyx/snd_service.c | 165 +-- src/musyx/snd_synthapi.c | 54 +- src/musyx/synth_ac.c | 75 +- src/musyx/synth_dbtab.c | 66 +- tools/clang-format.sh | 4 +- 214 files changed, 2282 insertions(+), 1957 deletions(-) diff --git a/include/Collision/CCollidableAABox.hpp b/include/Collision/CCollidableAABox.hpp index de27974f..a78eca63 100644 --- a/include/Collision/CCollidableAABox.hpp +++ b/include/Collision/CCollidableAABox.hpp @@ -21,4 +21,4 @@ private: }; CHECK_SIZEOF(CCollidableAABox, 0x28) -#endif \ No newline at end of file +#endif diff --git a/include/Collision/CCollisionPrimitive.hpp b/include/Collision/CCollisionPrimitive.hpp index 6cf40329..2bf4b76c 100644 --- a/include/Collision/CCollisionPrimitive.hpp +++ b/include/Collision/CCollisionPrimitive.hpp @@ -33,4 +33,4 @@ CHECK_SIZEOF(CCollisionPrimitive, 0x10) inline CCollisionPrimitive::~CCollisionPrimitive() {} -#endif \ No newline at end of file +#endif diff --git a/include/Collision/CMaterialFilter.hpp b/include/Collision/CMaterialFilter.hpp index c4eb1fca..2e7759a7 100644 --- a/include/Collision/CMaterialFilter.hpp +++ b/include/Collision/CMaterialFilter.hpp @@ -18,7 +18,8 @@ public: CMaterialFilter(const CMaterialList& include, const CMaterialList& exclude, EFilterType type) : include(include), exclude(exclude), type(type) {} - static CMaterialFilter MakeIncludeExclude(const CMaterialList& include, const CMaterialList& exclude) { + static CMaterialFilter MakeIncludeExclude(const CMaterialList& include, + const CMaterialList& exclude) { return CMaterialFilter(include, exclude, kFT_IncludeExclude); } @@ -29,4 +30,4 @@ private: }; CHECK_SIZEOF(CMaterialFilter, 0x18) -#endif \ No newline at end of file +#endif diff --git a/include/Collision/CMaterialList.hpp b/include/Collision/CMaterialList.hpp index 9194f8c4..922dc06c 100644 --- a/include/Collision/CMaterialList.hpp +++ b/include/Collision/CMaterialList.hpp @@ -113,4 +113,4 @@ private: }; CHECK_SIZEOF(CMaterialList, 0x8) -#endif \ No newline at end of file +#endif diff --git a/include/Collision/CRayCastResult.hpp b/include/Collision/CRayCastResult.hpp index 30a92a45..035fed12 100644 --- a/include/Collision/CRayCastResult.hpp +++ b/include/Collision/CRayCastResult.hpp @@ -24,4 +24,4 @@ private: }; CHECK_SIZEOF(CRayCastResult, 0x30) -#endif \ No newline at end of file +#endif diff --git a/include/GuiSys/CGuiSys.hpp b/include/GuiSys/CGuiSys.hpp index 976a5fc8..537e3549 100644 --- a/include/GuiSys/CGuiSys.hpp +++ b/include/GuiSys/CGuiSys.hpp @@ -20,4 +20,4 @@ private: u8 pad[0x14]; }; -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/Alloc/CCircularBuffer.hpp b/include/Kyoto/Alloc/CCircularBuffer.hpp index 3f624c6d..e7d1cdc8 100644 --- a/include/Kyoto/Alloc/CCircularBuffer.hpp +++ b/include/Kyoto/Alloc/CCircularBuffer.hpp @@ -1,27 +1,24 @@ #ifndef __CCIRCULARBUFFER_HPP__ #define __CCIRCULARBUFFER_HPP__ - #include class CCircularBuffer { public: - enum EOwnership { - kOS_Owned, - kOS_NotOwned - }; + enum EOwnership { kOS_Owned, kOS_NotOwned }; + + CCircularBuffer(void* buf, int len, EOwnership owned = kOS_NotOwned); + bool IsWrappedMemory(int offset, int len); + void* Alloc(int len); + void Free(void* ptr, int len); + int GetAllocatedAmount() const; - CCircularBuffer(void* buf, int len, EOwnership owned = kOS_NotOwned); - bool IsWrappedMemory(int offset, int len); - void* Alloc(int len); - void Free(void* ptr, int len); - int GetAllocatedAmount() const; private: - u8 x0_owned; - void* x4_ptr; - s32 x8_bufferLen; - s32 xc_; - s32 x10_nextFreeAddr; - s32 x14_; + u8 x0_owned; + void* x4_ptr; + s32 x8_bufferLen; + s32 xc_; + s32 x10_nextFreeAddr; + s32 x14_; }; #endif // __CCIRCULARBUFFER_HPP__ diff --git a/include/Kyoto/Alloc/CMemory.hpp b/include/Kyoto/Alloc/CMemory.hpp index ae9b64a4..0a8481ca 100644 --- a/include/Kyoto/Alloc/CMemory.hpp +++ b/include/Kyoto/Alloc/CMemory.hpp @@ -10,12 +10,8 @@ void Free(const void* ptr); void* operator new(unsigned long sz, const char*, const char*); void* operator new[](unsigned long sz, const char*, const char*); -inline void* operator new(unsigned long sz) { - return operator new(sz, "??(??)", nullptr); -} -inline void* operator new[](unsigned long sz) { - return operator new[](sz, "??(??)", nullptr); -} +inline void* operator new(unsigned long sz) { return operator new(sz, "??(??)", nullptr); } +inline void* operator new[](unsigned long sz) { return operator new[](sz, "??(??)", nullptr); } // placement new inline void* operator new(unsigned long n, void* ptr) { return ptr; }; diff --git a/include/Kyoto/Alloc/CSmallAllocPool.hpp b/include/Kyoto/Alloc/CSmallAllocPool.hpp index af07fadf..bee6d04d 100644 --- a/include/Kyoto/Alloc/CSmallAllocPool.hpp +++ b/include/Kyoto/Alloc/CSmallAllocPool.hpp @@ -6,14 +6,19 @@ static const int kPointerSize = sizeof(void*); class CSmallAllocPool { public: - CSmallAllocPool(uint len, void* mainData, void* bookKeeping); - void* FindFree(int len); - void* Alloc(uint size); - bool Free(const void* ptr); + CSmallAllocPool(uint len, void* mainData, void* bookKeeping); + void* FindFree(int len); + void* Alloc(uint size); + bool Free(const void* ptr); + private: - uint GetIndexFromPtr(const void* ptr) const { return ((const u8*)ptr - x0_mainData) / kPointerSize; } + uint GetIndexFromPtr(const void* ptr) const { + return ((const u8*)ptr - x0_mainData) / kPointerSize; + } long GetEntryValue(uint idx) const { return (long)*((u8*)x4_bookKeeping + idx); } - u8* GetPtrFromIndex(unsigned int idx) const { return static_cast(x0_mainData) + (idx << 3); } + u8* GetPtrFromIndex(unsigned int idx) const { + return static_cast< u8* >(x0_mainData) + (idx << 3); + } void* x0_mainData; void* x4_bookKeeping; int x8_numBlocks; diff --git a/include/Kyoto/Alloc/IAllocator.hpp b/include/Kyoto/Alloc/IAllocator.hpp index 36c75c11..c8ecedfa 100644 --- a/include/Kyoto/Alloc/IAllocator.hpp +++ b/include/Kyoto/Alloc/IAllocator.hpp @@ -41,10 +41,11 @@ public: uint x4c_; uint x50_mediumTotalAllocated; uint x54_fakeStatics; - SMetrics(uint heapSize, uint unk1, uint unk2, uint unk3, uint unk4, uint heapSize2, uint unk5, uint unk6, uint unk7, uint unk8, uint unk9, - uint smallAllocNumAllocs, uint smallAllocAllocatedSize, uint smallAllocRemainingSize, uint mediumAllocNumAllocs, - uint mediumAllocAllocatedSize, uint mediumAllocBlocksAvailable, uint unk10, uint unk11, uint unk12, uint mediumAllocTotalAllocated, - uint fakeStatics); + SMetrics(uint heapSize, uint unk1, uint unk2, uint unk3, uint unk4, uint heapSize2, uint unk5, + uint unk6, uint unk7, uint unk8, uint unk9, uint smallAllocNumAllocs, + uint smallAllocAllocatedSize, uint smallAllocRemainingSize, uint mediumAllocNumAllocs, + uint mediumAllocAllocatedSize, uint mediumAllocBlocksAvailable, uint unk10, uint unk11, + uint unk12, uint mediumAllocTotalAllocated, uint fakeStatics); }; struct SAllocInfo { @@ -62,10 +63,12 @@ public: virtual bool Initialize(COsContext& ctx) = 0; virtual void Shutdown() = 0; - virtual void* Alloc(unsigned long size, EHint hint, EScope scope, EType type, const CCallStack& cs) = 0; + virtual void* Alloc(unsigned long size, EHint hint, EScope scope, EType type, + const CCallStack& cs) = 0; virtual void Free(const void* ptr) = 0; virtual void ReleaseAll() = 0; - virtual void* AllocSecondary(unsigned long size, EHint hint, EScope scope, EType type, const CCallStack& cs) = 0; + virtual void* AllocSecondary(unsigned long size, EHint hint, EScope scope, EType type, + const CCallStack& cs) = 0; virtual void FreeSecondary(const void* ptr) = 0; virtual void ReleaseAllSecondary() = 0; virtual void SetOutOfMemoryCallback(FOutOfMemoryCb cb, const void* data) = 0; diff --git a/include/Kyoto/Animation/CSkinnedModel.hpp b/include/Kyoto/Animation/CSkinnedModel.hpp index 5c59a15c..b5b8009c 100644 --- a/include/Kyoto/Animation/CSkinnedModel.hpp +++ b/include/Kyoto/Animation/CSkinnedModel.hpp @@ -11,4 +11,4 @@ private: // TODO }; -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/Audio/CAudioSys.hpp b/include/Kyoto/Audio/CAudioSys.hpp index 1bf3e336..1bbe9d46 100644 --- a/include/Kyoto/Audio/CAudioSys.hpp +++ b/include/Kyoto/Audio/CAudioSys.hpp @@ -27,4 +27,4 @@ public: static const u8 kMaxVolume; }; -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/Audio/CDSPStreamManager.hpp b/include/Kyoto/Audio/CDSPStreamManager.hpp index 5241c7c0..6c4f1454 100644 --- a/include/Kyoto/Audio/CDSPStreamManager.hpp +++ b/include/Kyoto/Audio/CDSPStreamManager.hpp @@ -8,4 +8,4 @@ public: static void Initialize(); }; -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/Audio/g721.h b/include/Kyoto/Audio/g721.h index bd1dc739..cc56a1e8 100644 --- a/include/Kyoto/Audio/g721.h +++ b/include/Kyoto/Audio/g721.h @@ -2,36 +2,33 @@ #define _g721_h struct g72x_state { - long yl; /* Locked or steady state step size multiplier. */ - short yu; /* Unlocked or non-steady state step size multiplier. */ - short dms; /* Short term energy estimate. */ - short dml; /* Long term energy estimate. */ - short ap; /* Linear weighting coefficient of 'yl' and 'yu'. */ - - short a[2]; /* Coefficients of pole portion of prediction filter. */ - short b[6]; /* Coefficients of zero portion of prediction filter. */ - short pk[2]; /* - * Signs of previous two samples of a partially - * reconstructed signal. - */ - short dq[6]; /* - * Previous 6 samples of the quantized difference - * signal represented in an internal floating point - * format. - */ - short sr[2]; /* - * Previous 2 samples of the quantized difference - * signal represented in an internal floating point - * format. - */ - char td; /* delayed tone detect, new in 1988 version */ + long yl; /* Locked or steady state step size multiplier. */ + short yu; /* Unlocked or non-steady state step size multiplier. */ + short dms; /* Short term energy estimate. */ + short dml; /* Long term energy estimate. */ + short ap; /* Linear weighting coefficient of 'yl' and 'yu'. */ + + short a[2]; /* Coefficients of pole portion of prediction filter. */ + short b[6]; /* Coefficients of zero portion of prediction filter. */ + short pk[2]; /* + * Signs of previous two samples of a partially + * reconstructed signal. + */ + short dq[6]; /* + * Previous 6 samples of the quantized difference + * signal represented in an internal floating point + * format. + */ + short sr[2]; /* + * Previous 2 samples of the quantized difference + * signal represented in an internal floating point + * format. + */ + char td; /* delayed tone detect, new in 1988 version */ }; -void -g72x_init_state(struct g72x_state *state_ptr); +void g72x_init_state(struct g72x_state* state_ptr); -int -g721_decoder(int i, - struct g72x_state *state_ptr); +int g721_decoder(int i, struct g72x_state* state_ptr); #endif diff --git a/include/Kyoto/Basics/CCast.hpp b/include/Kyoto/Basics/CCast.hpp index fc1e4b31..a07ea82f 100644 --- a/include/Kyoto/Basics/CCast.hpp +++ b/include/Kyoto/Basics/CCast.hpp @@ -37,15 +37,9 @@ inline s16 FtoS(register f32 in) { return *ptr; } #else -inline u8 ToUint8(f32 in) { - return static_cast(in); -} -inline f32 ToReal32(u8 in) { - return static_cast(in); -} -inline s16 FtoS(f32 in) { - return static_cast(in); -} +inline u8 ToUint8(f32 in) { return static_cast< u8 >(in); } +inline f32 ToReal32(u8 in) { return static_cast< f32 >(in); } +inline s16 FtoS(f32 in) { return static_cast< s16 >(in); } #endif } // namespace CCast diff --git a/include/Kyoto/Basics/CStopwatch.hpp b/include/Kyoto/Basics/CStopwatch.hpp index 4f9580e5..a9a9d502 100644 --- a/include/Kyoto/Basics/CStopwatch.hpp +++ b/include/Kyoto/Basics/CStopwatch.hpp @@ -32,8 +32,12 @@ public: } x0_startTime = mData.GetCPUCycles(); } - inline f32 GetElapsedTime() const { return (mData.GetCPUCycles() - x0_startTime) * mData.GetTimerPeriod(); } - inline s64 GetElapsedMicros() const { return (mData.GetCPUCycles() - x0_startTime) / mData.GetTimerFreqO1M(); } + inline f32 GetElapsedTime() const { + return (mData.GetCPUCycles() - x0_startTime) * mData.GetTimerPeriod(); + } + inline s64 GetElapsedMicros() const { + return (mData.GetCPUCycles() - x0_startTime) / mData.GetTimerFreqO1M(); + } private: static CSWData mData; diff --git a/include/Kyoto/CARAMManager.hpp b/include/Kyoto/CARAMManager.hpp index c23081c8..dda14883 100644 --- a/include/Kyoto/CARAMManager.hpp +++ b/include/Kyoto/CARAMManager.hpp @@ -7,9 +7,7 @@ class CARAMManager { public: static void Shutdown(); static void CollectGarbage(); - static void PreInitializeAlloc(uint size) { - mPreInitializeAlloc += size; - } + static void PreInitializeAlloc(uint size) { mPreInitializeAlloc += size; } static void Initialize(uint); private: diff --git a/include/Kyoto/CCrc32.hpp b/include/Kyoto/CCrc32.hpp index 46457eb2..4f2f1039 100644 --- a/include/Kyoto/CCrc32.hpp +++ b/include/Kyoto/CCrc32.hpp @@ -4,7 +4,7 @@ class CCRC32 { public: - static uint Calculate(const void* data, uint length); + static uint Calculate(const void* data, uint length); }; #endif // __CCRC32_HPP__ diff --git a/include/Kyoto/CFactoryMgr.hpp b/include/Kyoto/CFactoryMgr.hpp index f8d78d0b..187e7025 100644 --- a/include/Kyoto/CFactoryMgr.hpp +++ b/include/Kyoto/CFactoryMgr.hpp @@ -3,9 +3,9 @@ #include "types.h" -#include "Kyoto/TToken.hpp" #include "Kyoto/IObjectStore.hpp" #include "Kyoto/Streams/CInputStream.hpp" +#include "Kyoto/TToken.hpp" class CFactoryMgr { public: @@ -24,6 +24,7 @@ private: rstl::auto_ptr< CObjOwnerDerivedFromIObjUntyped > obj; }; -CFactoryFnReturn FStringTableFactory(const SObjectTag& tag, CInputStream& in, const CVParamTransfer& xfer); +CFactoryFnReturn FStringTableFactory(const SObjectTag& tag, CInputStream& in, + const CVParamTransfer& xfer); #endif diff --git a/include/Kyoto/CFrameDelayedKiller.hpp b/include/Kyoto/CFrameDelayedKiller.hpp index d9f7e0f1..9f39afff 100644 --- a/include/Kyoto/CFrameDelayedKiller.hpp +++ b/include/Kyoto/CFrameDelayedKiller.hpp @@ -9,4 +9,4 @@ public: static void ShutDown(); }; -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/CResFactory.hpp b/include/Kyoto/CResFactory.hpp index 81c8ce18..0cc187a5 100644 --- a/include/Kyoto/CResFactory.hpp +++ b/include/Kyoto/CResFactory.hpp @@ -12,7 +12,8 @@ class IFactory { public: virtual ~IFactory() {} virtual CFactoryFnReturn Build(const SObjectTag&, const CVParamTransfer&, CObjectReference*) = 0; - virtual void BuildAsync(const SObjectTag&, const CVParamTransfer&, rstl::auto_ptr< IObj >*, CObjectReference*) = 0; + virtual void BuildAsync(const SObjectTag&, const CVParamTransfer&, rstl::auto_ptr< IObj >*, + CObjectReference*) = 0; virtual void CancelBuild(const SObjectTag&) = 0; virtual bool CanBuild(const SObjectTag&) = 0; virtual const SObjectTag* GetResourceIdByName(const char* name) const = 0; diff --git a/include/Kyoto/CTimeProvider.hpp b/include/Kyoto/CTimeProvider.hpp index 7fbd9ccd..706df32f 100644 --- a/include/Kyoto/CTimeProvider.hpp +++ b/include/Kyoto/CTimeProvider.hpp @@ -10,6 +10,7 @@ public: CTimeProvider(const float& time); ~CTimeProvider(); float GetSecondsMod900() const { return x0_currentTime; } + private: const float& x0_currentTime; // in seconds bool x4_first; diff --git a/include/Kyoto/Graphics/CCubeMaterial.hpp b/include/Kyoto/Graphics/CCubeMaterial.hpp index ceb991d6..cf25d8a2 100644 --- a/include/Kyoto/Graphics/CCubeMaterial.hpp +++ b/include/Kyoto/Graphics/CCubeMaterial.hpp @@ -16,4 +16,4 @@ private: static CVector3f sViewingFrom; }; -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/Graphics/CGX.hpp b/include/Kyoto/Graphics/CGX.hpp index f6a0adab..a1225a1a 100644 --- a/include/Kyoto/Graphics/CGX.hpp +++ b/include/Kyoto/Graphics/CGX.hpp @@ -88,35 +88,45 @@ public: static void SetNumIndStages(u8 num); static void SetChanAmbColor(EChannelId channel, const GXColor& color); static void SetChanMatColor(EChannelId channel, const GXColor& color); - static void SetChanCtrl(EChannelId channel, GXBool enable, GXColorSrc ambSrc, GXColorSrc matSrc, GXLightID lights, GXDiffuseFn diffFn, - GXAttnFn attnFn); + static void SetChanCtrl(EChannelId channel, GXBool enable, GXColorSrc ambSrc, GXColorSrc matSrc, + GXLightID lights, GXDiffuseFn diffFn, GXAttnFn attnFn); static void SetTevKColor(GXTevKColorID id, const GXColor& color); - static void SetTevColorIn(GXTevStageID stageId, GXTevColorArg a, GXTevColorArg b, GXTevColorArg c, GXTevColorArg d); - static void SetTevAlphaIn(GXTevStageID stageId, GXTevAlphaArg a, GXTevAlphaArg b, GXTevAlphaArg c, GXTevAlphaArg d); - static void SetTevColorOp(GXTevStageID stageId, GXTevOp op, GXTevBias bias, GXTevScale scale, GXBool clamp, GXTevRegID outReg); + static void SetTevColorIn(GXTevStageID stageId, GXTevColorArg a, GXTevColorArg b, GXTevColorArg c, + GXTevColorArg d); + static void SetTevAlphaIn(GXTevStageID stageId, GXTevAlphaArg a, GXTevAlphaArg b, GXTevAlphaArg c, + GXTevAlphaArg d); + static void SetTevColorOp(GXTevStageID stageId, GXTevOp op, GXTevBias bias, GXTevScale scale, + GXBool clamp, GXTevRegID outReg); static void SetTevColorOp_Compressed(GXTevStageID stageId, uint flags); - static void SetTevAlphaOp(GXTevStageID stageId, GXTevOp op, GXTevBias bias, GXTevScale scale, GXBool clamp, GXTevRegID outReg); + static void SetTevAlphaOp(GXTevStageID stageId, GXTevOp op, GXTevBias bias, GXTevScale scale, + GXBool clamp, GXTevRegID outReg); static void SetTevAlphaOp_Compressed(GXTevStageID stageId, uint flags); static void SetTevKColorSel(GXTevStageID stageId, GXTevKColorSel sel); static void SetTevKAlphaSel(GXTevStageID stageId, GXTevKAlphaSel sel); - static void SetTevOrder(GXTevStageID stageId, GXTexCoordID texCoord, GXTexMapID texMap, GXChannelID color); - static void SetBlendMode(GXBlendMode mode, GXBlendFactor srcFac, GXBlendFactor dstFac, GXLogicOp op); + static void SetTevOrder(GXTevStageID stageId, GXTexCoordID texCoord, GXTexMapID texMap, + GXChannelID color); + static void SetBlendMode(GXBlendMode mode, GXBlendFactor srcFac, GXBlendFactor dstFac, + GXLogicOp op); static void SetZMode(bool compareEnable, GXCompare func, bool updateEnable); static void SetAlphaCompare(GXCompare comp0, u8 ref0, GXAlphaOp op, GXCompare comp1, u8 ref1); - static void SetTevIndirect(GXTevStageID stageId, GXIndTexStageID indStage, GXIndTexFormat fmt, GXIndTexBiasSel biasSel, - GXIndTexMtxID mtxSel, GXIndTexWrap wrapS, GXIndTexWrap wrapT, GXBool addPrev, GXBool indLod, + static void SetTevIndirect(GXTevStageID stageId, GXIndTexStageID indStage, GXIndTexFormat fmt, + GXIndTexBiasSel biasSel, GXIndTexMtxID mtxSel, GXIndTexWrap wrapS, + GXIndTexWrap wrapT, GXBool addPrev, GXBool indLod, GXIndTexAlphaSel alphaSel); static void SetTevDirect(GXTevStageID stageId); - static void SetTexCoordGen(GXTexCoordID dstCoord, GXTexGenType fn, GXTexGenSrc src, GXTexMtx mtx, GXBool normalize, GXPTTexMtx postMtx); + static void SetTexCoordGen(GXTexCoordID dstCoord, GXTexGenType fn, GXTexGenSrc src, GXTexMtx mtx, + GXBool normalize, GXPTTexMtx postMtx); static void SetArray(GXAttr attr, const void* data, u8 stride); - static void SetFog(GXFogType type, f32 startZ, f32 endZ, f32 nearZ, f32 farZ, const GXColor& color); + static void SetFog(GXFogType type, f32 startZ, f32 endZ, f32 nearZ, f32 farZ, + const GXColor& color); static void SetLineWidth(u8 width, GXTexOffset offset); static void SetIndTexMtxSTPointFive(GXIndTexMtxID id, s8 scaleExp); static void SetVtxDescv_Compressed(uint flags); static void SetVtxDesc(GXAttr attr, GXAttrType type); // name? static void ResetVtxDescv(); // name? static void SetVtxDescv(const GXVtxDescList* list); - static void SetStandardDirectTev_Compressed(GXTevStageID stageId, uint colorArgs, uint alphaArgs, uint colorOps, uint alphaOps); + static void SetStandardDirectTev_Compressed(GXTevStageID stageId, uint colorArgs, uint alphaArgs, + uint colorOps, uint alphaOps); static void SetStandardTevColorAlphaOp(GXTevStageID stageId); static void CallDisplayList(const void* ptr, size_t size); @@ -126,11 +136,12 @@ public: static void ResetGXStatesFull(); // name? static inline void LoadTexMtxImm(const f32 mtx[][4], unsigned long id, GXTexMtxType type) { - GXLoadTexMtxImm(const_cast(mtx), id, type); + GXLoadTexMtxImm(const_cast< MtxPtr >(mtx), id, type); } static GXColor GetChanAmbColor(EChannelId channel); - static void GetFog(GXFogType* fogType, f32* fogStartZ, f32* fogEndZ, f32* fogNearZ, f32* fogFarZ, GXColor* fogColor); + static void GetFog(GXFogType* fogType, f32* fogStartZ, f32* fogEndZ, f32* fogNearZ, f32* fogFarZ, + GXColor* fogColor); static inline bool CompareGXColors(const GXColor& lhs, const GXColor& rhs) { return *reinterpret_cast< const uint* >(&lhs) == *reinterpret_cast< const uint* >(&rhs); @@ -146,12 +157,15 @@ private: static void update_fog(uint flags); static void apply_fog() { static const GXColor black = {0, 0, 0, 0}; - GXSetFog(static_cast< GXFogType >(sGXState.x53_fogType), sGXState.x24c_fogParams.x0_fogStartZ, sGXState.x24c_fogParams.x4_fogEndZ, - sGXState.x24c_fogParams.x8_fogNearZ, sGXState.x24c_fogParams.xc_fogFarZ, - (sGXState.x56_blendMode & (7 << 5)) == (GX_BL_ONE << 5) ? black : sGXState.x24c_fogParams.x10_fogColor); + GXSetFog(static_cast< GXFogType >(sGXState.x53_fogType), sGXState.x24c_fogParams.x0_fogStartZ, + sGXState.x24c_fogParams.x4_fogEndZ, sGXState.x24c_fogParams.x8_fogNearZ, + sGXState.x24c_fogParams.xc_fogFarZ, + (sGXState.x56_blendMode & (7 << 5)) == (GX_BL_ONE << 5) + ? black + : sGXState.x24c_fogParams.x10_fogColor); } static SGXState sGXState; }; -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/Graphics/CGraphics.hpp b/include/Kyoto/Graphics/CGraphics.hpp index 067edf3a..22331e12 100644 --- a/include/Kyoto/Graphics/CGraphics.hpp +++ b/include/Kyoto/Graphics/CGraphics.hpp @@ -4,8 +4,8 @@ #include "types.h" #include "Kyoto/Graphics/CColor.hpp" -#include "Kyoto/Math/CVector3f.hpp" #include "Kyoto/Math/CTransform4f.hpp" +#include "Kyoto/Math/CVector3f.hpp" #include "Kyoto/Graphics/CTevCombiners.hpp" diff --git a/include/Kyoto/Graphics/CLight.hpp b/include/Kyoto/Graphics/CLight.hpp index 40892fbe..9f22f663 100644 --- a/include/Kyoto/Graphics/CLight.hpp +++ b/include/Kyoto/Graphics/CLight.hpp @@ -1,8 +1,6 @@ #ifndef __CLIGHT_HPP__ #define __CLIGHT_HPP__ - -class CLight { -}; +class CLight {}; #endif // __CLIGHT_HPP__ diff --git a/include/Kyoto/Graphics/CModelFlags.hpp b/include/Kyoto/Graphics/CModelFlags.hpp index fee02fa8..724d15c0 100644 --- a/include/Kyoto/Graphics/CModelFlags.hpp +++ b/include/Kyoto/Graphics/CModelFlags.hpp @@ -24,17 +24,32 @@ public: }; CModelFlags(ETrans trans, f32 rgba) - : x0_blendMode(trans), x1_matSetIdx(0), x2_flags(kF_DepthCompare | kF_DepthUpdate), x4_color(rgba, rgba, rgba, rgba) {} + : x0_blendMode(trans) + , x1_matSetIdx(0) + , x2_flags(kF_DepthCompare | kF_DepthUpdate) + , x4_color(rgba, rgba, rgba, rgba) {} CModelFlags(ETrans trans, CColor color) - : x0_blendMode(trans), x1_matSetIdx(0), x2_flags(kF_DepthCompare | kF_DepthUpdate), x4_color(color) {} + : x0_blendMode(trans) + , x1_matSetIdx(0) + , x2_flags(kF_DepthCompare | kF_DepthUpdate) + , x4_color(color) {} CModelFlags(const CModelFlags& flags, uint otherFlags) - : x0_blendMode(flags.x0_blendMode), x1_matSetIdx(flags.x1_matSetIdx), x2_flags(otherFlags), x4_color(flags.x4_color) {} + : x0_blendMode(flags.x0_blendMode) + , x1_matSetIdx(flags.x1_matSetIdx) + , x2_flags(otherFlags) + , x4_color(flags.x4_color) {} CModelFlags(const CModelFlags& flags, bool b /* TODO what's this? */, int shaderSet) - : x0_blendMode(flags.x0_blendMode), x1_matSetIdx(shaderSet), x2_flags(flags.x2_flags), x4_color(flags.x4_color) {} + : x0_blendMode(flags.x0_blendMode) + , x1_matSetIdx(shaderSet) + , x2_flags(flags.x2_flags) + , x4_color(flags.x4_color) {} // ? CModelFlags(const CModelFlags& flags, ETrans trans, CColor color) - : x0_blendMode(trans), x1_matSetIdx(flags.x1_matSetIdx), x2_flags(flags.x2_flags), x4_color(color) {} + : x0_blendMode(trans) + , x1_matSetIdx(flags.x1_matSetIdx) + , x2_flags(flags.x2_flags) + , x4_color(color) {} CModelFlags UseShaderSet(int matSet) { return CModelFlags(*this, false, matSet); } CModelFlags DontLoadTextures() { return CModelFlags(*this, GetOtherFlags() | kF_NoTextureLock); } @@ -75,4 +90,4 @@ private: }; CHECK_SIZEOF(CModelFlags, 0x8) -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/Graphics/CTevCombiners.hpp b/include/Kyoto/Graphics/CTevCombiners.hpp index 76d3afa8..20d8bf20 100644 --- a/include/Kyoto/Graphics/CTevCombiners.hpp +++ b/include/Kyoto/Graphics/CTevCombiners.hpp @@ -99,4 +99,4 @@ extern CTevCombiners::CTevPass CTevPass_805a5ebc; // TODO move to CGraphics extern CTevCombiners::CTevPass* PTR_skPassThru_805a8828; -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/Graphics/CTexture.hpp b/include/Kyoto/Graphics/CTexture.hpp index 6c088a2d..c88f2c10 100644 --- a/include/Kyoto/Graphics/CTexture.hpp +++ b/include/Kyoto/Graphics/CTexture.hpp @@ -31,4 +31,4 @@ private: u8 pad[0x68]; }; -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/IObj.hpp b/include/Kyoto/IObj.hpp index d49b8164..7cccfa82 100644 --- a/include/Kyoto/IObj.hpp +++ b/include/Kyoto/IObj.hpp @@ -32,7 +32,8 @@ public: static inline rstl::auto_ptr< TObjOwnerDerivedFromIObj< T > > GetNewDerivedObject(T* obj) { return new TObjOwnerDerivedFromIObj< T >(obj); } - static inline rstl::auto_ptr< TObjOwnerDerivedFromIObj< T > > GetNewDerivedObject(const rstl::auto_ptr< T >& obj) { + static inline rstl::auto_ptr< TObjOwnerDerivedFromIObj< T > > + GetNewDerivedObject(const rstl::auto_ptr< T >& obj) { return new TObjOwnerDerivedFromIObj< T >(obj); } @@ -41,4 +42,4 @@ private: TObjOwnerDerivedFromIObj(const rstl::auto_ptr< T >& obj) : CObjOwnerDerivedFromIObjUntyped(obj) {} }; -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/IObjectStore.hpp b/include/Kyoto/IObjectStore.hpp index 778efd24..dc2f79da 100644 --- a/include/Kyoto/IObjectStore.hpp +++ b/include/Kyoto/IObjectStore.hpp @@ -39,7 +39,8 @@ public: // , x10_object(obj.release()) // , x14_params(CVParamTransfer::Null()) {} - CObjectReference(IObjectStore* store, const rstl::auto_ptr< IObj >& obj, SObjectTag tag, CVParamTransfer xfer); + CObjectReference(IObjectStore* store, const rstl::auto_ptr< IObj >& obj, SObjectTag tag, + CVParamTransfer xfer); private: u16 x0_refCount; @@ -51,6 +52,8 @@ private: CVParamTransfer x14_params; }; +class CToken; + class IObjectStore { public: virtual CToken GetObj(const SObjectTag& tag, CVParamTransfer xfer) = 0; diff --git a/include/Kyoto/Input/CControllerAxis.hpp b/include/Kyoto/Input/CControllerAxis.hpp index 390656e2..99a78020 100644 --- a/include/Kyoto/Input/CControllerAxis.hpp +++ b/include/Kyoto/Input/CControllerAxis.hpp @@ -8,6 +8,7 @@ public: float GetRelativeValue() const { return x0_relative; } void SetAbsoluteValue(float val) { x4_absolute = val; } float GetAbsoluteValue() const { return x4_absolute; } + public: float x0_relative; float x4_absolute; diff --git a/include/Kyoto/Input/CControllerGamepadData.hpp b/include/Kyoto/Input/CControllerGamepadData.hpp index ad56a120..fb06261d 100644 --- a/include/Kyoto/Input/CControllerGamepadData.hpp +++ b/include/Kyoto/Input/CControllerGamepadData.hpp @@ -3,6 +3,7 @@ #include "Kyoto/Input/CControllerAxis.hpp" #include "Kyoto/Input/CControllerButton.hpp" +#include "Kyoto/Input/InputTypes.hpp" class CControllerGamepadData { public: @@ -15,7 +16,9 @@ public: const CControllerButton& GetButton(EButton button) const { return x34_buttons[button]; } CControllerButton& GetButton(EButton button) { return x34_buttons[button]; } - const CControllerAxis& GetAnalogButton(EAnalogButton button) const { return x24_triggers[button]; } + const CControllerAxis& GetAnalogButton(EAnalogButton button) const { + return x24_triggers[button]; + } CControllerAxis& GetAnalogButton(EAnalogButton button) { return x24_triggers[button]; } private: diff --git a/include/Kyoto/Input/CDolphinController.hpp b/include/Kyoto/Input/CDolphinController.hpp index b54e2d5f..631e5101 100644 --- a/include/Kyoto/Input/CDolphinController.hpp +++ b/include/Kyoto/Input/CDolphinController.hpp @@ -10,16 +10,16 @@ class CDolphinController : public IController { static const uint skTypeWavebird; public: - CDolphinController(); - virtual ~CDolphinController(); - void Poll(); - uint GetDeviceCount() const; - CControllerGamepadData& GetGamepadData(int controller); - uint GetControllerType(int) const; - void SetMotorState(EIOPort port, EMotorState state); - bool Initialize(); + CDolphinController(); + virtual ~CDolphinController(); + void Poll(); + uint GetDeviceCount() const; + CControllerGamepadData& GetGamepadData(int controller); + uint GetControllerType(int) const; + void SetMotorState(EIOPort port, EMotorState state); + bool Initialize(); - float GetAnalogStickMaxValue(EJoyAxis axis) const; + float GetAnalogStickMaxValue(EJoyAxis axis) const; private: void ReadDevices(); diff --git a/include/Kyoto/Input/CRumbleGenerator.hpp b/include/Kyoto/Input/CRumbleGenerator.hpp index 22869299..2e2c85c6 100644 --- a/include/Kyoto/Input/CRumbleGenerator.hpp +++ b/include/Kyoto/Input/CRumbleGenerator.hpp @@ -20,4 +20,4 @@ private: bool xf0_24_disabled : 1; }; -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/Input/CRumbleVoice.hpp b/include/Kyoto/Input/CRumbleVoice.hpp index ea55875a..e092497b 100644 --- a/include/Kyoto/Input/CRumbleVoice.hpp +++ b/include/Kyoto/Input/CRumbleVoice.hpp @@ -54,4 +54,4 @@ private: u8 x2e_lastId; }; -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/Input/IController.hpp b/include/Kyoto/Input/IController.hpp index 9a15ac42..fee06e9c 100644 --- a/include/Kyoto/Input/IController.hpp +++ b/include/Kyoto/Input/IController.hpp @@ -3,28 +3,27 @@ #include -#include "Kyoto/Input/InputTypes.hpp" #include "Kyoto/Input/CControllerGamepadData.hpp" - +#include "Kyoto/Input/InputTypes.hpp" class COsContext; class IController { protected: - static const float kAbsoluteMinimum; - static const float kAbsoluteMaximum; - static const float kRelativeMinimum; - static const float kRelativeMaximum; + static const float kAbsoluteMinimum; + static const float kAbsoluteMaximum; + static const float kRelativeMinimum; + static const float kRelativeMaximum; public: - IController(); - virtual ~IController(); - virtual void Poll()=0; - virtual uint GetDeviceCount() const = 0; - virtual CControllerGamepadData& GetGamepadData(int controller) = 0; - virtual uint GetControllerType(int) const = 0; - virtual void SetMotorState(EIOPort port, EMotorState state) = 0; + IController(); + virtual ~IController(); + virtual void Poll() = 0; + virtual uint GetDeviceCount() const = 0; + virtual CControllerGamepadData& GetGamepadData(int controller) = 0; + virtual uint GetControllerType(int) const = 0; + virtual void SetMotorState(EIOPort port, EMotorState state) = 0; - static IController* Create(const COsContext& ctx); + static IController* Create(const COsContext& ctx); }; #endif // __ICONTROLLER_HPP__ diff --git a/include/Kyoto/Input/InputTypes.hpp b/include/Kyoto/Input/InputTypes.hpp index a1a35fa2..eb910e01 100644 --- a/include/Kyoto/Input/InputTypes.hpp +++ b/include/Kyoto/Input/InputTypes.hpp @@ -16,13 +16,7 @@ enum EMotorState { kMS_StopHard = PAD_MOTOR_STOP_HARD, }; -enum EJoyAxis { - kJA_LeftX, - kJA_LeftY, - kJA_RightX, - kJA_RightY, - kJA_MAX -}; +enum EJoyAxis { kJA_LeftX, kJA_LeftY, kJA_RightX, kJA_RightY, kJA_MAX }; enum EButton { kBU_A, @@ -40,10 +34,6 @@ enum EButton { kBU_MAX, }; -enum EAnalogButton { - kBA_Left, - kBA_Right, - kBA_MAX -}; +enum EAnalogButton { kBA_Left, kBA_Right, kBA_MAX }; #endif // __INPUTTYPES_HPP__ diff --git a/include/Kyoto/Math/CAABox.hpp b/include/Kyoto/Math/CAABox.hpp index 44e43887..07bf51e2 100644 --- a/include/Kyoto/Math/CAABox.hpp +++ b/include/Kyoto/Math/CAABox.hpp @@ -8,7 +8,7 @@ public: CAABox() { // TODO } - CAABox(const CVector3f& min, const CVector3f& max);// : min(min), max(max) {} + CAABox(const CVector3f& min, const CVector3f& max); // : min(min), max(max) {} CAABox(const CAABox& other) : min(other.min), max(other.max) {} CVector3f ClosestPointAlongVector(const CVector3f& vec) const; diff --git a/include/Kyoto/Math/CFrustumPlanes.hpp b/include/Kyoto/Math/CFrustumPlanes.hpp index 55132b99..e70b1ae6 100644 --- a/include/Kyoto/Math/CFrustumPlanes.hpp +++ b/include/Kyoto/Math/CFrustumPlanes.hpp @@ -5,8 +5,8 @@ #include "Kyoto/Math/CVector3f.hpp" -#include "rstl/reserved_vector.hpp" #include "rstl/optional_object.hpp" +#include "rstl/reserved_vector.hpp" class CAABox; class CSphere; @@ -30,4 +30,4 @@ private: rstl::reserved_vector< CPlane, 6 > x0_planes; }; -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/Math/CMatrix3f.hpp b/include/Kyoto/Math/CMatrix3f.hpp index fbb3d22d..f0d826a4 100644 --- a/include/Kyoto/Math/CMatrix3f.hpp +++ b/include/Kyoto/Math/CMatrix3f.hpp @@ -17,4 +17,4 @@ private: }; CHECK_SIZEOF(CMatrix3f, 0x24); -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/Math/CMatrix4f.hpp b/include/Kyoto/Math/CMatrix4f.hpp index 4988df76..d3f256c2 100644 --- a/include/Kyoto/Math/CMatrix4f.hpp +++ b/include/Kyoto/Math/CMatrix4f.hpp @@ -24,4 +24,4 @@ private: }; CHECK_SIZEOF(CMatrix4f, 0x40); -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/Math/CNUQuaternion.hpp b/include/Kyoto/Math/CNUQuaternion.hpp index aa052bcf..47014643 100644 --- a/include/Kyoto/Math/CNUQuaternion.hpp +++ b/include/Kyoto/Math/CNUQuaternion.hpp @@ -14,4 +14,4 @@ private: f32 z; }; -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/Math/CPlane.hpp b/include/Kyoto/Math/CPlane.hpp index 8daeff51..b3fdecb6 100644 --- a/include/Kyoto/Math/CPlane.hpp +++ b/include/Kyoto/Math/CPlane.hpp @@ -15,4 +15,4 @@ private: }; CHECK_SIZEOF(CPlane, 0x10) -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/Math/CQuaternion.hpp b/include/Kyoto/Math/CQuaternion.hpp index 3e15eeb3..8bc428b1 100644 --- a/include/Kyoto/Math/CQuaternion.hpp +++ b/include/Kyoto/Math/CQuaternion.hpp @@ -23,4 +23,4 @@ private: static const CQuaternion sNoRotation; }; -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/Math/CTransform4f.hpp b/include/Kyoto/Math/CTransform4f.hpp index 61a040fe..ac662a29 100644 --- a/include/Kyoto/Math/CTransform4f.hpp +++ b/include/Kyoto/Math/CTransform4f.hpp @@ -27,7 +27,7 @@ public: CVector3f GetRight() const { return CVector3f(m0.GetX(), m1.GetX(), m2.GetX()); } CVector3f GetForward() const { return CVector3f(m0.GetY(), m1.GetY(), m2.GetY()); } CVector3f GetUp() const { return CVector3f(m0.GetZ(), m1.GetZ(), m2.GetZ()); } - ConstMtxPtr GetCStyleMatrix() const { return reinterpret_cast(this); } + ConstMtxPtr GetCStyleMatrix() const { return reinterpret_cast< ConstMtxPtr >(this); } CMatrix3f BuildMatrix3f() const; f32 Get00() const { return m0.GetX(); } @@ -93,7 +93,8 @@ public: CTransform4f operator*(const CTransform4f& vec) const; CTransform4f operator*(const CVector3f& vec) const; - static CTransform4f FromColumns(const CVector3f&, const CVector3f&, const CVector3f&, const CVector3f&); + static CTransform4f FromColumns(const CVector3f&, const CVector3f&, const CVector3f&, + const CVector3f&); static const CTransform4f& Identity() { return sIdentity; } private: diff --git a/include/Kyoto/Math/CVector2f.hpp b/include/Kyoto/Math/CVector2f.hpp index b26e947a..7e5911f7 100644 --- a/include/Kyoto/Math/CVector2f.hpp +++ b/include/Kyoto/Math/CVector2f.hpp @@ -10,7 +10,7 @@ public: f32 GetX() const { return mX; } f32 GetY() const { return mY; } -// private: + // private: f32 mX; f32 mY; }; diff --git a/include/Kyoto/Math/CVector2i.hpp b/include/Kyoto/Math/CVector2i.hpp index 8492ef00..2d3967ed 100644 --- a/include/Kyoto/Math/CVector2i.hpp +++ b/include/Kyoto/Math/CVector2i.hpp @@ -9,4 +9,4 @@ private: int y; }; -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/Particles/CElementGen.hpp b/include/Kyoto/Particles/CElementGen.hpp index 96d49571..1582257a 100644 --- a/include/Kyoto/Particles/CElementGen.hpp +++ b/include/Kyoto/Particles/CElementGen.hpp @@ -9,4 +9,4 @@ public: static void ShutDown(); }; -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/Particles/CParticleGen.hpp b/include/Kyoto/Particles/CParticleGen.hpp index 007a2824..6d694f2d 100644 --- a/include/Kyoto/Particles/CParticleGen.hpp +++ b/include/Kyoto/Particles/CParticleGen.hpp @@ -10,34 +10,34 @@ class CWarp; class CParticleGen { public: - virtual ~CParticleGen() = 0; - virtual void Update(double) = 0; - virtual void Render() const = 0; - virtual void SetOrientation(const CTransform4f& orientation) = 0; - virtual void SetTranslation(const CVector3f& translation) = 0; - virtual void SetGlobalOrientation(const CTransform4f& orientation) = 0; - virtual void SetGlobalTranslation(const CVector3f& translation) = 0; - virtual void SetGlobalScale(const CVector3f& scale) = 0; - virtual void SetLocalScale(const CVector3f& scale) = 0; - virtual void SetParticleEmission(bool emission) = 0; - virtual void SetModulationColor(const CColor& col) = 0; - virtual void SetGeneratorRate(float rate) {} - virtual CTransform4f GetOrientation() const = 0; - virtual CVector3f GetTranslation() const = 0; - virtual CTransform4f GetGlobalOrientation() const = 0; - virtual CVector3f GetGlobalTranslation() const = 0; - virtual CVector3f GetGlobalScale() const = 0; - virtual bool GetParticleEmission() const = 0; - virtual CColor GetModulationColor() const = 0; - virtual float GetGeneratorRate() const { return 1.f; } - virtual bool IsSystemDeletable() const = 0; - virtual CAABox GetBounds() const = 0; - virtual int GetParticleCOunt() const = 0; - virtual bool SystemHasLight() const = 0; - virtual CLight GetLight() = 0; - virtual void DestroyParticles() = 0; - virtual void AddModifier(CWarp*) = 0; - virtual uint Get4CharId() const = 0; + virtual ~CParticleGen() = 0; + virtual void Update(double) = 0; + virtual void Render() const = 0; + virtual void SetOrientation(const CTransform4f& orientation) = 0; + virtual void SetTranslation(const CVector3f& translation) = 0; + virtual void SetGlobalOrientation(const CTransform4f& orientation) = 0; + virtual void SetGlobalTranslation(const CVector3f& translation) = 0; + virtual void SetGlobalScale(const CVector3f& scale) = 0; + virtual void SetLocalScale(const CVector3f& scale) = 0; + virtual void SetParticleEmission(bool emission) = 0; + virtual void SetModulationColor(const CColor& col) = 0; + virtual void SetGeneratorRate(float rate) {} + virtual CTransform4f GetOrientation() const = 0; + virtual CVector3f GetTranslation() const = 0; + virtual CTransform4f GetGlobalOrientation() const = 0; + virtual CVector3f GetGlobalTranslation() const = 0; + virtual CVector3f GetGlobalScale() const = 0; + virtual bool GetParticleEmission() const = 0; + virtual CColor GetModulationColor() const = 0; + virtual float GetGeneratorRate() const { return 1.f; } + virtual bool IsSystemDeletable() const = 0; + virtual CAABox GetBounds() const = 0; + virtual int GetParticleCOunt() const = 0; + virtual bool SystemHasLight() const = 0; + virtual CLight GetLight() = 0; + virtual void DestroyParticles() = 0; + virtual void AddModifier(CWarp*) = 0; + virtual uint Get4CharId() const = 0; }; #endif // _CPARTICLEGEN_HPP diff --git a/include/Kyoto/Streams/CInputStream.hpp b/include/Kyoto/Streams/CInputStream.hpp index 6e1b7534..a47fe9b4 100644 --- a/include/Kyoto/Streams/CInputStream.hpp +++ b/include/Kyoto/Streams/CInputStream.hpp @@ -27,7 +27,7 @@ public: void Get(void* dest, unsigned long len); template < typename T > - inline T Get(const TType& type) { + inline T Get(const TType< T >& type) { return cinput_stream_helper(type, *this); } @@ -65,7 +65,8 @@ inline float cinput_stream_helper(const TType< float >& type, CInputStream& in) // rstl #include "rstl/pair.hpp" template < typename L, typename R > -inline rstl::pair< L, R > cinput_stream_helper(const TType< rstl::pair< L, R > >& type, CInputStream& in) { +inline rstl::pair< L, R > cinput_stream_helper(const TType< rstl::pair< L, R > >& type, + CInputStream& in) { rstl::pair< L, R > result; result.first = in.Get(TType< L >()); result.second = in.Get(TType< R >()); diff --git a/include/Kyoto/Streams/CZipInputStream.hpp b/include/Kyoto/Streams/CZipInputStream.hpp index 65cda12a..bc0a09cd 100644 --- a/include/Kyoto/Streams/CZipInputStream.hpp +++ b/include/Kyoto/Streams/CZipInputStream.hpp @@ -19,4 +19,4 @@ private: unkptr x30_zstream; }; -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/TToken.hpp b/include/Kyoto/TToken.hpp index 2b7d5f90..313d09d8 100644 --- a/include/Kyoto/TToken.hpp +++ b/include/Kyoto/TToken.hpp @@ -23,7 +23,8 @@ public: static inline rstl::auto_ptr< TObjOwnerDerivedFromIObj< T > > GetIObjObjectFor(T* obj) { return TObjOwnerDerivedFromIObj< T >::GetNewDerivedObject(obj); } - static inline rstl::auto_ptr< TObjOwnerDerivedFromIObj< T > > GetIObjObjectFor(const rstl::auto_ptr< T >& obj) { + static inline rstl::auto_ptr< TObjOwnerDerivedFromIObj< T > > + GetIObjObjectFor(const rstl::auto_ptr< T >& obj) { return TObjOwnerDerivedFromIObj< T >::GetNewDerivedObject(obj); } }; @@ -45,7 +46,9 @@ class TLockedToken { public: TLockedToken() {} TLockedToken(const CToken& token) : x0_token(token), x8_item(*x0_token) {} - TLockedToken(const TLockedToken< T >& token) : x0_token(token), x8_item(*token) { x0_token.Lock(); } + TLockedToken(const TLockedToken< T >& token) : x0_token(token), x8_item(*token) { + x0_token.Lock(); + } TLockedToken& operator=(const TLockedToken< T >& token) { x0_token = token; @@ -61,4 +64,4 @@ private: T* x8_item; }; -#endif \ No newline at end of file +#endif diff --git a/include/Kyoto/Text/CRasterFont.hpp b/include/Kyoto/Text/CRasterFont.hpp index 504a6c82..434921d6 100644 --- a/include/Kyoto/Text/CRasterFont.hpp +++ b/include/Kyoto/Text/CRasterFont.hpp @@ -24,9 +24,7 @@ public: CRasterFont(CInputStream&, IObjectStore*); ~CRasterFont(); - void SetTexture(TToken token) { - x7c_texture = token; - } + void SetTexture(TToken< CTexture > token) { x7c_texture = token; } private: bool x0_initialized; diff --git a/include/MetaRender/CCubeRenderer.hpp b/include/MetaRender/CCubeRenderer.hpp index 382e037b..2f12cd38 100644 --- a/include/MetaRender/CCubeRenderer.hpp +++ b/include/MetaRender/CCubeRenderer.hpp @@ -30,7 +30,8 @@ public: virtual void AddParticleGen1(); virtual void AddParticleGen2(); virtual void AddPlaneObject(); - virtual void AddDrawable(const void* obj, const CVector3f& pos, const CAABox& bounds, int mode, IRenderer::EDrawableSorting sorting); + virtual void AddDrawable(const void* obj, const CVector3f& pos, const CAABox& bounds, int mode, + IRenderer::EDrawableSorting sorting); virtual void SetDrawableCallback(); virtual void SetWorldViewpoint(); virtual void SetPerspective1(); diff --git a/include/MetaRender/Renderer.hpp b/include/MetaRender/Renderer.hpp index b24d1b12..2951d192 100644 --- a/include/MetaRender/Renderer.hpp +++ b/include/MetaRender/Renderer.hpp @@ -22,4 +22,4 @@ namespace Renderer { IRenderer* AllocateRenderer(IObjectStore&, COsContext&, CMemorySys&, CResFactory&); }; -#endif \ No newline at end of file +#endif diff --git a/include/MetroTRK/TrkInit.h b/include/MetroTRK/TrkInit.h index 7719c4bc..3b9735ef 100644 --- a/include/MetroTRK/TrkInit.h +++ b/include/MetroTRK/TrkInit.h @@ -10,5 +10,4 @@ void EnableMetroTRKInterrupts(void); } #endif - #endif /* #ifndef __TRKINIT_H__ */ diff --git a/include/MetroidPrime/CActor.hpp b/include/MetroidPrime/CActor.hpp index a7836723..0505b00c 100644 --- a/include/MetroidPrime/CActor.hpp +++ b/include/MetroidPrime/CActor.hpp @@ -207,8 +207,9 @@ public: kSS_Done, }; - CActor(TUniqueId uid, bool active, const rstl::string& name, const CEntityInfo& info, const CTransform4f& xf, const CModelData& mData, - const CMaterialList& list, const CActorParameters& params, TUniqueId nextDrawNode); + CActor(TUniqueId uid, bool active, const rstl::string& name, const CEntityInfo& info, + const CTransform4f& xf, const CModelData& mData, const CMaterialList& list, + const CActorParameters& params, TUniqueId nextDrawNode); ~CActor() override; void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStateManager& mgr) override; @@ -221,24 +222,28 @@ public: virtual void CalculateRenderBounds(); virtual CHealthInfo* HealthInfo(CStateManager&); virtual const CDamageVulnerability* GetDamageVulnerability() const; - virtual const CDamageVulnerability* GetDamageVulnerability(const CVector3f&, const CVector3f&, const CDamageInfo&) const; + virtual const CDamageVulnerability* GetDamageVulnerability(const CVector3f&, const CVector3f&, + const CDamageInfo&) const; virtual rstl::optional_object< CAABox > GetTouchBounds() const; virtual void Touch(CActor&, CStateManager&); virtual CVector3f GetOrbitPosition(const CStateManager&) const; virtual CVector3f GetAimPosition(const CStateManager&, float) const; virtual CVector3f GetHomingPosition(const CStateManager&, float) const; virtual CVector3f GetScanObjectIndicatorPosition(const CStateManager&) const; - virtual EWeaponCollisionResponseTypes GetCollisionResponseType(const CVector3f&, const CVector3f&, const CWeaponMode&, + virtual EWeaponCollisionResponseTypes GetCollisionResponseType(const CVector3f&, const CVector3f&, + const CWeaponMode&, int /*EProjectileAttrib?*/) const; virtual void FluidFXThink(EFluidState, CScriptWater&, CStateManager&); virtual void OnScanStateChange(EScanState, CStateManager&); virtual CAABox GetSortingBounds(const CTransform4f&) const; - virtual void DoUserAnimEvent(CStateManager& mgr, const CInt32POINode& node, EUserEventType type, float dt); + virtual void DoUserAnimEvent(CStateManager& mgr, const CInt32POINode& node, EUserEventType type, + float dt); SAdvancementDeltas UpdateAnimation(float dt, CStateManager& mgr, bool advTree); - void ProcessSoundEvent(int sfxId, f32 weight, int flags, f32 fallOff, f32 maxDist, u8 minVol, u8 maxVol, const CVector3f& toListener, - const CVector3f& position, int aid, CStateManager& mgr, bool translateId); + void ProcessSoundEvent(int sfxId, f32 weight, int flags, f32 fallOff, f32 maxDist, u8 minVol, + u8 maxVol, const CVector3f& toListener, const CVector3f& position, int aid, + CStateManager& mgr, bool translateId); void UpdateSfxEmitters(); void RemoveEmitter(); @@ -264,7 +269,9 @@ public: /// ???? bool NullModel() const { return !GetAnimationData() && !GetModelData()->HasNormalModel(); } - bool HasModelData() const { return GetModelData() && (GetModelData()->HasAnimation() || GetModelData()->HasNormalModel()); } + bool HasModelData() const { + return GetModelData() && (GetModelData()->HasAnimation() || GetModelData()->HasNormalModel()); + } CModelData* ModelData() { return x64_modelData.get(); } const CModelData* GetModelData() const { return x64_modelData.get(); } diff --git a/include/MetroidPrime/CActorLights.hpp b/include/MetroidPrime/CActorLights.hpp index a154f04a..51fbfc3a 100644 --- a/include/MetroidPrime/CActorLights.hpp +++ b/include/MetroidPrime/CActorLights.hpp @@ -85,4 +85,4 @@ private: }; CHECK_SIZEOF(CActorLights, 0x2e0) -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CActorModelParticles.hpp b/include/MetroidPrime/CActorModelParticles.hpp index 708e3258..398759fa 100644 --- a/include/MetroidPrime/CActorModelParticles.hpp +++ b/include/MetroidPrime/CActorModelParticles.hpp @@ -14,4 +14,4 @@ private: // TODO }; -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CActorParameters.hpp b/include/MetroidPrime/CActorParameters.hpp index 8a2e7b31..bf75788b 100644 --- a/include/MetroidPrime/CActorParameters.hpp +++ b/include/MetroidPrime/CActorParameters.hpp @@ -80,7 +80,8 @@ public: CVisorParameters() { // TODO } - CVisorParameters(u8 mask, bool b1, bool scanPassthrough) : x0_mask(mask), x0_4_b1(b1), x0_5_scanPassthrough(scanPassthrough) {} + CVisorParameters(u8 mask, bool b1, bool scanPassthrough) + : x0_mask(mask), x0_4_b1(b1), x0_5_scanPassthrough(scanPassthrough) {} u8 GetMask() const { return x0_mask; } // TODO: GetIsBlockXRay__16CVisorParametersCFv? @@ -133,4 +134,4 @@ private: }; CHECK_SIZEOF(CActorParameters, 0x68) -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CAdditiveAnimPlayback.hpp b/include/MetroidPrime/CAdditiveAnimPlayback.hpp index 08946fa9..f1efad45 100644 --- a/include/MetroidPrime/CAdditiveAnimPlayback.hpp +++ b/include/MetroidPrime/CAdditiveAnimPlayback.hpp @@ -35,4 +35,4 @@ private: }; CHECK_SIZEOF(CAdditiveAnimPlayback, 0x24) -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CAnimData.hpp b/include/MetroidPrime/CAnimData.hpp index 0abb7078..066cd701 100644 --- a/include/MetroidPrime/CAnimData.hpp +++ b/include/MetroidPrime/CAnimData.hpp @@ -11,8 +11,8 @@ #include "MetroidPrime/CParticleDatabase.hpp" #include "MetroidPrime/CPoseAsTransforms.hpp" -#include "Kyoto/TToken.hpp" #include "Kyoto/Animation/CSkinnedModel.hpp" +#include "Kyoto/TToken.hpp" #include "rstl/reserved_vector.hpp" @@ -37,9 +37,7 @@ public: x220_25_loop = v; x220_24_animating = true; } - void SetIsAnimating(bool v) { - x220_24_animating = v; - } + void SetIsAnimating(bool v) { x220_24_animating = v; } void SetParticleEffectState(const rstl::string& name, bool active, CStateManager& mgr) { x120_particleDB.SetParticleEffectState(name, active, mgr); } @@ -210,4 +208,4 @@ private: }; CHECK_SIZEOF(CAnimData, 0x434 + 0x144) -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CAnimPlaybackParms.hpp b/include/MetroidPrime/CAnimPlaybackParms.hpp index 4ae77597..b397c5dd 100644 --- a/include/MetroidPrime/CAnimPlaybackParms.hpp +++ b/include/MetroidPrime/CAnimPlaybackParms.hpp @@ -22,4 +22,4 @@ private: }; CHECK_SIZEOF(CAnimPlaybackParms, 0x28) -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CAreaFog.hpp b/include/MetroidPrime/CAreaFog.hpp index 671580b3..85907950 100644 --- a/include/MetroidPrime/CAreaFog.hpp +++ b/include/MetroidPrime/CAreaFog.hpp @@ -26,4 +26,4 @@ private: }; CHECK_SIZEOF(CAreaFog, 0x38) -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CAxisAngle.hpp b/include/MetroidPrime/CAxisAngle.hpp index b5df150e..b557ede4 100644 --- a/include/MetroidPrime/CAxisAngle.hpp +++ b/include/MetroidPrime/CAxisAngle.hpp @@ -18,4 +18,4 @@ private: }; CHECK_SIZEOF(CAxisAngle, 0xc) -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CCharAnimTime.hpp b/include/MetroidPrime/CCharAnimTime.hpp index 0f868453..60dd328d 100644 --- a/include/MetroidPrime/CCharAnimTime.hpp +++ b/include/MetroidPrime/CCharAnimTime.hpp @@ -19,4 +19,4 @@ private: }; CHECK_SIZEOF(CCharAnimTime, 0x8) -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CCharacterInfo.hpp b/include/MetroidPrime/CCharacterInfo.hpp index 6914062f..4a6da7ab 100644 --- a/include/MetroidPrime/CCharacterInfo.hpp +++ b/include/MetroidPrime/CCharacterInfo.hpp @@ -41,4 +41,4 @@ private: }; CHECK_SIZEOF(CCharacterInfo, 0xc0) -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CDamageVulnerability.hpp b/include/MetroidPrime/CDamageVulnerability.hpp index 07fa7619..bdc31456 100644 --- a/include/MetroidPrime/CDamageVulnerability.hpp +++ b/include/MetroidPrime/CDamageVulnerability.hpp @@ -43,4 +43,4 @@ private: }; CHECK_SIZEOF(CDamageVulnerability, 0x68) -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CDecalManager.hpp b/include/MetroidPrime/CDecalManager.hpp index 95296ae4..e1dcda9a 100644 --- a/include/MetroidPrime/CDecalManager.hpp +++ b/include/MetroidPrime/CDecalManager.hpp @@ -9,4 +9,4 @@ public: static void ShutDown(); }; -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CEffectComponent.hpp b/include/MetroidPrime/CEffectComponent.hpp index 79074a7a..471535cd 100644 --- a/include/MetroidPrime/CEffectComponent.hpp +++ b/include/MetroidPrime/CEffectComponent.hpp @@ -15,4 +15,4 @@ private: uint x30_flags; }; -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CEntity.hpp b/include/MetroidPrime/CEntity.hpp index 2832d64e..15a24802 100644 --- a/include/MetroidPrime/CEntity.hpp +++ b/include/MetroidPrime/CEntity.hpp @@ -23,7 +23,8 @@ public: CEntity(TUniqueId id, const CEntityInfo& info, bool active, const rstl::string& name); void SendScriptMsgs(EScriptObjectState state, CStateManager& mgr, EScriptObjectMessage msg); - static inline void SendScriptMsg(CStateManager& mgr, CEntity* to, TUniqueId sender, EScriptObjectMessage msg) { + static inline void SendScriptMsg(CStateManager& mgr, CEntity* to, TUniqueId sender, + EScriptObjectMessage msg) { mgr.SendScriptMsg(to, sender, msg); } TUniqueId GetUniqueId() const { return x8_uid; } diff --git a/include/MetroidPrime/CEntityInfo.hpp b/include/MetroidPrime/CEntityInfo.hpp index 8278b9ed..264e1db4 100644 --- a/include/MetroidPrime/CEntityInfo.hpp +++ b/include/MetroidPrime/CEntityInfo.hpp @@ -236,13 +236,14 @@ struct SConnection { class CEntityInfo { TAreaId x0_areaId; - rstl::vector x4_conns; + rstl::vector< SConnection > x4_conns; TEditorId x14_editorId; public: - CEntityInfo(TAreaId aid, const rstl::vector< SConnection >& conns, TEditorId eid = kInvalidEditorId); + CEntityInfo(TAreaId aid, const rstl::vector< SConnection >& conns, + TEditorId eid = kInvalidEditorId); TAreaId GetAreaId() const { return x0_areaId; } - const rstl::vector& GetConnectionList() const { return x4_conns; } + const rstl::vector< SConnection >& GetConnectionList() const { return x4_conns; } TEditorId GetEditorId() const { return x14_editorId; } }; diff --git a/include/MetroidPrime/CEnvFxManager.hpp b/include/MetroidPrime/CEnvFxManager.hpp index 22d4f990..43a9978e 100644 --- a/include/MetroidPrime/CEnvFxManager.hpp +++ b/include/MetroidPrime/CEnvFxManager.hpp @@ -64,4 +64,4 @@ private: bool xc54_; }; -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CFluidPlaneManager.hpp b/include/MetroidPrime/CFluidPlaneManager.hpp index d708fcf2..eb1995d5 100644 --- a/include/MetroidPrime/CFluidPlaneManager.hpp +++ b/include/MetroidPrime/CFluidPlaneManager.hpp @@ -22,4 +22,4 @@ private: bool x121_; }; -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CGameArea.hpp b/include/MetroidPrime/CGameArea.hpp index d63fa6e6..d4b7e24d 100644 --- a/include/MetroidPrime/CGameArea.hpp +++ b/include/MetroidPrime/CGameArea.hpp @@ -78,4 +78,4 @@ private: rstl::list< rstl::rc_ptr< IDvdRequest > > xf8_loadTransactions; }; -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CHealthInfo.hpp b/include/MetroidPrime/CHealthInfo.hpp index 60a6ec25..7287dabd 100644 --- a/include/MetroidPrime/CHealthInfo.hpp +++ b/include/MetroidPrime/CHealthInfo.hpp @@ -14,4 +14,4 @@ private: }; CHECK_SIZEOF(CHealthInfo, 0x8) -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CHierarchyPoseBuilder.hpp b/include/MetroidPrime/CHierarchyPoseBuilder.hpp index 772e1596..4a41fe60 100644 --- a/include/MetroidPrime/CHierarchyPoseBuilder.hpp +++ b/include/MetroidPrime/CHierarchyPoseBuilder.hpp @@ -59,4 +59,4 @@ private: }; CHECK_SIZEOF(CHierarchyPoseBuilder, 0x110) -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CIOWin.hpp b/include/MetroidPrime/CIOWin.hpp index e1bd1999..e55f1dab 100644 --- a/include/MetroidPrime/CIOWin.hpp +++ b/include/MetroidPrime/CIOWin.hpp @@ -27,4 +27,4 @@ private: rstl::string x4_name; }; -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CInputGenerator.hpp b/include/MetroidPrime/CInputGenerator.hpp index de7bbd40..b04e2aa0 100644 --- a/include/MetroidPrime/CInputGenerator.hpp +++ b/include/MetroidPrime/CInputGenerator.hpp @@ -13,4 +13,4 @@ private: u8 pad[0x14]; }; -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CMemoryCard.hpp b/include/MetroidPrime/CMemoryCard.hpp index 26590188..18a4f543 100644 --- a/include/MetroidPrime/CMemoryCard.hpp +++ b/include/MetroidPrime/CMemoryCard.hpp @@ -9,4 +9,4 @@ class CMemoryCard { extern CMemoryCard* gpMemoryCard; -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CModelData.hpp b/include/MetroidPrime/CModelData.hpp index 281cb215..c4d691a1 100644 --- a/include/MetroidPrime/CModelData.hpp +++ b/include/MetroidPrime/CModelData.hpp @@ -50,10 +50,14 @@ public: SAdvancementDeltas AdvanceAnimation(float dt, CStateManager& mgr, TAreaId aid, bool advTree); void AdvanceParticles(const CTransform4f& xf, float dt, CStateManager& mgr); void RenderParticles(const CFrustumPlanes& planes) const; - void RenderUnsortedParts(EWhichModel which, const CTransform4f& xf, const CActorLights* lights, const CModelFlags& flags) const; - void RenderThermal(const CTransform4f& xf, const CColor& mulColor, const CColor& addColor, const CModelFlags& flags) const; - void Render(const CStateManager&, const CTransform4f&, const CActorLights*, const CModelFlags&) const; - void Render(CModelData::EWhichModel, const CTransform4f&, const CActorLights*, const CModelFlags&) const; + void RenderUnsortedParts(EWhichModel which, const CTransform4f& xf, const CActorLights* lights, + const CModelFlags& flags) const; + void RenderThermal(const CTransform4f& xf, const CColor& mulColor, const CColor& addColor, + const CModelFlags& flags) const; + void Render(const CStateManager&, const CTransform4f&, const CActorLights*, + const CModelFlags&) const; + void Render(CModelData::EWhichModel, const CTransform4f&, const CActorLights*, + const CModelFlags&) const; const CAnimData* GetAnimationData() const { return xc_animData.get(); } CAnimData* AnimationData() { return xc_animData.get(); } diff --git a/include/MetroidPrime/CPASAnimState.hpp b/include/MetroidPrime/CPASAnimState.hpp index c4d76149..4ed4a0ca 100644 --- a/include/MetroidPrime/CPASAnimState.hpp +++ b/include/MetroidPrime/CPASAnimState.hpp @@ -90,4 +90,4 @@ private: }; CHECK_SIZEOF(CPASAnimState, 0x34) -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CPASDatabase.hpp b/include/MetroidPrime/CPASDatabase.hpp index 80ce7487..5c9328f2 100644 --- a/include/MetroidPrime/CPASDatabase.hpp +++ b/include/MetroidPrime/CPASDatabase.hpp @@ -14,4 +14,4 @@ private: }; CHECK_SIZEOF(CPASDatabase, 0x14) -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CPOINode.hpp b/include/MetroidPrime/CPOINode.hpp index bd7acb2b..f3319747 100644 --- a/include/MetroidPrime/CPOINode.hpp +++ b/include/MetroidPrime/CPOINode.hpp @@ -85,4 +85,4 @@ private: f32 x40_maxDist; }; -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CParticleData.hpp b/include/MetroidPrime/CParticleData.hpp index 29b953f3..4eeab9a1 100644 --- a/include/MetroidPrime/CParticleData.hpp +++ b/include/MetroidPrime/CParticleData.hpp @@ -32,4 +32,4 @@ private: f32 x18_scale; }; -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CParticleDatabase.hpp b/include/MetroidPrime/CParticleDatabase.hpp index c8657ce1..2c20b99e 100644 --- a/include/MetroidPrime/CParticleDatabase.hpp +++ b/include/MetroidPrime/CParticleDatabase.hpp @@ -42,4 +42,4 @@ private: }; CHECK_SIZEOF(CParticleDatabase, 0xb5) -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CPhysicsActor.hpp b/include/MetroidPrime/CPhysicsActor.hpp index 082772cc..6690fb81 100644 --- a/include/MetroidPrime/CPhysicsActor.hpp +++ b/include/MetroidPrime/CPhysicsActor.hpp @@ -105,4 +105,4 @@ private: }; CHECK_SIZEOF(CPhysicsActor, 0x258) -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CPoseAsTransforms.hpp b/include/MetroidPrime/CPoseAsTransforms.hpp index 3886471c..87473612 100644 --- a/include/MetroidPrime/CPoseAsTransforms.hpp +++ b/include/MetroidPrime/CPoseAsTransforms.hpp @@ -21,4 +21,4 @@ private: }; CHECK_SIZEOF(CPoseAsTransforms, 0xd8) -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CRippleManager.hpp b/include/MetroidPrime/CRippleManager.hpp index bbc546d3..83174e6e 100644 --- a/include/MetroidPrime/CRippleManager.hpp +++ b/include/MetroidPrime/CRippleManager.hpp @@ -14,4 +14,4 @@ private: f32 x14_alpha; }; -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CRumbleManager.hpp b/include/MetroidPrime/CRumbleManager.hpp index 5827c36f..fed96e36 100644 --- a/include/MetroidPrime/CRumbleManager.hpp +++ b/include/MetroidPrime/CRumbleManager.hpp @@ -10,4 +10,4 @@ private: CRumbleGenerator x0_rumbleGenerator; }; -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CSimpleShadow.hpp b/include/MetroidPrime/CSimpleShadow.hpp index 94ce0095..b6fac07b 100644 --- a/include/MetroidPrime/CSimpleShadow.hpp +++ b/include/MetroidPrime/CSimpleShadow.hpp @@ -19,4 +19,4 @@ private: // TODO }; -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CSortedLists.hpp b/include/MetroidPrime/CSortedLists.hpp index 810c548c..22628cad 100644 --- a/include/MetroidPrime/CSortedLists.hpp +++ b/include/MetroidPrime/CSortedLists.hpp @@ -32,4 +32,4 @@ class CSortedListManager { CHECK_SIZEOF(CSortedListManager, 0xe018); } // namespace SL -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CSplashScreen.hpp b/include/MetroidPrime/CSplashScreen.hpp index 48253ffe..46a2c5d7 100644 --- a/include/MetroidPrime/CSplashScreen.hpp +++ b/include/MetroidPrime/CSplashScreen.hpp @@ -20,4 +20,4 @@ public: virtual void Draw(); }; -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CStateManager.hpp b/include/MetroidPrime/CStateManager.hpp index 130c0180..9e9dc196 100644 --- a/include/MetroidPrime/CStateManager.hpp +++ b/include/MetroidPrime/CStateManager.hpp @@ -41,7 +41,8 @@ class CSortedListManager; class CStateManager { public: - void SendScriptMsg(TUniqueId uid, TEditorId target, EScriptObjectMessage msg, EScriptObjectState state); + void SendScriptMsg(TUniqueId uid, TEditorId target, EScriptObjectMessage msg, + EScriptObjectState state); void SendScriptMsg(CEntity* ent, TUniqueId target, EScriptObjectMessage msg); bool AddDrawableActor(const CActor& actor, const CVector3f& pos, const CAABox& bounds) const; void SetupParticleHook(const CActor& actor) const; @@ -54,7 +55,7 @@ public: CMazeState* CurrentMaze(); const CMazeState* GetCurrentMaze() const; - void SetCurrentMaze(const rstl::single_ptr& maze); + void SetCurrentMaze(const rstl::single_ptr< CMazeState >& maze); CCameraManager* CameraManager() { return x870_cameraManager; } const CCameraManager* GetCameraManager() const { return x870_cameraManager; } @@ -63,7 +64,9 @@ public: CWorld* World() { return x850_world.get(); } const CWorld* GetWorld() const { return x850_world.get(); } CActorModelParticles* ActorModelParticles() { return x884_actorModelParticles.get(); } - const CActorModelParticles* GetActorModelParticles() const { return x884_actorModelParticles.get(); } + const CActorModelParticles* GetActorModelParticles() const { + return x884_actorModelParticles.get(); + } CRandom16* GetActiveRandom() const { return x900_random; } CObjectList& GetObjectListById(EGameObjectList id) { return *x808_objectLists[id]; } diff --git a/include/MetroidPrime/CStateManagerContainer.hpp b/include/MetroidPrime/CStateManagerContainer.hpp index 73eba8ad..0dc4975f 100644 --- a/include/MetroidPrime/CStateManagerContainer.hpp +++ b/include/MetroidPrime/CStateManagerContainer.hpp @@ -27,4 +27,4 @@ class CStateManagerContainer { rstl::reserved_vector< TUniqueId, 20 > xf39c_renderLast; }; -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CWeaponMgr.hpp b/include/MetroidPrime/CWeaponMgr.hpp index 856e87dc..848d9a12 100644 --- a/include/MetroidPrime/CWeaponMgr.hpp +++ b/include/MetroidPrime/CWeaponMgr.hpp @@ -14,4 +14,4 @@ private: }; CHECK_SIZEOF(CWeaponMgr, 0x14); -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/CWorld.hpp b/include/MetroidPrime/CWorld.hpp index f3a5aad8..a2995182 100644 --- a/include/MetroidPrime/CWorld.hpp +++ b/include/MetroidPrime/CWorld.hpp @@ -57,15 +57,9 @@ public: rstl::string IGetDefaultAudioTrack() const override; int IGetAreaCount() const override; - const CGameArea& GetAreaAlways(TAreaId id) const { - return *x18_areas[id.Value()]; - } - const CGameArea* GetArea(TAreaId id) const { - return x18_areas[id.Value()].get(); - } - bool IsAreaValid(TAreaId id) const { - return x18_areas[id.Value()]->IsLoaded(); - } + const CGameArea& GetAreaAlways(TAreaId id) const { return *x18_areas[id.Value()]; } + const CGameArea* GetArea(TAreaId id) const { return x18_areas[id.Value()].get(); } + bool IsAreaValid(TAreaId id) const { return x18_areas[id.Value()]->IsLoaded(); } private: enum Phase { @@ -108,4 +102,4 @@ private: }; CHECK_SIZEOF(CWorld, 0xf4) -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/Cameras/CCameraHint.hpp b/include/MetroidPrime/Cameras/CCameraHint.hpp index 729aaee2..68c0a8ca 100644 --- a/include/MetroidPrime/Cameras/CCameraHint.hpp +++ b/include/MetroidPrime/Cameras/CCameraHint.hpp @@ -1,19 +1,20 @@ #ifndef __CCAMERAHINT_HPP__ #define __CCAMERAHINT_HPP__ -#include "types.h" -#include "MetroidPrime/Cameras/CBallCamera.hpp" #include "Kyoto/Math/CVector3f.hpp" +#include "MetroidPrime/Cameras/CBallCamera.hpp" +#include "types.h" class CCameraHint { public: - CCameraHint(uint overrideFlags, CBallCamera::EBallCameraBehaviour behaviour, f32 minDist, f32 maxDist, - f32 backwardsDist, const CVector3f& lookAtOffset, const CVector3f& chaseLookAtOffset, - const CVector3f& ballToCam, f32 fov, f32 attitudeRange, f32 azimuthRange, - f32 anglePerSecond, f32 clampVelRange, f32 clampRotRange, f32 elevation, f32 interpolateTime, - f32 clampVelTime, f32 controlInterpDur); + CCameraHint(uint overrideFlags, CBallCamera::EBallCameraBehaviour behaviour, f32 minDist, + f32 maxDist, f32 backwardsDist, const CVector3f& lookAtOffset, + const CVector3f& chaseLookAtOffset, const CVector3f& ballToCam, f32 fov, + f32 attitudeRange, f32 azimuthRange, f32 anglePerSecond, f32 clampVelRange, + f32 clampRotRange, f32 elevation, f32 interpolateTime, f32 clampVelTime, + f32 controlInterpDur); virtual ~CCameraHint(); - + private: uint mOverrideFlags; CBallCamera::EBallCameraBehaviour mBehaviour; diff --git a/include/MetroidPrime/Cameras/CCameraManager.hpp b/include/MetroidPrime/Cameras/CCameraManager.hpp index 8f2bba2a..873777a9 100644 --- a/include/MetroidPrime/Cameras/CCameraManager.hpp +++ b/include/MetroidPrime/Cameras/CCameraManager.hpp @@ -58,4 +58,4 @@ private: }; CHECK_SIZEOF(CCameraManager, 0x3c0) -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/Cameras/CCameraShakeData.hpp b/include/MetroidPrime/Cameras/CCameraShakeData.hpp index 3e8ac8b2..793a6a59 100644 --- a/include/MetroidPrime/Cameras/CCameraShakeData.hpp +++ b/include/MetroidPrime/Cameras/CCameraShakeData.hpp @@ -41,4 +41,4 @@ private: }; CHECK_SIZEOF(CCameraShakeData, 0xd4) -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/Cameras/CGameCamera.hpp b/include/MetroidPrime/Cameras/CGameCamera.hpp index eba6c61a..7a0ba1d3 100644 --- a/include/MetroidPrime/Cameras/CGameCamera.hpp +++ b/include/MetroidPrime/Cameras/CGameCamera.hpp @@ -33,4 +33,4 @@ private: }; CHECK_SIZEOF(CGameCamera, 0x188) -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/HUD/CHUDMemoParms.hpp b/include/MetroidPrime/HUD/CHUDMemoParms.hpp index 11e01067..e360fddf 100644 --- a/include/MetroidPrime/HUD/CHUDMemoParms.hpp +++ b/include/MetroidPrime/HUD/CHUDMemoParms.hpp @@ -5,17 +5,17 @@ class CInputStream; class CHUDMemoParms { public: - CHUDMemoParms(CInputStream& in); - - float GetDisplayTime() const { return mDispTime; } - bool IsClearMemoWindow() const { return mClearMemoWindow; } - bool IsFadeOutOnly() const { return mFadeOutOnly; } - bool IsHintMemo() const { return mHintMemo; } - + CHUDMemoParms(CInputStream& in); + + float GetDisplayTime() const { return mDispTime; } + bool IsClearMemoWindow() const { return mClearMemoWindow; } + bool IsFadeOutOnly() const { return mFadeOutOnly; } + bool IsHintMemo() const { return mHintMemo; } + private: - float mDispTime; - bool mClearMemoWindow; - bool mFadeOutOnly; - bool mHintMemo; + float mDispTime; + bool mClearMemoWindow; + bool mFadeOutOnly; + bool mHintMemo; }; #endif // __CHUDMEMOPARMS_HPP__ diff --git a/include/MetroidPrime/ScriptObjects/CScriptDebugCameraWaypoint.hpp b/include/MetroidPrime/ScriptObjects/CScriptDebugCameraWaypoint.hpp index 0efa88cb..48a5fee5 100644 --- a/include/MetroidPrime/ScriptObjects/CScriptDebugCameraWaypoint.hpp +++ b/include/MetroidPrime/ScriptObjects/CScriptDebugCameraWaypoint.hpp @@ -7,7 +7,8 @@ class CScriptDebugCameraWaypoint : public CActor { public: - CScriptDebugCameraWaypoint(TUniqueId uid, const rstl::string& name, const CEntityInfo& info, const CTransform4f& xf, uint value); + CScriptDebugCameraWaypoint(TUniqueId uid, const rstl::string& name, const CEntityInfo& info, + const CTransform4f& xf, uint value); ~CScriptDebugCameraWaypoint() override; void Accept(IVisitor& visitor) override; @@ -16,4 +17,4 @@ private: uint xe8_value; }; -#endif \ No newline at end of file +#endif diff --git a/include/MetroidPrime/ScriptObjects/CScriptMazeNode.hpp b/include/MetroidPrime/ScriptObjects/CScriptMazeNode.hpp index 9e5f4e33..6bd47d72 100644 --- a/include/MetroidPrime/ScriptObjects/CScriptMazeNode.hpp +++ b/include/MetroidPrime/ScriptObjects/CScriptMazeNode.hpp @@ -33,11 +33,14 @@ struct SMazeCell { bool x1_26_checked : 1; SMazeCell() { - x0_24_openTop = x0_25_openRight = x0_26_openBottom = x0_27_openLeft = x0_28_gateTop = x0_29_gateRight = x0_30_gateBottom = - x0_31_gateLeft = x1_24_puddle = x1_25_onPath = x1_26_checked = false; + x0_24_openTop = x0_25_openRight = x0_26_openBottom = x0_27_openLeft = x0_28_gateTop = + x0_29_gateRight = x0_30_gateBottom = x0_31_gateLeft = x1_24_puddle = x1_25_onPath = + x1_26_checked = false; } - inline bool IsClosed() const { return !x0_24_openTop && !x0_25_openRight && !x0_26_openBottom && !x0_27_openLeft; } + inline bool IsClosed() const { + return !x0_24_openTop && !x0_25_openRight && !x0_26_openBottom && !x0_27_openLeft; + } }; class CMazeState { @@ -71,8 +74,10 @@ public: class CScriptMazeNode : public CActor { public: - CScriptMazeNode(TUniqueId uid, const rstl::string& name, const CEntityInfo& info, const CTransform4f& xf, bool active, int col, int row, - int side, const CVector3f& actorPos, const CVector3f& triggerPos, const CVector3f& effectPos); + CScriptMazeNode(TUniqueId uid, const rstl::string& name, const CEntityInfo& info, + const CTransform4f& xf, bool active, int col, int row, int side, + const CVector3f& actorPos, const CVector3f& triggerPos, + const CVector3f& effectPos); ~CScriptMazeNode() override; void Accept(IVisitor& visitor) override; diff --git a/include/MetroidPrime/Tweaks/CTweakPlayer.hpp b/include/MetroidPrime/Tweaks/CTweakPlayer.hpp index 3896ab17..7350996c 100644 --- a/include/MetroidPrime/Tweaks/CTweakPlayer.hpp +++ b/include/MetroidPrime/Tweaks/CTweakPlayer.hpp @@ -71,7 +71,9 @@ public: f32 GetDashStrafeInputThreshold() const { return x208_dashStrafeInputThreshold; } f32 GetSidewaysDoubleJumpImpulse() const { return x20c_sidewaysDoubleJumpImpulse; } f32 GetSidewaysVerticalDoubleJumpAccel() const { return x210_sidewaysVerticalDoubleJumpAccel; } - f32 GetSidewaysHorizontalDoubleJumpAccel() const { return x214_sidewaysHorizontalDoubleJumpAccel; } + f32 GetSidewaysHorizontalDoubleJumpAccel() const { + return x214_sidewaysHorizontalDoubleJumpAccel; + } f32 GetScanningRange() const { return x218_scanningRange; } bool GetScanRetention() const { return x21c_24_scanRetention; } bool GetScanFreezesGame() const { return x21c_25_scanFreezesGame; } @@ -107,7 +109,9 @@ public: f32 GetGrappleSwingLength() const { return x2a4_grappleSwingLength; } f32 GetGrappleSwingPeriod() const { return x2a8_grappleSwingPeriod; } f32 GetGrapplePullSpeedMin() const { return x2ac_grapplePullSpeedMin; } - f32 GetMaxGrappleLockedTurnAlignDistance() const { return x2b4_maxGrappleLockedTurnAlignDistance; } + f32 GetMaxGrappleLockedTurnAlignDistance() const { + return x2b4_maxGrappleLockedTurnAlignDistance; + } f32 GetGrapplePullSpeedProportion() const { return x2b8_grapplePullSpeedProportion; } f32 GetGrapplePullSpeedMax() const { return x2bc_grapplePullSpeedMax; } f32 GetGrappleLookCenterSpeed() const { return x2c0_grappleLookCenterSpeed; } diff --git a/include/Weapons/IWeaponRenderer.hpp b/include/Weapons/IWeaponRenderer.hpp index 57151727..8f4de800 100644 --- a/include/Weapons/IWeaponRenderer.hpp +++ b/include/Weapons/IWeaponRenderer.hpp @@ -6,19 +6,20 @@ class IWeaponRenderer { public: - virtual ~IWeaponRenderer()=0; - virtual void AddParticleGen(const CParticleGen& gen) = 0; - static void SetRenderer(IWeaponRenderer* renderer) { sWeaponRenderer = renderer; } + virtual ~IWeaponRenderer() = 0; + virtual void AddParticleGen(const CParticleGen& gen) = 0; + static void SetRenderer(IWeaponRenderer* renderer) { sWeaponRenderer = renderer; } + private: - static IWeaponRenderer* sWeaponRenderer; + static IWeaponRenderer* sWeaponRenderer; }; inline IWeaponRenderer::~IWeaponRenderer() {} class CDefaultWeaponRenderer : public IWeaponRenderer { public: - ~CDefaultWeaponRenderer() {} - void AddParticleGen(const CParticleGen& gen) { gen.Render(); } + ~CDefaultWeaponRenderer() {} + void AddParticleGen(const CParticleGen& gen) { gen.Render(); } }; #endif //__IWEAPONRENDERER_HPP__ diff --git a/include/WorldFormat/CCollidableOBBTreeGroup.hpp b/include/WorldFormat/CCollidableOBBTreeGroup.hpp index 3d190df0..81319398 100644 --- a/include/WorldFormat/CCollidableOBBTreeGroup.hpp +++ b/include/WorldFormat/CCollidableOBBTreeGroup.hpp @@ -37,4 +37,4 @@ private: CCollidableOBBTreeGroupContainer* x10_container; }; -#endif \ No newline at end of file +#endif diff --git a/include/dolphin/CARDPriv.h b/include/dolphin/CARDPriv.h index 7a4c085e..f5f7371a 100644 --- a/include/dolphin/CARDPriv.h +++ b/include/dolphin/CARDPriv.h @@ -104,8 +104,9 @@ typedef struct CARDID { void __CARDDefaultApiCallback(s32 chan, s32 result); -#define CARDIsValidBlockNo(card, iBlock) (CARD_NUM_SYSTEM_BLOCK <= (iBlock) && (iBlock) < (card)->cBlock) -#define __CARDGetDirCheck(dir) ((CARDDirCheck*) &(dir)[CARD_MAX_FILE]) +#define CARDIsValidBlockNo(card, iBlock) \ + (CARD_NUM_SYSTEM_BLOCK <= (iBlock) && (iBlock) < (card)->cBlock) +#define __CARDGetDirCheck(dir) ((CARDDirCheck*)&(dir)[CARD_MAX_FILE]) CARDDir* __CARDGetDirBlock(CARDControl* card); u16* __CARDGetFatBlock(CARDControl* card); @@ -118,8 +119,8 @@ void __CARDUnlockedHandler(s32 chan, OSContext* context); s32 __CARDAccess(CARDControl* card, CARDDir* ent); BOOL __CARDIsWritable(CARDDir* ent); -#define TRUNC(n, a) (((u32) (n)) & ~((a) - 1)) -#define OFFSET(n, a) (((u32) (n)) & ((a) - 1)) +#define TRUNC(n, a) (((u32)(n)) & ~((a)-1)) +#define OFFSET(n, a) (((u32)(n)) & ((a)-1)) extern CARDControl __CARDBlock[2]; extern DVDDiskID __CARDDiskNone; diff --git a/include/dolphin/__ppc_eabi_init.h b/include/dolphin/__ppc_eabi_init.h index 815731fc..9664f9d4 100644 --- a/include/dolphin/__ppc_eabi_init.h +++ b/include/dolphin/__ppc_eabi_init.h @@ -1,7 +1,7 @@ #include "types.h" #ifdef __cplusplus -extern "C" { +extern "C" { #endif __declspec(section ".init") void __init_hardware(void); __declspec(section ".init") void __flush_cache(register void* address, register unsigned int size); diff --git a/include/dolphin/card.h b/include/dolphin/card.h index a2ee00d4..bd402df9 100644 --- a/include/dolphin/card.h +++ b/include/dolphin/card.h @@ -29,12 +29,16 @@ extern "C" { #define CARDGetIconAnim(stat) (((stat)->bannerFormat) & CARD_STAT_ANIM_MASK) #define CARDGetIconFormat(stat, n) (((stat)->iconFormat >> (2 * (n))) & CARD_STAT_ICON_MASK) #define CARDGetIconSpeed(stat, n) (((stat)->iconSpeed >> (2 * (n))) & CARD_STAT_SPEED_MASK) -#define CARDSetBannerFormat(stat, f) ((stat)->bannerFormat = (u8)(((stat)->bannerFormat & ~CARD_STAT_BANNER_MASK) | (f))) -#define CARDSetIconAnim(stat, f) ((stat)->bannerFormat = (u8)(((stat)->bannerFormat & ~CARD_STAT_ANIM_MASK) | (f))) -#define CARDSetIconFormat(stat, n, f) \ - ((stat)->iconFormat = (u16)(((stat)->iconFormat & ~(CARD_STAT_ICON_MASK << (2 * (n)))) | ((f) << (2 * (n))))) -#define CARDSetIconSpeed(stat, n, f) \ - ((stat)->iconSpeed = (u16)(((stat)->iconSpeed & ~(CARD_STAT_SPEED_MASK << (2 * (n)))) | ((f) << (2 * (n))))) +#define CARDSetBannerFormat(stat, f) \ + ((stat)->bannerFormat = (u8)(((stat)->bannerFormat & ~CARD_STAT_BANNER_MASK) | (f))) +#define CARDSetIconAnim(stat, f) \ + ((stat)->bannerFormat = (u8)(((stat)->bannerFormat & ~CARD_STAT_ANIM_MASK) | (f))) +#define CARDSetIconFormat(stat, n, f) \ + ((stat)->iconFormat = \ + (u16)(((stat)->iconFormat & ~(CARD_STAT_ICON_MASK << (2 * (n)))) | ((f) << (2 * (n))))) +#define CARDSetIconSpeed(stat, n, f) \ + ((stat)->iconSpeed = \ + (u16)(((stat)->iconSpeed & ~(CARD_STAT_SPEED_MASK << (2 * (n)))) | ((f) << (2 * (n))))) #define CARDSetIconAddress(stat, addr) ((stat)->iconAddr = (u32)(addr)) #define CARDSetCommentAddress(stat, addr) ((stat)->commentAddr = (u32)(addr)) #define CARDGetFileNo(fileInfo) ((fileInfo)->fileNo) @@ -125,7 +129,8 @@ s32 CARDCheckAsync(s32 chan, CARDCallback callback); s32 CARDCheckEx(s32 chan, s32* xferBytes); s32 CARDCheckExAsync(s32 chan, s32* xferBytes, CARDCallback callback); s32 CARDCreate(s32 chan, const char* fileName, u32 size, CARDFileInfo* fileInfo); -s32 CARDCreateAsync(s32 chan, const char* fileName, u32 size, CARDFileInfo* fileInfo, CARDCallback callback); +s32 CARDCreateAsync(s32 chan, const char* fileName, u32 size, CARDFileInfo* fileInfo, + CARDCallback callback); s32 CARDDelete(s32 chan, const char* fileName); s32 CARDDeleteAsync(s32 chan, const char* fileName, CARDCallback callback); s32 CARDFastDelete(s32 chan, s32 fileNo); @@ -143,7 +148,8 @@ s32 CARDGetSerialNo(s32 chan, u64* serialNo); s32 CARDGetStatus(s32 chan, s32 fileNo, CARDStat* stat); s32 CARDGetXferredBytes(s32 chan); s32 CARDMount(s32 chan, void* workArea, CARDCallback detachCallback); -s32 CARDMountAsync(s32 chan, void* workArea, CARDCallback detachCallback, CARDCallback attachCallback); +s32 CARDMountAsync(s32 chan, void* workArea, CARDCallback detachCallback, + CARDCallback attachCallback); s32 CARDOpen(s32 chan, const char* fileName, CARDFileInfo* fileInfo); BOOL CARDProbe(s32 chan); s32 CARDProbeEx(s32 chan, s32* memSize, s32* sectorSize); @@ -158,9 +164,11 @@ s32 CARDGetCurrentMode(s32 chan, u32* mode); s32 CARDCancel(CARDFileInfo* fileInfo); s32 CARDClose(CARDFileInfo* fileInfo); s32 CARDRead(CARDFileInfo* fileInfo, void* addr, s32 length, s32 offset); -s32 CARDReadAsync(CARDFileInfo* fileInfo, void* addr, s32 length, s32 offset, CARDCallback callback); +s32 CARDReadAsync(CARDFileInfo* fileInfo, void* addr, s32 length, s32 offset, + CARDCallback callback); s32 CARDWrite(CARDFileInfo* fileInfo, const void* addr, s32 length, s32 offset); -s32 CARDWriteAsync(CARDFileInfo* fileInfo, const void* addr, s32 length, s32 offset, CARDCallback callback); +s32 CARDWriteAsync(CARDFileInfo* fileInfo, const void* addr, s32 length, s32 offset, + CARDCallback callback); #ifdef __cplusplus } diff --git a/include/dolphin/dsp.h b/include/dolphin/dsp.h index 564a93a9..63c6d545 100644 --- a/include/dolphin/dsp.h +++ b/include/dolphin/dsp.h @@ -8,35 +8,35 @@ extern "C" { #endif -typedef void (*DSPCallback)(void *task); +typedef void (*DSPCallback)(void* task); typedef struct DSPTaskInfo DSPTaskInfo; -typedef struct DSPTaskInfo { - vu32 state; - vu32 priority; - vu32 flags; - u16 *iram_mmem_addr; - u32 iram_length; - u32 iram_addr; - - u16 *dram_mmem_addr; - u32 dram_length; - u32 dram_addr; - - u16 dsp_init_vector; - u16 dsp_resume_vector; - - DSPCallback init_cb; - DSPCallback res_cb; - DSPCallback done_cb; - DSPCallback req_cb; +typedef struct DSPTaskInfo { + vu32 state; + vu32 priority; + vu32 flags; + u16* iram_mmem_addr; + u32 iram_length; + u32 iram_addr; - struct STRUCT_DSP_TASK *next; - struct STRUCT_DSP_TASK *prev; + u16* dram_mmem_addr; + u32 dram_length; + u32 dram_addr; - OSTime t_context; - OSTime t_task; + u16 dsp_init_vector; + u16 dsp_resume_vector; + + DSPCallback init_cb; + DSPCallback res_cb; + DSPCallback done_cb; + DSPCallback req_cb; + + struct STRUCT_DSP_TASK* next; + struct STRUCT_DSP_TASK* prev; + + OSTime t_context; + OSTime t_task; } DSPTaskInfo; @@ -50,12 +50,10 @@ u32 DSPGetDMAStatus(); DSPTaskInfo* DSPAddTask(DSPTaskInfo* task); - void __DSP_debug_printf(const char* fmt, ...); #ifdef __cplusplus } #endif - #endif // __DSP_H__ diff --git a/include/dolphin/dsp_regs.h b/include/dolphin/dsp_regs.h index ebaeef7a..91fbc298 100644 --- a/include/dolphin/dsp_regs.h +++ b/include/dolphin/dsp_regs.h @@ -4,6 +4,6 @@ #include "types.h" vu16 __DSPRegs[32] : 0xCC005000; -vu32 __AIRegs[8] : 0xCC006C00; +vu32 __AIRegs[8] : 0xCC006C00; #endif // __DSP_REGS_H__ diff --git a/include/dolphin/gx/GXBump.h b/include/dolphin/gx/GXBump.h index 51b3dd1e..fa41e36c 100644 --- a/include/dolphin/gx/GXBump.h +++ b/include/dolphin/gx/GXBump.h @@ -15,11 +15,12 @@ void GXSetIndTexMtx(GXIndTexMtxID mtx_sel, const void* offset, s8 scale_exp); void GXSetIndTexMtx(GXIndTexMtxID mtx_sel, f32 offset[2][3], s8 scale_exp); #endif void GXSetIndTexOrder(GXIndTexStageID ind_stage, GXTexCoordID tex_coord, GXTexMapID tex_map); -void GXSetTevIndirect(GXTevStageID tev_stage, GXIndTexStageID ind_stage, GXIndTexFormat format, GXIndTexBiasSel bias_sel, - GXIndTexMtxID matrix_sel, GXIndTexWrap wrap_s, GXIndTexWrap wrap_t, GXBool add_prev, GXBool ind_lod, +void GXSetTevIndirect(GXTevStageID tev_stage, GXIndTexStageID ind_stage, GXIndTexFormat format, + GXIndTexBiasSel bias_sel, GXIndTexMtxID matrix_sel, GXIndTexWrap wrap_s, + GXIndTexWrap wrap_t, GXBool add_prev, GXBool ind_lod, GXIndTexAlphaSel alpha_sel); -void GXSetTevIndWarp(GXTevStageID tev_stage, GXIndTexStageID ind_stage, GXBool signed_offsets, GXBool replace_mode, - GXIndTexMtxID matrix_sel); +void GXSetTevIndWarp(GXTevStageID tev_stage, GXIndTexStageID ind_stage, GXBool signed_offsets, + GXBool replace_mode, GXIndTexMtxID matrix_sel); void GXSetIndTexCoordScale(GXIndTexStageID ind_state, GXIndTexScale scale_s, GXIndTexScale scale_t); #ifdef __cplusplus diff --git a/include/dolphin/gx/GXCommandList.h b/include/dolphin/gx/GXCommandList.h index 9c8352a5..090411e1 100644 --- a/include/dolphin/gx/GXCommandList.h +++ b/include/dolphin/gx/GXCommandList.h @@ -14,19 +14,19 @@ extern "C" { #define GX_DRAW_LINE_STRIP 0xB0 #define GX_DRAW_POINTS 0xB8 -#define GX_LOAD_BP_REG 0x61 -#define GX_LOAD_CP_REG 0x08 -#define GX_LOAD_XF_REG 0x10 -#define GX_LOAD_INDX_A 0x20 -#define GX_LOAD_INDX_B 0x28 -#define GX_LOAD_INDX_C 0x30 -#define GX_LOAD_INDX_D 0x38 +#define GX_LOAD_BP_REG 0x61 +#define GX_LOAD_CP_REG 0x08 +#define GX_LOAD_XF_REG 0x10 +#define GX_LOAD_INDX_A 0x20 +#define GX_LOAD_INDX_B 0x28 +#define GX_LOAD_INDX_C 0x30 +#define GX_LOAD_INDX_D 0x38 -#define GX_CMD_CALL_DL 0x40 -#define GX_CMD_INVL_VC 0x48 +#define GX_CMD_CALL_DL 0x40 +#define GX_CMD_INVL_VC 0x48 -#define GX_OPCODE_MASK 0xF8 -#define GX_VAT_MASK 0x07 +#define GX_OPCODE_MASK 0xF8 +#define GX_VAT_MASK 0x07 #ifdef __cplusplus } diff --git a/include/dolphin/gx/GXFifo.h b/include/dolphin/gx/GXFifo.h index b6763c1b..d4b8a0b4 100644 --- a/include/dolphin/gx/GXFifo.h +++ b/include/dolphin/gx/GXFifo.h @@ -19,9 +19,10 @@ GXFifoObj* GXGetGPFifo(void); void GXSetCPUFifo(GXFifoObj* fifo); void GXSetGPFifo(GXFifoObj* fifo); void GXSaveCPUFifo(GXFifoObj* fifo); -void GXGetFifoStatus(GXFifoObj* fifo, GXBool* overhi, GXBool* underlow, u32* fifoCount, GXBool* cpu_write, - GXBool* gp_read, GXBool* fifowrap); -void GXGetGPStatus(GXBool* overhi, GXBool* underlow, GXBool* readIdle, GXBool* cmdIdle, GXBool* brkpt); +void GXGetFifoStatus(GXFifoObj* fifo, GXBool* overhi, GXBool* underlow, u32* fifoCount, + GXBool* cpu_write, GXBool* gp_read, GXBool* fifowrap); +void GXGetGPStatus(GXBool* overhi, GXBool* underlow, GXBool* readIdle, GXBool* cmdIdle, + GXBool* brkpt); void GXInitFifoLimits(GXFifoObj* fifo, u32 hiWaterMark, u32 loWaterMark); #ifdef __cplusplus diff --git a/include/dolphin/gx/GXGeometry.h b/include/dolphin/gx/GXGeometry.h index d9da66ca..167adcae 100644 --- a/include/dolphin/gx/GXGeometry.h +++ b/include/dolphin/gx/GXGeometry.h @@ -13,8 +13,8 @@ void GXClearVtxDesc(void); void GXSetVtxAttrFmt(GXVtxFmt vtxfmt, GXAttr attr, GXCompCnt cnt, GXCompType type, u8 frac); void GXSetNumTexGens(u8 nTexGens); void GXBegin(GXPrimitive type, GXVtxFmt vtxfmt, u16 nverts); -void GXSetTexCoordGen2(GXTexCoordID dst_coord, GXTexGenType func, GXTexGenSrc src_param, u32 mtx, GXBool normalize, - u32 postmtx); +void GXSetTexCoordGen2(GXTexCoordID dst_coord, GXTexGenType func, GXTexGenSrc src_param, u32 mtx, + GXBool normalize, u32 postmtx); void GXSetLineWidth(u8 width, GXTexOffset texOffsets); void GXSetPointSize(u8 pointSize, GXTexOffset texOffsets); void GXEnableTexOffsets(GXTexCoordID coord, GXBool line_enable, GXBool point_enable); @@ -25,7 +25,8 @@ void GXSetArray(GXAttr attr, const void* data, u8 stride); #endif void GXInvalidateVtxCache(void); -static inline void GXSetTexCoordGen(GXTexCoordID dst_coord, GXTexGenType func, GXTexGenSrc src_param, u32 mtx) { +static inline void GXSetTexCoordGen(GXTexCoordID dst_coord, GXTexGenType func, + GXTexGenSrc src_param, u32 mtx) { GXSetTexCoordGen2(dst_coord, func, src_param, mtx, GX_FALSE, GX_PTIDENTITY); } diff --git a/include/dolphin/gx/GXGet.h b/include/dolphin/gx/GXGet.h index ac6b80b7..982359ab 100644 --- a/include/dolphin/gx/GXGet.h +++ b/include/dolphin/gx/GXGet.h @@ -18,7 +18,8 @@ void* GXGetTexObjData(GXTexObj* tex_obj); void GXGetProjectionv(f32* p); void GXGetLightPos(GXLightObj* lt_obj, f32* x, f32* y, f32* z); void GXGetLightColor(GXLightObj* lt_obj, GXColor* color); -void GXGetVtxAttrFmt(GXVtxFmt idx, GXAttr attr, GXCompCnt* compCnt, GXCompType* compType, u8* shift); +void GXGetVtxAttrFmt(GXVtxFmt idx, GXAttr attr, GXCompCnt* compCnt, GXCompType* compType, + u8* shift); #ifdef __cplusplus } diff --git a/include/dolphin/gx/GXLighting.h b/include/dolphin/gx/GXLighting.h index 648853bc..d91116bc 100644 --- a/include/dolphin/gx/GXLighting.h +++ b/include/dolphin/gx/GXLighting.h @@ -9,13 +9,14 @@ extern "C" { #endif void GXSetNumChans(u8 nChans); -void GXSetChanCtrl(GXChannelID chan, GXBool enable, GXColorSrc amb_src, GXColorSrc mat_src, u32 light_mask, - GXDiffuseFn diff_fn, GXAttnFn attn_fn); +void GXSetChanCtrl(GXChannelID chan, GXBool enable, GXColorSrc amb_src, GXColorSrc mat_src, + u32 light_mask, GXDiffuseFn diff_fn, GXAttnFn attn_fn); void GXSetChanAmbColor(GXChannelID chan, GXColor amb_color); void GXSetChanMatColor(GXChannelID chan, GXColor mat_color); void GXInitLightSpot(GXLightObj* lt_obj, f32 cutoff, GXSpotFn spot_func); -void GXInitLightDistAttn(GXLightObj* lt_obj, f32 ref_distance, f32 ref_brightness, GXDistAttnFn dist_func); +void GXInitLightDistAttn(GXLightObj* lt_obj, f32 ref_distance, f32 ref_brightness, + GXDistAttnFn dist_func); void GXInitLightPos(GXLightObj* lt_obj, f32 x, f32 y, f32 z); void GXInitLightDir(GXLightObj* lt_obj, f32 nx, f32 ny, f32 nz); void GXInitLightColor(GXLightObj* lt_obj, GXColor color); diff --git a/include/dolphin/gx/GXPixel.h b/include/dolphin/gx/GXPixel.h index c2536b6f..c723a735 100644 --- a/include/dolphin/gx/GXPixel.h +++ b/include/dolphin/gx/GXPixel.h @@ -10,7 +10,8 @@ extern "C" { void GXSetFog(GXFogType type, f32 startz, f32 endz, f32 nearz, f32 farz, GXColor color); void GXSetFogColor(GXColor color); // ? GXSetFogRangeAdj(); -void GXSetBlendMode(GXBlendMode type, GXBlendFactor src_factor, GXBlendFactor dst_factor, GXLogicOp op); +void GXSetBlendMode(GXBlendMode type, GXBlendFactor src_factor, GXBlendFactor dst_factor, + GXLogicOp op); void GXSetColorUpdate(GXBool update_enable); void GXSetAlphaUpdate(GXBool update_enable); void GXSetZMode(GXBool compare_enable, GXCompare func, GXBool update_enable); diff --git a/include/dolphin/gx/GXStruct.h b/include/dolphin/gx/GXStruct.h index b1078e09..b35a2efc 100644 --- a/include/dolphin/gx/GXStruct.h +++ b/include/dolphin/gx/GXStruct.h @@ -1,8 +1,8 @@ #ifndef DOLPHIN_GXSTRUCT_H #define DOLPHIN_GXSTRUCT_H -#include #include +#include #ifdef __cplusplus extern "C" { diff --git a/include/dolphin/gx/GXTev.h b/include/dolphin/gx/GXTev.h index dccd4d54..e8df7d00 100644 --- a/include/dolphin/gx/GXTev.h +++ b/include/dolphin/gx/GXTev.h @@ -9,8 +9,10 @@ extern "C" { #endif void GXSetTevOp(GXTevStageID id, GXTevMode mode); -void GXSetTevColorIn(GXTevStageID stage, GXTevColorArg a, GXTevColorArg b, GXTevColorArg c, GXTevColorArg d); -void GXSetTevAlphaIn(GXTevStageID stage, GXTevAlphaArg a, GXTevAlphaArg b, GXTevAlphaArg c, GXTevAlphaArg d); +void GXSetTevColorIn(GXTevStageID stage, GXTevColorArg a, GXTevColorArg b, GXTevColorArg c, + GXTevColorArg d); +void GXSetTevAlphaIn(GXTevStageID stage, GXTevAlphaArg a, GXTevAlphaArg b, GXTevAlphaArg c, + GXTevAlphaArg d); void GXSetTevColorOp(GXTevStageID stage, GXTevOp op, GXTevBias bias, GXTevScale scale, GXBool clamp, GXTevRegID out_reg); void GXSetTevAlphaOp(GXTevStageID stage, GXTevOp op, GXTevBias bias, GXTevScale scale, GXBool clamp, @@ -21,8 +23,8 @@ void GXSetTevKColor(GXTevKColorID id, GXColor color); void GXSetTevKColorSel(GXTevStageID stage, GXTevKColorSel sel); void GXSetTevKAlphaSel(GXTevStageID stage, GXTevKAlphaSel sel); void GXSetTevSwapMode(GXTevStageID stage, GXTevSwapSel ras_sel, GXTevSwapSel tex_sel); -void GXSetTevSwapModeTable(GXTevSwapSel table, GXTevColorChan red, GXTevColorChan green, GXTevColorChan blue, - GXTevColorChan alpha); +void GXSetTevSwapModeTable(GXTevSwapSel table, GXTevColorChan red, GXTevColorChan green, + GXTevColorChan blue, GXTevColorChan alpha); void GXSetAlphaCompare(GXCompare comp0, u8 ref0, GXAlphaOp op, GXCompare comp1, u8 ref1); void GXSetZTexture(GXZTexOp op, GXTexFmt fmt, u32 bias); void GXSetTevOrder(GXTevStageID stage, GXTexCoordID coord, GXTexMapID map, GXChannelID color); diff --git a/include/dolphin/gx/GXTexture.h b/include/dolphin/gx/GXTexture.h index 970ead25..ac1af134 100644 --- a/include/dolphin/gx/GXTexture.h +++ b/include/dolphin/gx/GXTexture.h @@ -8,13 +8,14 @@ extern "C" { #endif -void GXInitTexObj(GXTexObj* obj, const void* data, u16 width, u16 height, u32 format, GXTexWrapMode wrapS, GXTexWrapMode wrapT, - GXBool mipmap); -void GXInitTexObjCI(GXTexObj* obj, const void* data, u16 width, u16 height, GXCITexFmt format, GXTexWrapMode wrapS, GXTexWrapMode wrapT, - GXBool mipmap, u32 tlut); +void GXInitTexObj(GXTexObj* obj, const void* data, u16 width, u16 height, u32 format, + GXTexWrapMode wrapS, GXTexWrapMode wrapT, GXBool mipmap); +void GXInitTexObjCI(GXTexObj* obj, const void* data, u16 width, u16 height, GXCITexFmt format, + GXTexWrapMode wrapS, GXTexWrapMode wrapT, GXBool mipmap, u32 tlut); void GXInitTexObjData(GXTexObj* obj, const void* data); -void GXInitTexObjLOD(GXTexObj* obj, GXTexFilter min_filt, GXTexFilter mag_filt, f32 min_lod, f32 max_lod, f32 lod_bias, GXBool bias_clamp, - GXBool do_edge_lod, GXAnisotropy max_aniso); +void GXInitTexObjLOD(GXTexObj* obj, GXTexFilter min_filt, GXTexFilter mag_filt, f32 min_lod, + f32 max_lod, f32 lod_bias, GXBool bias_clamp, GXBool do_edge_lod, + GXAnisotropy max_aniso); void GXLoadTexObj(GXTexObj* obj, GXTexMapID id); u32 GXGetTexBufferSize(u16 width, u16 height, u32 format, GXBool mipmap, u8 max_lod); void GXInvalidateTexAll(); diff --git a/include/dolphin/mtx.h b/include/dolphin/mtx.h index 4475ce77..dff3e9f4 100644 --- a/include/dolphin/mtx.h +++ b/include/dolphin/mtx.h @@ -6,4 +6,4 @@ typedef f32 Mtx[3][4]; typedef f32 (*MtxPtr)[4]; -#endif \ No newline at end of file +#endif diff --git a/include/dolphin/os/OSAlarm.h b/include/dolphin/os/OSAlarm.h index e3ae9cd4..b2a4589d 100644 --- a/include/dolphin/os/OSAlarm.h +++ b/include/dolphin/os/OSAlarm.h @@ -1,8 +1,8 @@ #ifndef __OSALARM_H__ #define __OSALARM_H__ -#include #include +#include #ifdef __cplusplus extern "C" { diff --git a/include/dolphin/os/OSContext.h b/include/dolphin/os/OSContext.h index 8f7e46e4..56235e88 100644 --- a/include/dolphin/os/OSContext.h +++ b/include/dolphin/os/OSContext.h @@ -8,33 +8,31 @@ extern "C" { #endif typedef struct OSContext { - u32 gpr[32]; - u32 cr; - u32 lr; - u32 ctr; - u32 xer; + u32 gpr[32]; + u32 cr; + u32 lr; + u32 ctr; + u32 xer; - f64 fpr[32]; + f64 fpr[32]; - u32 fpscr_pad; - u32 fpscr; + u32 fpscr_pad; + u32 fpscr; - u32 srr0; - u32 srr1; + u32 srr0; + u32 srr1; - u16 mode; - u16 state; + u16 mode; + u16 state; - u32 gqr[8]; - u32 psf_pad; - f64 psf[32]; + u32 gqr[8]; + u32 psf_pad; + f64 psf[32]; } OSContext; - #ifdef __cplusplus } #endif #endif - diff --git a/include/dolphin/os/OSFastCast.h b/include/dolphin/os/OSFastCast.h index 48a83383..a6380496 100644 --- a/include/dolphin/os/OSFastCast.h +++ b/include/dolphin/os/OSFastCast.h @@ -4,7 +4,7 @@ #ifdef __cplusplus extern "C" { #endif - + #define OS_FASTCAST_U8 2 #define OS_FASTCAST_S16 5 diff --git a/include/dolphin/os/OSReset.h b/include/dolphin/os/OSReset.h index 65898d69..cd6c7754 100644 --- a/include/dolphin/os/OSReset.h +++ b/include/dolphin/os/OSReset.h @@ -7,18 +7,17 @@ extern "C" { #endif -typedef BOOL (* OSResetFunction )(BOOL final); +typedef BOOL (*OSResetFunction)(BOOL final); typedef struct OSResetFunctionInfo OSResetFunctionInfo; -struct OSResetFunctionInfo -{ - // public - OSResetFunction func; - u32 priority; +struct OSResetFunctionInfo { + // public + OSResetFunction func; + u32 priority; - // private - OSResetFunctionInfo* next; - OSResetFunctionInfo* prev; + // private + OSResetFunctionInfo* next; + OSResetFunctionInfo* prev; }; #ifdef __cplusplus diff --git a/include/dolphin/os/OSSerial.h b/include/dolphin/os/OSSerial.h index 34f43a55..384dbef4 100644 --- a/include/dolphin/os/OSSerial.h +++ b/include/dolphin/os/OSSerial.h @@ -53,7 +53,8 @@ extern "C" { #define SI_GBA (SI_TYPE_N64 | 0x00040000) #define SI_GC_CONTROLLER (SI_TYPE_GC | SI_GC_STANDARD) #define SI_GC_RECEIVER (SI_TYPE_GC | SI_GC_WIRELESS) -#define SI_GC_WAVEBIRD (SI_TYPE_GC | SI_GC_WIRELESS | SI_GC_STANDARD | SI_WIRELESS_STATE | SI_WIRELESS_FIX_ID) +#define SI_GC_WAVEBIRD \ + (SI_TYPE_GC | SI_GC_WIRELESS | SI_GC_STANDARD | SI_WIRELESS_STATE | SI_WIRELESS_FIX_ID) #define SI_GC_KEYBOARD (SI_TYPE_GC | 0x00200000) #define SI_GC_STEERING (SI_TYPE_GC | 0x00000000) diff --git a/include/dolphin/pad.h b/include/dolphin/pad.h index a79bc07b..0fe1e2a1 100644 --- a/include/dolphin/pad.h +++ b/include/dolphin/pad.h @@ -37,11 +37,9 @@ #define PAD_CHAN2_BIT 0x20000000 #define PAD_CHAN3_BIT 0x10000000 -#define PADButtonDown(buttonLast, button) \ - ((((buttonLast) ^ (button)) & (button))) +#define PADButtonDown(buttonLast, button) ((((buttonLast) ^ (button)) & (button))) -#define PADButtonUp(buttonLast, button) \ - ((((buttonLast) ^ (button)) & (buttonLast))) +#define PADButtonUp(buttonLast, button) ((((buttonLast) ^ (button)) & (buttonLast))) #ifdef __cplusplus extern "C" { diff --git a/include/dolphin/si.h b/include/dolphin/si.h index 02eb65ae..9f3d5a1b 100644 --- a/include/dolphin/si.h +++ b/include/dolphin/si.h @@ -55,7 +55,8 @@ #define SI_GBA (SI_TYPE_N64 | 0x00040000) #define SI_GC_CONTROLLER (SI_TYPE_GC | SI_GC_STANDARD) #define SI_GC_RECEIVER (SI_TYPE_GC | SI_GC_WIRELESS) -#define SI_GC_WAVEBIRD (SI_TYPE_GC | SI_GC_WIRELESS | SI_GC_STANDARD | SI_WIRELESS_STATE | SI_WIRELESS_FIX_ID) +#define SI_GC_WAVEBIRD \ + (SI_TYPE_GC | SI_GC_WIRELESS | SI_GC_STANDARD | SI_WIRELESS_STATE | SI_WIRELESS_FIX_ID) #define SI_GC_KEYBOARD (SI_TYPE_GC | 0x00200000) #define SI_GC_STEERING (SI_TYPE_GC | 0x00000000) diff --git a/include/dolphin/vi.h b/include/dolphin/vi.h index db8269c2..7ff28768 100644 --- a/include/dolphin/vi.h +++ b/include/dolphin/vi.h @@ -9,10 +9,10 @@ extern "C" { #endif void VIInit(void); -void VIConfigure(GXRenderModeObj *rm); +void VIConfigure(GXRenderModeObj* rm); void VIFlush(void); u32 VIGetTvFormat(void); -void VISetNextFrameBuffer(void *fb); +void VISetNextFrameBuffer(void* fb); void VIWaitForRetrace(void); void VISetBlack(BOOL black); diff --git a/include/musyx/musyx.h b/include/musyx/musyx.h index cdc26f34..55722524 100644 --- a/include/musyx/musyx.h +++ b/include/musyx/musyx.h @@ -230,7 +230,8 @@ typedef struct SND_PARAMETER_INFO { #define sndFXStart(fid, vol, pan) sndFXStartEx(fid, vol, pan, SND_STUDIO_DEFAULT) SND_VOICEID sndFXStartEx(SND_FXID fid, u8 vol, u8 pan, u8 studio); SND_VOICEID sndFXStartPara(SND_FXID fid, u8 vol, u8 pan, u8 studio, u8 numPara, ...); -SND_VOICEID sndFXStartParaInfo(SND_FXID fid, u8 vol, u8 pan, u8 studio, SND_PARAMETER_INFO* paraInfo); +SND_VOICEID sndFXStartParaInfo(SND_FXID fid, u8 vol, u8 pan, u8 studio, + SND_PARAMETER_INFO* paraInfo); SND_VOICEID sndFXCheck(SND_VOICEID vid); bool sndFXKeyOff(SND_VOICEID vid); bool sndFXCtrl(SND_VOICEID vid, u8 ctrl, u8 value); diff --git a/include/musyx/musyx_priv.h b/include/musyx/musyx_priv.h index 4f80a999..58b61fe8 100644 --- a/include/musyx/musyx_priv.h +++ b/include/musyx/musyx_priv.h @@ -6,7 +6,7 @@ #ifdef __cplusplus extern "C" { #endif - + typedef struct _SynthInfo { u32 freq; u8 unk[0x20c]; @@ -33,7 +33,7 @@ void synthExit(); u32 synthGetTicksPerSecond(u32 seconds); u16 sndRand(void); s16 sndSin(u32 __x); -u8* sndBSearch(u16 *key,u8 *subTab,s32 mainTab,s32 len,SND_COMPARE cmp); +u8* sndBSearch(u16* key, u8* subTab, s32 mainTab, s32 len, SND_COMPARE cmp); void sndConvertMs(u32* time); void sndConvertTicks(u32* out, u32 seconds); u32 sndConvert2Ms(u32 time); @@ -49,7 +49,6 @@ float salNormalizeVector(SND_FVECTOR* vec); void salCrossProduct(SND_FVECTOR* out, const SND_FVECTOR* a, const SND_FVECTOR* b); void salInvertMatrix(SND_FMATRIX* out, const SND_FMATRIX* in); - /* hardware */ /* TODO: Figure out what `unk` is */ bool hwAddInput(u8 studio, void* unk); diff --git a/include/musyx/seq.h b/include/musyx/seq.h index 243895a9..d85e5201 100644 --- a/include/musyx/seq.h +++ b/include/musyx/seq.h @@ -16,4 +16,3 @@ u16 seqGetMIDIPriority(s32 unk1, s32 unk2); #ifdef __cplusplus } #endif - diff --git a/include/musyx/synth.h b/include/musyx/synth.h index 030bebfb..35c06ee4 100644 --- a/include/musyx/synth.h +++ b/include/musyx/synth.h @@ -4,22 +4,22 @@ #include "musyx/musyx_priv.h" #ifndef __cplusplus extern "C" { -#endif - +#endif + typedef struct SynthVoice { - char data1[0xf4]; - u32 _f4; - VoiceID* voiceId; - char data2[0x18]; - u32 _114[2]; - u8 _11c; - u8 _11d; - u8 _11e; - u8 studio; - char data3[0x404 - 0x120]; + char data1[0xf4]; + u32 _f4; + VoiceID* voiceId; + char data2[0x18]; + u32 _114[2]; + u8 _11c; + u8 _11d; + u8 _11e; + u8 studio; + char data3[0x404 - 0x120]; } SynthVoice; -typedef void (*SND_AUX_CALLBACK)(u8 reason, SND_AUX_INFO * info, void * user); +typedef void (*SND_AUX_CALLBACK)(u8 reason, SND_AUX_INFO* info, void* user); extern SND_AUX_CALLBACK synthAuxACallback[8]; extern u8 synthAuxAMIDI[8]; @@ -34,17 +34,14 @@ s32 vidGetInternalId(SND_VOICEID id); bool synthFXSetCtrl(SND_VOICEID vid, u8 ctrl, u8 value); bool synthFXSetCtrl14(SND_VOICEID vid, u8 ctrl, u16 value); bool synthSendKeyOff(SND_VOICEID vid); -SND_VOICEID synthFXStart(SND_FXID fid, u8 vol, u8 pan, u8 studio, u8); -void synthVolume(u8 volume, u16 time, u8 volgroup2, s32, s32); - +SND_VOICEID synthFXStart(SND_FXID fid, u8 vol, u8 pan, u8 studio, u8); +void synthVolume(u8 volume, u16 time, u8 volgroup2, s32, s32); /* TODO: Move this where it belongs */ -void hwSetAUXProcessingCallbacks(u8 studio, - SND_AUX_CALLBACK auxA, void * userA, - SND_AUX_CALLBACK auxB, void * userB); +void hwSetAUXProcessingCallbacks(u8 studio, SND_AUX_CALLBACK auxA, void* userA, + SND_AUX_CALLBACK auxB, void* userB); #ifndef __cplusplus } -#endif - +#endif + #endif // __SYNTH_H__ - diff --git a/include/musyx/synth_dbtab.h b/include/musyx/synth_dbtab.h index 26289f78..dbc7f1fd 100644 --- a/include/musyx/synth_dbtab.h +++ b/include/musyx/synth_dbtab.h @@ -13,5 +13,5 @@ extern float dspDLSVolTab[129]; #ifdef __cplusplus } -#endif +#endif #endif diff --git a/include/rstl/construction_deferred.hpp b/include/rstl/construction_deferred.hpp index 168b5026..66f0d6f7 100644 --- a/include/rstl/construction_deferred.hpp +++ b/include/rstl/construction_deferred.hpp @@ -34,4 +34,4 @@ private: }; } // namespace rstl -#endif \ No newline at end of file +#endif diff --git a/include/rstl/hash_map.hpp b/include/rstl/hash_map.hpp index dcf9be31..171ad8d0 100644 --- a/include/rstl/hash_map.hpp +++ b/include/rstl/hash_map.hpp @@ -10,13 +10,15 @@ #include "rstl/vector.hpp" namespace rstl { -template < typename K, typename P, int unk, typename Select, typename Hash, typename Equal, typename Alloc = rmemory_allocator > +template < typename K, typename P, int unk, typename Select, typename Hash, typename Equal, + typename Alloc = rmemory_allocator > class hash_table { private: rstl::vector< rstl::list< P, Alloc > /*::iterator*/, Alloc > x; }; -template < typename K, typename V, typename Hash, typename Equal, typename Alloc = rmemory_allocator > +template < typename K, typename V, typename Hash, typename Equal, + typename Alloc = rmemory_allocator > class hash_map { typedef rstl::pair< K, V > Pair; diff --git a/include/rstl/pair.hpp b/include/rstl/pair.hpp index d4d13c82..dd51533f 100644 --- a/include/rstl/pair.hpp +++ b/include/rstl/pair.hpp @@ -10,7 +10,10 @@ public: inline pair() {} inline pair(const L& first, const R& second) : first(first), second(second) {} inline pair(const pair& other) : first(other.first), second(other.second) {} - inline void operator=(const pair& other) { first = other.first; second = other.second; } + inline void operator=(const pair& other) { + first = other.first; + second = other.second; + } L first; R second; diff --git a/include/rstl/pointer_iterator.hpp b/include/rstl/pointer_iterator.hpp index 269a558e..9aab80bc 100644 --- a/include/rstl/pointer_iterator.hpp +++ b/include/rstl/pointer_iterator.hpp @@ -22,8 +22,14 @@ public: const_pointer_iterator() : current(nullptr) {} const_pointer_iterator(const T* begin) : current(begin) {} - const_pointer_iterator& operator++() { ++current; return *this; } - const_pointer_iterator& operator--() { --current; return *this; } + const_pointer_iterator& operator++() { + ++current; + return *this; + } + const_pointer_iterator& operator--() { + --current; + return *this; + } T* get_pointer() const { return const_cast< T* >(current); } const T& operator*() const { return *get_pointer(); } const T* operator->() const { return get_pointer(); } @@ -31,8 +37,12 @@ public: bool operator==(const const_pointer_iterator& other) { return current == other.current; } bool operator!=(const const_pointer_iterator& other) { return current != other.current; } - friend const_pointer_iterator operator+(const const_pointer_iterator& x, int v) { return const_pointer_iterator(x.current + v); } - friend const_pointer_iterator operator-(const const_pointer_iterator& x, int v) { return const_pointer_iterator(x.current - v); } + friend const_pointer_iterator operator+(const const_pointer_iterator& x, int v) { + return const_pointer_iterator(x.current + v); + } + friend const_pointer_iterator operator-(const const_pointer_iterator& x, int v) { + return const_pointer_iterator(x.current - v); + } }; template < typename T, typename Vec, typename Alloc > @@ -54,11 +64,21 @@ public: rstl::destroy(get_pointer()); } } - pointer_iterator& operator++() { ++current; return *this; } - pointer_iterator& operator--() { --current; return *this; } + pointer_iterator& operator++() { + ++current; + return *this; + } + pointer_iterator& operator--() { + --current; + return *this; + } - friend pointer_iterator operator+(const pointer_iterator& x, int v) { return pointer_iterator(x.get_pointer() + v); } - friend pointer_iterator operator-(const pointer_iterator& x, int v) { return pointer_iterator(x.get_pointer() - v); } + friend pointer_iterator operator+(const pointer_iterator& x, int v) { + return pointer_iterator(x.get_pointer() + v); + } + friend pointer_iterator operator-(const pointer_iterator& x, int v) { + return pointer_iterator(x.get_pointer() - v); + } }; } // namespace rstl diff --git a/include/rstl/red_black_tree.hpp b/include/rstl/red_black_tree.hpp index 3147c6be..7eb06064 100644 --- a/include/rstl/red_black_tree.hpp +++ b/include/rstl/red_black_tree.hpp @@ -13,4 +13,4 @@ struct less {}; template < typename T, typename P, int U, typename S = select1st< P >, typename Cmp = less< T > > class red_black_tree {}; }; // namespace rstl -#endif \ No newline at end of file +#endif diff --git a/include/rstl/string.hpp b/include/rstl/string.hpp index 7b64da2b..6c37b670 100644 --- a/include/rstl/string.hpp +++ b/include/rstl/string.hpp @@ -9,7 +9,8 @@ namespace rstl { template < typename _CharTp > struct char_traits {}; -template < typename _CharTp, typename Traits = char_traits< _CharTp >, typename Alloc = rmemory_allocator > +template < typename _CharTp, typename Traits = char_traits< _CharTp >, + typename Alloc = rmemory_allocator > class basic_string { struct COWData { u32 x0_capacity; diff --git a/include/static_assert.hpp b/include/static_assert.hpp index 3e28d5e6..1d9fd3e2 100644 --- a/include/static_assert.hpp +++ b/include/static_assert.hpp @@ -18,8 +18,7 @@ template < class T, int N > struct check_sizeof : _n_is_equal< sizeof(T), N > {}; #ifdef __MWERKS__ -#define CHECK_SIZEOF(cls, size) \ - extern int cls##_check[check_sizeof< cls, size >::value]; +#define CHECK_SIZEOF(cls, size) extern int cls##_check[check_sizeof< cls, size >::value]; #else #define CHECK_SIZEOF(cls, size) -#endif \ No newline at end of file +#endif diff --git a/libc/locale.h b/libc/locale.h index bb93d738..ba79c678 100644 --- a/libc/locale.h +++ b/libc/locale.h @@ -36,4 +36,4 @@ struct lconv { } #endif -#endif \ No newline at end of file +#endif diff --git a/libc/math.h b/libc/math.h index f8b722ee..7db3b995 100644 --- a/libc/math.h +++ b/libc/math.h @@ -142,7 +142,8 @@ static inline int __fpclassifyd(double x) { return FP_NORMAL; } -#define fpclassify(x) (sizeof(x) == sizeof(float) ? __fpclassifyf((float)(x)) : __fpclassifyd((double)(x))) +#define fpclassify(x) \ + (sizeof(x) == sizeof(float) ? __fpclassifyf((float)(x)) : __fpclassifyd((double)(x))) #define isnormal(x) (fpclassify(x) == FP_NORMAL) #define isnan(x) (fpclassify(x) == FP_NAN) #define isinf(x) (fpclassify(x) == FP_INFINITE) diff --git a/libc/mem_funcs.h b/libc/mem_funcs.h index 0c5b0756..92f19d42 100644 --- a/libc/mem_funcs.h +++ b/libc/mem_funcs.h @@ -19,4 +19,4 @@ void __fill_mem(void* dst, int val, unsigned long n); } #endif -#endif \ No newline at end of file +#endif diff --git a/libc/stdio.h b/libc/stdio.h index 8e6872ba..af732268 100644 --- a/libc/stdio.h +++ b/libc/stdio.h @@ -1,8 +1,8 @@ #ifndef _STDIO_H_ #define _STDIO_H_ -#include #include +#include #ifdef __cplusplus extern "C" { diff --git a/src/Dolphin/ai.c b/src/Dolphin/ai.c index 5b5839f9..9d65b1ec 100644 --- a/src/Dolphin/ai.c +++ b/src/Dolphin/ai.c @@ -46,7 +46,9 @@ void AIStartDMA() { __DSPRegs[27] |= 0x8000; } void AIStopDMA(void) { __DSPRegs[27] &= ~0x8000; } -u32 AIGetDMAStartAddr(void) { return (u32)((__DSPRegs[24] & 0x03ff) << 16) | (__DSPRegs[25] & 0xffe0); } +u32 AIGetDMAStartAddr(void) { + return (u32)((__DSPRegs[24] & 0x03ff) << 16) | (__DSPRegs[25] & 0xffe0); +} AISCallback AIRegisterStreamCallback(AISCallback callback) { AISCallback ret; @@ -157,7 +159,9 @@ void AISetStreamVolLeft(u8 volume) { __AIRegs[1] = (__AIRegs[1] & ~0xFF) | (volu u8 AIGetStreamVolLeft() { return __AIRegs[1]; } -void AISetStreamVolRight(u8 volume) { __AIRegs[1] = (__AIRegs[1] & ~0xFF00) | ((volume & 0xFF) << 8); } +void AISetStreamVolRight(u8 volume) { + __AIRegs[1] = (__AIRegs[1] & ~0xFF00) | ((volume & 0xFF) << 8); +} u8 AIGetStreamVolRight() { return __AIRegs[1] >> 8; } diff --git a/src/Dolphin/card/CARDBios.c b/src/Dolphin/card/CARDBios.c index 671a2392..2fc984c0 100644 --- a/src/Dolphin/card/CARDBios.c +++ b/src/Dolphin/card/CARDBios.c @@ -5,7 +5,8 @@ #include -const char* __CARDVersion = "<< Dolphin SDK - CARD\trelease build: Sep 5 2002 05:35:20 (0x2301) >>"; +const char* __CARDVersion = + "<< Dolphin SDK - CARD\trelease build: Sep 5 2002 05:35:20 (0x2301) >>"; CARDControl __CARDBlock[2]; DVDDiskID __CARDDiskNone; @@ -73,7 +74,8 @@ void __CARDExiHandler(s32 chan, OSContext* context) { goto error; } - if ((result = (status & 0x18) ? CARD_RESULT_IOERROR : CARD_RESULT_READY) == CARD_RESULT_IOERROR && --card->retry > 0) { + if ((result = (status & 0x18) ? CARD_RESULT_IOERROR : CARD_RESULT_READY) == CARD_RESULT_IOERROR && + --card->retry > 0) { result = Retry(chan); if (result >= 0) { return; @@ -203,7 +205,8 @@ static void SetupTimeoutAlarm(CARDControl* card) { break; case 0xF4: case 0xF1: - OSSetAlarm(&card->alarm, OSSecondsToTicks((OSTime)2) * (card->sectorSize / 0x2000), TimeoutHandler); + OSSetAlarm(&card->alarm, OSSecondsToTicks((OSTime)2) * (card->sectorSize / 0x2000), + TimeoutHandler); break; } } @@ -225,7 +228,8 @@ static s32 Retry(s32 chan) { return CARD_RESULT_NOCARD; } - if (card->cmd[0] == 0x52 && !EXIImmEx(chan, (u8*)card->workArea + sizeof(CARDID), card->latency, 1)) { + if (card->cmd[0] == 0x52 && + !EXIImmEx(chan, (u8*)card->workArea + sizeof(CARDID), card->latency, 1)) { EXIDeselect(chan); EXIUnlock(chan); return CARD_RESULT_NOCARD; @@ -237,7 +241,8 @@ static s32 Retry(s32 chan) { return CARD_RESULT_READY; } - if (!EXIDma(chan, card->buffer, (s32)((card->cmd[0] == 0x52) ? 512 : 128), card->mode, __CARDTxHandler)) { + if (!EXIDma(chan, card->buffer, (s32)((card->cmd[0] == 0x52) ? 512 : 128), card->mode, + __CARDTxHandler)) { EXIDeselect(chan); EXIUnlock(chan); return CARD_RESULT_NOCARD; @@ -347,7 +352,8 @@ s32 __CARDReadSegment(s32 chan, CARDCallback callback) { result = CARD_RESULT_READY; } else if (result >= 0) { if (!EXIImmEx(chan, card->cmd, card->cmdlen, 1) || - !EXIImmEx(chan, (u8*)card->workArea + sizeof(CARDID), card->latency, 1) || // XXX use DMA if possible + !EXIImmEx(chan, (u8*)card->workArea + sizeof(CARDID), card->latency, + 1) || // XXX use DMA if possible !EXIDma(chan, card->buffer, 512, card->mode, __CARDTxHandler)) { card->txCallback = 0; EXIDeselect(chan); @@ -378,7 +384,8 @@ s32 __CARDWritePage(s32 chan, CARDCallback callback) { if (result == CARD_RESULT_BUSY) { result = CARD_RESULT_READY; } else if (result >= 0) { - if (!EXIImmEx(chan, card->cmd, card->cmdlen, 1) || !EXIDma(chan, card->buffer, 128, card->mode, __CARDTxHandler)) { + if (!EXIImmEx(chan, card->cmd, card->cmdlen, 1) || + !EXIDma(chan, card->buffer, 128, card->mode, __CARDTxHandler)) { card->exiCallback = 0; EXIDeselect(chan); EXIUnlock(chan); diff --git a/src/Dolphin/card/CARDBlock.c b/src/Dolphin/card/CARDBlock.c index ac283e59..b6305f12 100644 --- a/src/Dolphin/card/CARDBlock.c +++ b/src/Dolphin/card/CARDBlock.c @@ -154,5 +154,6 @@ s32 __CARDUpdateFatBlock(s32 chan, u16* fat, CARDCallback callback) { DCStoreRange(fat, 0x2000); card->eraseCallback = callback; - return __CARDEraseSector(chan, (((u32)fat - (u32)card->workArea) / 8192u) * card->sectorSize, EraseCallback); + return __CARDEraseSector(chan, (((u32)fat - (u32)card->workArea) / 8192u) * card->sectorSize, + EraseCallback); } diff --git a/src/Dolphin/card/CARDCheck.c b/src/Dolphin/card/CARDCheck.c index ceeb050b..fbf09d45 100644 --- a/src/Dolphin/card/CARDCheck.c +++ b/src/Dolphin/card/CARDCheck.c @@ -120,7 +120,8 @@ static s32 VerifyFAT(CARDControl* card, int* outCurrent) { for (i = 0; i < 2; i++) { fatp = fat[i] = (u16*)((u8*)card->workArea + (3 + i) * CARD_SYSTEM_BLOCK_SIZE); - __CARDCheckSum(&fatp[CARD_FAT_CHECKCODE], CARD_SYSTEM_BLOCK_SIZE - sizeof(u32), &checkSum, &checkSumInv); + __CARDCheckSum(&fatp[CARD_FAT_CHECKCODE], CARD_SYSTEM_BLOCK_SIZE - sizeof(u32), &checkSum, + &checkSumInv); if (fatp[CARD_FAT_CHECKSUM] != checkSum || fatp[CARD_FAT_CHECKSUMINV] != checkSumInv) { ++errors; current = i; @@ -282,8 +283,8 @@ s32 CARDCheckExAsync(s32 chan, s32* xferBytes, CARDCallback callback) { updateOrphan = TRUE; } if (updateOrphan) { - __CARDCheckSum(&card->currentFat[CARD_FAT_CHECKCODE], CARD_SYSTEM_BLOCK_SIZE - sizeof(u32), &card->currentFat[CARD_FAT_CHECKSUM], - &card->currentFat[CARD_FAT_CHECKSUMINV]); + __CARDCheckSum(&card->currentFat[CARD_FAT_CHECKCODE], CARD_SYSTEM_BLOCK_SIZE - sizeof(u32), + &card->currentFat[CARD_FAT_CHECKSUM], &card->currentFat[CARD_FAT_CHECKSUMINV]); } memcpy(fat[currentFat ^ 1], fat[currentFat], CARD_SYSTEM_BLOCK_SIZE); diff --git a/src/Dolphin/card/CARDCreate.c b/src/Dolphin/card/CARDCreate.c index 880f3638..6802b91e 100644 --- a/src/Dolphin/card/CARDCreate.c +++ b/src/Dolphin/card/CARDCreate.c @@ -51,7 +51,8 @@ error: } } -s32 CARDCreateAsync(s32 chan, const char* fileName, u32 size, CARDFileInfo* fileInfo, CARDCallback callback) { +s32 CARDCreateAsync(s32 chan, const char* fileName, u32 size, CARDFileInfo* fileInfo, + CARDCallback callback) { CARDControl* card; CARDDir* dir; CARDDir* ent; @@ -82,7 +83,8 @@ s32 CARDCreateAsync(s32 chan, const char* fileName, u32 size, CARDFileInfo* file freeNo = fileNo; } } else if (memcmp(ent->gameName, card->diskID->gameName, sizeof(ent->gameName)) == 0 && - memcmp(ent->company, card->diskID->company, sizeof(ent->company)) == 0 && __CARDCompareFileName(ent, fileName)) { + memcmp(ent->company, card->diskID->company, sizeof(ent->company)) == 0 && + __CARDCompareFileName(ent, fileName)) { return __CARDPutControlBlock(card, CARD_RESULT_EXIST); } } diff --git a/src/Dolphin/card/CARDFormat.c b/src/Dolphin/card/CARDFormat.c index d9f0b10c..ebfff8ba 100644 --- a/src/Dolphin/card/CARDFormat.c +++ b/src/Dolphin/card/CARDFormat.c @@ -24,16 +24,18 @@ static void FormatCallback(s32 chan, s32 result) { } } else if (card->formatStep < 2 * CARD_NUM_SYSTEM_BLOCK) { int step = card->formatStep - CARD_NUM_SYSTEM_BLOCK; - result = __CARDWrite(chan, (u32)card->sectorSize * step, CARD_SYSTEM_BLOCK_SIZE, (u8*)card->workArea + (CARD_SYSTEM_BLOCK_SIZE * step), - FormatCallback); + result = __CARDWrite(chan, (u32)card->sectorSize * step, CARD_SYSTEM_BLOCK_SIZE, + (u8*)card->workArea + (CARD_SYSTEM_BLOCK_SIZE * step), FormatCallback); if (result >= 0) { return; } } else { card->currentDir = (CARDDir*)((u8*)card->workArea + (1 + 0) * CARD_SYSTEM_BLOCK_SIZE); - memcpy(card->currentDir, (u8*)card->workArea + (1 + 1) * CARD_SYSTEM_BLOCK_SIZE, CARD_SYSTEM_BLOCK_SIZE); + memcpy(card->currentDir, (u8*)card->workArea + (1 + 1) * CARD_SYSTEM_BLOCK_SIZE, + CARD_SYSTEM_BLOCK_SIZE); card->currentFat = (u16*)((u8*)card->workArea + (3 + 0) * CARD_SYSTEM_BLOCK_SIZE); - memcpy(card->currentFat, (u8*)card->workArea + (3 + 1) * CARD_SYSTEM_BLOCK_SIZE, CARD_SYSTEM_BLOCK_SIZE); + memcpy(card->currentFat, (u8*)card->workArea + (3 + 1) * CARD_SYSTEM_BLOCK_SIZE, + CARD_SYSTEM_BLOCK_SIZE); } error: @@ -96,7 +98,8 @@ s32 __CARDFormatRegionAsync(s32 chan, u16 encode, CARDCallback callback) { memset(dir, 0xff, CARD_SYSTEM_BLOCK_SIZE); check = __CARDGetDirCheck(dir); check->checkCode = i; - __CARDCheckSum(dir, CARD_SYSTEM_BLOCK_SIZE - sizeof(u32), &check->checkSum, &check->checkSumInv); + __CARDCheckSum(dir, CARD_SYSTEM_BLOCK_SIZE - sizeof(u32), &check->checkSum, + &check->checkSumInv); } for (i = 0; i < 2; i++) { fat = (u16*)((u8*)card->workArea + (3 + i) * CARD_SYSTEM_BLOCK_SIZE); @@ -104,7 +107,8 @@ s32 __CARDFormatRegionAsync(s32 chan, u16 encode, CARDCallback callback) { fat[CARD_FAT_CHECKCODE] = (u16)i; fat[CARD_FAT_FREEBLOCKS] = (u16)(card->cBlock - CARD_NUM_SYSTEM_BLOCK); fat[CARD_FAT_LASTSLOT] = CARD_NUM_SYSTEM_BLOCK - 1; - __CARDCheckSum(&fat[CARD_FAT_CHECKCODE], CARD_SYSTEM_BLOCK_SIZE - sizeof(u32), &fat[CARD_FAT_CHECKSUM], &fat[CARD_FAT_CHECKSUMINV]); + __CARDCheckSum(&fat[CARD_FAT_CHECKCODE], CARD_SYSTEM_BLOCK_SIZE - sizeof(u32), + &fat[CARD_FAT_CHECKSUM], &fat[CARD_FAT_CHECKSUMINV]); } card->apiCallback = callback ? callback : __CARDDefaultApiCallback; @@ -118,4 +122,6 @@ s32 __CARDFormatRegionAsync(s32 chan, u16 encode, CARDCallback callback) { return result; } -s32 CARDFormatAsync(s32 chan, CARDCallback callback) { return __CARDFormatRegionAsync(chan, __CARDGetFontEncode(), callback); } +s32 CARDFormatAsync(s32 chan, CARDCallback callback) { + return __CARDFormatRegionAsync(chan, __CARDGetFontEncode(), callback); +} diff --git a/src/Dolphin/card/CARDMount.c b/src/Dolphin/card/CARDMount.c index e1bd3b6c..fd361e9a 100644 --- a/src/Dolphin/card/CARDMount.c +++ b/src/Dolphin/card/CARDMount.c @@ -215,8 +215,8 @@ static s32 DoMount(s32 chan) { } step = card->mountStep - 2; - result = __CARDRead(chan, (u32)card->sectorSize * step, CARD_SYSTEM_BLOCK_SIZE, (u8*)card->workArea + (CARD_SYSTEM_BLOCK_SIZE * step), - __CARDMountCallback); + result = __CARDRead(chan, (u32)card->sectorSize * step, CARD_SYSTEM_BLOCK_SIZE, + (u8*)card->workArea + (CARD_SYSTEM_BLOCK_SIZE * step), __CARDMountCallback); if (result < 0) { __CARDPutControlBlock(card, result); } @@ -269,7 +269,8 @@ void __CARDMountCallback(s32 chan, s32 result) { callback(chan, result); } -s32 CARDMountAsync(s32 chan, void* workArea, CARDCallback detachCallback, CARDCallback attachCallback) { +s32 CARDMountAsync(s32 chan, void* workArea, CARDCallback detachCallback, + CARDCallback attachCallback) { CARDControl* card; BOOL enabled; diff --git a/src/Dolphin/card/CARDNet.c b/src/Dolphin/card/CARDNet.c index b4330a4b..828dbad9 100644 --- a/src/Dolphin/card/CARDNet.c +++ b/src/Dolphin/card/CARDNet.c @@ -14,7 +14,6 @@ s32 CARDGetSerialNo(s32 chan, u64* serialNo) { u64 code; s32 result; - if (!(0 <= chan && chan < 2)) { return CARD_RESULT_FATAL_ERROR; } diff --git a/src/Dolphin/card/CARDOpen.c b/src/Dolphin/card/CARDOpen.c index 2f5a3f4f..60234bf1 100644 --- a/src/Dolphin/card/CARDOpen.c +++ b/src/Dolphin/card/CARDOpen.c @@ -33,8 +33,8 @@ s32 __CARDAccess(CARDControl* card, CARDDir* ent) { return CARD_RESULT_NOFILE; } - if (card->diskID == &__CARDDiskNone || - (memcmp(ent->gameName, card->diskID->gameName, 4) == 0 && memcmp(ent->company, card->diskID->company, 2) == 0)) { + if (card->diskID == &__CARDDiskNone || (memcmp(ent->gameName, card->diskID->gameName, 4) == 0 && + memcmp(ent->company, card->diskID->company, 2) == 0)) { return CARD_RESULT_READY; } @@ -120,6 +120,4 @@ s32 CARDClose(CARDFileInfo* fileInfo) { return __CARDPutControlBlock(card, CARD_RESULT_READY); } -BOOL __CARDIsOpened(CARDControl* card, s32 fileNo) { - return FALSE; -} +BOOL __CARDIsOpened(CARDControl* card, s32 fileNo) { return FALSE; } diff --git a/src/Dolphin/card/CARDRead.c b/src/Dolphin/card/CARDRead.c index df16ef58..ffffc5f9 100644 --- a/src/Dolphin/card/CARDRead.c +++ b/src/Dolphin/card/CARDRead.c @@ -17,13 +17,15 @@ s32 __CARDSeek(CARDFileInfo* fileInfo, s32 length, s32 offset, CARDControl** pca return result; } - if (!CARDIsValidBlockNo(card, fileInfo->iBlock) || card->cBlock * card->sectorSize <= fileInfo->offset) { + if (!CARDIsValidBlockNo(card, fileInfo->iBlock) || + card->cBlock * card->sectorSize <= fileInfo->offset) { return __CARDPutControlBlock(card, CARD_RESULT_FATAL_ERROR); } dir = __CARDGetDirBlock(card); ent = &dir[fileInfo->fileNo]; - if (ent->length * card->sectorSize <= offset || ent->length * card->sectorSize < offset + length) { + if (ent->length * card->sectorSize <= offset || + ent->length * card->sectorSize < offset + length) { return __CARDPutControlBlock(card, CARD_RESULT_LIMIT); } @@ -84,7 +86,8 @@ static void ReadCallback(s32 chan, s32 result) { } result = __CARDRead(chan, card->sectorSize * (u32)fileInfo->iBlock, - (fileInfo->length < card->sectorSize) ? fileInfo->length : card->sectorSize, card->buffer, ReadCallback); + (fileInfo->length < card->sectorSize) ? fileInfo->length : card->sectorSize, + card->buffer, ReadCallback); if (result < 0) { goto error; } @@ -98,7 +101,8 @@ error: callback(chan, result); } -s32 CARDReadAsync(CARDFileInfo* fileInfo, void* buf, s32 length, s32 offset, CARDCallback callback) { +s32 CARDReadAsync(CARDFileInfo* fileInfo, void* buf, s32 length, s32 offset, + CARDCallback callback) { CARDControl* card; s32 result; CARDDir* dir; @@ -128,7 +132,8 @@ s32 CARDReadAsync(CARDFileInfo* fileInfo, void* buf, s32 length, s32 offset, CAR offset = (s32)OFFSET(fileInfo->offset, card->sectorSize); length = (length < card->sectorSize - offset) ? length : card->sectorSize - offset; - result = __CARDRead(fileInfo->chan, card->sectorSize * (u32)fileInfo->iBlock + offset, length, buf, ReadCallback); + result = __CARDRead(fileInfo->chan, card->sectorSize * (u32)fileInfo->iBlock + offset, length, + buf, ReadCallback); if (result < 0) { __CARDPutControlBlock(card, result); } diff --git a/src/Dolphin/card/CARDStat.c b/src/Dolphin/card/CARDStat.c index c453a4e8..152d535d 100644 --- a/src/Dolphin/card/CARDStat.c +++ b/src/Dolphin/card/CARDStat.c @@ -106,8 +106,10 @@ s32 CARDSetStatusAsync(s32 chan, s32 fileNo, CARDStat* stat, CARDCallback callba CARDDir* ent; s32 result; - if (fileNo < 0 || CARD_MAX_FILE <= fileNo || (stat->iconAddr != 0xffffffff && CARD_READ_SIZE <= stat->iconAddr) || - (stat->commentAddr != 0xffffffff && CARD_SYSTEM_BLOCK_SIZE - CARD_COMMENT_SIZE < stat->commentAddr % CARD_SYSTEM_BLOCK_SIZE)) { + if (fileNo < 0 || CARD_MAX_FILE <= fileNo || + (stat->iconAddr != 0xffffffff && CARD_READ_SIZE <= stat->iconAddr) || + (stat->commentAddr != 0xffffffff && + CARD_SYSTEM_BLOCK_SIZE - CARD_COMMENT_SIZE < stat->commentAddr % CARD_SYSTEM_BLOCK_SIZE)) { return CARD_RESULT_FATAL_ERROR; } result = __CARDGetControlBlock(chan, &card); diff --git a/src/Dolphin/card/CARDUnlock.c b/src/Dolphin/card/CARDUnlock.c index d56801f1..ebe83009 100644 --- a/src/Dolphin/card/CARDUnlock.c +++ b/src/Dolphin/card/CARDUnlock.c @@ -9,22 +9,28 @@ static void InitCallback(void* task); static void DoneCallback(void* task); static u8 CardData[] ATTRIBUTE_ALIGN(32) = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x02, 0xFF, 0x00, 0x21, 0x13, 0x06, 0x12, 0x03, 0x12, 0x04, 0x13, 0x05, 0x00, 0x92, 0x00, 0xFF, - 0x00, 0x88, 0xFF, 0xFF, 0x00, 0x89, 0xFF, 0xFF, 0x00, 0x8A, 0xFF, 0xFF, 0x00, 0x8B, 0xFF, 0xFF, 0x8F, 0x00, 0x02, 0xBF, 0x00, 0x88, - 0x16, 0xFC, 0xDC, 0xD1, 0x16, 0xFD, 0x00, 0x00, 0x16, 0xFB, 0x00, 0x01, 0x02, 0xBF, 0x00, 0x8E, 0x25, 0xFF, 0x03, 0x80, 0xFF, 0x00, - 0x02, 0x94, 0x00, 0x27, 0x02, 0xBF, 0x00, 0x8E, 0x1F, 0xDF, 0x24, 0xFF, 0x02, 0x40, 0x0F, 0xFF, 0x00, 0x98, 0x04, 0x00, 0x00, 0x9A, - 0x00, 0x10, 0x00, 0x99, 0x00, 0x00, 0x8E, 0x00, 0x02, 0xBF, 0x00, 0x94, 0x02, 0xBF, 0x86, 0x44, 0x02, 0xBF, 0x00, 0x88, 0x16, 0xFC, - 0xDC, 0xD1, 0x16, 0xFD, 0x00, 0x03, 0x16, 0xFB, 0x00, 0x01, 0x8F, 0x00, 0x02, 0xBF, 0x00, 0x8E, 0x03, 0x80, 0xCD, 0xD1, 0x02, 0x94, - 0x00, 0x48, 0x27, 0xFF, 0x03, 0x80, 0x00, 0x01, 0x02, 0x95, 0x00, 0x5A, 0x03, 0x80, 0x00, 0x02, 0x02, 0x95, 0x80, 0x00, 0x02, 0x9F, - 0x00, 0x48, 0x00, 0x21, 0x8E, 0x00, 0x02, 0xBF, 0x00, 0x8E, 0x25, 0xFF, 0x02, 0xBF, 0x00, 0x8E, 0x25, 0xFF, 0x02, 0xBF, 0x00, 0x8E, - 0x25, 0xFF, 0x02, 0xBF, 0x00, 0x8E, 0x00, 0xC5, 0xFF, 0xFF, 0x03, 0x40, 0x0F, 0xFF, 0x1C, 0x9F, 0x02, 0xBF, 0x00, 0x8E, 0x00, 0xC7, - 0xFF, 0xFF, 0x02, 0xBF, 0x00, 0x8E, 0x00, 0xC6, 0xFF, 0xFF, 0x02, 0xBF, 0x00, 0x8E, 0x00, 0xC0, 0xFF, 0xFF, 0x02, 0xBF, 0x00, 0x8E, - 0x20, 0xFF, 0x03, 0x40, 0x0F, 0xFF, 0x1F, 0x5F, 0x02, 0xBF, 0x00, 0x8E, 0x21, 0xFF, 0x02, 0xBF, 0x00, 0x8E, 0x23, 0xFF, 0x12, 0x05, - 0x12, 0x06, 0x02, 0x9F, 0x80, 0xB5, 0x00, 0x21, 0x27, 0xFC, 0x03, 0xC0, 0x80, 0x00, 0x02, 0x9D, 0x00, 0x88, 0x02, 0xDF, 0x27, 0xFE, - 0x03, 0xC0, 0x80, 0x00, 0x02, 0x9C, 0x00, 0x8E, 0x02, 0xDF, 0x2E, 0xCE, 0x2C, 0xCF, 0x00, 0xF8, 0xFF, 0xCD, 0x00, 0xF9, 0xFF, 0xC9, - 0x00, 0xFA, 0xFF, 0xCB, 0x26, 0xC9, 0x02, 0xC0, 0x00, 0x04, 0x02, 0x9D, 0x00, 0x9C, 0x02, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x02, 0xFF, 0x00, 0x21, + 0x13, 0x06, 0x12, 0x03, 0x12, 0x04, 0x13, 0x05, 0x00, 0x92, 0x00, 0xFF, 0x00, 0x88, 0xFF, 0xFF, + 0x00, 0x89, 0xFF, 0xFF, 0x00, 0x8A, 0xFF, 0xFF, 0x00, 0x8B, 0xFF, 0xFF, 0x8F, 0x00, 0x02, 0xBF, + 0x00, 0x88, 0x16, 0xFC, 0xDC, 0xD1, 0x16, 0xFD, 0x00, 0x00, 0x16, 0xFB, 0x00, 0x01, 0x02, 0xBF, + 0x00, 0x8E, 0x25, 0xFF, 0x03, 0x80, 0xFF, 0x00, 0x02, 0x94, 0x00, 0x27, 0x02, 0xBF, 0x00, 0x8E, + 0x1F, 0xDF, 0x24, 0xFF, 0x02, 0x40, 0x0F, 0xFF, 0x00, 0x98, 0x04, 0x00, 0x00, 0x9A, 0x00, 0x10, + 0x00, 0x99, 0x00, 0x00, 0x8E, 0x00, 0x02, 0xBF, 0x00, 0x94, 0x02, 0xBF, 0x86, 0x44, 0x02, 0xBF, + 0x00, 0x88, 0x16, 0xFC, 0xDC, 0xD1, 0x16, 0xFD, 0x00, 0x03, 0x16, 0xFB, 0x00, 0x01, 0x8F, 0x00, + 0x02, 0xBF, 0x00, 0x8E, 0x03, 0x80, 0xCD, 0xD1, 0x02, 0x94, 0x00, 0x48, 0x27, 0xFF, 0x03, 0x80, + 0x00, 0x01, 0x02, 0x95, 0x00, 0x5A, 0x03, 0x80, 0x00, 0x02, 0x02, 0x95, 0x80, 0x00, 0x02, 0x9F, + 0x00, 0x48, 0x00, 0x21, 0x8E, 0x00, 0x02, 0xBF, 0x00, 0x8E, 0x25, 0xFF, 0x02, 0xBF, 0x00, 0x8E, + 0x25, 0xFF, 0x02, 0xBF, 0x00, 0x8E, 0x25, 0xFF, 0x02, 0xBF, 0x00, 0x8E, 0x00, 0xC5, 0xFF, 0xFF, + 0x03, 0x40, 0x0F, 0xFF, 0x1C, 0x9F, 0x02, 0xBF, 0x00, 0x8E, 0x00, 0xC7, 0xFF, 0xFF, 0x02, 0xBF, + 0x00, 0x8E, 0x00, 0xC6, 0xFF, 0xFF, 0x02, 0xBF, 0x00, 0x8E, 0x00, 0xC0, 0xFF, 0xFF, 0x02, 0xBF, + 0x00, 0x8E, 0x20, 0xFF, 0x03, 0x40, 0x0F, 0xFF, 0x1F, 0x5F, 0x02, 0xBF, 0x00, 0x8E, 0x21, 0xFF, + 0x02, 0xBF, 0x00, 0x8E, 0x23, 0xFF, 0x12, 0x05, 0x12, 0x06, 0x02, 0x9F, 0x80, 0xB5, 0x00, 0x21, + 0x27, 0xFC, 0x03, 0xC0, 0x80, 0x00, 0x02, 0x9D, 0x00, 0x88, 0x02, 0xDF, 0x27, 0xFE, 0x03, 0xC0, + 0x80, 0x00, 0x02, 0x9C, 0x00, 0x8E, 0x02, 0xDF, 0x2E, 0xCE, 0x2C, 0xCF, 0x00, 0xF8, 0xFF, 0xCD, + 0x00, 0xF9, 0xFF, 0xC9, 0x00, 0xFA, 0xFF, 0xCB, 0x26, 0xC9, 0x02, 0xC0, 0x00, 0x04, 0x02, 0x9D, + 0x00, 0x9C, 0x02, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; typedef struct DecodeParameters { diff --git a/src/Dolphin/card/CARDWrite.c b/src/Dolphin/card/CARDWrite.c index 7b5c7ff5..69a11b35 100644 --- a/src/Dolphin/card/CARDWrite.c +++ b/src/Dolphin/card/CARDWrite.c @@ -68,7 +68,8 @@ static void EraseCallback(s32 chan, s32 result) { } fileInfo = card->fileInfo; - result = __CARDWrite(chan, card->sectorSize * (u32)fileInfo->iBlock, card->sectorSize, card->buffer, WriteCallback); + result = __CARDWrite(chan, card->sectorSize * (u32)fileInfo->iBlock, card->sectorSize, + card->buffer, WriteCallback); if (result < 0) { goto error; } @@ -81,7 +82,8 @@ error: callback(chan, result); } -s32 CARDWriteAsync(CARDFileInfo* fileInfo, const void* buf, s32 length, s32 offset, CARDCallback callback) { +s32 CARDWriteAsync(CARDFileInfo* fileInfo, const void* buf, s32 length, s32 offset, + CARDCallback callback) { CARDControl* card; s32 result; CARDDir* dir; @@ -106,7 +108,8 @@ s32 CARDWriteAsync(CARDFileInfo* fileInfo, const void* buf, s32 length, s32 offs DCStoreRange((void*)buf, (u32)length); card->apiCallback = callback ? callback : __CARDDefaultApiCallback; card->buffer = (void*)buf; - result = __CARDEraseSector(fileInfo->chan, card->sectorSize * (u32)fileInfo->iBlock, EraseCallback); + result = + __CARDEraseSector(fileInfo->chan, card->sectorSize * (u32)fileInfo->iBlock, EraseCallback); if (result < 0) { __CARDPutControlBlock(card, result); } diff --git a/src/Dolphin/dsp/dsp.c b/src/Dolphin/dsp/dsp.c index bb4f204b..719e6c89 100644 --- a/src/Dolphin/dsp/dsp.c +++ b/src/Dolphin/dsp/dsp.c @@ -7,7 +7,8 @@ extern "C" { #endif -static const char* __DSPVersion = "<< Dolphin SDK - DSP\trelease build: Sep 5 2002 05:35:13 (0x2301) >>"; +static const char* __DSPVersion = + "<< Dolphin SDK - DSP\trelease build: Sep 5 2002 05:35:13 (0x2301) >>"; static s32 __DSP_init_flag = 0; extern DSPTaskInfo* __DSP_tmp_task; extern DSPTaskInfo* __DSP_last_task; @@ -18,89 +19,82 @@ extern void __DSPHandler(__OSInterrupt, OSContext*); extern void __DSP_debug_printf(const char* fmt, ...); extern void __DSP_boot_task(DSPTaskInfo* task); -u32 DSPCheckMailToDSP(void) { - return (__DSPRegs[0] >> 0xF) & 1; -} +u32 DSPCheckMailToDSP(void) { return (__DSPRegs[0] >> 0xF) & 1; } - -u32 DSPCheckMailFromDSP(void) { - return (__DSPRegs[2] >> 0xF) & 1; -} +u32 DSPCheckMailFromDSP(void) { return (__DSPRegs[2] >> 0xF) & 1; } u32 DSPReadMailFromDSP() { - u16 reg1; - u16 reg2; - reg1 = __DSPRegs[2]; - reg2 = __DSPRegs[3]; - return reg1 << 16 | reg2; + u16 reg1; + u16 reg2; + reg1 = __DSPRegs[2]; + reg2 = __DSPRegs[3]; + return reg1 << 16 | reg2; } void DSPSendMailToDSP(u32 mail) { - __DSPRegs[0] = mail >> 16; - __DSPRegs[1] = mail; + __DSPRegs[0] = mail >> 16; + __DSPRegs[1] = mail; } void DSPInit(void) { - u32 oldInt; - u16 reg; - __DSP_debug_printf("DSPInit(): Build Date: %s %s\n", "Sep 5 2002", "05:35:13"); + u32 oldInt; + u16 reg; + __DSP_debug_printf("DSPInit(): Build Date: %s %s\n", "Sep 5 2002", "05:35:13"); - if (__DSP_init_flag == 1) { - return; - } - OSRegisterVersion(__DSPVersion); - oldInt = OSDisableInterrupts(); - __OSSetInterruptHandler(7, __DSPHandler); - __OSUnmaskInterrupts(0x1000000); - reg = __DSPRegs[5]; - reg = (reg & ~0xA8) | 0x800; - __DSPRegs[5] = reg; - reg = __DSPRegs[5]; - reg = reg & ~0xAC; - __DSPRegs[5] = reg; - __DSP_tmp_task = 0; - __DSP_curr_task = 0; - __DSP_last_task = 0; - __DSP_first_task = 0; - __DSP_init_flag = 1; - OSRestoreInterrupts(oldInt); + if (__DSP_init_flag == 1) { + return; + } + OSRegisterVersion(__DSPVersion); + oldInt = OSDisableInterrupts(); + __OSSetInterruptHandler(7, __DSPHandler); + __OSUnmaskInterrupts(0x1000000); + reg = __DSPRegs[5]; + reg = (reg & ~0xA8) | 0x800; + __DSPRegs[5] = reg; + reg = __DSPRegs[5]; + reg = reg & ~0xAC; + __DSPRegs[5] = reg; + __DSP_tmp_task = 0; + __DSP_curr_task = 0; + __DSP_last_task = 0; + __DSP_first_task = 0; + __DSP_init_flag = 1; + OSRestoreInterrupts(oldInt); } void DSPReset(void) { - u16 reg; - u32 oldInt; - oldInt = OSDisableInterrupts(); - reg = __DSPRegs[5]; - __DSPRegs[5] = (reg & ~0xA8) | 0x801; - __DSP_init_flag = 0; - OSRestoreInterrupts(oldInt); + u16 reg; + u32 oldInt; + oldInt = OSDisableInterrupts(); + reg = __DSPRegs[5]; + __DSPRegs[5] = (reg & ~0xA8) | 0x801; + __DSP_init_flag = 0; + OSRestoreInterrupts(oldInt); } void DSPHalt(void) { - u16 reg; - u32 oldInt; - oldInt = OSDisableInterrupts(); - reg = __DSPRegs[5]; - __DSPRegs[5] = (reg & ~0xA8) | 4; - OSRestoreInterrupts(oldInt); + u16 reg; + u32 oldInt; + oldInt = OSDisableInterrupts(); + reg = __DSPRegs[5]; + __DSPRegs[5] = (reg & ~0xA8) | 4; + OSRestoreInterrupts(oldInt); } -u32 DSPGetDMAStatus(void) { - return __DSPRegs[5] & 0x200; -} +u32 DSPGetDMAStatus(void) { return __DSPRegs[5] & 0x200; } DSPTaskInfo* DSPAddTask(DSPTaskInfo* task) { - u32 oldInt; - oldInt = OSDisableInterrupts(); - __DSP_insert_task(task); - task->state = 0; - task->flags = 1; - OSRestoreInterrupts(oldInt); - if (task == __DSP_first_task) { - __DSP_boot_task(task); - } + u32 oldInt; + oldInt = OSDisableInterrupts(); + __DSP_insert_task(task); + task->state = 0; + task->flags = 1; + OSRestoreInterrupts(oldInt); + if (task == __DSP_first_task) { + __DSP_boot_task(task); + } - return task; + return task; } #ifdef __cplusplus diff --git a/src/Dolphin/dsp/dsp_debug.c b/src/Dolphin/dsp/dsp_debug.c index 78a8fb79..22455a34 100644 --- a/src/Dolphin/dsp/dsp_debug.c +++ b/src/Dolphin/dsp/dsp_debug.c @@ -1,6 +1,5 @@ #include "types.h" - void __DSP_debug_printf(const char* fmt, ...) { - //UNUSED(fmt); + // UNUSED(fmt); } diff --git a/src/Dolphin/dvd/dvd.c b/src/Dolphin/dvd/dvd.c index e344cc1e..65c67f6b 100644 --- a/src/Dolphin/dvd/dvd.c +++ b/src/Dolphin/dvd/dvd.c @@ -111,7 +111,8 @@ static void stateReadingFST() { OSPanic("dvd.c", 630, "DVDChangeDisk(): FST in the new disc is too big. "); } - DVDLowRead(bootInfo->FSTLocation, OSRoundUp32B(BB2.FSTLength), BB2.FSTPosition, cbForStateReadingFST); + DVDLowRead(bootInfo->FSTLocation, OSRoundUp32B(BB2.FSTLength), BB2.FSTPosition, + cbForStateReadingFST); } static void cbForStateReadingFST(u32 intType) { @@ -402,9 +403,13 @@ static void stateCheckID() { } } -static void stateCheckID3() { DVDLowAudioBufferConfig(IDShouldBe->streaming, 10, cbForStateCheckID3); } +static void stateCheckID3() { + DVDLowAudioBufferConfig(IDShouldBe->streaming, 10, cbForStateCheckID3); +} -static void stateCheckID2a() { DVDLowAudioBufferConfig(IDShouldBe->streaming, 10, cbForStateCheckID2a); } +static void stateCheckID2a() { + DVDLowAudioBufferConfig(IDShouldBe->streaming, 10, cbForStateCheckID2a); +} static void cbForStateCheckID2a(u32 intType) { if (intType == 16) { @@ -422,7 +427,9 @@ static void cbForStateCheckID2a(u32 intType) { DVDLowRequestError(cbForStateGettingError); } -static void stateCheckID2() { DVDLowRead(&BB2, OSRoundUp32B(sizeof(BB2)), 0x420, cbForStateCheckID2); } +static void stateCheckID2() { + DVDLowRead(&BB2, OSRoundUp32B(sizeof(BB2)), 0x420, cbForStateCheckID2); +} static void cbForStateCheckID1(u32 intType) { if (intType == 16) { @@ -516,7 +523,9 @@ static void stateCoverClosed() { } } -static void stateCoverClosed_CMD(DVDCommandBlock* block) { DVDLowReadDiskID(&CurrDiskID, cbForStateCoverClosed); } +static void stateCoverClosed_CMD(DVDCommandBlock* block) { + DVDLowReadDiskID(&CurrDiskID, cbForStateCoverClosed); +} static void cbForStateCoverClosed(u32 intType) { if (intType == 16) { @@ -632,8 +641,8 @@ static void stateBusy(DVDCommandBlock* block) { } else { __DIRegs[1] = __DIRegs[1]; block->currTransferSize = MIN(block->length - block->transferredSize, 0x80000); - DVDLowRead((void*)((u8*)block->addr + block->transferredSize), block->currTransferSize, block->offset + block->transferredSize, - cbForStateBusy); + DVDLowRead((void*)((u8*)block->addr + block->transferredSize), block->currTransferSize, + block->offset + block->transferredSize, cbForStateBusy); } break; case 2: @@ -698,7 +707,8 @@ static void stateBusy(DVDCommandBlock* block) { static u32 ImmCommand[] = {0xffffffff, 0xffffffff, 0xffffffff}; /* Somehow this got included even though the function is stripped? O.o */ -static char string_DVDChangeDiskAsyncMsg[] = "DVDChangeDiskAsync(): You can't specify NULL to company name. \n"; +static char string_DVDChangeDiskAsyncMsg[] = + "DVDChangeDiskAsync(): You can't specify NULL to company name. \n"; static u32 DmaCommand[] = {0xffffffff}; inline static BOOL IsImmCommandWithResult(u32 command) { @@ -883,7 +893,8 @@ static BOOL issueCommand(s32 prio, DVDCommandBlock* block) { BOOL level; BOOL result; - if (autoInvalidation && (block->command == 1 || block->command == 4 || block->command == 5 || block->command == 14)) { + if (autoInvalidation && + (block->command == 1 || block->command == 4 || block->command == 5 || block->command == 14)) { DCInvalidateRange(block->addr, block->length); } @@ -901,7 +912,8 @@ static BOOL issueCommand(s32 prio, DVDCommandBlock* block) { return result; } -BOOL DVDReadAbsAsyncPrio(DVDCommandBlock* block, void* addr, s32 length, s32 offset, DVDCBCallback callback, s32 prio) { +BOOL DVDReadAbsAsyncPrio(DVDCommandBlock* block, void* addr, s32 length, s32 offset, + DVDCBCallback callback, s32 prio) { BOOL idle; block->command = 1; block->addr = addr; @@ -913,7 +925,8 @@ BOOL DVDReadAbsAsyncPrio(DVDCommandBlock* block, void* addr, s32 length, s32 off idle = issueCommand(prio, block); return idle; } -BOOL DVDReadAbsAsyncForBS(DVDCommandBlock* block, void* addr, s32 length, s32 offset, DVDCBCallback callback) { +BOOL DVDReadAbsAsyncForBS(DVDCommandBlock* block, void* addr, s32 length, s32 offset, + DVDCBCallback callback) { BOOL idle; block->command = 4; block->addr = addr; @@ -938,7 +951,8 @@ BOOL DVDReadDiskID(DVDCommandBlock* block, DVDDiskID* diskID, DVDCBCallback call idle = issueCommand(2, block); return idle; } -BOOL DVDPrepareStreamAbsAsync(DVDCommandBlock* block, u32 length, u32 offset, DVDCBCallback callback) { +BOOL DVDPrepareStreamAbsAsync(DVDCommandBlock* block, u32 length, u32 offset, + DVDCBCallback callback) { BOOL idle; block->command = 6; block->length = length; @@ -1239,7 +1253,9 @@ s32 DVDCancel(DVDCommandBlock* block) { return 0; } -static void cbForCancelSync(s32 result, DVDCommandBlock* block) { OSWakeupThread(&__DVDThreadQueue); } +static void cbForCancelSync(s32 result, DVDCommandBlock* block) { + OSWakeupThread(&__DVDThreadQueue); +} inline BOOL DVDCancelAllAsync(DVDCBCallback callback) { BOOL enabled; diff --git a/src/Dolphin/os/OSAudioSystem.c b/src/Dolphin/os/OSAudioSystem.c index 0a640734..1eddcbf8 100644 --- a/src/Dolphin/os/OSAudioSystem.c +++ b/src/Dolphin/os/OSAudioSystem.c @@ -85,10 +85,10 @@ void __OSInitAudioSystem(void) { void __OSStopAudioSystem(void) { u32 r28; -#define waitUntil(load, mask) \ - r28 = (load); \ - while (r28 & (mask)) { \ - r28 = (load); \ +#define waitUntil(load, mask) \ + r28 = (load); \ + while (r28 & (mask)) { \ + r28 = (load); \ } __DSPRegs[5] = 0x804; diff --git a/src/Dolphin/os/OSReset.c b/src/Dolphin/os/OSReset.c index 026b269c..68e77941 100644 --- a/src/Dolphin/os/OSReset.c +++ b/src/Dolphin/os/OSReset.c @@ -1,69 +1,70 @@ volatile u8 DAT_800030e2 : 0x800030e2; typedef struct Unk { - u8 pad[0x24]; - u32 resetCode; + u8 pad[0x24]; + u32 resetCode; } Unk; volatile Unk DAT_cc003000 : 0xcc003000; typedef struct Unk2 { - u16 _0; - u16 _2; + u16 _0; + u16 _2; } Unk2; volatile Unk2 DAT_cc002000 : 0xcc002000; typedef struct OSResetQueue { - OSResetFunctionInfo* first; - OSResetFunctionInfo* last; + OSResetFunctionInfo* first; + OSResetFunctionInfo* last; } OSResetQueue; - void OSRegisterResetFunction(OSResetFunctionInfo* func) { - OSResetFunctionInfo* tmp; - OSResetFunctionInfo* iter; + OSResetFunctionInfo* tmp; + OSResetFunctionInfo* iter; - for (iter = ResetFunctionQueue.first; iter && iter->priority <= func->priority; iter = iter->next); + for (iter = ResetFunctionQueue.first; iter && iter->priority <= func->priority; iter = iter->next) + ; - if (iter == NULL) { - tmp = ResetFunctionQueue.last; - if (tmp == NULL) { - ResetFunctionQueue.first = func; - } else { - tmp->next = func; - } - func->prev = tmp; - func->next = NULL; - ResetFunctionQueue.last = func; - return; - } - - func->next = iter; - tmp = iter->prev; - iter->prev = func; - func->prev = tmp; + if (iter == NULL) { + tmp = ResetFunctionQueue.last; if (tmp == NULL) { - ResetFunctionQueue.first = func; - return; + ResetFunctionQueue.first = func; + } else { + tmp->next = func; } - tmp->next = func; + func->prev = tmp; + func->next = NULL; + ResetFunctionQueue.last = func; + return; + } + + func->next = iter; + tmp = iter->prev; + iter->prev = func; + func->prev = tmp; + if (tmp == NULL) { + ResetFunctionQueue.first = func; + return; + } + tmp->next = func; } s32 __OSCallResetFunctions(s32 arg0) { - OSResetFunctionInfo* iter; - s32 retCode = 0; - u32 ret; + OSResetFunctionInfo* iter; + s32 retCode = 0; + u32 ret; - for (iter = ResetFunctionQueue.first; iter != NULL; iter = iter->next) { - retCode |= !iter->func(arg0); - } - retCode |= !__OSSyncSram(); - if (retCode) { - return 0; - } - return 1; + for (iter = ResetFunctionQueue.first; iter != NULL; iter = iter->next) { + retCode |= !iter->func(arg0); + } + retCode |= !__OSSyncSram(); + if (retCode) { + return 0; + } + return 1; } asm void Reset(register s32 resetCode) { + // clang-format off nofralloc b lbl_8038315C lbl_80383140: @@ -102,22 +103,21 @@ lbl_803831A0: b lbl_803831A0 lbl_803831A8: b lbl_80383140 + // clang-format on } void __OSDoHotReset(s32 arg0) { - OSDisableInterrupts(); - DAT_cc002000._2 = 0; - ICFlashInvalidate(); - Reset(arg0 * 8); + OSDisableInterrupts(); + DAT_cc002000._2 = 0; + ICFlashInvalidate(); + Reset(arg0 * 8); } -void OSResetSystem(int reset, u32 resetCode, BOOL forceMenu) { - -} +void OSResetSystem(int reset, u32 resetCode, BOOL forceMenu) {} u32 OSGetResetCode(void) { - if (DAT_800030e2 != 0) { - return 0x80000000; - } - return ((DAT_cc003000.resetCode & ~7) >> 3); + if (DAT_800030e2 != 0) { + return 0x80000000; + } + return ((DAT_cc003000.resetCode & ~7) >> 3); } diff --git a/src/Dolphin/os/__start.c b/src/Dolphin/os/__start.c index ff16adc1..9db19ecc 100644 --- a/src/Dolphin/os/__start.c +++ b/src/Dolphin/os/__start.c @@ -7,8 +7,8 @@ void __check_pad3(void) { return; } -__declspec (weak) asm void __start(void) { -// clang-format off +__declspec(weak) asm void __start(void) { + // clang-format off nofralloc bl __init_registers bl __init_hardware @@ -108,11 +108,11 @@ _goto_skip_init_bba: mr r4, r15 bl main b exit -// clang-format on + // clang-format on } asm static void __init_registers(void) { -// clang-format off + // clang-format off nofralloc lis r1, _stack_addr@h ori r1, r1, _stack_addr@l @@ -121,14 +121,13 @@ asm static void __init_registers(void) { lis r13, _SDA_BASE_@h ori r13, r13, _SDA_BASE_@l blr -// clang-format on + // clang-format on } __declspec(section ".init") extern __rom_copy_info _rom_copy_info[]; __declspec(section ".init") extern __bss_init_info _bss_init_info[]; -inline static void __copy_rom_section(void* dst, const void* src, - unsigned long size) { +inline static void __copy_rom_section(void* dst, const void* src, unsigned long size) { if (size && (dst != src)) { memcpy(dst, src, size); __flush_cache(dst, size); diff --git a/src/Kyoto/Alloc/CSmallAllocPool.cpp b/src/Kyoto/Alloc/CSmallAllocPool.cpp index 5cb2d047..710d5ec6 100644 --- a/src/Kyoto/Alloc/CSmallAllocPool.cpp +++ b/src/Kyoto/Alloc/CSmallAllocPool.cpp @@ -19,30 +19,30 @@ void* CSmallAllocPool::FindFree(int len) { if (xc_cachedBookKeepingOffset == nullptr) { xc_cachedBookKeepingOffset = x4_bookKeeping; } - u8* curKeepingOffset = static_cast(xc_cachedBookKeepingOffset); - bookKeepingPtr = static_cast(x4_bookKeeping); + u8* curKeepingOffset = static_cast< u8* >(xc_cachedBookKeepingOffset); + bookKeepingPtr = static_cast< u8* >(x4_bookKeeping); u8* bookKeepingEndPtr = bookKeepingPtr + ((u32)x8_numBlocks >> 1); u8* curKeepingIter = curKeepingOffset; - while(true) { + while (true) { u8* iter; - if (static_cast(curKeepingIter)[0] != 0 || curKeepingIter == bookKeepingEndPtr) { + if (static_cast< u8* >(curKeepingIter)[0] != 0 || curKeepingIter == bookKeepingEndPtr) { if (curKeepingIter == bookKeepingEndPtr) { - curKeepingIter = bookKeepingPtr; + curKeepingIter = bookKeepingPtr; } else { - s32 tmp = static_cast(curKeepingIter)[0]; - s32 reg = tmp >> 4; - curKeepingIter += (reg / 2); + s32 tmp = static_cast< u8* >(curKeepingIter)[0]; + s32 reg = tmp >> 4; + curKeepingIter += (reg / 2); } } else { - u8* tempIter = curKeepingIter + size; - iter = curKeepingIter + 1; - while (iter != curKeepingOffset && iter != bookKeepingEndPtr && iter != tempIter) { - if (static_cast(iter)[0] == 0) { - iter++; - } else { - break; - } + u8* tempIter = curKeepingIter + size; + iter = curKeepingIter + 1; + while (iter != curKeepingOffset && iter != bookKeepingEndPtr && iter != tempIter) { + if (static_cast< u8* >(iter)[0] == 0) { + iter++; + } else { + break; } + } if (iter == curKeepingIter + size) { if (iter == bookKeepingEndPtr) { @@ -59,7 +59,7 @@ void* CSmallAllocPool::FindFree(int len) { if (iter == bookKeepingEndPtr) { curKeepingIter = bookKeepingPtr; } else { - curKeepingIter = iter; + curKeepingIter = iter; } } if (curKeepingIter == curKeepingOffset) { diff --git a/src/Kyoto/Alloc/IAllocator.cpp b/src/Kyoto/Alloc/IAllocator.cpp index ef7793d2..bac410b7 100644 --- a/src/Kyoto/Alloc/IAllocator.cpp +++ b/src/Kyoto/Alloc/IAllocator.cpp @@ -2,10 +2,13 @@ #include "Kyoto/Basics/COsContext.hpp" -IAllocator::SMetrics::SMetrics(uint heapSize, uint unk1, uint unk2, uint unk3, uint unk4, uint heapSize2, uint unk5, uint unk6, uint unk7, uint unk8, - uint unk9, uint smallAllocNumAllocs, uint smallAllocAllocatedSize, uint smallAllocRemainingSize, - uint mediumAllocNumAllocs, uint mediumAllocAllocatedSize, uint mediumAllocBlocksAvailable, uint unk10, uint unk11, - uint unk12, uint mediumAllocTotalAllocated, uint fakeStatics) +IAllocator::SMetrics::SMetrics(uint heapSize, uint unk1, uint unk2, uint unk3, uint unk4, + uint heapSize2, uint unk5, uint unk6, uint unk7, uint unk8, + uint unk9, uint smallAllocNumAllocs, uint smallAllocAllocatedSize, + uint smallAllocRemainingSize, uint mediumAllocNumAllocs, + uint mediumAllocAllocatedSize, uint mediumAllocBlocksAvailable, + uint unk10, uint unk11, uint unk12, uint mediumAllocTotalAllocated, + uint fakeStatics) : x0_heapSize(heapSize) , x4_(unk1) , x8_(unk2) diff --git a/src/Kyoto/Audio/CSfxHandle.cpp b/src/Kyoto/Audio/CSfxHandle.cpp index d6947357..f2b9e9db 100644 --- a/src/Kyoto/Audio/CSfxHandle.cpp +++ b/src/Kyoto/Audio/CSfxHandle.cpp @@ -1,5 +1,4 @@ #include uint CSfxHandle::mRefCount = 0; -CSfxHandle::CSfxHandle(uint value) : mID((++mRefCount << 14) | (value & 0xFFF)) { -} +CSfxHandle::CSfxHandle(uint value) : mID((++mRefCount << 14) | (value & 0xFFF)) {} diff --git a/src/Kyoto/Basics/CSWDataDolphin.cpp b/src/Kyoto/Basics/CSWDataDolphin.cpp index 674695a9..5e962b2b 100644 --- a/src/Kyoto/Basics/CSWDataDolphin.cpp +++ b/src/Kyoto/Basics/CSWDataDolphin.cpp @@ -16,6 +16,6 @@ void CStopwatch::CSWData::Wait(f32 v) const { bool CStopwatch::CSWData::Initialize() { x0_timerFreq = OS_TIMER_CLOCK; x8_timerFreqO1M = x0_timerFreq / 1000000ll; - x10_timerPeriod = 1.f / static_cast(x0_timerFreq); + x10_timerPeriod = 1.f / static_cast< f32 >(x0_timerFreq); return true; } diff --git a/src/Kyoto/CCrc32.cpp b/src/Kyoto/CCrc32.cpp index f404c765..ff64a618 100644 --- a/src/Kyoto/CCrc32.cpp +++ b/src/Kyoto/CCrc32.cpp @@ -1,42 +1,46 @@ #include "Kyoto/CCrc32.hpp" static const uint gkCRC32Table[256] = { - 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, 0x0EDB8832, - 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, 0x1DB71064, 0x6AB020F2, - 0xF3B97148, 0x84BE41DE, 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, 0x136C9856, 0x646BA8C0, 0xFD62F97A, - 0x8A65C9EC, 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, - 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3, - 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, - 0xCFBA9599, 0xB8BDA50F, 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, 0x2F6F7C87, 0x58684C11, 0xC1611DAB, - 0xB6662D3D, 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, - 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, 0x6B6B51F4, - 0x1C6C6162, 0x856530D8, 0xF262004E, 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, 0x65B0D9C6, 0x12B7E950, - 0x8BBEB8EA, 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, 0x4DB26158, 0x3AB551CE, 0xA3BC0074, - 0xD4BB30E2, 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, - 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, 0x5768B525, - 0x206F85B3, 0xB966D409, 0xCE61E49F, 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17, 0x2EB40D81, - 0xB7BD5C3B, 0xC0BA6CAD, 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, 0xEAD54739, 0x9DD277AF, 0x04DB2615, - 0x73DC1683, 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, - 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, 0xFED41B76, - 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, 0xD6D6A3E8, 0xA1D1937E, - 0x38D8C2C4, 0x4FDFF252, 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, - 0x41047A60, 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, - 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 0xC2D7FFA7, - 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, 0x9C0906A9, 0xEB0E363F, - 0x72076785, 0x05005713, 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, - 0x0BDBDF21, 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, - 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, 0xA00AE278, - 0xD70DD2EE, 0x4E048354, 0x3903B3C2, 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, 0xAED16A4A, 0xD9D65ADC, - 0x40DF0B66, 0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, 0xBDBDF21C, 0xCABAC28A, 0x53B39330, - 0x24B4A3A6, 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, - 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D, + 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, + 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, + 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, + 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, + 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, + 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, + 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, + 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, + 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, + 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, + 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, + 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, + 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, + 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, + 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, + 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, + 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, + 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, + 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, + 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, + 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, + 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, + 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, + 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, + 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, + 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, + 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, + 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, + 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, + 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, + 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, + 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D, }; uint CCRC32::Calculate(const void* data, uint length) { - uint checksum = 0xFFFFFFFF; - const s8* buf = static_cast(data); - while ((length--) > 0) { - checksum = (checksum >> 8) ^ gkCRC32Table[(checksum ^ *(buf++)) & 0xFF]; - } - return checksum;; + uint checksum = 0xFFFFFFFF; + const s8* buf = static_cast< const s8* >(data); + while ((length--) > 0) { + checksum = (checksum >> 8) ^ gkCRC32Table[(checksum ^ *(buf++)) & 0xFF]; + } + return checksum; + ; } diff --git a/src/Kyoto/CTimeProvider.cpp b/src/Kyoto/CTimeProvider.cpp index f6cd002b..97a5fb09 100644 --- a/src/Kyoto/CTimeProvider.cpp +++ b/src/Kyoto/CTimeProvider.cpp @@ -1,10 +1,11 @@ -#include #include +#include #include CTimeProvider* CTimeProvider::gCurrentTimeProvider = nullptr; -CTimeProvider::CTimeProvider(const float& time) : x0_currentTime(time), x4_first(true), x8_lastProvider(gCurrentTimeProvider) { +CTimeProvider::CTimeProvider(const float& time) +: x0_currentTime(time), x4_first(true), x8_lastProvider(gCurrentTimeProvider) { if (x8_lastProvider != nullptr) { x8_lastProvider->x4_first = false; } diff --git a/src/Kyoto/Graphics/CCubeMaterial.cpp b/src/Kyoto/Graphics/CCubeMaterial.cpp index 2b64890b..1665eb4e 100644 --- a/src/Kyoto/Graphics/CCubeMaterial.cpp +++ b/src/Kyoto/Graphics/CCubeMaterial.cpp @@ -7,25 +7,30 @@ #include inline void CGX::SetAlphaCompare(GXCompare comp0, u8 ref0, GXAlphaOp op, GXCompare comp1, u8 ref1) { - uint flags = MaskAndShiftLeft(comp0, 7, 0) | MaskAndShiftLeft(ref0, 0xFF, 3) | MaskAndShiftLeft(op, 7, 11) | - MaskAndShiftLeft(comp1, 7, 14) | MaskAndShiftLeft(ref1, 0xFF, 17); + uint flags = MaskAndShiftLeft(comp0, 7, 0) | MaskAndShiftLeft(ref0, 0xFF, 3) | + MaskAndShiftLeft(op, 7, 11) | MaskAndShiftLeft(comp1, 7, 14) | + MaskAndShiftLeft(ref1, 0xFF, 17); if (sGXState.x248_alphaCompare != flags) { sGXState.x248_alphaCompare = flags; GXSetAlphaCompare(comp0, ref0, op, comp1, ref1); GXSetZCompLoc(comp0 == GX_ALWAYS); } } -inline void CGX::SetBlendMode(GXBlendMode mode, GXBlendFactor srcFac, GXBlendFactor dstFac, GXLogicOp op) { - uint flags = MaskAndShiftLeft(mode, 3, 0) | MaskAndShiftLeft(srcFac, 7, 2) | MaskAndShiftLeft(dstFac, 7, 5) | MaskAndShiftLeft(op, 0xF, 8); +inline void CGX::SetBlendMode(GXBlendMode mode, GXBlendFactor srcFac, GXBlendFactor dstFac, + GXLogicOp op) { + uint flags = MaskAndShiftLeft(mode, 3, 0) | MaskAndShiftLeft(srcFac, 7, 2) | + MaskAndShiftLeft(dstFac, 7, 5) | MaskAndShiftLeft(op, 0xF, 8); if (flags != sGXState.x56_blendMode) { update_fog(flags); sGXState.x56_blendMode = flags; GXSetBlendMode(mode, srcFac, dstFac, op); } } -inline void CGX::SetTevOrder(GXTevStageID stageId, GXTexCoordID texCoord, GXTexMapID texMap, GXChannelID color) { +inline void CGX::SetTevOrder(GXTevStageID stageId, GXTexCoordID texCoord, GXTexMapID texMap, + GXChannelID color) { STevState& state = sGXState.x68_tevStates[stageId]; - uint flags = MaskAndShiftLeft(texCoord, 0xFF, 0) | MaskAndShiftLeft(texMap, 0xFF, 8) | MaskAndShiftLeft(color, 0xFF, 16); + uint flags = MaskAndShiftLeft(texCoord, 0xFF, 0) | MaskAndShiftLeft(texMap, 0xFF, 8) | + MaskAndShiftLeft(color, 0xFF, 16); if (state.x14_tevOrderFlags != flags) { state.x14_tevOrderFlags = flags; GXSetTevOrder(stageId, texCoord, texMap, color); @@ -73,7 +78,8 @@ void CCubeMaterial::SetupBlendMode(uint blendFactors, const CModelFlags& flags, CGX::SetBlendMode(GX_BM_BLEND, newSrcFactor, newDstFactor, GX_LO_CLEAR); } -void HandleTev(int tevCur, const uint* materialDataCur, const uint* texMapTexCoordFlags, bool shadowMapsEnabled) { +void HandleTev(int tevCur, const uint* materialDataCur, const uint* texMapTexCoordFlags, + bool shadowMapsEnabled) { const GXTevStageID stage = static_cast< GXTevStageID >(tevCur); const uint colorArgs = shadowMapsEnabled ? 0x7a04f : SBig(materialDataCur[0]); const uint alphaArgs = SBig(materialDataCur[1]); @@ -84,7 +90,8 @@ void HandleTev(int tevCur, const uint* materialDataCur, const uint* texMapTexCoo uint tmtcFlags = SBig(*texMapTexCoordFlags); uint matFlags = SBig(materialDataCur[4]); - CGX::SetTevOrder(stage, static_cast< GXTexCoordID >(tmtcFlags & 0xFF), static_cast< GXTexMapID >(tmtcFlags >> 8 & 0xFF), + CGX::SetTevOrder(stage, static_cast< GXTexCoordID >(tmtcFlags & 0xFF), + static_cast< GXTexMapID >(tmtcFlags >> 8 & 0xFF), static_cast< GXChannelID >(matFlags & 0xFF)); CGX::SetTevKColorSel(stage, static_cast< GXTevKColorSel >(matFlags >> 0x8 & 0xFF)); CGX::SetTevKAlphaSel(stage, static_cast< GXTevKAlphaSel >(matFlags >> 0x10 & 0xFF)); @@ -105,7 +112,8 @@ uint HandleAnimatedUV(const uint* uvAnim, GXTexMtx texMtx, GXPTTexMtx ptTexMtx) const f32* params = reinterpret_cast< const f32* >(uvAnim + 1); switch (type) { case 0: { - CTransform4f xf = CGraphics::GetViewMatrix().GetQuickInverse().MultiplyIgnoreTranslation(CGraphics::GetModelMatrix()); + CTransform4f xf = CGraphics::GetViewMatrix().GetQuickInverse().MultiplyIgnoreTranslation( + CGraphics::GetModelMatrix()); xf.SetTranslation(CVector3f::Zero()); CGX::LoadTexMtxImm(xf.GetCStyleMatrix(), texMtx, GX_MTX3x4); CGX::LoadTexMtxImm(postMtx, ptTexMtx, GX_MTX3x4); @@ -202,7 +210,8 @@ uint HandleAnimatedUV(const uint* uvAnim, GXTexMtx texMtx, GXPTTexMtx ptTexMtx) {0.f, 0.f, 0.f, 1.f}, }; const CTransform4f& vm = CGraphics::GetViewMatrix(); - CTransform4f xf = CGraphics::GetViewMatrix().GetQuickInverse().MultiplyIgnoreTranslation(CGraphics::GetModelMatrix()); + CTransform4f xf = CGraphics::GetViewMatrix().GetQuickInverse().MultiplyIgnoreTranslation( + CGraphics::GetModelMatrix()); f32 v = SBig(params[0]) / 2.f; f32 v03 = 0.025f * (vm.Get03() + vm.Get13()) * SBig(params[1]); f32 v13 = 0.05f * vm.Get23() * SBig(params[1]); @@ -222,4 +231,4 @@ uint HandleAnimatedUV(const uint* uvAnim, GXTexMtx texMtx, GXPTTexMtx ptTexMtx) default: return 0; } -} \ No newline at end of file +} diff --git a/src/Kyoto/Graphics/CGX.cpp b/src/Kyoto/Graphics/CGX.cpp index 1b64d14b..fb01df6f 100644 --- a/src/Kyoto/Graphics/CGX.cpp +++ b/src/Kyoto/Graphics/CGX.cpp @@ -41,17 +41,19 @@ void CGX::SetChanMatColor(EChannelId channel, const GXColor& color) { } } -void CGX::SetChanCtrl(EChannelId channel, GXBool enable, GXColorSrc ambSrc, GXColorSrc matSrc, GXLightID lights, GXDiffuseFn diffFn, - GXAttnFn attnFn) { +void CGX::SetChanCtrl(EChannelId channel, GXBool enable, GXColorSrc ambSrc, GXColorSrc matSrc, + GXLightID lights, GXDiffuseFn diffFn, GXAttnFn attnFn) { u16& state = sGXState.x34_chanCtrls[channel]; u16 prevFlags = sGXState.x30_prevChanCtrls[channel]; if (lights == GX_LIGHT_NULL) { enable = GX_FALSE; } - uint flags = MaskAndShiftLeft(enable, 1, 0) | MaskAndShiftLeft(ambSrc, 1, 1) | MaskAndShiftLeft(matSrc, 1, 2) | - MaskAndShiftLeft(lights, 0xFF, 3) | MaskAndShiftLeft(diffFn, 3, 11) | MaskAndShiftLeft(attnFn, 3, 13); + uint flags = MaskAndShiftLeft(enable, 1, 0) | MaskAndShiftLeft(ambSrc, 1, 1) | + MaskAndShiftLeft(matSrc, 1, 2) | MaskAndShiftLeft(lights, 0xFF, 3) | + MaskAndShiftLeft(diffFn, 3, 11) | MaskAndShiftLeft(attnFn, 3, 13); state = flags; - sGXState.x4c_chanFlags = ((flags != prevFlags) << (channel + 1)) | (sGXState.x4c_chanFlags & ~(1 << (channel + 1))); + sGXState.x4c_chanFlags = + ((flags != prevFlags) << (channel + 1)) | (sGXState.x4c_chanFlags & ~(1 << (channel + 1))); } void CGX::SetNumTevStages(u8 num) { @@ -68,8 +70,10 @@ void CGX::SetTevKColor(GXTevKColorID id, const GXColor& color) { } } -void CGX::SetTevColorIn(GXTevStageID stageId, GXTevColorArg a, GXTevColorArg b, GXTevColorArg c, GXTevColorArg d) { - uint flags = MaskAndShiftLeft(a, 0x1F, 0) | MaskAndShiftLeft(b, 0x1F, 5) | MaskAndShiftLeft(c, 0x1F, 10) | MaskAndShiftLeft(d, 0x1F, 15); +void CGX::SetTevColorIn(GXTevStageID stageId, GXTevColorArg a, GXTevColorArg b, GXTevColorArg c, + GXTevColorArg d) { + uint flags = MaskAndShiftLeft(a, 0x1F, 0) | MaskAndShiftLeft(b, 0x1F, 5) | + MaskAndShiftLeft(c, 0x1F, 10) | MaskAndShiftLeft(d, 0x1F, 15); STevState& state = sGXState.x68_tevStates[stageId]; if (flags != state.x0_colorInArgs) { state.x0_colorInArgs = flags; @@ -77,8 +81,10 @@ void CGX::SetTevColorIn(GXTevStageID stageId, GXTevColorArg a, GXTevColorArg b, } } -void CGX::SetTevAlphaIn(GXTevStageID stageId, GXTevAlphaArg a, GXTevAlphaArg b, GXTevAlphaArg c, GXTevAlphaArg d) { - uint flags = MaskAndShiftLeft(a, 0x1F, 0) | MaskAndShiftLeft(b, 0x1F, 5) | MaskAndShiftLeft(c, 0x1F, 10) | MaskAndShiftLeft(d, 0x1F, 15); +void CGX::SetTevAlphaIn(GXTevStageID stageId, GXTevAlphaArg a, GXTevAlphaArg b, GXTevAlphaArg c, + GXTevAlphaArg d) { + uint flags = MaskAndShiftLeft(a, 0x1F, 0) | MaskAndShiftLeft(b, 0x1F, 5) | + MaskAndShiftLeft(c, 0x1F, 10) | MaskAndShiftLeft(d, 0x1F, 15); STevState& state = sGXState.x68_tevStates[stageId]; if (flags != state.x4_alphaInArgs) { state.x4_alphaInArgs = flags; @@ -86,9 +92,11 @@ void CGX::SetTevAlphaIn(GXTevStageID stageId, GXTevAlphaArg a, GXTevAlphaArg b, } } -void CGX::SetTevColorOp(GXTevStageID stageId, GXTevOp op, GXTevBias bias, GXTevScale scale, GXBool clamp, GXTevRegID outReg) { - uint flags = MaskAndShiftLeft(op, 0xF, 0) | MaskAndShiftLeft(bias, 3, 4) | MaskAndShiftLeft(scale, 3, 6) | MaskAndShiftLeft(clamp, 1, 8) | - MaskAndShiftLeft(outReg, 3, 9); +void CGX::SetTevColorOp(GXTevStageID stageId, GXTevOp op, GXTevBias bias, GXTevScale scale, + GXBool clamp, GXTevRegID outReg) { + uint flags = MaskAndShiftLeft(op, 0xF, 0) | MaskAndShiftLeft(bias, 3, 4) | + MaskAndShiftLeft(scale, 3, 6) | MaskAndShiftLeft(clamp, 1, 8) | + MaskAndShiftLeft(outReg, 3, 9); STevState& state = sGXState.x68_tevStates[stageId]; if (flags != state.x8_colorOps) { state.x8_colorOps = flags; @@ -101,14 +109,18 @@ void CGX::SetTevColorOp_Compressed(GXTevStageID stageId, uint flags) { if (flags != state.x8_colorOps) { state.x8_colorOps = flags; GXSetTevColorOp(stageId, static_cast< GXTevOp >(ShiftRightAndMask(flags, 0xF, 0)), - static_cast< GXTevBias >(ShiftRightAndMask(flags, 3, 4)), static_cast< GXTevScale >(ShiftRightAndMask(flags, 3, 6)), - static_cast< GXBool >(ShiftRightAndMask(flags, 1, 8)), static_cast< GXTevRegID >(ShiftRightAndMask(flags, 3, 9))); + static_cast< GXTevBias >(ShiftRightAndMask(flags, 3, 4)), + static_cast< GXTevScale >(ShiftRightAndMask(flags, 3, 6)), + static_cast< GXBool >(ShiftRightAndMask(flags, 1, 8)), + static_cast< GXTevRegID >(ShiftRightAndMask(flags, 3, 9))); } } -void CGX::SetTevAlphaOp(GXTevStageID stageId, GXTevOp op, GXTevBias bias, GXTevScale scale, GXBool clamp, GXTevRegID outReg) { - uint flags = MaskAndShiftLeft(op, 0xF, 0) | MaskAndShiftLeft(bias, 3, 4) | MaskAndShiftLeft(scale, 3, 6) | MaskAndShiftLeft(clamp, 1, 8) | - MaskAndShiftLeft(outReg, 3, 9); +void CGX::SetTevAlphaOp(GXTevStageID stageId, GXTevOp op, GXTevBias bias, GXTevScale scale, + GXBool clamp, GXTevRegID outReg) { + uint flags = MaskAndShiftLeft(op, 0xF, 0) | MaskAndShiftLeft(bias, 3, 4) | + MaskAndShiftLeft(scale, 3, 6) | MaskAndShiftLeft(clamp, 1, 8) | + MaskAndShiftLeft(outReg, 3, 9); STevState& state = sGXState.x68_tevStates[stageId]; if (flags != state.xc_alphaOps) { state.xc_alphaOps = flags; @@ -121,8 +133,10 @@ void CGX::SetTevAlphaOp_Compressed(GXTevStageID stageId, uint flags) { if (flags != state.xc_alphaOps) { state.xc_alphaOps = flags; GXSetTevAlphaOp(stageId, static_cast< GXTevOp >(ShiftRightAndMask(flags, 0xF, 0)), - static_cast< GXTevBias >(ShiftRightAndMask(flags, 3, 4)), static_cast< GXTevScale >(ShiftRightAndMask(flags, 3, 6)), - static_cast< GXBool >(ShiftRightAndMask(flags, 1, 8)), static_cast< GXTevRegID >(ShiftRightAndMask(flags, 3, 9))); + static_cast< GXTevBias >(ShiftRightAndMask(flags, 3, 4)), + static_cast< GXTevScale >(ShiftRightAndMask(flags, 3, 6)), + static_cast< GXBool >(ShiftRightAndMask(flags, 1, 8)), + static_cast< GXTevRegID >(ShiftRightAndMask(flags, 3, 9))); } } @@ -142,9 +156,11 @@ void CGX::SetTevKAlphaSel(GXTevStageID stageId, GXTevKAlphaSel sel) { } } -void CGX::SetTevOrder(GXTevStageID stageId, GXTexCoordID texCoord, GXTexMapID texMap, GXChannelID color) { +void CGX::SetTevOrder(GXTevStageID stageId, GXTexCoordID texCoord, GXTexMapID texMap, + GXChannelID color) { STevState& state = sGXState.x68_tevStates[stageId]; - uint flags = MaskAndShiftLeft(texCoord, 0xFF, 0) | MaskAndShiftLeft(texMap, 0xFF, 8) | MaskAndShiftLeft(color, 0xFF, 16); + uint flags = MaskAndShiftLeft(texCoord, 0xFF, 0) | MaskAndShiftLeft(texMap, 0xFF, 8) | + MaskAndShiftLeft(color, 0xFF, 16); if (state.x14_tevOrderFlags != flags) { state.x14_tevOrderFlags = flags; GXSetTevOrder(stageId, texCoord, texMap, color); @@ -152,7 +168,8 @@ void CGX::SetTevOrder(GXTevStageID stageId, GXTexCoordID texCoord, GXTexMapID te } void CGX::SetBlendMode(GXBlendMode mode, GXBlendFactor srcFac, GXBlendFactor dstFac, GXLogicOp op) { - uint flags = MaskAndShiftLeft(mode, 3, 0) | MaskAndShiftLeft(srcFac, 7, 2) | MaskAndShiftLeft(dstFac, 7, 5) | MaskAndShiftLeft(op, 0xF, 8); + uint flags = MaskAndShiftLeft(mode, 3, 0) | MaskAndShiftLeft(srcFac, 7, 2) | + MaskAndShiftLeft(dstFac, 7, 5) | MaskAndShiftLeft(op, 0xF, 8); if (flags != sGXState.x56_blendMode) { update_fog(flags); sGXState.x56_blendMode = flags; @@ -170,8 +187,9 @@ void CGX::SetZMode(bool compareEnable, GXCompare func, bool updateEnable) { } void CGX::SetAlphaCompare(GXCompare comp0, u8 ref0, GXAlphaOp op, GXCompare comp1, u8 ref1) { - uint flags = MaskAndShiftLeft(comp0, 7, 0) | MaskAndShiftLeft(ref0, 0xFF, 3) | MaskAndShiftLeft(op, 7, 11) | - MaskAndShiftLeft(comp1, 7, 14) | MaskAndShiftLeft(ref1, 0xFF, 17); + uint flags = MaskAndShiftLeft(comp0, 7, 0) | MaskAndShiftLeft(ref0, 0xFF, 3) | + MaskAndShiftLeft(op, 7, 11) | MaskAndShiftLeft(comp1, 7, 14) | + MaskAndShiftLeft(ref1, 0xFF, 17); if (sGXState.x248_alphaCompare != flags) { sGXState.x248_alphaCompare = flags; GXSetAlphaCompare(comp0, ref0, op, comp1, ref1); @@ -179,15 +197,20 @@ void CGX::SetAlphaCompare(GXCompare comp0, u8 ref0, GXAlphaOp op, GXCompare comp } } -void CGX::SetTevIndirect(GXTevStageID stageId, GXIndTexStageID indStage, GXIndTexFormat fmt, GXIndTexBiasSel biasSel, GXIndTexMtxID mtxSel, - GXIndTexWrap wrapS, GXIndTexWrap wrapT, GXBool addPrev, GXBool indLod, GXIndTexAlphaSel alphaSel) { +void CGX::SetTevIndirect(GXTevStageID stageId, GXIndTexStageID indStage, GXIndTexFormat fmt, + GXIndTexBiasSel biasSel, GXIndTexMtxID mtxSel, GXIndTexWrap wrapS, + GXIndTexWrap wrapT, GXBool addPrev, GXBool indLod, + GXIndTexAlphaSel alphaSel) { STevState& state = sGXState.x68_tevStates[stageId]; - uint flags = MaskAndShiftLeft(indStage, 3, 0) | MaskAndShiftLeft(fmt, 3, 2) | MaskAndShiftLeft(biasSel, 7, 4) | - MaskAndShiftLeft(mtxSel, 15, 7) | MaskAndShiftLeft(wrapS, 7, 11) | MaskAndShiftLeft(wrapT, 7, 14) | - MaskAndShiftLeft(addPrev, 1, 17) | MaskAndShiftLeft(indLod, 1, 18) | MaskAndShiftLeft(alphaSel, 3, 19); + uint flags = MaskAndShiftLeft(indStage, 3, 0) | MaskAndShiftLeft(fmt, 3, 2) | + MaskAndShiftLeft(biasSel, 7, 4) | MaskAndShiftLeft(mtxSel, 15, 7) | + MaskAndShiftLeft(wrapS, 7, 11) | MaskAndShiftLeft(wrapT, 7, 14) | + MaskAndShiftLeft(addPrev, 1, 17) | MaskAndShiftLeft(indLod, 1, 18) | + MaskAndShiftLeft(alphaSel, 3, 19); if (state.x10_indFlags != flags) { state.x10_indFlags = flags; - GXSetTevIndirect(stageId, indStage, fmt, biasSel, mtxSel, wrapS, wrapT, addPrev, indLod, alphaSel); + GXSetTevIndirect(stageId, indStage, fmt, biasSel, mtxSel, wrapS, wrapT, addPrev, indLod, + alphaSel); } } @@ -199,7 +222,8 @@ void CGX::SetTevDirect(GXTevStageID stageId) { } } -void CGX::SetTexCoordGen(GXTexCoordID dstCoord, GXTexGenType fn, GXTexGenSrc src, GXTexMtx mtx, GXBool normalize, GXPTTexMtx postMtx) { +void CGX::SetTexCoordGen(GXTexCoordID dstCoord, GXTexGenType fn, GXTexGenSrc src, GXTexMtx mtx, + GXBool normalize, GXPTTexMtx postMtx) { STexState& state = sGXState.x228_texStates[dstCoord]; uint vm = (mtx - GX_TEXMTX0) / 3; uint vp = postMtx - GX_PTTEXMTX0; @@ -207,8 +231,9 @@ void CGX::SetTexCoordGen(GXTexCoordID dstCoord, GXTexGenType fn, GXTexGenSrc src // Similarly to GXTexMtx, this should also be divided by 3 vp /= 3; #endif - uint flags = MaskAndShiftLeft(fn, 0xF, 0) | MaskAndShiftLeft(src, 0x1F, 4) | MaskAndShiftLeft(vm, 0x1F, 9) | - MaskAndShiftLeft(normalize, 1, 14) | MaskAndShiftLeft(vp, 0x3F, 15); + uint flags = MaskAndShiftLeft(fn, 0xF, 0) | MaskAndShiftLeft(src, 0x1F, 4) | + MaskAndShiftLeft(vm, 0x1F, 9) | MaskAndShiftLeft(normalize, 1, 14) | + MaskAndShiftLeft(vp, 0x3F, 15); if (state.x0_coordGen != flags) { state.x0_coordGen = flags; GXSetTexCoordGen2(dstCoord, fn, src, mtx, normalize, postMtx); @@ -423,7 +448,8 @@ void CGX::SetVtxDescv(const GXVtxDescList* list) { SetVtxDescv_Compressed(flags); } -void CGX::SetStandardDirectTev_Compressed(GXTevStageID stageId, uint colorArgs, uint alphaArgs, uint colorOps, uint alphaOps) { +void CGX::SetStandardDirectTev_Compressed(GXTevStageID stageId, uint colorArgs, uint alphaArgs, + uint colorOps, uint alphaOps) { STevState& state = sGXState.x68_tevStates[stageId]; if (state.x10_indFlags != 0) { state.x10_indFlags = 0; @@ -466,7 +492,8 @@ void CGX::SetStandardTevColorAlphaOp(GXTevStageID stageId) { } } -void CGX::GetFog(GXFogType* fogType, f32* fogStartZ, f32* fogEndZ, f32* fogNearZ, f32* fogFarZ, GXColor* fogColor) { +void CGX::GetFog(GXFogType* fogType, f32* fogStartZ, f32* fogEndZ, f32* fogNearZ, f32* fogFarZ, + GXColor* fogColor) { if (fogType != nullptr) { *fogType = static_cast< GXFogType >(sGXState.x53_fogType); } diff --git a/src/Kyoto/Graphics/DolphinCColor.cpp b/src/Kyoto/Graphics/DolphinCColor.cpp index f1c24a82..3c9f094b 100644 --- a/src/Kyoto/Graphics/DolphinCColor.cpp +++ b/src/Kyoto/Graphics/DolphinCColor.cpp @@ -40,8 +40,8 @@ void CColor::Get(float& r, float& g, float& b) const { CColor CColor::Lerp(const CColor& a, const CColor& b, float t) { const float omt = 1.f - t; - return CColor(omt * a.GetRed() + t * b.GetRed(), omt * a.GetGreen() + t * b.GetGreen(), omt * a.GetBlue() + t * b.GetBlue(), - omt * a.GetAlpha() + t * b.GetAlpha()); + return CColor(omt * a.GetRed() + t * b.GetRed(), omt * a.GetGreen() + t * b.GetGreen(), + omt * a.GetBlue() + t * b.GetBlue(), omt * a.GetAlpha() + t * b.GetAlpha()); } uint CColor::Lerp(uint a, uint b, float t) { @@ -68,8 +68,9 @@ uint CColor::Lerp(uint a, uint b, float t) { } CColor CColor::Modulate(const CColor& a, const CColor& b) { - return CColor((u8)((a.GetRedu8() * b.GetRedu8()) / (u8)255), (a.GetGreenu8() * b.GetGreenu8()) / (u8)255, - (a.GetBlueu8() * b.GetBlueu8()) / (u8)255, (a.GetAlphau8() * b.GetAlphau8()) / (u8)255); + return CColor( + (u8)((a.GetRedu8() * b.GetRedu8()) / (u8)255), (a.GetGreenu8() * b.GetGreenu8()) / (u8)255, + (a.GetBlueu8() * b.GetBlueu8()) / (u8)255, (a.GetAlphau8() * b.GetAlphau8()) / (u8)255); } CColor CColor::Add(const CColor& arg0, const CColor& arg1) { diff --git a/src/Kyoto/Input/CDolphinController.cpp b/src/Kyoto/Input/CDolphinController.cpp index c07afb50..976e3ab2 100644 --- a/src/Kyoto/Input/CDolphinController.cpp +++ b/src/Kyoto/Input/CDolphinController.cpp @@ -137,20 +137,25 @@ void CDolphinController::ProcessAxis(int controller, EJoyAxis axis) { } static u16 mButtonMapping[size_t(kBU_MAX)] = { - PAD_BUTTON_A, PAD_BUTTON_B, PAD_BUTTON_X, PAD_BUTTON_Y, PAD_BUTTON_START, PAD_TRIGGER_Z, - PAD_BUTTON_UP, PAD_BUTTON_RIGHT, PAD_BUTTON_DOWN, PAD_BUTTON_LEFT, PAD_TRIGGER_L, PAD_TRIGGER_R, + PAD_BUTTON_A, PAD_BUTTON_B, PAD_BUTTON_X, PAD_BUTTON_Y, + PAD_BUTTON_START, PAD_TRIGGER_Z, PAD_BUTTON_UP, PAD_BUTTON_RIGHT, + PAD_BUTTON_DOWN, PAD_BUTTON_LEFT, PAD_TRIGGER_L, PAD_TRIGGER_R, }; void CDolphinController::ProcessButtons(int controller) { for (s32 i = 0; i < s32(kBU_MAX); ++i) { - ProcessDigitalButton(controller, x34_gamepadStates[controller].GetButton(EButton(i)), mButtonMapping[i]); + ProcessDigitalButton(controller, x34_gamepadStates[controller].GetButton(EButton(i)), + mButtonMapping[i]); } - ProcessAnalogButton(x4_status[controller].triggerL, x34_gamepadStates[controller].GetAnalogButton(kBA_Left)); - ProcessAnalogButton(x4_status[controller].triggerR, x34_gamepadStates[controller].GetAnalogButton(kBA_Right)); + ProcessAnalogButton(x4_status[controller].triggerL, + x34_gamepadStates[controller].GetAnalogButton(kBA_Left)); + ProcessAnalogButton(x4_status[controller].triggerR, + x34_gamepadStates[controller].GetAnalogButton(kBA_Right)); } -void CDolphinController::ProcessDigitalButton(int controller, CControllerButton& button, u16 mapping) { +void CDolphinController::ProcessDigitalButton(int controller, CControllerButton& button, + u16 mapping) { bool btnPressed = (x4_status[controller].button & mapping); button.SetPressEvent(PADButtonDown(button.GetIsPressed(), btnPressed)); button.SetReleaseEvent(PADButtonUp(button.GetIsPressed(), btnPressed)); @@ -174,9 +179,13 @@ void CDolphinController::ProcessAnalogButton(float value, CControllerAxis& axis) uint CDolphinController::GetDeviceCount() const { return 4; } -CControllerGamepadData& CDolphinController::GetGamepadData(int controller) { return x34_gamepadStates[controller]; } +CControllerGamepadData& CDolphinController::GetGamepadData(int controller) { + return x34_gamepadStates[controller]; +} -uint CDolphinController::GetControllerType(int controller) const { return x1a4_controllerTypes[controller]; } +uint CDolphinController::GetControllerType(int controller) const { + return x1a4_controllerTypes[controller]; +} void CDolphinController::SetMotorState(EIOPort port, EMotorState state) { x194_motorStates[port] = state; diff --git a/src/Kyoto/Input/DolphinIController.cpp b/src/Kyoto/Input/DolphinIController.cpp index ed29e2d6..23e2e0ef 100644 --- a/src/Kyoto/Input/DolphinIController.cpp +++ b/src/Kyoto/Input/DolphinIController.cpp @@ -1,7 +1,7 @@ -#include "Kyoto/Input/IController.hpp" -#include "Kyoto/Input/CDolphinController.hpp" -#include "Kyoto/Basics/COsContext.hpp" #include "Kyoto/Alloc/CMemory.hpp" +#include "Kyoto/Basics/COsContext.hpp" +#include "Kyoto/Input/CDolphinController.hpp" +#include "Kyoto/Input/IController.hpp" const float IController::kAbsoluteMinimum = -1.f; const float IController::kAbsoluteMaximum = 1.f; @@ -12,7 +12,7 @@ IController::IController() {} IController::~IController() {} IController* IController::Create(const COsContext& ctx) { - CDolphinController* cont = new CDolphinController(); - cont->Initialize(); - return cont; + CDolphinController* cont = new CDolphinController(); + cont->Initialize(); + return cont; } diff --git a/src/Kyoto/Streams/CMemoryInStream.cpp b/src/Kyoto/Streams/CMemoryInStream.cpp index 6cb1ea93..023a961f 100644 --- a/src/Kyoto/Streams/CMemoryInStream.cpp +++ b/src/Kyoto/Streams/CMemoryInStream.cpp @@ -3,6 +3,7 @@ CMemoryInStream::CMemoryInStream(const void* ptr, unsigned long len, EOwnerShip ownership) : CInputStream(ptr, len, ownership == kOS_Owned) {} -CMemoryInStream::CMemoryInStream(const void* ptr, unsigned long len) : CInputStream(ptr, len, false) {} +CMemoryInStream::CMemoryInStream(const void* ptr, unsigned long len) +: CInputStream(ptr, len, false) {} uint CMemoryInStream::Read(void* dest, uint len) { return 0; } diff --git a/src/Kyoto/Text/CStringTable.cpp b/src/Kyoto/Text/CStringTable.cpp index 136d31b9..6a3aa6a2 100644 --- a/src/Kyoto/Text/CStringTable.cpp +++ b/src/Kyoto/Text/CStringTable.cpp @@ -46,4 +46,7 @@ template <> CFactoryFnReturn::CFactoryFnReturn(CStringTable* ptr) : obj(TToken< CStringTable >::GetIObjObjectFor(rstl::auto_ptr< CStringTable >(ptr)).release()) {} -CFactoryFnReturn FStringTableFactory(const SObjectTag& tag, CInputStream& in, const CVParamTransfer& xfer) { return new CStringTable(in); } +CFactoryFnReturn FStringTableFactory(const SObjectTag& tag, CInputStream& in, + const CVParamTransfer& xfer) { + return new CStringTable(in); +} diff --git a/src/MetroTRK/mslsupp.c b/src/MetroTRK/mslsupp.c index 2d89a7c8..70a096e0 100644 --- a/src/MetroTRK/mslsupp.c +++ b/src/MetroTRK/mslsupp.c @@ -3,7 +3,7 @@ #ifdef __cplusplus extern "C" { #endif - + // 80003640 void EnableMetroTRKInterrupts() {} diff --git a/src/MetroidPrime/CActor.cpp b/src/MetroidPrime/CActor.cpp index 54ec188c..f1421a1e 100644 --- a/src/MetroidPrime/CActor.cpp +++ b/src/MetroidPrime/CActor.cpp @@ -23,7 +23,8 @@ #include "rstl/math.hpp" -static CMaterialList MakeActorMaterialList(const CMaterialList& in, const CActorParameters& params) { +static CMaterialList MakeActorMaterialList(const CMaterialList& in, + const CActorParameters& params) { CMaterialList ret = in; if (params.GetVisorParameters().GetBool1()) { ret.Add(kMT_Unknown46); @@ -34,13 +35,15 @@ static CMaterialList MakeActorMaterialList(const CMaterialList& in, const CActor return ret; } -CActor::CActor(TUniqueId uid, bool active, const rstl::string& name, const CEntityInfo& info, const CTransform4f& xf, - const CModelData& mData, const CMaterialList& list, const CActorParameters& params, TUniqueId nextDrawNode) +CActor::CActor(TUniqueId uid, bool active, const rstl::string& name, const CEntityInfo& info, + const CTransform4f& xf, const CModelData& mData, const CMaterialList& list, + const CActorParameters& params, TUniqueId nextDrawNode) : CEntity(uid, info, active, name) , x34_transform(xf) , x64_modelData(mData.IsNull() ? nullptr : new CModelData(mData)) , x68_material(MakeActorMaterialList(list, params)) -, x70_materialFilter(CMaterialFilter::MakeIncludeExclude(CMaterialList(SolidMaterial), CMaterialList())) +, x70_materialFilter( + CMaterialFilter::MakeIncludeExclude(CMaterialList(SolidMaterial), CMaterialList())) , x88_sfxId(InvalidSfxId) , x8c_loopingSfxHandle(0) , x90_actorLights(mData.IsNull() ? nullptr : params.GetLighting().MakeActorLights().release()) @@ -94,7 +97,8 @@ CActor::CActor(TUniqueId uid, bool active, const rstl::string& name, const CEnti } const CAssetId scanId = params.GetScannable().GetScannableObject0(); if (scanId != kInvalidAssetId) { - x98_scanObjectInfo = new TCachedToken< CScannableObjectInfo >(gpSimplePool->GetObj(SObjectTag('SCAN', scanId))); + x98_scanObjectInfo = + new TCachedToken< CScannableObjectInfo >(gpSimplePool->GetObj(SObjectTag('SCAN', scanId))); x98_scanObjectInfo->Lock(); } } @@ -130,8 +134,9 @@ SAdvancementDeltas CActor::UpdateAnimation(float dt, CStateManager& mgr, bool ad continue; if (charIdx != -1 && GetAnimationData()->GetCharacterIndex() != charIdx) continue; - ProcessSoundEvent(soundNode->GetSoundId(), soundNode->GetWeight(), soundNode->GetFlags(), soundNode->GetFallOff(), - soundNode->GetMaxDistance(), 20, maxVol, toCamera, origin, aid, mgr, true); + ProcessSoundEvent(soundNode->GetSoundId(), soundNode->GetWeight(), soundNode->GetFlags(), + soundNode->GetFallOff(), soundNode->GetMaxDistance(), 20, maxVol, + toCamera, origin, aid, mgr, true); } } @@ -146,8 +151,8 @@ SAdvancementDeltas CActor::UpdateAnimation(float dt, CStateManager& mgr, bool ad int charIdx = intNode->GetCharacterIndex(); if (intNode->GetPoiType() == kPT_SoundInt32 && !GetMuted() && (charIdx == -1 || GetAnimationData()->GetCharacterIndex() == charIdx)) { - ProcessSoundEvent(intNode->GetValue(), intNode->GetWeight(), intNode->GetFlags(), 0.1f, 150.f, 20, maxVol, toCamera, origin, aid, - mgr, true); + ProcessSoundEvent(intNode->GetValue(), intNode->GetWeight(), intNode->GetFlags(), 0.1f, + 150.f, 20, maxVol, toCamera, origin, aid, mgr, true); } else if (intNode->GetPoiType() == kPT_UserEvent) { DoUserAnimEvent(mgr, *intNode, static_cast< EUserEventType >(intNode->GetValue()), dt); } @@ -180,13 +185,16 @@ void CActor::RemoveEmitter() { } } -void CActor::DoUserAnimEvent(CStateManager& mgr, const CInt32POINode& node, EUserEventType type, float dt) { +void CActor::DoUserAnimEvent(CStateManager& mgr, const CInt32POINode& node, EUserEventType type, + float dt) { if (type == kUE_LoopedSoundStop) { RemoveEmitter(); } } -f32 CActor::GetAverageAnimVelocity(int anim) { return HasAnimation() ? GetAnimationData()->GetAverageVelocity(anim) : 0.f; } +f32 CActor::GetAverageAnimVelocity(int anim) { + return HasAnimation() ? GetAnimationData()->GetAverageVelocity(anim) : 0.f; +} void CActor::CalculateRenderBounds() { if (HasModelData()) { @@ -197,7 +205,9 @@ void CActor::CalculateRenderBounds() { } } -void CActor::SetModelData(const CModelData& modelData) { x64_modelData = modelData.IsNull() ? nullptr : new CModelData(modelData); } +void CActor::SetModelData(const CModelData& modelData) { + x64_modelData = modelData.IsNull() ? nullptr : new CModelData(modelData); +} // TODO nonmatching void CActor::PreRender(CStateManager& mgr, const CFrustumPlanes& planes) { @@ -251,7 +261,8 @@ void CActor::PreRender(CStateManager& mgr, const CFrustumPlanes& planes) { } // TODO why doesn't GetDrawShadow() work? if (GetShadowDirty() && xe5_24_shadowEnabled && HasShadow()) { - if (planes.BoxInFrustumPlanes(GetShadow()->GetMaxShadowBox(GetModelData()->GetBounds(GetTransform()))) == true) { + if (planes.BoxInFrustumPlanes( + GetShadow()->GetMaxShadowBox(GetModelData()->GetBounds(GetTransform()))) == true) { Shadow()->Calculate(GetModelData()->GetBounds(), GetTransform(), mgr); SetShadowDirty(false); } @@ -275,15 +286,16 @@ void CActor::AddToRenderer(const CFrustumPlanes& planes, const CStateManager& mg } if (mgr.GetPlayerState()->GetActiveVisor(mgr) != CPlayerState::kPV_XRay && - mgr.GetPlayerState()->GetActiveVisor(mgr) != CPlayerState::kPV_Thermal && GetDrawShadow() && GetShadow()->Valid() && - planes.BoxInFrustumPlanes(GetShadow()->GetBounds()) == true) { - gpRender->AddDrawable(GetShadow(), GetShadow()->GetTransform().GetTranslation(), GetShadow()->GetBounds(), 1, - IRenderer::kDS_SortedCallback); + mgr.GetPlayerState()->GetActiveVisor(mgr) != CPlayerState::kPV_Thermal && GetDrawShadow() && + GetShadow()->Valid() && planes.BoxInFrustumPlanes(GetShadow()->GetBounds()) == true) { + gpRender->AddDrawable(GetShadow(), GetShadow()->GetTransform().GetTranslation(), + GetShadow()->GetBounds(), 1, IRenderer::kDS_SortedCallback); } } } -void CActor::EnsureRendered(const CStateManager& mgr, const CVector3f& pos, const CAABox& bounds) const { +void CActor::EnsureRendered(const CStateManager& mgr, const CVector3f& pos, + const CAABox& bounds) const { if (GetModelData()) { const CModelData::EWhichModel which = CModelData::GetRenderingModel(mgr); GetModelData()->RenderUnsortedParts(which, GetTransform(), GetActorLights(), GetModelFlags()); @@ -302,7 +314,8 @@ void CActor::DrawTouchBounds() const {} bool CActor::CanRenderUnsorted(const CStateManager& mgr) const { bool result = HasAnimation(); - if (result && GetAnimationData()->GetParticleDB().AreAnySystemsDrawnWithModel() && GetRenderParticleDatabaseInside()) { + if (result && GetAnimationData()->GetParticleDB().AreAnySystemsDrawnWithModel() && + GetRenderParticleDatabaseInside()) { result = false; } else { result = xe5_30_renderUnsorted || IsModelOpaque(mgr); @@ -363,8 +376,9 @@ void CActor::RenderInternal(const CStateManager& mgr) const { GetModelData()->RenderThermal(x34_transform, mulColor, addColor, xb4_drawFlags); return; } else if (mgr.GetThermalColdScale2() > 0.0001f && xb4_drawFlags.GetTrans() == 0) { - const f32 scale = rstl::min_val< f32 >((mgr.GetThermalColdScale2() + mgr.GetThermalColdScale1()) * mgr.GetThermalColdScale2(), - mgr.GetThermalColdScale2()); + const f32 scale = rstl::min_val< f32 >( + (mgr.GetThermalColdScale2() + mgr.GetThermalColdScale1()) * mgr.GetThermalColdScale2(), + mgr.GetThermalColdScale2()); const f32 rgbf = CMath::Clamp(0.f, scale * 255.f, 255.f); const u8 rgb = CCast::ToUint8(rgbf); CColor color(rgb, rgb, rgb, 255); @@ -374,4 +388,4 @@ void CActor::RenderInternal(const CStateManager& mgr) const { } } GetModelData()->Render(which, x34_transform, x90_actorLights.get(), xb4_drawFlags); -}; \ No newline at end of file +}; diff --git a/src/MetroidPrime/CEntity.cpp b/src/MetroidPrime/CEntity.cpp index fec9f593..f6e809cd 100644 --- a/src/MetroidPrime/CEntity.cpp +++ b/src/MetroidPrime/CEntity.cpp @@ -42,8 +42,9 @@ void CEntity::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStateMan } } -void CEntity::SendScriptMsgs(EScriptObjectState state, CStateManager& mgr, EScriptObjectMessage skipMsg) { - rstl::vector::const_iterator it = x20_conns.begin(); +void CEntity::SendScriptMsgs(EScriptObjectState state, CStateManager& mgr, + EScriptObjectMessage skipMsg) { + rstl::vector< SConnection >::const_iterator it = x20_conns.begin(); for (; it != x20_conns.end(); ++it) { if (it->x0_state == state && it->x4_msg != skipMsg) { mgr.SendScriptMsg(GetUniqueId(), it->x8_objId, it->x4_msg, state); diff --git a/src/MetroidPrime/CObjectList.cpp b/src/MetroidPrime/CObjectList.cpp index cac4cb17..e526d24c 100644 --- a/src/MetroidPrime/CObjectList.cpp +++ b/src/MetroidPrime/CObjectList.cpp @@ -2,31 +2,28 @@ CObjectList::SObjectListEntry::SObjectListEntry() : mEnt(nullptr), mNext(-1), mPrev(-1) {} -CObjectList::CObjectList(EGameObjectList list) -: mListType(list) -, mFirstId(-1) -, mCount(0) { - for (int i = 0; i < kMaxObjects; ++i) { - mObjects[i] = SObjectListEntry(); - } +CObjectList::CObjectList(EGameObjectList list) : mListType(list), mFirstId(-1), mCount(0) { + for (int i = 0; i < kMaxObjects; ++i) { + mObjects[i] = SObjectListEntry(); + } } bool CObjectList::IsQualified(CEntity& ent) { return true; } void CObjectList::AddObject(CEntity& ent) { - if (IsQualified(ent)) { - s16 next = -1; - if (mFirstId != -1) { - mObjects[this->mFirstId].mPrev = ent.GetUniqueId().Value(); - next = mFirstId; - } - mFirstId = ent.GetUniqueId().Value(); - SObjectListEntry* entry = &mObjects[ent.GetUniqueId().Value()]; - entry->mEnt = &ent; - entry->mNext = next; - entry->mPrev = -1; - ++mCount; + if (IsQualified(ent)) { + s16 next = -1; + if (mFirstId != -1) { + mObjects[this->mFirstId].mPrev = ent.GetUniqueId().Value(); + next = mFirstId; } + mFirstId = ent.GetUniqueId().Value(); + SObjectListEntry* entry = &mObjects[ent.GetUniqueId().Value()]; + entry->mEnt = &ent; + entry->mNext = next; + entry->mPrev = -1; + ++mCount; + } } void CObjectList::RemoveObject(TUniqueId uid) {} diff --git a/src/MetroidPrime/Cameras/CCameraFilter.cpp b/src/MetroidPrime/Cameras/CCameraFilter.cpp index 5ebda873..dead41a6 100644 --- a/src/MetroidPrime/Cameras/CCameraFilter.cpp +++ b/src/MetroidPrime/Cameras/CCameraFilter.cpp @@ -1,6 +1,6 @@ -#include "MetroidPrime/Cameras/CCameraFilterPass.hpp" -#include "MetaRender/CCubeRenderer.hpp" #include "Kyoto/Graphics/CGraphics.hpp" +#include "MetaRender/CCubeRenderer.hpp" +#include "MetroidPrime/Cameras/CCameraFilterPass.hpp" // FIXME non-matching https://decomp.me/scratch/8N81d void CCameraFilterPass::DrawWideScreen(const CColor& color, const CTexture* tex, f32 lod) { diff --git a/src/MetroidPrime/Cameras/CCameraHint.cpp b/src/MetroidPrime/Cameras/CCameraHint.cpp index 985cca14..f1c593c1 100644 --- a/src/MetroidPrime/Cameras/CCameraHint.cpp +++ b/src/MetroidPrime/Cameras/CCameraHint.cpp @@ -1,9 +1,11 @@ #include "MetroidPrime/Cameras/CCameraHint.hpp" #include "Kyoto/Alloc/CMemory.hpp" -CCameraHint::CCameraHint(uint overrideFlags, CBallCamera::EBallCameraBehaviour behaviour, float minDist, float maxDist, float backwardsDist, - CVector3f* lookAtOffset, CVector3f* chaseLookAtOffset, CVector3f* ballToCam, float fov, float attitudeRange, - float azimuthRange, float anglePerSecond, float clampVelRange, float clampRotRange, float elevation, +CCameraHint::CCameraHint(uint overrideFlags, CBallCamera::EBallCameraBehaviour behaviour, + float minDist, float maxDist, float backwardsDist, CVector3f* lookAtOffset, + CVector3f* chaseLookAtOffset, CVector3f* ballToCam, float fov, + float attitudeRange, float azimuthRange, float anglePerSecond, + float clampVelRange, float clampRotRange, float elevation, float InterpolationTime, float clampVelTime, float controlInterpDur) : mOverrideFlags(overrideFlags) , mBehaviour(behaviour) diff --git a/src/MetroidPrime/HUD/CHUDMemoParms.cpp b/src/MetroidPrime/HUD/CHUDMemoParms.cpp index 00ebcd26..750c952c 100644 --- a/src/MetroidPrime/HUD/CHUDMemoParms.cpp +++ b/src/MetroidPrime/HUD/CHUDMemoParms.cpp @@ -2,4 +2,7 @@ #include "Kyoto/Streams/CInputStream.hpp" CHUDMemoParms::CHUDMemoParms(CInputStream& in) -: mDispTime(in.Get(TType())), mClearMemoWindow(in.ReadBool()), mFadeOutOnly(false), mHintMemo(false) {} +: mDispTime(in.Get(TType< float >())) +, mClearMemoWindow(in.ReadBool()) +, mFadeOutOnly(false) +, mHintMemo(false) {} diff --git a/src/MetroidPrime/ScriptObjects/CScriptDebugCameraWaypoint.cpp b/src/MetroidPrime/ScriptObjects/CScriptDebugCameraWaypoint.cpp index 0af91af7..3bb14216 100644 --- a/src/MetroidPrime/ScriptObjects/CScriptDebugCameraWaypoint.cpp +++ b/src/MetroidPrime/ScriptObjects/CScriptDebugCameraWaypoint.cpp @@ -1,10 +1,11 @@ #include "MetroidPrime/ScriptObjects/CScriptDebugCameraWaypoint.hpp" #include "MetroidPrime/CActorParameters.hpp" -CScriptDebugCameraWaypoint::CScriptDebugCameraWaypoint(TUniqueId uid, const rstl::string& name, const CEntityInfo& info, +CScriptDebugCameraWaypoint::CScriptDebugCameraWaypoint(TUniqueId uid, const rstl::string& name, + const CEntityInfo& info, const CTransform4f& xf, uint value) -: CActor(uid, true, name, info, xf, CModelData::CModelDataNull(), CMaterialList(kMT_NoStepLogic), CActorParameters::None(), - kInvalidUniqueId) +: CActor(uid, true, name, info, xf, CModelData::CModelDataNull(), CMaterialList(kMT_NoStepLogic), + CActorParameters::None(), kInvalidUniqueId) , xe8_value(value) {} void CScriptDebugCameraWaypoint::Accept(IVisitor& visitor) { visitor.Visit(*this); } diff --git a/src/MetroidPrime/ScriptObjects/CScriptMazeNode.cpp b/src/MetroidPrime/ScriptObjects/CScriptMazeNode.cpp index 0c50b70b..c32c7037 100644 --- a/src/MetroidPrime/ScriptObjects/CScriptMazeNode.cpp +++ b/src/MetroidPrime/ScriptObjects/CScriptMazeNode.cpp @@ -32,7 +32,8 @@ void CMazeState::Reset(int seed) { if (cellIdx - skMazeCols > 0 && GetCell(cellIdx - skMazeCols).IsClosed()) { sides[acc++] = kS_Top; } - if (cellIdx < NUM_MAZE_CELLS - 2 && (cellIdx + 1) % skMazeCols != 0 && GetCell(cellIdx + 1).IsClosed()) { + if (cellIdx < NUM_MAZE_CELLS - 2 && (cellIdx + 1) % skMazeCols != 0 && + GetCell(cellIdx + 1).IsClosed()) { sides[acc++] = kS_Right; } if (cellIdx + skMazeCols <= NUM_MAZE_CELLS - 1 && GetCell(cellIdx + skMazeCols).IsClosed()) { @@ -82,7 +83,9 @@ void CMazeState::Reset(int seed) { SMazeCell& CMazeState::GetCell(uint col, uint row) { return x4_cells[col + row * skMazeCols]; } -const SMazeCell& CMazeState::GetCell(uint col, uint row) const { return x4_cells[col + row * skMazeCols]; } +const SMazeCell& CMazeState::GetCell(uint col, uint row) const { + return x4_cells[col + row * skMazeCols]; +} static inline int GetRandom(CRandom16& rand, int offset) { int tmp = rand.Next(); @@ -131,14 +134,16 @@ void CMazeState::GenerateObstacles() { int curCol = col; int curRow = row; - if (row > 0 && side != kS_Bottom && GetCellInline(col, row).x0_24_openTop && GetCellInline(col, row - 1).x1_25_onPath) { + if (row > 0 && side != kS_Bottom && GetCellInline(col, row).x0_24_openTop && + GetCellInline(col, row - 1).x1_25_onPath) { side = kS_Top; row--; } else if (row < skMazeRows - 1 && side != kS_Top && GetCellInline(col, row).x0_26_openBottom && GetCellInline(col, row + 1).x1_25_onPath) { side = kS_Bottom; row++; - } else if (col > 0 && side != kS_Right && GetCellInline(col, row).x0_27_openLeft && GetCellInline(col - 1, row).x1_25_onPath) { + } else if (col > 0 && side != kS_Right && GetCellInline(col, row).x0_27_openLeft && + GetCellInline(col - 1, row).x1_25_onPath) { side = kS_Left; col--; } else if (col < skMazeCols - 1 && side != kS_Left && GetCellInline(col, row).x0_25_openRight && @@ -228,10 +233,12 @@ void CMazeState::Initialize() { x94_24_initialized = true; } -CScriptMazeNode::CScriptMazeNode(TUniqueId uid, const rstl::string& name, const CEntityInfo& info, const CTransform4f& xf, bool active, - int col, int row, int side, const CVector3f& actorPos, const CVector3f& triggerPos, +CScriptMazeNode::CScriptMazeNode(TUniqueId uid, const rstl::string& name, const CEntityInfo& info, + const CTransform4f& xf, bool active, int col, int row, int side, + const CVector3f& actorPos, const CVector3f& triggerPos, const CVector3f& effectPos) -: CActor(uid, active, name, info, xf, CModelData::CModelDataNull(), CMaterialList(), CActorParameters::None(), kInvalidUniqueId) +: CActor(uid, active, name, info, xf, CModelData::CModelDataNull(), CMaterialList(), + CActorParameters::None(), kInvalidUniqueId) , xe8_col(col) , xec_row(row) , xf0_side(static_cast< ESide >(side)) @@ -322,7 +329,8 @@ static inline Iter contains(Iter it, Iter end, const T& value) { } template < typename T > -static inline bool contains(const rstl::vector< T >& vec, typename rstl::vector< T >::const_iterator end, const T& value) { +static inline bool contains(const rstl::vector< T >& vec, + typename rstl::vector< T >::const_iterator end, const T& value) { return rstl::find< rstl::vector< T >::const_iterator, T >(vec.begin(), end, value) != end; } @@ -331,7 +339,8 @@ void CScriptMazeNode::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, C switch (msg) { case kSM_InitializedInArea: { if (mgr.CurrentMaze() == nullptr) { - rstl::single_ptr< CMazeState > maze = new CMazeState(skEnterCol, skEnterRow, skTargetCol, skTargetRow); + rstl::single_ptr< CMazeState > maze = + new CMazeState(skEnterCol, skEnterRow, skTargetCol, skTargetRow); maze->Reset(sMazeSeeds[mgr.GetActiveRandom()->Next() % 300]); maze->Initialize(); maze->GenerateObstacles(); @@ -391,14 +400,16 @@ void CScriptMazeNode::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, C int count = 0; rstl::vector< SConnection >::const_iterator conn = GetConnectionList().begin(); for (; conn != GetConnectionList().end(); ++conn) { - if ((conn->x0_state == kSS_Closed || conn->x0_state == kSS_DeactivateState) && conn->x4_msg == kSM_Activate) { + if ((conn->x0_state == kSS_Closed || conn->x0_state == kSS_DeactivateState) && + conn->x4_msg == kSM_Activate) { count++; } } x12c_puddleObjectIds.reserve(count); conn = GetConnectionList().begin(); for (; conn != GetConnectionList().end(); ++conn) { - if ((conn->x0_state == kSS_Closed || conn->x0_state == kSS_DeactivateState) && conn->x4_msg == kSM_Activate) { + if ((conn->x0_state == kSS_Closed || conn->x0_state == kSS_DeactivateState) && + conn->x4_msg == kSM_Activate) { // TUniqueId genObj = GenerateObject(mgr, conn->x8_objId); bool wasGeneratingObject = mgr.IsGeneratingObject(); mgr.SetIsGeneratingObject(true); @@ -423,9 +434,10 @@ void CScriptMazeNode::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, C if (x13c_24_hasPuddle && maze != nullptr) { rstl::vector< TUniqueId >::const_iterator pend = x12c_puddleObjectIds.end(); rstl::vector< TUniqueId >::const_iterator pit = - rstl::find< rstl::vector< TUniqueId >::const_iterator, TUniqueId >(x12c_puddleObjectIds.begin(), pend, uid); + rstl::find< rstl::vector< TUniqueId >::const_iterator, TUniqueId >( + x12c_puddleObjectIds.begin(), pend, uid); if (pit != pend) { - // if (contains(x12c_puddleObjectIds, x12c_puddleObjectIds.end(), uid)) { + // if (contains(x12c_puddleObjectIds, x12c_puddleObjectIds.end(), uid)) { rstl::vector< TUniqueId >::const_iterator it = x12c_puddleObjectIds.begin(); for (; it != x12c_puddleObjectIds.end(); ++it) { if (CEntity* ent = mgr.ObjectById(*it)) { @@ -440,7 +452,8 @@ void CScriptMazeNode::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, C int objIdx = list.GetFirstObjectIndex(); while (objIdx != -1) { if (CScriptMazeNode* node = TCastToPtr< CScriptMazeNode >(list[objIdx])) { - if (node->xe8_col == xe8_col - 1 && node->xec_row == xec_row && node->xf0_side == CMazeState::kS_Right) { + if (node->xe8_col == xe8_col - 1 && node->xec_row == xec_row && + node->xf0_side == CMazeState::kS_Right) { SMazeCell& cell = maze->GetCell(xe8_col - 1, xec_row); if (!cell.x0_25_openRight) { cell.x0_25_openRight = true; @@ -448,7 +461,8 @@ void CScriptMazeNode::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, C node->x13c_25_hasGate = false; } } - if (node->xe8_col == xe8_col && node->xec_row == xec_row && node->xf0_side == CMazeState::kS_Right) { + if (node->xe8_col == xe8_col && node->xec_row == xec_row && + node->xf0_side == CMazeState::kS_Right) { SMazeCell& cell = maze->GetCell(xe8_col, xec_row); if (!cell.x0_25_openRight) { cell.x0_25_openRight = true; @@ -456,7 +470,8 @@ void CScriptMazeNode::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, C node->x13c_25_hasGate = false; } } - if (node->xe8_col == xe8_col && node->xec_row == xec_row && node->xf0_side == CMazeState::kS_Top) { + if (node->xe8_col == xe8_col && node->xec_row == xec_row && + node->xf0_side == CMazeState::kS_Top) { SMazeCell& cell = maze->GetCell(xe8_col, xec_row); if (!cell.x0_24_openTop) { cell.x0_24_openTop = true; @@ -464,7 +479,8 @@ void CScriptMazeNode::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, C node->x13c_25_hasGate = false; } } - if (node->xe8_col == xe8_col && node->xec_row == xec_row + 1 && node->xf0_side == CMazeState::kS_Top) { + if (node->xe8_col == xe8_col && node->xec_row == xec_row + 1 && + node->xf0_side == CMazeState::kS_Top) { SMazeCell& cell = maze->GetCell(xe8_col, xec_row + 1); if (!cell.x0_24_openTop) { cell.x0_24_openTop = true; @@ -513,7 +529,8 @@ void CScriptMazeNode::Think(float dt, CStateManager& mgr) { void CScriptMazeNode::LoadMazeSeeds() { const SObjectTag* tag = gpResourceFactory->GetResourceIdByName("DUMB_MazeSeeds"); - rstl::auto_ptr< CInputStream > stream = gpResourceFactory->GetResLoader().LoadNewResourceSync(*tag, nullptr); + rstl::auto_ptr< CInputStream > stream = + gpResourceFactory->GetResLoader().LoadNewResourceSync(*tag, nullptr); for (int i = 0; i < 300; i++) { sMazeSeeds[i] = stream->ReadLong(); } diff --git a/src/MetroidPrime/TCastTo.cpp b/src/MetroidPrime/TCastTo.cpp index e865adb8..da347670 100644 --- a/src/MetroidPrime/TCastTo.cpp +++ b/src/MetroidPrime/TCastTo.cpp @@ -6,11 +6,11 @@ #include "MetroidPrime/Cameras/CGameCamera.hpp" // TODO create headers for all entities -#define STUB(cls, parent) \ - class cls : public parent { \ - public: \ - ~cls() override; \ - void Accept(IVisitor& visitor) override; \ +#define STUB(cls, parent) \ + class cls : public parent { \ + public: \ + ~cls() override; \ + void Accept(IVisitor& visitor) override; \ }; STUB(CWeapon, CActor) STUB(CBomb, CWeapon) @@ -132,15 +132,15 @@ VISIT_IMPL(cls, CWallCrawlerSwarm) \ VISIT_IMPL(cls, CWeapon) // clang-format on -#define VISIT_IMPL(base, cls) \ +#define VISIT_IMPL(base, cls) \ void TCastToPtr< base >::Visit(cls& v) { ptr = GetPtr(&v); } -#define VISIT(cls) \ - TCastToPtr< cls >::TCastToPtr(CEntity& p) : ptr(nullptr) { p.Accept(*this); } \ - TCastToPtr< cls >::TCastToPtr(CEntity* p) : ptr(nullptr) { \ - if (p != nullptr) { \ - p->Accept(*this); \ - } \ - } \ +#define VISIT(cls) \ + TCastToPtr< cls >::TCastToPtr(CEntity& p) : ptr(nullptr) { p.Accept(*this); } \ + TCastToPtr< cls >::TCastToPtr(CEntity* p) : ptr(nullptr) { \ + if (p != nullptr) { \ + p->Accept(*this); \ + } \ + } \ TCASTTO_VISITORS_IMPL(cls) TCASTTO_VISITORS #undef VISIT @@ -388,7 +388,9 @@ void TCastToPtr< CCinematicCamera >::Visit(CScriptRoomAcoustics& v) { ptr = GetP void TCastToPtr< CCinematicCamera >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CCinematicCamera >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CCinematicCamera >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CCinematicCamera >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CCinematicCamera >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CCinematicCamera >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CCinematicCamera >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -451,7 +453,9 @@ void TCastToPtr< CCollisionActor >::Visit(CScriptRoomAcoustics& v) { ptr = GetPt void TCastToPtr< CCollisionActor >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CCollisionActor >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CCollisionActor >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CCollisionActor >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CCollisionActor >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CCollisionActor >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CCollisionActor >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -514,7 +518,9 @@ void TCastToPtr< CDestroyableRock >::Visit(CScriptRoomAcoustics& v) { ptr = GetP void TCastToPtr< CDestroyableRock >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CDestroyableRock >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CDestroyableRock >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CDestroyableRock >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CDestroyableRock >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CDestroyableRock >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CDestroyableRock >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -577,7 +583,9 @@ void TCastToPtr< CEnergyProjectile >::Visit(CScriptRoomAcoustics& v) { ptr = Get void TCastToPtr< CEnergyProjectile >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CEnergyProjectile >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CEnergyProjectile >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CEnergyProjectile >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CEnergyProjectile >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CEnergyProjectile >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CEnergyProjectile >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -766,7 +774,9 @@ void TCastToPtr< CFirstPersonCamera >::Visit(CScriptRoomAcoustics& v) { ptr = Ge void TCastToPtr< CFirstPersonCamera >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CFirstPersonCamera >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CFirstPersonCamera >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CFirstPersonCamera >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CFirstPersonCamera >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CFirstPersonCamera >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CFirstPersonCamera >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -1018,7 +1028,9 @@ void TCastToPtr< CGameProjectile >::Visit(CScriptRoomAcoustics& v) { ptr = GetPt void TCastToPtr< CGameProjectile >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CGameProjectile >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CGameProjectile >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CGameProjectile >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CGameProjectile >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CGameProjectile >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CGameProjectile >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -1081,7 +1093,9 @@ void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptRoomAcoustics& v) { ptr = G void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CHUDBillboardEffect >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -1144,7 +1158,9 @@ void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptRoomAcoustics& v) { ptr = Ge void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CMetroidPrimeRelay >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -1585,7 +1601,9 @@ void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptRoomAcoustics& v) { ptr = void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptActorKeyframe >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -1648,7 +1666,9 @@ void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptRoomAcoustics& v) { ptr = Ge void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptAiJumpPoint >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -1711,7 +1731,9 @@ void TCastToPtr< CScriptCameraHint >::Visit(CScriptRoomAcoustics& v) { ptr = Get void TCastToPtr< CScriptCameraHint >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptCameraHint >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptCameraHint >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptCameraHint >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptCameraHint >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptCameraHint >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptCameraHint >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -1755,10 +1777,14 @@ void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptActor& v) { ptr = GetP void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptCameraPitchVolume& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptDebugCameraWaypoint& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } @@ -1774,8 +1800,12 @@ void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptRoomAcoustics& v) { pt void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptSpiderBallWaypoint& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptCameraPitchVolume >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } @@ -1837,7 +1867,9 @@ void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptRoomAcoustics& v) { ptr = void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptCameraWaypoint >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -1900,7 +1932,9 @@ void TCastToPtr< CScriptCoverPoint >::Visit(CScriptRoomAcoustics& v) { ptr = Get void TCastToPtr< CScriptCoverPoint >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptCoverPoint >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptCoverPoint >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptCoverPoint >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptCoverPoint >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptCoverPoint >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptCoverPoint >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -1944,10 +1978,14 @@ void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptActor& v) { ptr = Ge void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptCameraPitchVolume& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptDebugCameraWaypoint& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } @@ -1958,13 +1996,21 @@ void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptMazeNode& v) { ptr = void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptPointOfInterest& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptSpecialFunction& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptSpiderBallWaypoint& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } @@ -2026,7 +2072,9 @@ void TCastToPtr< CScriptDistanceFog >::Visit(CScriptRoomAcoustics& v) { ptr = Ge void TCastToPtr< CScriptDistanceFog >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptDistanceFog >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptDistanceFog >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptDistanceFog >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptDistanceFog >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptDistanceFog >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptDistanceFog >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -2278,7 +2326,9 @@ void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptRoomAcoustics& v) { ptr = G void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptGrapplePoint >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -2341,7 +2391,9 @@ void TCastToPtr< CScriptGunTurret >::Visit(CScriptRoomAcoustics& v) { ptr = GetP void TCastToPtr< CScriptGunTurret >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptGunTurret >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptGunTurret >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptGunTurret >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptGunTurret >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptGunTurret >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptGunTurret >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -2404,7 +2456,9 @@ void TCastToPtr< CScriptMazeNode >::Visit(CScriptRoomAcoustics& v) { ptr = GetPt void TCastToPtr< CScriptMazeNode >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptMazeNode >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptMazeNode >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptMazeNode >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptMazeNode >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptMazeNode >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptMazeNode >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -2530,7 +2584,9 @@ void TCastToPtr< CScriptPlatform >::Visit(CScriptRoomAcoustics& v) { ptr = GetPt void TCastToPtr< CScriptPlatform >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptPlatform >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptPlatform >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptPlatform >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptPlatform >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptPlatform >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptPlatform >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -2593,7 +2649,9 @@ void TCastToPtr< CScriptPlayerHint >::Visit(CScriptRoomAcoustics& v) { ptr = Get void TCastToPtr< CScriptPlayerHint >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptPlayerHint >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptPlayerHint >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptPlayerHint >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptPlayerHint >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptPlayerHint >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptPlayerHint >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -2640,7 +2698,9 @@ void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptCameraHint& v) { ptr = G void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptDebugCameraWaypoint& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } @@ -2656,7 +2716,9 @@ void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptRoomAcoustics& v) { ptr void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptPointOfInterest >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -2719,7 +2781,9 @@ void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptRoomAcoustics& v) { ptr = void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptRoomAcoustics >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -2845,7 +2909,9 @@ void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptRoomAcoustics& v) { ptr = Get void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpawnPoint >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -2892,7 +2958,9 @@ void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptCameraHint& v) { ptr = G void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptDebugCameraWaypoint& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } @@ -2908,7 +2976,9 @@ void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptRoomAcoustics& v) { ptr void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpecialFunction >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -2921,7 +2991,9 @@ void TCastToPtr< CScriptSpecialFunction >::Visit(CSnakeWeedSwarm& v) { ptr = Get void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpecialFunction >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpecialFunction >::Visit(CWeapon& v) { ptr = GetPtr(&v); } -TCastToPtr< CScriptSpiderBallAttractionSurface >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptSpiderBallAttractionSurface >::TCastToPtr(CEntity& p) : ptr(0) { + p.Accept(*this); +} TCastToPtr< CScriptSpiderBallAttractionSurface >::TCastToPtr(CEntity* p) : ptr(0) { if (p != 0) { p->Accept(*this); @@ -2930,59 +3002,128 @@ TCastToPtr< CScriptSpiderBallAttractionSurface >::TCastToPtr(CEntity* p) : ptr(0 void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CActor& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CBomb& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CCinematicCamera& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CCollisionActor& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CDestroyableRock& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CEnergyProjectile& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CEntity& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CExplosion& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CFirstPersonCamera& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CGameLight& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CGameProjectile& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CHUDBillboardEffect& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CMetroidPrimeRelay& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CPatterned& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CPlayer& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptActorKeyframe& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptAiJumpPoint& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptCameraHint& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptCameraPitchVolume& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptCameraWaypoint& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptCoverPoint& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptDebugCameraWaypoint& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptDistanceFog& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptGrapplePoint& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptGunTurret& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptMazeNode& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptPlatform& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptPlayerHint& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptPointOfInterest& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptRoomAcoustics& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptSpawnPoint& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptSpecialFunction& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit( + CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptSpiderBallWaypoint& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptTargetingPoint& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptTrigger& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptVisorFlare& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptWaypoint& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CSnakeWeedSwarm& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptSpindleCamera& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CWallCrawlerSwarm& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CWeapon& v) { ptr = GetPtr(&v); } TCastToPtr< CScriptSpiderBallWaypoint >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } TCastToPtr< CScriptSpiderBallWaypoint >::TCastToPtr(CEntity* p) : ptr(0) { @@ -3015,10 +3156,14 @@ void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptActor& v) { ptr = Get void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptCameraPitchVolume& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptDebugCameraWaypoint& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } @@ -3034,8 +3179,12 @@ void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptRoomAcoustics& v) { p void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptSpiderBallWaypoint& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } @@ -3097,7 +3246,9 @@ void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptRoomAcoustics& v) { ptr = void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptTargetingPoint >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -3286,7 +3437,9 @@ void TCastToPtr< CScriptTrigger >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr void TCastToPtr< CScriptTrigger >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptTrigger >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptTrigger >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptTrigger >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptTrigger >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptTrigger >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptTrigger >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -3349,7 +3502,9 @@ void TCastToPtr< CScriptVisorFlare >::Visit(CScriptRoomAcoustics& v) { ptr = Get void TCastToPtr< CScriptVisorFlare >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptVisorFlare >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptVisorFlare >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptVisorFlare >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptVisorFlare >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptVisorFlare >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptVisorFlare >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -3475,7 +3630,9 @@ void TCastToPtr< CScriptWaypoint >::Visit(CScriptRoomAcoustics& v) { ptr = GetPt void TCastToPtr< CScriptWaypoint >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptWaypoint >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptWaypoint >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptWaypoint >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptWaypoint >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptWaypoint >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptWaypoint >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -3538,7 +3695,9 @@ void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptRoomAcoustics& v) { ptr = GetPt void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CSnakeWeedSwarm >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -3601,7 +3760,9 @@ void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptRoomAcoustics& v) { ptr = void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CScriptSpindleCamera >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -3664,7 +3825,9 @@ void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptRoomAcoustics& v) { ptr = Get void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } -void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptSpiderBallAttractionSurface& v) { + ptr = GetPtr(&v); +} void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } void TCastToPtr< CWallCrawlerSwarm >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } @@ -3741,4 +3904,4 @@ void TCastToPtr< CWeapon >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } void TCastToPtr< CWeapon >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } void TCastToPtr< CWeapon >::Visit(CWeapon& v) { ptr = GetPtr(&v); } -#endif \ No newline at end of file +#endif diff --git a/src/MetroidPrime/UserNames.cpp b/src/MetroidPrime/UserNames.cpp index 8f6ccf44..84b93850 100644 --- a/src/MetroidPrime/UserNames.cpp +++ b/src/MetroidPrime/UserNames.cpp @@ -2,6 +2,4 @@ #include "MetroidPrime/UserNames.hpp" -bool IsUser(int name) { - return name == 1; -} +bool IsUser(int name) { return name == 1; } diff --git a/src/MetroidPrime/main.cpp b/src/MetroidPrime/main.cpp index 1f1bb154..bc19530c 100644 --- a/src/MetroidPrime/main.cpp +++ b/src/MetroidPrime/main.cpp @@ -159,7 +159,8 @@ void CMain::InitializeSubsystems() { ARQInit(); OSThread* thread = OSGetCurrentThread(); printf("Protecting stack... "); - u8* stackEnd = reinterpret_cast< u8* >(ALIGN_UP(reinterpret_cast< uintptr_t >(thread->stackEnd), 0x400)); + u8* stackEnd = + reinterpret_cast< u8* >(ALIGN_UP(reinterpret_cast< uintptr_t >(thread->stackEnd), 0x400)); u8* stackBase = thread->stackBase; OSProtectRange(OS_PROTECT_CHAN3, stackEnd, 0x400, OS_PROTECT_CONTROL_NONE); @@ -185,7 +186,8 @@ void CMain::ShutdownSubsystems() { CAnimData::FreeCache(); OSThread* thread = OSGetCurrentThread(); - u8* stackEnd = reinterpret_cast< u8* >(ALIGN_UP(reinterpret_cast< uintptr_t >(thread->stackEnd), 0x400)); + u8* stackEnd = + reinterpret_cast< u8* >(ALIGN_UP(reinterpret_cast< uintptr_t >(thread->stackEnd), 0x400)); u8* stackBase = thread->stackBase; u8* ptr = stackEnd + 0x400; @@ -195,7 +197,8 @@ void CMain::ShutdownSubsystems() { break; } } - OSReport("Stack usage: %d bytes (%dk)\n", (int)(stackBase - ptr), ((u32)((int)stackBase - (int)ptr) / 1024)); + OSReport("Stack usage: %d bytes (%dk)\n", (int)(stackBase - ptr), + ((u32)((int)stackBase - (int)ptr) / 1024)); } CGameGlobalObjects::CGameGlobalObjects(COsContext& osContext, CMemorySys& memorySys) @@ -215,139 +218,186 @@ CGameGlobalObjects::CGameGlobalObjects(COsContext& osContext, CMemorySys& memory } const u8 sDefaultFontData[] = { - 0x78, 0xDA, 0x8D, 0x57, 0x5B, 0x6F, 0x54, 0x55, 0x14, 0x5E, 0xA5, 0x74, 0x3A, 0x9D, 0x96, 0x82, 0x18, 0x85, 0x48, 0xD2, 0x40, 0xB9, - 0x28, 0xD7, 0x52, 0x29, 0xA5, 0xB7, 0xD9, 0x5B, 0x6B, 0x69, 0xA1, 0x42, 0xB9, 0xB4, 0x94, 0x8A, 0xD0, 0xD2, 0x4E, 0xE7, 0xD6, 0x4E, - 0x67, 0xDA, 0xB9, 0x74, 0x68, 0x45, 0x99, 0x28, 0xF3, 0x40, 0xD4, 0xF0, 0x0B, 0x8C, 0x31, 0xC6, 0xF8, 0xA2, 0xF1, 0xC5, 0xC4, 0x18, - 0x35, 0xC6, 0xC4, 0x17, 0xE3, 0x83, 0x31, 0x4A, 0x7C, 0x21, 0x31, 0x26, 0x26, 0x86, 0xE8, 0xA3, 0xC6, 0x17, 0x93, 0xBA, 0xF7, 0xDA, - 0xDF, 0x39, 0x73, 0x66, 0x98, 0x72, 0xCE, 0x21, 0x3B, 0x1F, 0xFB, 0xCC, 0xB7, 0xBF, 0x59, 0x7B, 0xDD, 0xBA, 0x66, 0xF0, 0xDC, 0xC8, - 0x18, 0x11, 0x6D, 0x50, 0x6B, 0x8B, 0x5A, 0x9B, 0xD5, 0x6A, 0x52, 0xAB, 0x8E, 0xF4, 0x53, 0xAF, 0xD6, 0xA6, 0x81, 0x70, 0x64, 0x3A, - 0x14, 0x6E, 0x3F, 0xD6, 0x4F, 0xD7, 0xC3, 0x45, 0x49, 0xE6, 0x99, 0xA2, 0x9D, 0xE2, 0x4D, 0x22, 0x39, 0x42, 0x24, 0xEE, 0x2A, 0x1C, - 0x27, 0xEB, 0xA9, 0xC1, 0xE9, 0x1A, 0x2C, 0xFD, 0x14, 0x69, 0x97, 0xF8, 0x4D, 0xB1, 0x0E, 0x28, 0xF6, 0x03, 0x85, 0x93, 0x36, 0xB3, - 0x56, 0xAD, 0x66, 0x60, 0x13, 0x56, 0x91, 0x5A, 0x65, 0x43, 0x81, 0xD9, 0x72, 0xAB, 0xC2, 0x1E, 0x5B, 0xDB, 0xEF, 0xC0, 0x5A, 0x9B, - 0xBD, 0xBB, 0x57, 0x81, 0xF8, 0x9D, 0x28, 0x38, 0xA1, 0x4E, 0xB4, 0xD8, 0xEC, 0x46, 0x7C, 0x87, 0x66, 0x05, 0xB0, 0x2F, 0xD2, 0x1E, - 0x39, 0xA9, 0x34, 0x5B, 0x15, 0x33, 0x52, 0x60, 0xFB, 0xC1, 0xAA, 0x87, 0x17, 0xEA, 0xC1, 0x0E, 0x30, 0x7B, 0xAF, 0xE8, 0x37, 0xDA, - 0x22, 0x49, 0x7C, 0x0A, 0x4F, 0xC0, 0x81, 0x8D, 0xB6, 0xF6, 0x3E, 0x79, 0x09, 0xDA, 0xD7, 0x3C, 0x68, 0x3F, 0x2D, 0x6B, 0x14, 0x6B, - 0x58, 0xB1, 0x7D, 0x0A, 0xAF, 0xD8, 0xDA, 0x1B, 0x1D, 0x68, 0xDD, 0x92, 0xE8, 0x19, 0x79, 0x08, 0xDA, 0xC7, 0x0A, 0x96, 0x07, 0xC9, - 0xE1, 0x6B, 0x1F, 0x3C, 0x69, 0x7C, 0xB2, 0x5F, 0x06, 0xC1, 0x1E, 0xF0, 0xC0, 0x3E, 0xC0, 0x96, 0x68, 0x7F, 0xFB, 0x15, 0xF6, 0xDB, - 0x6C, 0x9F, 0x83, 0x5D, 0x67, 0xB3, 0x0F, 0x8A, 0x4F, 0x14, 0x73, 0x9F, 0xF2, 0xC9, 0xD7, 0x64, 0xB1, 0xAD, 0xDB, 0x35, 0x00, 0x7D, - 0x88, 0x52, 0x91, 0x0E, 0x71, 0x2C, 0x85, 0x62, 0x36, 0x17, 0xAC, 0x3C, 0xA9, 0xC1, 0xED, 0x2C, 0xAC, 0xC3, 0x4D, 0x8B, 0x74, 0x98, - 0xFD, 0xAC, 0x7C, 0x22, 0xEE, 0x90, 0x93, 0x5D, 0x0F, 0xF4, 0xE3, 0xBB, 0x7C, 0xCC, 0x3E, 0xC2, 0x96, 0x68, 0xF6, 0xE7, 0x64, 0x79, - 0xB0, 0x52, 0xBB, 0xD6, 0xD6, 0x6E, 0x13, 0x5B, 0x11, 0x4B, 0x51, 0x16, 0xCB, 0x06, 0xB0, 0xAD, 0x58, 0x9A, 0x5B, 0x1E, 0xE5, 0xAC, - 0x8A, 0xA9, 0xAC, 0xEA, 0x52, 0x78, 0xBF, 0x2C, 0xF2, 0x16, 0xBB, 0x94, 0xB1, 0xED, 0xF2, 0x2C, 0xFC, 0x3D, 0x56, 0x76, 0x4B, 0xA7, - 0x07, 0x2D, 0x76, 0x0D, 0x3D, 0x1B, 0x3C, 0x05, 0xED, 0x2F, 0x3D, 0x68, 0x1F, 0x13, 0x11, 0xC3, 0xD6, 0x3E, 0x71, 0x65, 0x77, 0xE8, - 0xBA, 0x64, 0xF6, 0x7B, 0x1E, 0xD8, 0xC7, 0xC5, 0xFB, 0x8A, 0x75, 0xC3, 0x78, 0x50, 0xFB, 0xE6, 0x91, 0xEC, 0x4E, 0xF1, 0x05, 0xD8, - 0x3F, 0x7A, 0x60, 0x9F, 0x10, 0x3F, 0x81, 0xFD, 0xC0, 0x03, 0xBB, 0x4B, 0x52, 0x81, 0xFA, 0xD4, 0x7F, 0x65, 0x63, 0x81, 0xC4, 0x84, - 0x0B, 0xBB, 0x5B, 0x36, 0x81, 0xBD, 0xCD, 0x03, 0xBB, 0x47, 0xFC, 0x6B, 0xBA, 0x8F, 0xFE, 0x0E, 0xD4, 0x25, 0x55, 0xE4, 0x89, 0xDF, - 0xAE, 0xCB, 0x5E, 0xF1, 0x27, 0x7A, 0xD5, 0x3F, 0x0A, 0x2F, 0x56, 0x65, 0x37, 0xD8, 0xEC, 0x3E, 0xF1, 0x2E, 0xAA, 0xE1, 0x63, 0x93, - 0x8B, 0x55, 0x6A, 0xA7, 0xA4, 0x1D, 0xE4, 0xFC, 0xD6, 0xDA, 0x45, 0x85, 0x83, 0x55, 0xD9, 0x3E, 0xE8, 0x17, 0x55, 0xA2, 0xDE, 0x85, - 0xF6, 0x3B, 0x1E, 0xB4, 0xA5, 0xCE, 0x2A, 0x9D, 0x83, 0xC1, 0x8F, 0xCA, 0x6A, 0xC7, 0xEF, 0xC0, 0x92, 0x4F, 0x9E, 0x93, 0x51, 0x64, - 0x6C, 0xCA, 0x43, 0xAF, 0x7A, 0x5E, 0x6E, 0x87, 0xBF, 0x77, 0x7B, 0xF0, 0x77, 0xBF, 0xDC, 0x03, 0x76, 0x9B, 0x2B, 0xBB, 0x9E, 0x5E, - 0xE0, 0x88, 0xAB, 0xFC, 0x90, 0x4F, 0x14, 0xF8, 0xB6, 0x60, 0x35, 0x38, 0xB0, 0xA4, 0x3D, 0x20, 0x8F, 0x42, 0xBB, 0xD7, 0x83, 0x25, - 0x27, 0x65, 0x1F, 0xD8, 0x43, 0x36, 0xBB, 0xA6, 0xA2, 0x7F, 0x97, 0xD8, 0x83, 0xF2, 0x49, 0x58, 0xB2, 0xD3, 0xB6, 0x84, 0xD6, 0xB5, - 0x64, 0x48, 0x9E, 0x82, 0xF6, 0xA8, 0x07, 0x4B, 0x4E, 0xE9, 0xCE, 0xC0, 0xEC, 0x29, 0x0F, 0xEC, 0xD3, 0xE2, 0x17, 0x44, 0xFE, 0xD7, - 0xB2, 0xCE, 0x56, 0xEB, 0x40, 0x8B, 0xED, 0xA7, 0x61, 0x79, 0x1D, 0xDA, 0xF3, 0x1E, 0x6E, 0xF9, 0xA2, 0x48, 0xA3, 0x0F, 0xBE, 0x4D, - 0xEE, 0xFE, 0x3E, 0xA3, 0xAB, 0x81, 0xD9, 0x6B, 0x65, 0x6C, 0x7F, 0x55, 0xF6, 0x59, 0xDD, 0x35, 0xB5, 0x25, 0xC1, 0xDB, 0xE4, 0xB4, - 0x64, 0xB3, 0x03, 0x2D, 0x76, 0x03, 0x8D, 0xC8, 0x04, 0xEC, 0xCE, 0x7B, 0xF0, 0xC9, 0x39, 0x5D, 0xBD, 0xBA, 0xB3, 0x71, 0xBE, 0xDC, - 0x77, 0xB9, 0xE5, 0x79, 0xDD, 0x21, 0x98, 0xBD, 0xAD, 0xE0, 0xD6, 0x07, 0x03, 0x74, 0x41, 0xA8, 0x29, 0x43, 0xE8, 0xAE, 0x3C, 0x43, - 0x4E, 0x6D, 0xA7, 0x4F, 0x4A, 0x7F, 0x2F, 0x2F, 0xEA, 0x6A, 0x60, 0xED, 0xDD, 0xAE, 0xDA, 0x8D, 0x34, 0xAA, 0xAB, 0x81, 0xD9, 0x6D, - 0xAE, 0xEC, 0x26, 0x1A, 0xD3, 0x9D, 0x41, 0xFB, 0x44, 0xD7, 0x7C, 0x15, 0x9F, 0x34, 0x3A, 0xD8, 0xCD, 0x74, 0x49, 0x57, 0x03, 0x6B, - 0xF7, 0x16, 0xDC, 0xBB, 0xFD, 0xB8, 0xAE, 0x06, 0x66, 0x0F, 0x79, 0x60, 0x5F, 0x0E, 0xBE, 0x05, 0x4B, 0x7C, 0xAE, 0xB1, 0xDC, 0x42, - 0x13, 0xBA, 0x1A, 0x58, 0x7B, 0xD4, 0x83, 0xF6, 0x4B, 0x1C, 0x4B, 0x5D, 0x69, 0x01, 0x0F, 0x35, 0x7F, 0x45, 0xF7, 0x58, 0xB6, 0xE4, - 0x33, 0xAA, 0x96, 0xDF, 0x8D, 0x65, 0xEC, 0x97, 0xF9, 0xEF, 0xBB, 0xAE, 0x1D, 0xD5, 0xBB, 0xE5, 0x4C, 0xD5, 0xA9, 0xA0, 0x14, 0xCB, - 0xAB, 0x72, 0x17, 0xFA, 0xE0, 0xC1, 0xB2, 0x3E, 0xE8, 0xCC, 0xEF, 0xD2, 0xF4, 0x78, 0x4D, 0x2E, 0x82, 0xBD, 0x5C, 0x70, 0xCE, 0xB1, - 0x1B, 0x1D, 0x93, 0x6F, 0x49, 0x7B, 0x52, 0x3E, 0x8E, 0xB9, 0x6A, 0x47, 0xD9, 0x1C, 0x5B, 0xE7, 0xE8, 0xB5, 0xA5, 0x39, 0x76, 0x4A, - 0x6E, 0xC6, 0xA4, 0xF4, 0x54, 0xC1, 0xEA, 0xF6, 0x95, 0xF9, 0xBD, 0x01, 0xAB, 0x48, 0xD7, 0x59, 0x73, 0x18, 0xBD, 0xAA, 0x34, 0x7F, - 0xD7, 0x3A, 0x2C, 0xDA, 0x60, 0x6B, 0x4F, 0xEB, 0x5B, 0xB2, 0xBF, 0xF5, 0x14, 0xD9, 0x52, 0x35, 0x3A, 0xD6, 0x7A, 0x8C, 0x66, 0x74, - 0xAF, 0xE2, 0x58, 0x4E, 0xB9, 0xC6, 0x72, 0x3B, 0x85, 0xE4, 0x61, 0x68, 0x77, 0xD9, 0xDA, 0x95, 0x76, 0x5B, 0x6B, 0x07, 0xCD, 0xEA, - 0x5E, 0xC5, 0xDA, 0xF3, 0xAE, 0x55, 0xBC, 0x97, 0xC2, 0xB2, 0x1B, 0xDA, 0x03, 0xAE, 0xDA, 0xFB, 0x29, 0x22, 0x4F, 0x22, 0x3A, 0x67, - 0x5C, 0xA7, 0xB0, 0xA3, 0x14, 0xD5, 0x33, 0x0F, 0x67, 0xD5, 0x0F, 0x66, 0x62, 0xAA, 0xA2, 0xBD, 0x09, 0xD8, 0x41, 0x31, 0xDD, 0xAB, - 0xD8, 0xEE, 0xBC, 0xAB, 0x4F, 0x7A, 0x29, 0x2E, 0xBE, 0x47, 0x0E, 0xDE, 0x5B, 0x77, 0x86, 0xB0, 0xEC, 0x96, 0x34, 0x27, 0x5A, 0xC1, - 0xEE, 0xA1, 0x6A, 0xD3, 0x7A, 0x9D, 0xC3, 0x92, 0x93, 0x34, 0x1F, 0xFC, 0xD6, 0xF4, 0x28, 0xD1, 0xFC, 0xD0, 0x6F, 0x92, 0x4A, 0x4B, - 0x06, 0x29, 0x21, 0xC6, 0xA1, 0x3D, 0x47, 0x95, 0xBF, 0x32, 0x2C, 0x4B, 0x2C, 0xF6, 0x10, 0x2D, 0x88, 0x00, 0x7C, 0xA2, 0x66, 0x13, - 0xD1, 0x65, 0xB3, 0x9B, 0xC1, 0x6E, 0x76, 0xD8, 0x3D, 0x42, 0x49, 0xED, 0x6F, 0x8E, 0xCE, 0x79, 0xD7, 0xAC, 0xBA, 0x40, 0x29, 0x79, - 0x01, 0xEC, 0xAB, 0xAE, 0xEC, 0x09, 0x5A, 0xD4, 0x33, 0x26, 0x5B, 0xF2, 0x87, 0x1D, 0x9D, 0x4A, 0xB6, 0xE5, 0x93, 0x59, 0x5A, 0xD2, - 0x33, 0x26, 0xB3, 0xD7, 0x5C, 0x63, 0x19, 0xA5, 0xB4, 0xFE, 0x7D, 0xC6, 0x96, 0xC4, 0x1E, 0xB2, 0xA4, 0x32, 0xAB, 0x62, 0x94, 0x91, - 0x71, 0xB0, 0xB3, 0xAE, 0x76, 0x2F, 0x50, 0x56, 0x76, 0x20, 0x07, 0xFB, 0xAA, 0xE6, 0x60, 0xBD, 0xC3, 0xDF, 0x69, 0xCA, 0xE9, 0x09, - 0x4F, 0xFC, 0xA5, 0xD6, 0x07, 0xEB, 0xC6, 0xD2, 0x5A, 0x39, 0x5A, 0x16, 0x1F, 0x82, 0xFD, 0x95, 0x2B, 0xFB, 0x26, 0xE5, 0xC5, 0x30, - 0x7C, 0xF2, 0x86, 0x1D, 0x4B, 0x2B, 0x86, 0x54, 0x11, 0xCB, 0x5B, 0x74, 0x43, 0xFF, 0x9A, 0x63, 0xED, 0x7B, 0xAE, 0xDA, 0x45, 0x5A, - 0xD1, 0x79, 0xC2, 0x7F, 0x2F, 0x3B, 0xD5, 0xFA, 0xF9, 0x91, 0xD1, 0x79, 0x9D, 0x56, 0xF5, 0x54, 0xC0, 0x93, 0x69, 0x17, 0x39, 0x7B, - 0x6C, 0x35, 0x7F, 0xDF, 0xA6, 0x57, 0x74, 0x85, 0xB1, 0x07, 0x6F, 0x79, 0x98, 0x4C, 0x6F, 0x8A, 0x6F, 0x90, 0xDF, 0xDF, 0xD9, 0xDD, - 0x9E, 0x2A, 0x26, 0xA5, 0x52, 0x47, 0x7E, 0x35, 0xF8, 0xA9, 0x61, 0x07, 0xFF, 0xB6, 0xEB, 0x72, 0x7D, 0xED, 0xD7, 0x82, 0xFF, 0x41, - 0xBB, 0xC5, 0x03, 0x9B, 0x7F, 0xD3, 0xD3, 0x11, 0x66, 0xB5, 0xAB, 0xFE, 0x62, 0xB0, 0x63, 0x4D, 0x3D, 0x0A, 0x8F, 0x63, 0xDF, 0x09, - 0x3C, 0x81, 0xF7, 0xDD, 0xBC, 0xEF, 0xA7, 0x30, 0xEF, 0x4F, 0x53, 0x88, 0xF7, 0x67, 0x29, 0xCC, 0x78, 0x9E, 0x4C, 0x2E, 0x5F, 0xC4, - 0xE7, 0xA3, 0x14, 0x02, 0x9A, 0xFD, 0x18, 0x4D, 0x03, 0xCD, 0xFE, 0x32, 0x70, 0x1A, 0xBC, 0x69, 0x9A, 0x05, 0x46, 0x81, 0x19, 0xD6, - 0x9B, 0xA6, 0x2C, 0xF6, 0x79, 0xE0, 0x2A, 0xE3, 0x0C, 0xCE, 0xCF, 0xD0, 0x1C, 0x30, 0xC5, 0x18, 0x82, 0x3D, 0x21, 0xD8, 0x13, 0xA2, - 0x79, 0x60, 0x02, 0x98, 0x02, 0x2E, 0x01, 0xD3, 0xC0, 0x2C, 0x30, 0x07, 0x5C, 0x61, 0x9C, 0xA5, 0x38, 0xFB, 0x72, 0x16, 0xE7, 0x67, - 0x29, 0x09, 0x34, 0xF6, 0x85, 0xF1, 0x7D, 0x61, 0xD8, 0x11, 0x06, 0x2F, 0xAC, 0x2A, 0xCC, 0x60, 0x16, 0xB8, 0x02, 0x5C, 0x65, 0x8C, - 0xC0, 0x1F, 0x11, 0xDC, 0x23, 0xA2, 0xFE, 0x99, 0xF7, 0x71, 0xC6, 0x28, 0xEC, 0x8F, 0xDA, 0xFB, 0x04, 0x30, 0x09, 0x4C, 0x01, 0x73, - 0x40, 0xA3, 0x1F, 0x53, 0x1E, 0x32, 0x68, 0x74, 0x63, 0x38, 0x1F, 0x83, 0x1D, 0x71, 0xF8, 0x3B, 0xAE, 0x6E, 0x60, 0xF6, 0x61, 0x60, - 0x04, 0x18, 0x05, 0x1A, 0x3F, 0xCF, 0xE1, 0xF3, 0x79, 0xE8, 0x25, 0xA0, 0x9F, 0x40, 0xBC, 0x12, 0xF6, 0xFB, 0x08, 0xDE, 0xC7, 0x81, - 0x59, 0xBC, 0xCF, 0xF3, 0x7E, 0x01, 0xE7, 0x16, 0xC0, 0x5F, 0xA0, 0x45, 0xDE, 0x27, 0xF1, 0x3E, 0x09, 0xBB, 0x92, 0xD0, 0x4D, 0x82, - 0x97, 0x84, 0x6E, 0x12, 0x79, 0x91, 0x84, 0x6E, 0x0A, 0xE7, 0x52, 0x38, 0x97, 0xC2, 0xB9, 0x14, 0xCE, 0xA5, 0x28, 0x02, 0x8C, 0x02, - 0xE7, 0x80, 0x09, 0x9C, 0xCB, 0x00, 0x2D, 0xBD, 0x3C, 0xD0, 0xDC, 0x7B, 0x11, 0xFA, 0x8B, 0xD0, 0x5B, 0x04, 0x6F, 0x09, 0xFE, 0x4E, - 0xE3, 0xF3, 0x34, 0xEA, 0x20, 0x0D, 0x3F, 0xA5, 0x71, 0xFF, 0x34, 0xF4, 0x33, 0xB0, 0x2F, 0x03, 0x9D, 0x8C, 0xFD, 0x3E, 0x8B, 0xBD, - 0xF1, 0x4F, 0x16, 0x7A, 0x59, 0xE8, 0x65, 0xC1, 0xCF, 0xE1, 0x7C, 0x0E, 0xF7, 0xCB, 0xD9, 0xEF, 0xA3, 0x40, 0x73, 0x9F, 0x1C, 0x65, - 0xB0, 0x37, 0x71, 0x5E, 0x86, 0xDE, 0x32, 0xF8, 0xCB, 0xB0, 0x2B, 0x8F, 0xF7, 0x79, 0xE4, 0x57, 0x1E, 0xEF, 0x57, 0xF0, 0xBD, 0x2B, - 0xB8, 0xC7, 0xAA, 0xC1, 0xFF, 0x01, 0xCB, 0xC9, 0xBA, 0xB0, + 0x78, 0xDA, 0x8D, 0x57, 0x5B, 0x6F, 0x54, 0x55, 0x14, 0x5E, 0xA5, 0x74, 0x3A, 0x9D, 0x96, 0x82, + 0x18, 0x85, 0x48, 0xD2, 0x40, 0xB9, 0x28, 0xD7, 0x52, 0x29, 0xA5, 0xB7, 0xD9, 0x5B, 0x6B, 0x69, + 0xA1, 0x42, 0xB9, 0xB4, 0x94, 0x8A, 0xD0, 0xD2, 0x4E, 0xE7, 0xD6, 0x4E, 0x67, 0xDA, 0xB9, 0x74, + 0x68, 0x45, 0x99, 0x28, 0xF3, 0x40, 0xD4, 0xF0, 0x0B, 0x8C, 0x31, 0xC6, 0xF8, 0xA2, 0xF1, 0xC5, + 0xC4, 0x18, 0x35, 0xC6, 0xC4, 0x17, 0xE3, 0x83, 0x31, 0x4A, 0x7C, 0x21, 0x31, 0x26, 0x26, 0x86, + 0xE8, 0xA3, 0xC6, 0x17, 0x93, 0xBA, 0xF7, 0xDA, 0xDF, 0x39, 0x73, 0x66, 0x98, 0x72, 0xCE, 0x21, + 0x3B, 0x1F, 0xFB, 0xCC, 0xB7, 0xBF, 0x59, 0x7B, 0xDD, 0xBA, 0x66, 0xF0, 0xDC, 0xC8, 0x18, 0x11, + 0x6D, 0x50, 0x6B, 0x8B, 0x5A, 0x9B, 0xD5, 0x6A, 0x52, 0xAB, 0x8E, 0xF4, 0x53, 0xAF, 0xD6, 0xA6, + 0x81, 0x70, 0x64, 0x3A, 0x14, 0x6E, 0x3F, 0xD6, 0x4F, 0xD7, 0xC3, 0x45, 0x49, 0xE6, 0x99, 0xA2, + 0x9D, 0xE2, 0x4D, 0x22, 0x39, 0x42, 0x24, 0xEE, 0x2A, 0x1C, 0x27, 0xEB, 0xA9, 0xC1, 0xE9, 0x1A, + 0x2C, 0xFD, 0x14, 0x69, 0x97, 0xF8, 0x4D, 0xB1, 0x0E, 0x28, 0xF6, 0x03, 0x85, 0x93, 0x36, 0xB3, + 0x56, 0xAD, 0x66, 0x60, 0x13, 0x56, 0x91, 0x5A, 0x65, 0x43, 0x81, 0xD9, 0x72, 0xAB, 0xC2, 0x1E, + 0x5B, 0xDB, 0xEF, 0xC0, 0x5A, 0x9B, 0xBD, 0xBB, 0x57, 0x81, 0xF8, 0x9D, 0x28, 0x38, 0xA1, 0x4E, + 0xB4, 0xD8, 0xEC, 0x46, 0x7C, 0x87, 0x66, 0x05, 0xB0, 0x2F, 0xD2, 0x1E, 0x39, 0xA9, 0x34, 0x5B, + 0x15, 0x33, 0x52, 0x60, 0xFB, 0xC1, 0xAA, 0x87, 0x17, 0xEA, 0xC1, 0x0E, 0x30, 0x7B, 0xAF, 0xE8, + 0x37, 0xDA, 0x22, 0x49, 0x7C, 0x0A, 0x4F, 0xC0, 0x81, 0x8D, 0xB6, 0xF6, 0x3E, 0x79, 0x09, 0xDA, + 0xD7, 0x3C, 0x68, 0x3F, 0x2D, 0x6B, 0x14, 0x6B, 0x58, 0xB1, 0x7D, 0x0A, 0xAF, 0xD8, 0xDA, 0x1B, + 0x1D, 0x68, 0xDD, 0x92, 0xE8, 0x19, 0x79, 0x08, 0xDA, 0xC7, 0x0A, 0x96, 0x07, 0xC9, 0xE1, 0x6B, + 0x1F, 0x3C, 0x69, 0x7C, 0xB2, 0x5F, 0x06, 0xC1, 0x1E, 0xF0, 0xC0, 0x3E, 0xC0, 0x96, 0x68, 0x7F, + 0xFB, 0x15, 0xF6, 0xDB, 0x6C, 0x9F, 0x83, 0x5D, 0x67, 0xB3, 0x0F, 0x8A, 0x4F, 0x14, 0x73, 0x9F, + 0xF2, 0xC9, 0xD7, 0x64, 0xB1, 0xAD, 0xDB, 0x35, 0x00, 0x7D, 0x88, 0x52, 0x91, 0x0E, 0x71, 0x2C, + 0x85, 0x62, 0x36, 0x17, 0xAC, 0x3C, 0xA9, 0xC1, 0xED, 0x2C, 0xAC, 0xC3, 0x4D, 0x8B, 0x74, 0x98, + 0xFD, 0xAC, 0x7C, 0x22, 0xEE, 0x90, 0x93, 0x5D, 0x0F, 0xF4, 0xE3, 0xBB, 0x7C, 0xCC, 0x3E, 0xC2, + 0x96, 0x68, 0xF6, 0xE7, 0x64, 0x79, 0xB0, 0x52, 0xBB, 0xD6, 0xD6, 0x6E, 0x13, 0x5B, 0x11, 0x4B, + 0x51, 0x16, 0xCB, 0x06, 0xB0, 0xAD, 0x58, 0x9A, 0x5B, 0x1E, 0xE5, 0xAC, 0x8A, 0xA9, 0xAC, 0xEA, + 0x52, 0x78, 0xBF, 0x2C, 0xF2, 0x16, 0xBB, 0x94, 0xB1, 0xED, 0xF2, 0x2C, 0xFC, 0x3D, 0x56, 0x76, + 0x4B, 0xA7, 0x07, 0x2D, 0x76, 0x0D, 0x3D, 0x1B, 0x3C, 0x05, 0xED, 0x2F, 0x3D, 0x68, 0x1F, 0x13, + 0x11, 0xC3, 0xD6, 0x3E, 0x71, 0x65, 0x77, 0xE8, 0xBA, 0x64, 0xF6, 0x7B, 0x1E, 0xD8, 0xC7, 0xC5, + 0xFB, 0x8A, 0x75, 0xC3, 0x78, 0x50, 0xFB, 0xE6, 0x91, 0xEC, 0x4E, 0xF1, 0x05, 0xD8, 0x3F, 0x7A, + 0x60, 0x9F, 0x10, 0x3F, 0x81, 0xFD, 0xC0, 0x03, 0xBB, 0x4B, 0x52, 0x81, 0xFA, 0xD4, 0x7F, 0x65, + 0x63, 0x81, 0xC4, 0x84, 0x0B, 0xBB, 0x5B, 0x36, 0x81, 0xBD, 0xCD, 0x03, 0xBB, 0x47, 0xFC, 0x6B, + 0xBA, 0x8F, 0xFE, 0x0E, 0xD4, 0x25, 0x55, 0xE4, 0x89, 0xDF, 0xAE, 0xCB, 0x5E, 0xF1, 0x27, 0x7A, + 0xD5, 0x3F, 0x0A, 0x2F, 0x56, 0x65, 0x37, 0xD8, 0xEC, 0x3E, 0xF1, 0x2E, 0xAA, 0xE1, 0x63, 0x93, + 0x8B, 0x55, 0x6A, 0xA7, 0xA4, 0x1D, 0xE4, 0xFC, 0xD6, 0xDA, 0x45, 0x85, 0x83, 0x55, 0xD9, 0x3E, + 0xE8, 0x17, 0x55, 0xA2, 0xDE, 0x85, 0xF6, 0x3B, 0x1E, 0xB4, 0xA5, 0xCE, 0x2A, 0x9D, 0x83, 0xC1, + 0x8F, 0xCA, 0x6A, 0xC7, 0xEF, 0xC0, 0x92, 0x4F, 0x9E, 0x93, 0x51, 0x64, 0x6C, 0xCA, 0x43, 0xAF, + 0x7A, 0x5E, 0x6E, 0x87, 0xBF, 0x77, 0x7B, 0xF0, 0x77, 0xBF, 0xDC, 0x03, 0x76, 0x9B, 0x2B, 0xBB, + 0x9E, 0x5E, 0xE0, 0x88, 0xAB, 0xFC, 0x90, 0x4F, 0x14, 0xF8, 0xB6, 0x60, 0x35, 0x38, 0xB0, 0xA4, + 0x3D, 0x20, 0x8F, 0x42, 0xBB, 0xD7, 0x83, 0x25, 0x27, 0x65, 0x1F, 0xD8, 0x43, 0x36, 0xBB, 0xA6, + 0xA2, 0x7F, 0x97, 0xD8, 0x83, 0xF2, 0x49, 0x58, 0xB2, 0xD3, 0xB6, 0x84, 0xD6, 0xB5, 0x64, 0x48, + 0x9E, 0x82, 0xF6, 0xA8, 0x07, 0x4B, 0x4E, 0xE9, 0xCE, 0xC0, 0xEC, 0x29, 0x0F, 0xEC, 0xD3, 0xE2, + 0x17, 0x44, 0xFE, 0xD7, 0xB2, 0xCE, 0x56, 0xEB, 0x40, 0x8B, 0xED, 0xA7, 0x61, 0x79, 0x1D, 0xDA, + 0xF3, 0x1E, 0x6E, 0xF9, 0xA2, 0x48, 0xA3, 0x0F, 0xBE, 0x4D, 0xEE, 0xFE, 0x3E, 0xA3, 0xAB, 0x81, + 0xD9, 0x6B, 0x65, 0x6C, 0x7F, 0x55, 0xF6, 0x59, 0xDD, 0x35, 0xB5, 0x25, 0xC1, 0xDB, 0xE4, 0xB4, + 0x64, 0xB3, 0x03, 0x2D, 0x76, 0x03, 0x8D, 0xC8, 0x04, 0xEC, 0xCE, 0x7B, 0xF0, 0xC9, 0x39, 0x5D, + 0xBD, 0xBA, 0xB3, 0x71, 0xBE, 0xDC, 0x77, 0xB9, 0xE5, 0x79, 0xDD, 0x21, 0x98, 0xBD, 0xAD, 0xE0, + 0xD6, 0x07, 0x03, 0x74, 0x41, 0xA8, 0x29, 0x43, 0xE8, 0xAE, 0x3C, 0x43, 0x4E, 0x6D, 0xA7, 0x4F, + 0x4A, 0x7F, 0x2F, 0x2F, 0xEA, 0x6A, 0x60, 0xED, 0xDD, 0xAE, 0xDA, 0x8D, 0x34, 0xAA, 0xAB, 0x81, + 0xD9, 0x6D, 0xAE, 0xEC, 0x26, 0x1A, 0xD3, 0x9D, 0x41, 0xFB, 0x44, 0xD7, 0x7C, 0x15, 0x9F, 0x34, + 0x3A, 0xD8, 0xCD, 0x74, 0x49, 0x57, 0x03, 0x6B, 0xF7, 0x16, 0xDC, 0xBB, 0xFD, 0xB8, 0xAE, 0x06, + 0x66, 0x0F, 0x79, 0x60, 0x5F, 0x0E, 0xBE, 0x05, 0x4B, 0x7C, 0xAE, 0xB1, 0xDC, 0x42, 0x13, 0xBA, + 0x1A, 0x58, 0x7B, 0xD4, 0x83, 0xF6, 0x4B, 0x1C, 0x4B, 0x5D, 0x69, 0x01, 0x0F, 0x35, 0x7F, 0x45, + 0xF7, 0x58, 0xB6, 0xE4, 0x33, 0xAA, 0x96, 0xDF, 0x8D, 0x65, 0xEC, 0x97, 0xF9, 0xEF, 0xBB, 0xAE, + 0x1D, 0xD5, 0xBB, 0xE5, 0x4C, 0xD5, 0xA9, 0xA0, 0x14, 0xCB, 0xAB, 0x72, 0x17, 0xFA, 0xE0, 0xC1, + 0xB2, 0x3E, 0xE8, 0xCC, 0xEF, 0xD2, 0xF4, 0x78, 0x4D, 0x2E, 0x82, 0xBD, 0x5C, 0x70, 0xCE, 0xB1, + 0x1B, 0x1D, 0x93, 0x6F, 0x49, 0x7B, 0x52, 0x3E, 0x8E, 0xB9, 0x6A, 0x47, 0xD9, 0x1C, 0x5B, 0xE7, + 0xE8, 0xB5, 0xA5, 0x39, 0x76, 0x4A, 0x6E, 0xC6, 0xA4, 0xF4, 0x54, 0xC1, 0xEA, 0xF6, 0x95, 0xF9, + 0xBD, 0x01, 0xAB, 0x48, 0xD7, 0x59, 0x73, 0x18, 0xBD, 0xAA, 0x34, 0x7F, 0xD7, 0x3A, 0x2C, 0xDA, + 0x60, 0x6B, 0x4F, 0xEB, 0x5B, 0xB2, 0xBF, 0xF5, 0x14, 0xD9, 0x52, 0x35, 0x3A, 0xD6, 0x7A, 0x8C, + 0x66, 0x74, 0xAF, 0xE2, 0x58, 0x4E, 0xB9, 0xC6, 0x72, 0x3B, 0x85, 0xE4, 0x61, 0x68, 0x77, 0xD9, + 0xDA, 0x95, 0x76, 0x5B, 0x6B, 0x07, 0xCD, 0xEA, 0x5E, 0xC5, 0xDA, 0xF3, 0xAE, 0x55, 0xBC, 0x97, + 0xC2, 0xB2, 0x1B, 0xDA, 0x03, 0xAE, 0xDA, 0xFB, 0x29, 0x22, 0x4F, 0x22, 0x3A, 0x67, 0x5C, 0xA7, + 0xB0, 0xA3, 0x14, 0xD5, 0x33, 0x0F, 0x67, 0xD5, 0x0F, 0x66, 0x62, 0xAA, 0xA2, 0xBD, 0x09, 0xD8, + 0x41, 0x31, 0xDD, 0xAB, 0xD8, 0xEE, 0xBC, 0xAB, 0x4F, 0x7A, 0x29, 0x2E, 0xBE, 0x47, 0x0E, 0xDE, + 0x5B, 0x77, 0x86, 0xB0, 0xEC, 0x96, 0x34, 0x27, 0x5A, 0xC1, 0xEE, 0xA1, 0x6A, 0xD3, 0x7A, 0x9D, + 0xC3, 0x92, 0x93, 0x34, 0x1F, 0xFC, 0xD6, 0xF4, 0x28, 0xD1, 0xFC, 0xD0, 0x6F, 0x92, 0x4A, 0x4B, + 0x06, 0x29, 0x21, 0xC6, 0xA1, 0x3D, 0x47, 0x95, 0xBF, 0x32, 0x2C, 0x4B, 0x2C, 0xF6, 0x10, 0x2D, + 0x88, 0x00, 0x7C, 0xA2, 0x66, 0x13, 0xD1, 0x65, 0xB3, 0x9B, 0xC1, 0x6E, 0x76, 0xD8, 0x3D, 0x42, + 0x49, 0xED, 0x6F, 0x8E, 0xCE, 0x79, 0xD7, 0xAC, 0xBA, 0x40, 0x29, 0x79, 0x01, 0xEC, 0xAB, 0xAE, + 0xEC, 0x09, 0x5A, 0xD4, 0x33, 0x26, 0x5B, 0xF2, 0x87, 0x1D, 0x9D, 0x4A, 0xB6, 0xE5, 0x93, 0x59, + 0x5A, 0xD2, 0x33, 0x26, 0xB3, 0xD7, 0x5C, 0x63, 0x19, 0xA5, 0xB4, 0xFE, 0x7D, 0xC6, 0x96, 0xC4, + 0x1E, 0xB2, 0xA4, 0x32, 0xAB, 0x62, 0x94, 0x91, 0x71, 0xB0, 0xB3, 0xAE, 0x76, 0x2F, 0x50, 0x56, + 0x76, 0x20, 0x07, 0xFB, 0xAA, 0xE6, 0x60, 0xBD, 0xC3, 0xDF, 0x69, 0xCA, 0xE9, 0x09, 0x4F, 0xFC, + 0xA5, 0xD6, 0x07, 0xEB, 0xC6, 0xD2, 0x5A, 0x39, 0x5A, 0x16, 0x1F, 0x82, 0xFD, 0x95, 0x2B, 0xFB, + 0x26, 0xE5, 0xC5, 0x30, 0x7C, 0xF2, 0x86, 0x1D, 0x4B, 0x2B, 0x86, 0x54, 0x11, 0xCB, 0x5B, 0x74, + 0x43, 0xFF, 0x9A, 0x63, 0xED, 0x7B, 0xAE, 0xDA, 0x45, 0x5A, 0xD1, 0x79, 0xC2, 0x7F, 0x2F, 0x3B, + 0xD5, 0xFA, 0xF9, 0x91, 0xD1, 0x79, 0x9D, 0x56, 0xF5, 0x54, 0xC0, 0x93, 0x69, 0x17, 0x39, 0x7B, + 0x6C, 0x35, 0x7F, 0xDF, 0xA6, 0x57, 0x74, 0x85, 0xB1, 0x07, 0x6F, 0x79, 0x98, 0x4C, 0x6F, 0x8A, + 0x6F, 0x90, 0xDF, 0xDF, 0xD9, 0xDD, 0x9E, 0x2A, 0x26, 0xA5, 0x52, 0x47, 0x7E, 0x35, 0xF8, 0xA9, + 0x61, 0x07, 0xFF, 0xB6, 0xEB, 0x72, 0x7D, 0xED, 0xD7, 0x82, 0xFF, 0x41, 0xBB, 0xC5, 0x03, 0x9B, + 0x7F, 0xD3, 0xD3, 0x11, 0x66, 0xB5, 0xAB, 0xFE, 0x62, 0xB0, 0x63, 0x4D, 0x3D, 0x0A, 0x8F, 0x63, + 0xDF, 0x09, 0x3C, 0x81, 0xF7, 0xDD, 0xBC, 0xEF, 0xA7, 0x30, 0xEF, 0x4F, 0x53, 0x88, 0xF7, 0x67, + 0x29, 0xCC, 0x78, 0x9E, 0x4C, 0x2E, 0x5F, 0xC4, 0xE7, 0xA3, 0x14, 0x02, 0x9A, 0xFD, 0x18, 0x4D, + 0x03, 0xCD, 0xFE, 0x32, 0x70, 0x1A, 0xBC, 0x69, 0x9A, 0x05, 0x46, 0x81, 0x19, 0xD6, 0x9B, 0xA6, + 0x2C, 0xF6, 0x79, 0xE0, 0x2A, 0xE3, 0x0C, 0xCE, 0xCF, 0xD0, 0x1C, 0x30, 0xC5, 0x18, 0x82, 0x3D, + 0x21, 0xD8, 0x13, 0xA2, 0x79, 0x60, 0x02, 0x98, 0x02, 0x2E, 0x01, 0xD3, 0xC0, 0x2C, 0x30, 0x07, + 0x5C, 0x61, 0x9C, 0xA5, 0x38, 0xFB, 0x72, 0x16, 0xE7, 0x67, 0x29, 0x09, 0x34, 0xF6, 0x85, 0xF1, + 0x7D, 0x61, 0xD8, 0x11, 0x06, 0x2F, 0xAC, 0x2A, 0xCC, 0x60, 0x16, 0xB8, 0x02, 0x5C, 0x65, 0x8C, + 0xC0, 0x1F, 0x11, 0xDC, 0x23, 0xA2, 0xFE, 0x99, 0xF7, 0x71, 0xC6, 0x28, 0xEC, 0x8F, 0xDA, 0xFB, + 0x04, 0x30, 0x09, 0x4C, 0x01, 0x73, 0x40, 0xA3, 0x1F, 0x53, 0x1E, 0x32, 0x68, 0x74, 0x63, 0x38, + 0x1F, 0x83, 0x1D, 0x71, 0xF8, 0x3B, 0xAE, 0x6E, 0x60, 0xF6, 0x61, 0x60, 0x04, 0x18, 0x05, 0x1A, + 0x3F, 0xCF, 0xE1, 0xF3, 0x79, 0xE8, 0x25, 0xA0, 0x9F, 0x40, 0xBC, 0x12, 0xF6, 0xFB, 0x08, 0xDE, + 0xC7, 0x81, 0x59, 0xBC, 0xCF, 0xF3, 0x7E, 0x01, 0xE7, 0x16, 0xC0, 0x5F, 0xA0, 0x45, 0xDE, 0x27, + 0xF1, 0x3E, 0x09, 0xBB, 0x92, 0xD0, 0x4D, 0x82, 0x97, 0x84, 0x6E, 0x12, 0x79, 0x91, 0x84, 0x6E, + 0x0A, 0xE7, 0x52, 0x38, 0x97, 0xC2, 0xB9, 0x14, 0xCE, 0xA5, 0x28, 0x02, 0x8C, 0x02, 0xE7, 0x80, + 0x09, 0x9C, 0xCB, 0x00, 0x2D, 0xBD, 0x3C, 0xD0, 0xDC, 0x7B, 0x11, 0xFA, 0x8B, 0xD0, 0x5B, 0x04, + 0x6F, 0x09, 0xFE, 0x4E, 0xE3, 0xF3, 0x34, 0xEA, 0x20, 0x0D, 0x3F, 0xA5, 0x71, 0xFF, 0x34, 0xF4, + 0x33, 0xB0, 0x2F, 0x03, 0x9D, 0x8C, 0xFD, 0x3E, 0x8B, 0xBD, 0xF1, 0x4F, 0x16, 0x7A, 0x59, 0xE8, + 0x65, 0xC1, 0xCF, 0xE1, 0x7C, 0x0E, 0xF7, 0xCB, 0xD9, 0xEF, 0xA3, 0x40, 0x73, 0x9F, 0x1C, 0x65, + 0xB0, 0x37, 0x71, 0x5E, 0x86, 0xDE, 0x32, 0xF8, 0xCB, 0xB0, 0x2B, 0x8F, 0xF7, 0x79, 0xE4, 0x57, + 0x1E, 0xEF, 0x57, 0xF0, 0xBD, 0x2B, 0xB8, 0xC7, 0xAA, 0xC1, 0xFF, 0x01, 0xCB, 0xC9, 0xBA, 0xB0, }; const u8 sDefaultFontTexture[] = { - 0x78, 0xDA, 0xED, 0x59, 0xDB, 0x92, 0x14, 0x31, 0x08, 0x05, 0xCB, 0x07, 0x1F, 0xC3, 0x1F, 0xF9, 0xAB, 0x7E, 0xA9, 0x4E, 0x37, 0x77, - 0x02, 0xE9, 0x99, 0xD2, 0x37, 0xB7, 0xB7, 0x70, 0xA7, 0x77, 0x12, 0x42, 0x08, 0x07, 0x0E, 0x11, 0x00, 0xBE, 0x23, 0xC0, 0x4F, 0x00, - 0x78, 0xFD, 0x82, 0x6F, 0xAF, 0x7F, 0x17, 0xC0, 0xEF, 0xDF, 0xBF, 0x7E, 0xC0, 0xF9, 0x21, 0x22, 0xBC, 0x05, 0xB0, 0x8A, 0x7C, 0xBD, - 0xE8, 0x7A, 0x00, 0x37, 0xE1, 0xF9, 0x6B, 0x16, 0xFE, 0x9A, 0x26, 0xB9, 0xBE, 0xBF, 0x3F, 0xE2, 0x2D, 0x50, 0x45, 0xD6, 0xE7, 0x67, - 0x98, 0x0F, 0xCD, 0xBC, 0x34, 0xFF, 0x69, 0x7D, 0x94, 0xF5, 0x9B, 0x1D, 0xF0, 0xFA, 0x3C, 0x78, 0xDD, 0xB6, 0x66, 0xE1, 0xE5, 0xD9, - 0x7F, 0xE2, 0x77, 0xBA, 0x0D, 0x82, 0xEB, 0x9D, 0x1D, 0xC0, 0x2F, 0xEC, 0xAF, 0x25, 0x02, 0x26, 0xF7, 0xFE, 0x6E, 0x1F, 0x4F, 0x0E, - 0x44, 0x3F, 0x1F, 0xA8, 0x62, 0xFA, 0x6D, 0x13, 0x59, 0xC2, 0xF9, 0xAD, 0xB0, 0xBC, 0xCB, 0xA8, 0xDF, 0xF6, 0x24, 0xFE, 0xEB, 0xF4, - 0xC3, 0x68, 0xBF, 0xAD, 0x99, 0xE3, 0x0B, 0xEA, 0x1A, 0x6C, 0x3F, 0xBE, 0x67, 0xFF, 0xA0, 0xFF, 0xD9, 0x3F, 0xEF, 0xEA, 0x8F, 0x90, - 0xE0, 0x33, 0x3F, 0xD8, 0x7F, 0xBD, 0x27, 0xFB, 0xD3, 0xCE, 0x82, 0xFE, 0xEE, 0x5C, 0xCB, 0x9A, 0x78, 0x90, 0x83, 0xFF, 0xDF, 0x8B, - 0x9F, 0xD3, 0x33, 0x61, 0xDE, 0x80, 0x37, 0x61, 0x5E, 0xF6, 0x9D, 0x97, 0x93, 0x21, 0x3E, 0x3D, 0x63, 0x4F, 0x9E, 0xB8, 0x7E, 0xC2, - 0x6B, 0x30, 0xCA, 0x9C, 0x5C, 0xB1, 0xEE, 0xEE, 0xC4, 0x4B, 0x64, 0xEE, 0x3D, 0x24, 0xAC, 0xEB, 0xF9, 0x6A, 0x58, 0xD7, 0x06, 0x3A, - 0xCE, 0xA3, 0x58, 0xDE, 0x98, 0x30, 0xCF, 0x79, 0x0B, 0x49, 0xA1, 0xCE, 0x70, 0xE2, 0x83, 0xD8, 0x3C, 0xCC, 0x3E, 0xD3, 0xC5, 0xD2, - 0x1A, 0x39, 0x16, 0xEC, 0x73, 0x99, 0xBD, 0xC7, 0x9F, 0xCF, 0x96, 0x58, 0x48, 0x3A, 0xD3, 0xF2, 0xAB, 0xC5, 0xFF, 0xEE, 0xEA, 0x84, - 0x79, 0x3B, 0xFF, 0x14, 0x4D, 0x31, 0xA6, 0xE5, 0xFC, 0xF7, 0x98, 0x8E, 0xD3, 0xA1, 0xC3, 0x25, 0x84, 0xBC, 0x39, 0xC5, 0xB4, 0xE6, - 0xB5, 0x67, 0xFD, 0xB3, 0xFD, 0x6C, 0x5D, 0xD1, 0x1F, 0xE3, 0x77, 0x21, 0xD5, 0x70, 0xC8, 0x79, 0x60, 0x43, 0x75, 0x3A, 0xDF, 0xF7, - 0xF4, 0x3F, 0x60, 0x72, 0x45, 0xEC, 0xED, 0xF1, 0x53, 0x75, 0x7F, 0xAC, 0xFF, 0x11, 0xFF, 0x7D, 0xDE, 0x54, 0x69, 0x0A, 0x63, 0xDE, - 0x6F, 0x9F, 0x97, 0x3F, 0x31, 0xA0, 0x13, 0xA9, 0x9F, 0x60, 0x38, 0x8F, 0xA2, 0x8B, 0xB3, 0x03, 0x90, 0x46, 0xE9, 0xF0, 0x88, 0x35, - 0x47, 0x71, 0x1E, 0x57, 0x91, 0x19, 0xFA, 0x0E, 0x5D, 0xD1, 0xF4, 0x7C, 0x12, 0x67, 0x94, 0x3C, 0xE8, 0xB5, 0x13, 0x03, 0xE6, 0xC9, - 0x4A, 0x8B, 0xAD, 0xC7, 0x3E, 0x8B, 0xF9, 0x45, 0xF3, 0xD7, 0x8A, 0xFA, 0x27, 0xEA, 0xB6, 0xD8, 0x53, 0xD3, 0xF9, 0xFD, 0x9B, 0xF3, - 0x3F, 0x08, 0x8D, 0xB5, 0x6D, 0xD0, 0x9F, 0x73, 0x59, 0x87, 0x1F, 0x2D, 0xBD, 0xEA, 0xCA, 0x82, 0xD1, 0x54, 0xEB, 0x4E, 0xB6, 0xBF, - 0x63, 0xFF, 0x89, 0xBC, 0xBE, 0xBE, 0x0E, 0xFA, 0xAF, 0x78, 0x0B, 0xE1, 0x75, 0xEF, 0x81, 0x47, 0xA8, 0x28, 0xAF, 0x5B, 0xA5, 0x56, - 0x76, 0xFC, 0x25, 0x13, 0xE4, 0x99, 0xBF, 0x3C, 0xDB, 0xFF, 0xD7, 0xF5, 0x7F, 0xAF, 0x5B, 0x48, 0xA8, 0xE7, 0xD4, 0xE6, 0x35, 0x10, - 0x76, 0x4B, 0x53, 0xDE, 0x7C, 0x84, 0x3B, 0x3A, 0x7F, 0x8A, 0x9A, 0x62, 0x5A, 0x54, 0x2C, 0x2C, 0x68, 0xA3, 0x5F, 0xEA, 0x2E, 0x77, - 0x05, 0x79, 0xAB, 0xD7, 0xA1, 0x5C, 0x65, 0xEF, 0x92, 0x18, 0x34, 0xB1, 0x6E, 0x69, 0xC5, 0xCE, 0x4C, 0x1D, 0x76, 0xBA, 0x36, 0xA0, - 0x49, 0x93, 0x41, 0x0D, 0x4C, 0x5F, 0xE3, 0x5A, 0xFC, 0x3E, 0x21, 0xCF, 0x2B, 0x71, 0xBC, 0xA8, 0x2C, 0x39, 0x65, 0x8D, 0xFA, 0x2B, - 0xEE, 0x45, 0x06, 0xBC, 0x6F, 0x5C, 0xA6, 0xF3, 0xED, 0x82, 0xB1, 0xAE, 0x59, 0x4D, 0xEA, 0xCF, 0x1F, 0x43, 0xD2, 0xEB, 0xDA, 0x49, - 0x2E, 0x12, 0x97, 0xAA, 0x96, 0xB3, 0x04, 0x42, 0xD6, 0xF1, 0x8A, 0x9C, 0xA3, 0x9B, 0xBA, 0xCF, 0x00, 0xB3, 0x1C, 0x5D, 0xED, 0x8F, - 0xCE, 0x94, 0x5C, 0x92, 0x0F, 0x2F, 0x98, 0xAF, 0x07, 0x93, 0xAB, 0x3E, 0xE7, 0x6C, 0xD7, 0xBF, 0xD9, 0x6F, 0xF9, 0xB9, 0xE3, 0x2D, - 0xD9, 0x3D, 0xAD, 0xFD, 0xF4, 0x60, 0xFF, 0x47, 0xFA, 0x2B, 0xD6, 0x3F, 0x62, 0x01, 0x2F, 0x08, 0xA8, 0x18, 0x7F, 0xD2, 0xBF, 0x95, - 0x40, 0x52, 0xA4, 0x8E, 0x81, 0xD5, 0xC3, 0x54, 0xF6, 0xD9, 0xE7, 0x38, 0xC3, 0xB9, 0xEF, 0x42, 0x0B, 0x2D, 0x73, 0xFE, 0xD0, 0x31, - 0x47, 0xB2, 0xEE, 0x5C, 0xDC, 0x33, 0xA5, 0x42, 0xFA, 0x35, 0x93, 0xB9, 0x82, 0x72, 0xF4, 0xA6, 0x2F, 0xB3, 0xCC, 0x6E, 0xA4, 0x46, - 0x8E, 0xA0, 0x36, 0x79, 0x7D, 0xD7, 0x7C, 0x03, 0x16, 0x99, 0x60, 0xAC, 0x22, 0x1A, 0xBC, 0x97, 0x66, 0xDC, 0x13, 0x3A, 0x59, 0x4E, - 0x23, 0x8B, 0x05, 0xB2, 0x3A, 0x6F, 0xAC, 0xC5, 0xB7, 0x9D, 0x7C, 0xBD, 0x76, 0x70, 0xD3, 0x49, 0xBA, 0xFE, 0x25, 0xF2, 0x8C, 0xDC, - 0xFB, 0xA9, 0x13, 0x42, 0x2D, 0x2F, 0xB2, 0x0A, 0xD1, 0x39, 0xF5, 0xAE, 0x1A, 0xB4, 0x1E, 0x3F, 0x82, 0x85, 0x9A, 0x9C, 0xB0, 0x72, - 0x28, 0xC7, 0x7F, 0xC3, 0xC9, 0xF4, 0x1D, 0x61, 0xDE, 0x97, 0xF7, 0x7B, 0x91, 0x8F, 0x4D, 0xFA, 0xBD, 0xBF, 0xA4, 0xD0, 0xFA, 0x93, - 0xC6, 0xCF, 0x24, 0xF3, 0xDD, 0x57, 0xD6, 0x8F, 0x1D, 0xC7, 0x4C, 0xFA, 0x61, 0xBC, 0x5B, 0xEA, 0xFA, 0xEA, 0xAD, 0xD6, 0x14, 0x0E, - 0xB8, 0xD5, 0xB3, 0xB7, 0x38, 0x20, 0x51, 0xBA, 0xBB, 0x42, 0x2F, 0xBC, 0xF5, 0xFE, 0xAA, 0xDC, 0x59, 0x48, 0x5E, 0xA8, 0xFC, 0x9C, - 0xCD, 0xA9, 0x26, 0x57, 0x67, 0xD4, 0xDE, 0xAB, 0xFE, 0x3C, 0xF4, 0x09, 0x10, 0x79, 0x3C, 0x51, 0x77, 0xBF, 0x27, 0x1C, 0x89, 0x6B, - 0xB2, 0x39, 0x4E, 0xDF, 0xBB, 0xA2, 0x19, 0xDF, 0x6D, 0x79, 0xF3, 0x71, 0x4E, 0x54, 0x75, 0x80, 0xBA, 0xCD, 0xC6, 0x96, 0xA4, 0x6C, - 0x5C, 0x69, 0xE3, 0x2C, 0x7B, 0x9C, 0xE8, 0xFD, 0x52, 0xE4, 0x13, 0x55, 0x32, 0x8C, 0xF6, 0x9A, 0x95, 0x38, 0x85, 0xEC, 0x7F, 0xEF, - 0x20, 0x4A, 0x65, 0x42, 0xF9, 0xCD, 0x29, 0x6C, 0x8F, 0x3B, 0xE5, 0x55, 0x00, 0x5A, 0xE7, 0x23, 0xAF, 0x48, 0xE5, 0x96, 0x1A, 0xEE, - 0xB1, 0xD5, 0x0E, 0x5C, 0x61, 0x29, 0x4A, 0x2F, 0x21, 0xD6, 0x42, 0xDA, 0x70, 0x9E, 0xAD, 0x18, 0xEA, 0xEF, 0x56, 0x73, 0xAC, 0xEE, - 0xB7, 0x1F, 0x66, 0x93, 0xC1, 0xA6, 0xBB, 0x1F, 0x0E, 0xD9, 0x03, 0x97, 0xB3, 0x93, 0xFB, 0xB3, 0xE3, 0xA3, 0x17, 0xF5, 0xD1, 0x25, - 0xAB, 0x91, 0x13, 0x36, 0xC8, 0xEF, 0xBF, 0x5B, 0x6C, 0x28, 0x3E, 0x6C, 0x53, 0x73, 0x7B, 0x31, 0xCE, 0x9F, 0xEF, 0xAD, 0x22, 0x9D, - 0x36, 0x55, 0x86, 0xF9, 0x70, 0xBE, 0x58, 0xFC, 0x9B, 0xA3, 0xAB, 0x24, 0xED, 0xBD, 0x7F, 0x95, 0x9F, 0xA9, 0x87, 0x68, 0x30, 0xAF, - 0xA7, 0x7D, 0xBC, 0xDB, 0xB7, 0x03, 0xC8, 0x78, 0xAF, 0x56, 0xA4, 0xCF, 0x4D, 0x27, 0x72, 0xE3, 0x78, 0x1D, 0xFF, 0xEF, 0xE4, 0x61, - 0xC0, 0xAE, 0x9F, 0x08, 0x4E, 0xB8, 0xCF, 0x74, 0x61, 0xC3, 0x7B, 0x4E, 0x1C, 0xE5, 0x2E, 0x1A, 0xD3, 0x8D, 0x63, 0xC1, 0xFD, 0x7A, - 0xDB, 0xC0, 0xD5, 0x1B, 0x8D, 0xFB, 0x5E, 0xC7, 0xBB, 0xD5, 0x36, 0xA7, 0x12, 0x34, 0xCE, 0xA2, 0x2E, 0xAE, 0xE2, 0x1D, 0x6B, 0xE8, - 0xA5, 0xA3, 0x60, 0x0D, 0x10, 0x45, 0x01, 0x95, 0x7B, 0xDA, 0xA6, 0xA7, 0xA2, 0x7C, 0xB7, 0x1E, 0xA4, 0xCC, 0x57, 0xCC, 0x2F, 0xCF, - 0x52, 0x54, 0x8C, 0x77, 0x0F, 0x35, 0xF1, 0xB3, 0xE2, 0x7D, 0x55, 0x67, 0xD3, 0xC3, 0x15, 0xCF, 0x11, 0x1B, 0x03, 0xFF, 0x88, 0x40, - 0x7C, 0x9C, 0xFF, 0xF5, 0x7C, 0x3D, 0x5F, 0xCF, 0x7F, 0xFB, 0xFC, 0x01, 0x92, 0xD9, 0xBE, 0x26, + 0x78, 0xDA, 0xED, 0x59, 0xDB, 0x92, 0x14, 0x31, 0x08, 0x05, 0xCB, 0x07, 0x1F, 0xC3, 0x1F, 0xF9, + 0xAB, 0x7E, 0xA9, 0x4E, 0x37, 0x77, 0x02, 0xE9, 0x99, 0xD2, 0x37, 0xB7, 0xB7, 0x70, 0xA7, 0x77, + 0x12, 0x42, 0x08, 0x07, 0x0E, 0x11, 0x00, 0xBE, 0x23, 0xC0, 0x4F, 0x00, 0x78, 0xFD, 0x82, 0x6F, + 0xAF, 0x7F, 0x17, 0xC0, 0xEF, 0xDF, 0xBF, 0x7E, 0xC0, 0xF9, 0x21, 0x22, 0xBC, 0x05, 0xB0, 0x8A, + 0x7C, 0xBD, 0xE8, 0x7A, 0x00, 0x37, 0xE1, 0xF9, 0x6B, 0x16, 0xFE, 0x9A, 0x26, 0xB9, 0xBE, 0xBF, + 0x3F, 0xE2, 0x2D, 0x50, 0x45, 0xD6, 0xE7, 0x67, 0x98, 0x0F, 0xCD, 0xBC, 0x34, 0xFF, 0x69, 0x7D, + 0x94, 0xF5, 0x9B, 0x1D, 0xF0, 0xFA, 0x3C, 0x78, 0xDD, 0xB6, 0x66, 0xE1, 0xE5, 0xD9, 0x7F, 0xE2, + 0x77, 0xBA, 0x0D, 0x82, 0xEB, 0x9D, 0x1D, 0xC0, 0x2F, 0xEC, 0xAF, 0x25, 0x02, 0x26, 0xF7, 0xFE, + 0x6E, 0x1F, 0x4F, 0x0E, 0x44, 0x3F, 0x1F, 0xA8, 0x62, 0xFA, 0x6D, 0x13, 0x59, 0xC2, 0xF9, 0xAD, + 0xB0, 0xBC, 0xCB, 0xA8, 0xDF, 0xF6, 0x24, 0xFE, 0xEB, 0xF4, 0xC3, 0x68, 0xBF, 0xAD, 0x99, 0xE3, + 0x0B, 0xEA, 0x1A, 0x6C, 0x3F, 0xBE, 0x67, 0xFF, 0xA0, 0xFF, 0xD9, 0x3F, 0xEF, 0xEA, 0x8F, 0x90, + 0xE0, 0x33, 0x3F, 0xD8, 0x7F, 0xBD, 0x27, 0xFB, 0xD3, 0xCE, 0x82, 0xFE, 0xEE, 0x5C, 0xCB, 0x9A, + 0x78, 0x90, 0x83, 0xFF, 0xDF, 0x8B, 0x9F, 0xD3, 0x33, 0x61, 0xDE, 0x80, 0x37, 0x61, 0x5E, 0xF6, + 0x9D, 0x97, 0x93, 0x21, 0x3E, 0x3D, 0x63, 0x4F, 0x9E, 0xB8, 0x7E, 0xC2, 0x6B, 0x30, 0xCA, 0x9C, + 0x5C, 0xB1, 0xEE, 0xEE, 0xC4, 0x4B, 0x64, 0xEE, 0x3D, 0x24, 0xAC, 0xEB, 0xF9, 0x6A, 0x58, 0xD7, + 0x06, 0x3A, 0xCE, 0xA3, 0x58, 0xDE, 0x98, 0x30, 0xCF, 0x79, 0x0B, 0x49, 0xA1, 0xCE, 0x70, 0xE2, + 0x83, 0xD8, 0x3C, 0xCC, 0x3E, 0xD3, 0xC5, 0xD2, 0x1A, 0x39, 0x16, 0xEC, 0x73, 0x99, 0xBD, 0xC7, + 0x9F, 0xCF, 0x96, 0x58, 0x48, 0x3A, 0xD3, 0xF2, 0xAB, 0xC5, 0xFF, 0xEE, 0xEA, 0x84, 0x79, 0x3B, + 0xFF, 0x14, 0x4D, 0x31, 0xA6, 0xE5, 0xFC, 0xF7, 0x98, 0x8E, 0xD3, 0xA1, 0xC3, 0x25, 0x84, 0xBC, + 0x39, 0xC5, 0xB4, 0xE6, 0xB5, 0x67, 0xFD, 0xB3, 0xFD, 0x6C, 0x5D, 0xD1, 0x1F, 0xE3, 0x77, 0x21, + 0xD5, 0x70, 0xC8, 0x79, 0x60, 0x43, 0x75, 0x3A, 0xDF, 0xF7, 0xF4, 0x3F, 0x60, 0x72, 0x45, 0xEC, + 0xED, 0xF1, 0x53, 0x75, 0x7F, 0xAC, 0xFF, 0x11, 0xFF, 0x7D, 0xDE, 0x54, 0x69, 0x0A, 0x63, 0xDE, + 0x6F, 0x9F, 0x97, 0x3F, 0x31, 0xA0, 0x13, 0xA9, 0x9F, 0x60, 0x38, 0x8F, 0xA2, 0x8B, 0xB3, 0x03, + 0x90, 0x46, 0xE9, 0xF0, 0x88, 0x35, 0x47, 0x71, 0x1E, 0x57, 0x91, 0x19, 0xFA, 0x0E, 0x5D, 0xD1, + 0xF4, 0x7C, 0x12, 0x67, 0x94, 0x3C, 0xE8, 0xB5, 0x13, 0x03, 0xE6, 0xC9, 0x4A, 0x8B, 0xAD, 0xC7, + 0x3E, 0x8B, 0xF9, 0x45, 0xF3, 0xD7, 0x8A, 0xFA, 0x27, 0xEA, 0xB6, 0xD8, 0x53, 0xD3, 0xF9, 0xFD, + 0x9B, 0xF3, 0x3F, 0x08, 0x8D, 0xB5, 0x6D, 0xD0, 0x9F, 0x73, 0x59, 0x87, 0x1F, 0x2D, 0xBD, 0xEA, + 0xCA, 0x82, 0xD1, 0x54, 0xEB, 0x4E, 0xB6, 0xBF, 0x63, 0xFF, 0x89, 0xBC, 0xBE, 0xBE, 0x0E, 0xFA, + 0xAF, 0x78, 0x0B, 0xE1, 0x75, 0xEF, 0x81, 0x47, 0xA8, 0x28, 0xAF, 0x5B, 0xA5, 0x56, 0x76, 0xFC, + 0x25, 0x13, 0xE4, 0x99, 0xBF, 0x3C, 0xDB, 0xFF, 0xD7, 0xF5, 0x7F, 0xAF, 0x5B, 0x48, 0xA8, 0xE7, + 0xD4, 0xE6, 0x35, 0x10, 0x76, 0x4B, 0x53, 0xDE, 0x7C, 0x84, 0x3B, 0x3A, 0x7F, 0x8A, 0x9A, 0x62, + 0x5A, 0x54, 0x2C, 0x2C, 0x68, 0xA3, 0x5F, 0xEA, 0x2E, 0x77, 0x05, 0x79, 0xAB, 0xD7, 0xA1, 0x5C, + 0x65, 0xEF, 0x92, 0x18, 0x34, 0xB1, 0x6E, 0x69, 0xC5, 0xCE, 0x4C, 0x1D, 0x76, 0xBA, 0x36, 0xA0, + 0x49, 0x93, 0x41, 0x0D, 0x4C, 0x5F, 0xE3, 0x5A, 0xFC, 0x3E, 0x21, 0xCF, 0x2B, 0x71, 0xBC, 0xA8, + 0x2C, 0x39, 0x65, 0x8D, 0xFA, 0x2B, 0xEE, 0x45, 0x06, 0xBC, 0x6F, 0x5C, 0xA6, 0xF3, 0xED, 0x82, + 0xB1, 0xAE, 0x59, 0x4D, 0xEA, 0xCF, 0x1F, 0x43, 0xD2, 0xEB, 0xDA, 0x49, 0x2E, 0x12, 0x97, 0xAA, + 0x96, 0xB3, 0x04, 0x42, 0xD6, 0xF1, 0x8A, 0x9C, 0xA3, 0x9B, 0xBA, 0xCF, 0x00, 0xB3, 0x1C, 0x5D, + 0xED, 0x8F, 0xCE, 0x94, 0x5C, 0x92, 0x0F, 0x2F, 0x98, 0xAF, 0x07, 0x93, 0xAB, 0x3E, 0xE7, 0x6C, + 0xD7, 0xBF, 0xD9, 0x6F, 0xF9, 0xB9, 0xE3, 0x2D, 0xD9, 0x3D, 0xAD, 0xFD, 0xF4, 0x60, 0xFF, 0x47, + 0xFA, 0x2B, 0xD6, 0x3F, 0x62, 0x01, 0x2F, 0x08, 0xA8, 0x18, 0x7F, 0xD2, 0xBF, 0x95, 0x40, 0x52, + 0xA4, 0x8E, 0x81, 0xD5, 0xC3, 0x54, 0xF6, 0xD9, 0xE7, 0x38, 0xC3, 0xB9, 0xEF, 0x42, 0x0B, 0x2D, + 0x73, 0xFE, 0xD0, 0x31, 0x47, 0xB2, 0xEE, 0x5C, 0xDC, 0x33, 0xA5, 0x42, 0xFA, 0x35, 0x93, 0xB9, + 0x82, 0x72, 0xF4, 0xA6, 0x2F, 0xB3, 0xCC, 0x6E, 0xA4, 0x46, 0x8E, 0xA0, 0x36, 0x79, 0x7D, 0xD7, + 0x7C, 0x03, 0x16, 0x99, 0x60, 0xAC, 0x22, 0x1A, 0xBC, 0x97, 0x66, 0xDC, 0x13, 0x3A, 0x59, 0x4E, + 0x23, 0x8B, 0x05, 0xB2, 0x3A, 0x6F, 0xAC, 0xC5, 0xB7, 0x9D, 0x7C, 0xBD, 0x76, 0x70, 0xD3, 0x49, + 0xBA, 0xFE, 0x25, 0xF2, 0x8C, 0xDC, 0xFB, 0xA9, 0x13, 0x42, 0x2D, 0x2F, 0xB2, 0x0A, 0xD1, 0x39, + 0xF5, 0xAE, 0x1A, 0xB4, 0x1E, 0x3F, 0x82, 0x85, 0x9A, 0x9C, 0xB0, 0x72, 0x28, 0xC7, 0x7F, 0xC3, + 0xC9, 0xF4, 0x1D, 0x61, 0xDE, 0x97, 0xF7, 0x7B, 0x91, 0x8F, 0x4D, 0xFA, 0xBD, 0xBF, 0xA4, 0xD0, + 0xFA, 0x93, 0xC6, 0xCF, 0x24, 0xF3, 0xDD, 0x57, 0xD6, 0x8F, 0x1D, 0xC7, 0x4C, 0xFA, 0x61, 0xBC, + 0x5B, 0xEA, 0xFA, 0xEA, 0xAD, 0xD6, 0x14, 0x0E, 0xB8, 0xD5, 0xB3, 0xB7, 0x38, 0x20, 0x51, 0xBA, + 0xBB, 0x42, 0x2F, 0xBC, 0xF5, 0xFE, 0xAA, 0xDC, 0x59, 0x48, 0x5E, 0xA8, 0xFC, 0x9C, 0xCD, 0xA9, + 0x26, 0x57, 0x67, 0xD4, 0xDE, 0xAB, 0xFE, 0x3C, 0xF4, 0x09, 0x10, 0x79, 0x3C, 0x51, 0x77, 0xBF, + 0x27, 0x1C, 0x89, 0x6B, 0xB2, 0x39, 0x4E, 0xDF, 0xBB, 0xA2, 0x19, 0xDF, 0x6D, 0x79, 0xF3, 0x71, + 0x4E, 0x54, 0x75, 0x80, 0xBA, 0xCD, 0xC6, 0x96, 0xA4, 0x6C, 0x5C, 0x69, 0xE3, 0x2C, 0x7B, 0x9C, + 0xE8, 0xFD, 0x52, 0xE4, 0x13, 0x55, 0x32, 0x8C, 0xF6, 0x9A, 0x95, 0x38, 0x85, 0xEC, 0x7F, 0xEF, + 0x20, 0x4A, 0x65, 0x42, 0xF9, 0xCD, 0x29, 0x6C, 0x8F, 0x3B, 0xE5, 0x55, 0x00, 0x5A, 0xE7, 0x23, + 0xAF, 0x48, 0xE5, 0x96, 0x1A, 0xEE, 0xB1, 0xD5, 0x0E, 0x5C, 0x61, 0x29, 0x4A, 0x2F, 0x21, 0xD6, + 0x42, 0xDA, 0x70, 0x9E, 0xAD, 0x18, 0xEA, 0xEF, 0x56, 0x73, 0xAC, 0xEE, 0xB7, 0x1F, 0x66, 0x93, + 0xC1, 0xA6, 0xBB, 0x1F, 0x0E, 0xD9, 0x03, 0x97, 0xB3, 0x93, 0xFB, 0xB3, 0xE3, 0xA3, 0x17, 0xF5, + 0xD1, 0x25, 0xAB, 0x91, 0x13, 0x36, 0xC8, 0xEF, 0xBF, 0x5B, 0x6C, 0x28, 0x3E, 0x6C, 0x53, 0x73, + 0x7B, 0x31, 0xCE, 0x9F, 0xEF, 0xAD, 0x22, 0x9D, 0x36, 0x55, 0x86, 0xF9, 0x70, 0xBE, 0x58, 0xFC, + 0x9B, 0xA3, 0xAB, 0x24, 0xED, 0xBD, 0x7F, 0x95, 0x9F, 0xA9, 0x87, 0x68, 0x30, 0xAF, 0xA7, 0x7D, + 0xBC, 0xDB, 0xB7, 0x03, 0xC8, 0x78, 0xAF, 0x56, 0xA4, 0xCF, 0x4D, 0x27, 0x72, 0xE3, 0x78, 0x1D, + 0xFF, 0xEF, 0xE4, 0x61, 0xC0, 0xAE, 0x9F, 0x08, 0x4E, 0xB8, 0xCF, 0x74, 0x61, 0xC3, 0x7B, 0x4E, + 0x1C, 0xE5, 0x2E, 0x1A, 0xD3, 0x8D, 0x63, 0xC1, 0xFD, 0x7A, 0xDB, 0xC0, 0xD5, 0x1B, 0x8D, 0xFB, + 0x5E, 0xC7, 0xBB, 0xD5, 0x36, 0xA7, 0x12, 0x34, 0xCE, 0xA2, 0x2E, 0xAE, 0xE2, 0x1D, 0x6B, 0xE8, + 0xA5, 0xA3, 0x60, 0x0D, 0x10, 0x45, 0x01, 0x95, 0x7B, 0xDA, 0xA6, 0xA7, 0xA2, 0x7C, 0xB7, 0x1E, + 0xA4, 0xCC, 0x57, 0xCC, 0x2F, 0xCF, 0x52, 0x54, 0x8C, 0x77, 0x0F, 0x35, 0xF1, 0xB3, 0xE2, 0x7D, + 0x55, 0x67, 0xD3, 0xC3, 0x15, 0xCF, 0x11, 0x1B, 0x03, 0xFF, 0x88, 0x40, 0x7C, 0x9C, 0xFF, 0xF5, + 0x7C, 0x3D, 0x5F, 0xCF, 0x7F, 0xFB, 0xFC, 0x01, 0x92, 0xD9, 0xBE, 0x26, }; CRasterFont* CGameGlobalObjects::LoadDefaultFont() { CZipInputStream fontDataStream(new CMemoryInStream(sDefaultFontData, sizeof(sDefaultFontData))); CRasterFont* font = new CRasterFont(fontDataStream, nullptr); - CZipInputStream fontTextureStream(new CMemoryInStream(sDefaultFontTexture, sizeof(sDefaultFontTexture))); + CZipInputStream fontTextureStream( + new CMemoryInStream(sDefaultFontTexture, sizeof(sDefaultFontTexture))); font->SetTexture(new CTexture(fontTextureStream, CTexture::kAM_Zero, CTexture::kBK_Zero)); return font; } @@ -369,7 +419,8 @@ void CGameGlobalObjects::LoadStringTable() { CGameArchitectureSupport::CGameArchitectureSupport(COsContext& osContext) : x0_audioSys(0, 0, 0, 0, 0x5fc000) -, x30_inputGenerator(&osContext, gpTweakPlayer->GetLeftAnalogMax(), gpTweakPlayer->GetRightAnalogMax()) +, x30_inputGenerator(&osContext, gpTweakPlayer->GetLeftAnalogMax(), + gpTweakPlayer->GetRightAnalogMax()) , x44_guiSys(gpResourceFactory, gpSimplePool, CGuiSys::kUM_Zero) , x78_gameFrameCount(0) , x7c_(0.f) @@ -462,7 +513,9 @@ void CMain::AddWorldPaks() { rstl::rmemory_allocator allocator; rstl::string basePath = gpTweakGame->GetWorldPrefix(); for (int i = 0; i < 9; ++i) { - rstl::string pak = basePath + (i == 0 ? rstl::string_l("") : rstl::string(CBasics::Stringize("%d", i), -1, allocator)); + rstl::string pak = + basePath + + (i == 0 ? rstl::string_l("") : rstl::string(CBasics::Stringize("%d", i), -1, allocator)); if (CDvdFile::FileExists((pak + rstl::string_l(".pak")).data())) { gpResourceFactory->GetResLoader().AddPakFileAsync(pak, false, true); } @@ -498,7 +551,8 @@ int CMain::RsMain(int argc, const char* const* argv) { CStopwatch timer; LCEnable(); - rstl::single_ptr< CGameGlobalObjects > gameGlobalObjects(new CGameGlobalObjects(x0_osContext, x6d_memorySys)); + rstl::single_ptr< CGameGlobalObjects > gameGlobalObjects( + new CGameGlobalObjects(x0_osContext, x6d_memorySys)); x128_gameGlobalObjects = gameGlobalObjects.get(); for (int i = 0; i < 4; ++i) { @@ -526,7 +580,8 @@ int CMain::RsMain(int argc, const char* const* argv) { FillInAssetIDs(); - rstl::single_ptr< CGameArchitectureSupport > archSupport(new CGameArchitectureSupport(x0_osContext)); + rstl::single_ptr< CGameArchitectureSupport > archSupport( + new CGameArchitectureSupport(x0_osContext)); x164_ = archSupport.get(); archSupport->PreloadAudio(); diff --git a/src/Runtime/ctype.c b/src/Runtime/ctype.c index 25f2e609..29581eb2 100644 --- a/src/Runtime/ctype.c +++ b/src/Runtime/ctype.c @@ -49,17 +49,21 @@ unsigned char __lower_map[256] = { }; unsigned char __upper_map[256] = { - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, - 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, ' ', '!', '"', '#', '$', '%', '&', '\'', '(', ')', '*', '+', - ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?', '@', 'A', - 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', - 'X', 'Y', 'Z', '[', '\\', ']', '^', '_', '`', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', - 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '{', '|', '}', '~', 0x7F, 0x80, 0x81, 0x82, 0x83, - 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, - 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, - 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, - 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, - 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xF1, - 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, + ' ', '!', '"', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '-', '.', '/', + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?', + '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', + 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', '^', '_', + '`', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', + 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '{', '|', '}', '~', 0x7F, + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, + 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, + 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, + 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, + 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, + 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, // clang-format on -}; \ No newline at end of file +}; diff --git a/src/Runtime/e_atan2.c b/src/Runtime/e_atan2.c index ff62f629..2902bd8c 100644 --- a/src/Runtime/e_atan2.c +++ b/src/Runtime/e_atan2.c @@ -68,7 +68,8 @@ double y, x; hy = __HI(y); iy = hy & 0x7fffffff; ly = __LO(y); - if (((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000)) /* x or y is NaN */ + if (((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || + ((iy | ((ly | -ly) >> 31)) > 0x7ff00000)) /* x or y is NaN */ return x + y; if ((hx - 0x3ff00000 | lx) == 0) return atan(y); /* x=1.0 */ diff --git a/src/Runtime/e_fmod.c b/src/Runtime/e_fmod.c index 791cee1e..b0f2524f 100644 --- a/src/Runtime/e_fmod.c +++ b/src/Runtime/e_fmod.c @@ -120,7 +120,7 @@ double x, y; hx = hx + hx + (lx >> 31); lx = lx + lx; } else { - if ((hz | lz) == 0) /* return sign(x)*0 */ + if ((hz | lz) == 0) /* return sign(x)*0 */ return Zero[(_UINT32)sx >> 31]; hx = hz + hz + (lz >> 31); lx = lz + lz; @@ -136,9 +136,9 @@ double x, y; } /* convert back to floating value and restore the sign */ - if ((hx | lx) == 0) /* return sign(x)*0 */ + if ((hx | lx) == 0) /* return sign(x)*0 */ return Zero[(_UINT32)sx >> 31]; - while (hx < 0x00100000) { /* normalize x */ + while (hx < 0x00100000) { /* normalize x */ hx = hx + hx + (lx >> 31); lx = lx + lx; iy -= 1; diff --git a/src/Runtime/e_pow.c b/src/Runtime/e_pow.c index 10725bd7..ae0f3b1e 100644 --- a/src/Runtime/e_pow.c +++ b/src/Runtime/e_pow.c @@ -127,7 +127,8 @@ double x, y; return one; /* +-NaN return x+y */ - if (ix > 0x7ff00000 || ((ix == 0x7ff00000) && (lx != 0)) || iy > 0x7ff00000 || ((iy == 0x7ff00000) && (ly != 0))) { + if (ix > 0x7ff00000 || ((ix == 0x7ff00000) && (lx != 0)) || iy > 0x7ff00000 || + ((iy == 0x7ff00000) && (ly != 0))) { return x + y; #ifdef __STDC__ errno = EDOM; /* mf-- added to conform to old ANSI standard */ diff --git a/src/Runtime/e_rem_pio2.c b/src/Runtime/e_rem_pio2.c index 129c8c2b..6bdf3425 100644 --- a/src/Runtime/e_rem_pio2.c +++ b/src/Runtime/e_rem_pio2.c @@ -28,12 +28,14 @@ static const _INT32 two_over_pi[] = { #else static _INT32 two_over_pi[] = { #endif - 0xA2F983, 0x6E4E44, 0x1529FC, 0x2757D1, 0xF534DD, 0xC0DB62, 0x95993C, 0x439041, 0xFE5163, 0xABDEBB, 0xC561B7, - 0x246E3A, 0x424DD2, 0xE00649, 0x2EEA09, 0xD1921C, 0xFE1DEB, 0x1CB129, 0xA73EE8, 0x8235F5, 0x2EBB44, 0x84E99C, - 0x7026B4, 0x5F7E41, 0x3991D6, 0x398353, 0x39F49C, 0x845F8B, 0xBDF928, 0x3B1FF8, 0x97FFDE, 0x05980F, 0xEF2F11, - 0x8B5A0A, 0x6D1F6D, 0x367ECF, 0x27CB09, 0xB74F46, 0x3F669E, 0x5FEA2D, 0x7527BA, 0xC7EBE5, 0xF17B3D, 0x0739F7, - 0x8A5292, 0xEA6BFB, 0x5FB11F, 0x8D5D08, 0x560330, 0x46FC7B, 0x6BABF0, 0xCFBC20, 0x9AF436, 0x1DA9E3, 0x91615E, - 0xE61B08, 0x659985, 0x5F14A0, 0x68408D, 0xFFD880, 0x4D7327, 0x310606, 0x1556CA, 0x73A8C9, 0x60E27B, 0xC08C6B, + 0xA2F983, 0x6E4E44, 0x1529FC, 0x2757D1, 0xF534DD, 0xC0DB62, 0x95993C, 0x439041, 0xFE5163, + 0xABDEBB, 0xC561B7, 0x246E3A, 0x424DD2, 0xE00649, 0x2EEA09, 0xD1921C, 0xFE1DEB, 0x1CB129, + 0xA73EE8, 0x8235F5, 0x2EBB44, 0x84E99C, 0x7026B4, 0x5F7E41, 0x3991D6, 0x398353, 0x39F49C, + 0x845F8B, 0xBDF928, 0x3B1FF8, 0x97FFDE, 0x05980F, 0xEF2F11, 0x8B5A0A, 0x6D1F6D, 0x367ECF, + 0x27CB09, 0xB74F46, 0x3F669E, 0x5FEA2D, 0x7527BA, 0xC7EBE5, 0xF17B3D, 0x0739F7, 0x8A5292, + 0xEA6BFB, 0x5FB11F, 0x8D5D08, 0x560330, 0x46FC7B, 0x6BABF0, 0xCFBC20, 0x9AF436, 0x1DA9E3, + 0x91615E, 0xE61B08, 0x659985, 0x5F14A0, 0x68408D, 0xFFD880, 0x4D7327, 0x310606, 0x1556CA, + 0x73A8C9, 0x60E27B, 0xC08C6B, }; #ifdef __STDC__ @@ -41,9 +43,10 @@ static const _INT32 npio2_hw[] = { #else static _INT32 npio2_hw[] = { #endif - 0x3FF921FB, 0x400921FB, 0x4012D97C, 0x401921FB, 0x401F6A7A, 0x4022D97C, 0x4025FDBB, 0x402921FB, 0x402C463A, 0x402F6A7A, 0x4031475C, - 0x4032D97C, 0x40346B9C, 0x4035FDBB, 0x40378FDB, 0x403921FB, 0x403AB41B, 0x403C463A, 0x403DD85A, 0x403F6A7A, 0x40407E4C, 0x4041475C, - 0x4042106C, 0x4042D97C, 0x4043A28C, 0x40446B9C, 0x404534AC, 0x4045FDBB, 0x4046C6CB, 0x40478FDB, 0x404858EB, 0x404921FB, + 0x3FF921FB, 0x400921FB, 0x4012D97C, 0x401921FB, 0x401F6A7A, 0x4022D97C, 0x4025FDBB, 0x402921FB, + 0x402C463A, 0x402F6A7A, 0x4031475C, 0x4032D97C, 0x40346B9C, 0x4035FDBB, 0x40378FDB, 0x403921FB, + 0x403AB41B, 0x403C463A, 0x403DD85A, 0x403F6A7A, 0x40407E4C, 0x4041475C, 0x4042106C, 0x4042D97C, + 0x4043A28C, 0x40446B9C, 0x404534AC, 0x4045FDBB, 0x4046C6CB, 0x40478FDB, 0x404858EB, 0x404921FB, }; /* diff --git a/src/Runtime/fdlibm.h b/src/Runtime/fdlibm.h index 15b030b8..5040caef 100644 --- a/src/Runtime/fdlibm.h +++ b/src/Runtime/fdlibm.h @@ -146,4 +146,4 @@ extern double __kernel_standard __P((double, double, int)); extern double __kernel_sin __P((double, double, int)); extern double __kernel_cos __P((double, double)); extern double __kernel_tan __P((double, double, int)); -extern int __kernel_rem_pio2 __P((double*, double*, int, int, int, const int*)); \ No newline at end of file +extern int __kernel_rem_pio2 __P((double*, double*, int, int, int, const int*)); diff --git a/src/Runtime/k_rem_pio2.c b/src/Runtime/k_rem_pio2.c index f430731f..ffde5d7c 100644 --- a/src/Runtime/k_rem_pio2.c +++ b/src/Runtime/k_rem_pio2.c @@ -158,7 +158,8 @@ static double twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */ #ifdef __STDC__ -_INT32 __kernel_rem_pio2(double* x, double* y, _INT32 e0, _INT32 nx, _INT32 prec, const _INT32* ipio2) +_INT32 __kernel_rem_pio2(double* x, double* y, _INT32 e0, _INT32 nx, _INT32 prec, + const _INT32* ipio2) #else _INT32 __kernel_rem_pio2(x, y, e0, nx, prec, ipio2) double x[], y[]; diff --git a/src/Runtime/qsort.c b/src/Runtime/qsort.c index ec9f6566..98e86242 100644 --- a/src/Runtime/qsort.c +++ b/src/Runtime/qsort.c @@ -2,22 +2,23 @@ #define table_ptr(i) (((char*)table_base) + (member_size * ((i)-1))) -#define swap(dst, src, cnt) \ - do { \ - char* p; \ - char* q; \ - size_t n = cnt; \ - \ - unsigned long tmp; \ - \ - for (p = (char*)src - 1, q = (char*)dst - 1, n++; --n;) { \ - tmp = *++q; \ - *q = *++p; \ - *p = tmp; \ - } \ +#define swap(dst, src, cnt) \ + do { \ + char* p; \ + char* q; \ + size_t n = cnt; \ + \ + unsigned long tmp; \ + \ + for (p = (char*)src - 1, q = (char*)dst - 1, n++; --n;) { \ + tmp = *++q; \ + *q = *++p; \ + *p = tmp; \ + } \ } while (0) -void qsort(void* table_base, size_t num_members, size_t member_size, _compare_function compare_members) { +void qsort(void* table_base, size_t num_members, size_t member_size, + _compare_function compare_members) { size_t l, r, j; char* lp; char* rp; diff --git a/src/Runtime/s_floor.c b/src/Runtime/s_floor.c index 6e78d9be..bac24bc6 100644 --- a/src/Runtime/s_floor.c +++ b/src/Runtime/s_floor.c @@ -84,4 +84,4 @@ double x; __HI(x) = i0; __LO(x) = i1; return x; -} \ No newline at end of file +} diff --git a/src/Runtime/s_modf.c b/src/Runtime/s_modf.c index 311b46ba..9352e723 100644 --- a/src/Runtime/s_modf.c +++ b/src/Runtime/s_modf.c @@ -63,9 +63,9 @@ double x, *iptr; __HI(x) &= 0x80000000; __LO(x) = 0; /* return +-0 */ return x; - } else { /* fraction part in low x */ + } else { /* fraction part in low x */ i = ((_UINT32)(0xffffffff)) >> (j0 - 20); - if ((i1 & i) == 0) { /* x is integral */ + if ((i1 & i) == 0) { /* x is integral */ *iptr = x; __HI(x) &= 0x80000000; __LO(x) = 0; /* return +-0 */ diff --git a/src/musyx/creverb_fx.c b/src/musyx/creverb_fx.c index b9a4ef43..a6293a8c 100644 --- a/src/musyx/creverb_fx.c +++ b/src/musyx/creverb_fx.c @@ -1,17 +1,18 @@ #include "musyx/musyx_priv.h" -extern bool ReverbSTDCreate(_SND_REVSTD_WORK* rv, f32 coloration, f32 time, f32 mix, f32 damping, f32 preDelay); +extern bool ReverbSTDCreate(_SND_REVSTD_WORK* rv, f32 coloration, f32 time, f32 mix, f32 damping, + f32 preDelay); extern void ReverbHIFree(_SND_REVSTD_WORK* rev); extern void ReverbSTDCallback(s32* left, s32* right, s32* surround, _SND_REVSTD_WORK* rv); void sndAuxCallbackReverbSTD(u8 reason, SND_AUX_INFO* info, void* user) { - SND_AUX_REVERBSTD* rev ; + SND_AUX_REVERBSTD* rev; switch (reason) { case SND_AUX_REASON_BUFFERUPDATE: rev = (SND_AUX_REVERBSTD*)user; if ((u8)rev->tempDisableFX == 0) { - ReverbSTDCallback(info->data.bufferUpdate.left, info->data.bufferUpdate.right, info->data.bufferUpdate.surround, - &rev->rv); + ReverbSTDCallback(info->data.bufferUpdate.left, info->data.bufferUpdate.right, + info->data.bufferUpdate.surround, &rev->rv); } case SND_AUX_REASON_PARAMETERUPDATE: break; @@ -23,13 +24,12 @@ void sndAuxCallbackReverbSTD(u8 reason, SND_AUX_INFO* info, void* user) { bool sndAuxCallbackPrepareReverbSTD(SND_AUX_REVERBSTD* rev) { rev->tempDisableFX = 0; - return ReverbSTDCreate(&rev->rv, rev->coloration, rev->time, rev->mix, rev->damping, rev->preDelay); + return ReverbSTDCreate(&rev->rv, rev->coloration, rev->time, rev->mix, rev->damping, + rev->preDelay); } bool sndAuxCallbackShutdownReverbSTD(SND_AUX_REVERBSTD* rev) { ReverbSTDFree(&rev->rv); return TRUE; } -bool sndAuxCallbackUpdateSettingsReverbSTD(SND_AUX_REVERBSTD* rev) { - return FALSE; -} +bool sndAuxCallbackUpdateSettingsReverbSTD(SND_AUX_REVERBSTD* rev) { return FALSE; } diff --git a/src/musyx/delay_fx.c b/src/musyx/delay_fx.c index 9af86f35..cef13cd3 100644 --- a/src/musyx/delay_fx.c +++ b/src/musyx/delay_fx.c @@ -52,7 +52,8 @@ void sndAuxCallbackDelay(u8 reason, SND_AUX_INFO* info, void* user) { delay->currentPos[0] = (delay->currentPos[0] + 1) % delay->currentSize[0]; delay->currentPos[1] = (delay->currentPos[1] + 1) % delay->currentSize[1]; delay->currentPos[2] = (delay->currentPos[2] + 1) % delay->currentSize[2]; - case SND_AUX_REASON_PARAMETERUPDATE: break; + case SND_AUX_REASON_PARAMETERUPDATE: + break; default: // ASSERT_MSG(FALSE); break; diff --git a/src/musyx/dsp_import.c b/src/musyx/dsp_import.c index 1f623723..16e153d0 100644 --- a/src/musyx/dsp_import.c +++ b/src/musyx/dsp_import.c @@ -5,558 +5,420 @@ extern "C" { #endif char dspSlave[0x19E0] ATTRIBUTE_ALIGN(32) = { - 0x00, 0x00, 0x00, 0x00, 0x02, 0x9F, 0x0C, 0x10, 0x02, 0x9F, 0x0C, 0x1F, - 0x02, 0x9F, 0x0C, 0x3B, 0x02, 0x9F, 0x0C, 0x4A, 0x02, 0x9F, 0x0C, 0x50, - 0x02, 0x9F, 0x0C, 0x82, 0x02, 0x9F, 0x0C, 0x88, 0x13, 0x02, 0x13, 0x03, - 0x12, 0x04, 0x13, 0x05, 0x13, 0x06, 0x8E, 0x00, 0x8C, 0x00, 0x8B, 0x00, - 0x00, 0x92, 0x00, 0xFF, 0x81, 0x00, 0x89, 0x00, 0x00, 0x9E, 0x0E, 0x80, - 0x00, 0xFE, 0x0E, 0x1B, 0x81, 0x00, 0x00, 0xFE, 0x0E, 0x31, 0x16, 0xFC, - 0xDC, 0xD1, 0x16, 0xFD, 0x00, 0x00, 0x16, 0xFB, 0x00, 0x01, 0x26, 0xFC, - 0x02, 0xA0, 0x80, 0x00, 0x02, 0x9C, 0x00, 0x29, 0x02, 0x9F, 0x00, 0x45, - 0x13, 0x02, 0x13, 0x03, 0x12, 0x04, 0x13, 0x05, 0x13, 0x06, 0x8E, 0x00, - 0x8C, 0x00, 0x8B, 0x00, 0x00, 0x92, 0x00, 0xFF, 0x16, 0xFC, 0xDC, 0xD1, - 0x16, 0xFD, 0x00, 0x01, 0x16, 0xFB, 0x00, 0x01, 0x26, 0xFC, 0x02, 0xA0, - 0x80, 0x00, 0x02, 0x9C, 0x00, 0x40, 0x8E, 0x00, 0x81, 0x00, 0x89, 0x00, - 0x00, 0x9F, 0xBA, 0xBE, 0x26, 0xFE, 0x02, 0xC0, 0x80, 0x00, 0x02, 0x9C, - 0x00, 0x4A, 0x82, 0x00, 0x02, 0x94, 0x00, 0x4A, 0x23, 0xFF, 0x81, 0x00, - 0x26, 0xFE, 0x02, 0xC0, 0x80, 0x00, 0x02, 0x9C, 0x00, 0x54, 0x27, 0xFF, - 0x02, 0x40, 0x7F, 0xFF, 0x2E, 0xCE, 0x2F, 0xCF, 0x16, 0xCD, 0x0C, 0x00, - 0x81, 0x00, 0x2E, 0xC9, 0x1F, 0xFB, 0x2F, 0xCB, 0x02, 0xBF, 0x05, 0x5C, - 0x00, 0x80, 0x0C, 0x00, 0x8E, 0x00, 0x81, 0x00, 0x89, 0x70, 0xB1, 0x00, - 0x02, 0x91, 0x00, 0x7E, 0x0A, 0x12, 0xC1, 0x00, 0x02, 0x92, 0x00, 0x7E, - 0x00, 0x9F, 0x0A, 0xFF, 0x4C, 0x00, 0x1C, 0x7E, 0x02, 0x13, 0x1C, 0x7E, - 0x17, 0x6F, 0x16, 0xFC, 0xFB, 0xAD, 0x16, 0xFD, 0x80, 0x80, 0x00, 0x21, - 0x16, 0xFC, 0xBA, 0xAD, 0x2E, 0xFD, 0x00, 0x21, 0x81, 0x00, 0x89, 0x70, - 0x8E, 0x78, 0x2E, 0xCE, 0x2F, 0xCF, 0x00, 0x9E, 0x0E, 0x44, 0x2E, 0xCD, - 0x0E, 0x00, 0x2E, 0xC9, 0x00, 0x9E, 0x00, 0x40, 0x2E, 0xCB, 0x00, 0x81, - 0x0E, 0x44, 0x00, 0x82, 0x00, 0x00, 0x00, 0x9B, 0x00, 0x9F, 0x00, 0x9A, - 0x01, 0x40, 0x81, 0x00, 0x89, 0x00, 0x8F, 0x00, 0x02, 0xBF, 0x05, 0x5C, - 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x00, 0x19, 0x3F, 0x02, 0x94, 0x00, 0xA6, - 0x00, 0x5A, 0x1B, 0x5E, 0x02, 0x9F, 0x00, 0xAE, 0x99, 0x00, 0x1B, 0x5E, - 0x1B, 0x5C, 0x00, 0x7B, 0x00, 0xAD, 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, - 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x00, 0x19, 0x3F, 0x02, 0x94, 0x00, 0xB8, - 0x00, 0x5A, 0x1B, 0x5E, 0x02, 0x9F, 0x00, 0xC0, 0x99, 0x00, 0x1B, 0x5E, - 0x1B, 0x5C, 0x00, 0x7B, 0x00, 0xBF, 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, - 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x00, 0x19, 0x3F, 0x02, 0x94, 0x00, 0xCA, - 0x00, 0x5A, 0x1B, 0x5E, 0x02, 0x9F, 0x00, 0xD2, 0x99, 0x00, 0x1B, 0x5E, - 0x1B, 0x5C, 0x00, 0x7B, 0x00, 0xD1, 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, - 0x00, 0x82, 0x04, 0x00, 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x79, 0x02, 0x94, - 0x00, 0xDD, 0x00, 0x5A, 0x1B, 0x5E, 0x02, 0x9F, 0x00, 0xE5, 0x99, 0x00, - 0x1B, 0x5E, 0x1B, 0x5C, 0x00, 0x7B, 0x00, 0xE4, 0x4C, 0x00, 0x1B, 0x5E, - 0x1B, 0x5C, 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x79, 0x02, 0x94, 0x00, 0xEE, - 0x00, 0x5A, 0x1B, 0x5E, 0x02, 0x9F, 0x00, 0xF6, 0x99, 0x00, 0x1B, 0x5E, - 0x1B, 0x5C, 0x00, 0x7B, 0x00, 0xF5, 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, - 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x79, 0x02, 0x94, 0x00, 0xFF, 0x00, 0x5A, - 0x1B, 0x5E, 0x02, 0x9F, 0x01, 0x07, 0x99, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, - 0x00, 0x7B, 0x01, 0x06, 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x00, 0x82, - 0x07, 0xC0, 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x79, 0x02, 0x94, 0x01, 0x12, - 0x00, 0x5A, 0x1B, 0x5E, 0x02, 0x9F, 0x01, 0x1A, 0x99, 0x00, 0x1B, 0x5E, - 0x1B, 0x5C, 0x00, 0x7B, 0x01, 0x19, 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, - 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x79, 0x02, 0x94, 0x01, 0x23, 0x00, 0x5A, - 0x1B, 0x5E, 0x02, 0x9F, 0x01, 0x2B, 0x99, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, - 0x00, 0x7B, 0x01, 0x2A, 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x19, 0x3E, - 0x19, 0x3C, 0xB1, 0x79, 0x02, 0x94, 0x01, 0x34, 0x00, 0x5A, 0x1B, 0x5E, - 0x02, 0x9F, 0x01, 0x3C, 0x99, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x00, 0x7B, - 0x01, 0x3B, 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x02, 0x9F, 0x00, 0x68, - 0x00, 0x85, 0xFF, 0xFF, 0x81, 0x50, 0x89, 0x40, 0x8E, 0x48, 0x00, 0xFA, - 0x0E, 0x17, 0x00, 0xF8, 0x0E, 0x18, 0x00, 0x81, 0x00, 0x00, 0x02, 0xBF, - 0x04, 0xF1, 0x00, 0xDA, 0x0E, 0x17, 0x00, 0xD8, 0x0E, 0x18, 0x89, 0x48, - 0x00, 0x81, 0x04, 0x00, 0x02, 0xBF, 0x04, 0xF1, 0x00, 0xDA, 0x0E, 0x17, - 0x00, 0xD8, 0x0E, 0x18, 0x89, 0x48, 0x00, 0x81, 0x07, 0xC0, 0x02, 0xBF, - 0x04, 0xF1, 0x02, 0x9F, 0x00, 0x68, 0x00, 0x86, 0x07, 0xC0, 0x02, 0xBF, - 0x04, 0x84, 0x02, 0x9F, 0x00, 0x68, 0x81, 0x00, 0x8E, 0x00, 0x19, 0x1E, - 0x19, 0x1C, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x00, 0x00, 0x16, 0xC9, - 0x00, 0x01, 0x16, 0xCB, 0x07, 0x80, 0x02, 0xBF, 0x05, 0x5C, 0x02, 0x9F, - 0x00, 0x68, 0x81, 0x00, 0x89, 0x70, 0x8E, 0x60, 0x2E, 0xCE, 0x2C, 0xCF, - 0x16, 0xCD, 0x0E, 0x44, 0x16, 0xC9, 0x00, 0x00, 0x89, 0x00, 0x0D, 0x20, - 0x2D, 0xCB, 0x4C, 0x00, 0x1C, 0x80, 0x00, 0x80, 0x02, 0x80, 0x00, 0x81, - 0x00, 0x00, 0x00, 0x82, 0x01, 0x40, 0x00, 0x83, 0x0E, 0x44, 0x0A, 0x00, - 0x27, 0xC9, 0x03, 0xA0, 0x00, 0x04, 0x02, 0x9C, 0x01, 0x8C, 0x2E, 0xCE, - 0x2C, 0xCF, 0x16, 0xCD, 0x0E, 0x54, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, - 0x02, 0x60, 0x00, 0x9F, 0x00, 0xA0, 0x8F, 0x00, 0x00, 0x7F, 0x01, 0xA5, - 0x19, 0x7E, 0x1B, 0x1A, 0x19, 0x7C, 0x1B, 0x1A, 0x1B, 0x5E, 0x7C, 0x22, - 0x1B, 0x3E, 0x1B, 0x3C, 0x1C, 0x04, 0x02, 0x9F, 0x00, 0x68, 0x8E, 0x70, - 0x89, 0x60, 0x19, 0x1F, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x0C, 0x00, - 0x16, 0xC9, 0x00, 0x00, 0x05, 0x03, 0x03, 0x40, 0xFF, 0xF0, 0x2F, 0xCB, - 0x02, 0xBF, 0x05, 0x5C, 0x00, 0x80, 0x0C, 0x00, 0x02, 0x9F, 0x00, 0x68, - 0x81, 0x00, 0x89, 0x70, 0x8E, 0x78, 0x2E, 0xCE, 0x2F, 0xCF, 0x16, 0xCD, - 0x0B, 0x80, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, 0x00, 0xC0, 0x00, 0x82, - 0x0E, 0x08, 0x00, 0x9F, 0x00, 0x00, 0x1B, 0x5F, 0x00, 0x9F, 0x01, 0x40, - 0x1B, 0x5F, 0x00, 0x9F, 0x02, 0x80, 0x1B, 0x5F, 0x00, 0x9F, 0x04, 0x00, - 0x1B, 0x5F, 0x00, 0x9F, 0x05, 0x40, 0x1B, 0x5F, 0x00, 0x9F, 0x06, 0x80, - 0x1B, 0x5F, 0x00, 0x9F, 0x07, 0xC0, 0x1B, 0x5F, 0x00, 0x9F, 0x09, 0x00, - 0x1B, 0x5F, 0x00, 0x9F, 0x0A, 0x40, 0x1B, 0x5F, 0x02, 0xBF, 0x05, 0x5C, - 0x00, 0xDE, 0x0B, 0xA7, 0x00, 0xDF, 0x0B, 0xA8, 0x2E, 0xCE, 0x2F, 0xCF, - 0x16, 0xCD, 0x03, 0xC0, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, 0x00, 0x80, - 0x81, 0x00, 0x89, 0x00, 0x00, 0xDE, 0x0B, 0x84, 0x00, 0x9F, 0x0B, 0x31, - 0x4C, 0x00, 0x1C, 0x7E, 0x02, 0x13, 0x00, 0xFE, 0x0E, 0x15, 0x00, 0xDE, - 0x0B, 0x85, 0x00, 0x9F, 0x0B, 0x34, 0x4C, 0x00, 0x1C, 0x7E, 0x02, 0x13, - 0x00, 0xFE, 0x0E, 0x16, 0x00, 0xDE, 0x0B, 0x86, 0x00, 0x9F, 0x0B, 0x11, - 0x4C, 0x00, 0x1C, 0x7E, 0x02, 0x13, 0x00, 0xFE, 0x0E, 0x14, 0x81, 0x00, - 0x00, 0xDE, 0x0B, 0x9B, 0xB1, 0x00, 0x02, 0x95, 0x02, 0x3A, 0x89, 0x00, - 0x00, 0xDF, 0x0B, 0x9E, 0x03, 0x00, 0x0C, 0xC0, 0x00, 0xFF, 0x0E, 0x40, - 0x00, 0xDF, 0x0B, 0x9F, 0x03, 0x00, 0x0C, 0xC0, 0x00, 0xFF, 0x0E, 0x41, - 0x00, 0x9F, 0x0C, 0xE0, 0x00, 0xFF, 0x0E, 0x42, 0x00, 0xFF, 0x0E, 0x43, - 0x02, 0xBF, 0x05, 0x5C, 0x00, 0xDE, 0x0B, 0x9C, 0x2E, 0xCE, 0x00, 0xDE, - 0x0B, 0x9D, 0x2E, 0xCF, 0x16, 0xCD, 0x0C, 0xC0, 0x16, 0xC9, 0x00, 0x00, - 0x16, 0xCB, 0x00, 0x40, 0x02, 0xBF, 0x05, 0x5C, 0x02, 0x9F, 0x00, 0x68, - 0x00, 0x9F, 0x0C, 0xE0, 0x00, 0xFF, 0x0E, 0x42, 0x00, 0xFF, 0x0E, 0x40, - 0x00, 0xFF, 0x0E, 0x41, 0x00, 0xFF, 0x0E, 0x43, 0x02, 0xBF, 0x05, 0x5C, - 0x02, 0x9F, 0x00, 0x68, 0x8E, 0x00, 0x00, 0xE0, 0x0E, 0x07, 0x00, 0x80, - 0x0B, 0xA2, 0x00, 0x81, 0x03, 0xC0, 0x0E, 0x05, 0x00, 0xFE, 0x0E, 0x04, - 0x89, 0x00, 0x81, 0x50, 0x00, 0x9F, 0x0B, 0x80, 0x00, 0x7A, 0x02, 0x5B, - 0x19, 0x3E, 0x4C, 0x49, 0x1C, 0x5E, 0x1A, 0x59, 0x00, 0x83, 0x0E, 0x05, - 0x1B, 0x61, 0x1B, 0x60, 0x00, 0xDE, 0x0B, 0x87, 0x06, 0x01, 0x02, 0x95, - 0x02, 0x67, 0x02, 0x9F, 0x03, 0x32, 0x00, 0xDE, 0x0E, 0x42, 0x00, 0xFE, - 0x0E, 0x1C, 0x00, 0xC3, 0x0E, 0x15, 0x17, 0x7F, 0x8E, 0x00, 0x8A, 0x00, - 0x81, 0x00, 0x89, 0x00, 0x00, 0xDE, 0x0B, 0xB3, 0x00, 0xDF, 0x0B, 0xB2, - 0x1F, 0x1F, 0x4D, 0x00, 0x14, 0x81, 0x8D, 0x1E, 0x1F, 0xD8, 0x00, 0x98, - 0x80, 0x00, 0x00, 0x80, 0x0E, 0x44, 0xA8, 0x30, 0xAC, 0x38, 0xAD, 0x30, - 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, - 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, - 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, - 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, - 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0x00, 0xFE, - 0x0B, 0xB2, 0x8F, 0x00, 0x00, 0x80, 0x0E, 0x44, 0x00, 0xC1, 0x0E, 0x43, - 0x1C, 0x61, 0x19, 0x3A, 0x19, 0x18, 0x90, 0x59, 0x19, 0x19, 0x9E, 0x51, - 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, - 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, - 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, - 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, - 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, - 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, - 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, - 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, - 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, - 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x00, - 0x6F, 0x33, 0x1B, 0x7F, 0x00, 0xC3, 0x0E, 0x14, 0x8F, 0x00, 0x8D, 0x00, - 0x8A, 0x00, 0x17, 0x7F, 0x81, 0x00, 0x00, 0xDE, 0x0B, 0x9B, 0xB1, 0x00, - 0x02, 0x95, 0x03, 0x2A, 0x00, 0xDE, 0x0E, 0x42, 0x00, 0xFE, 0x0E, 0x43, - 0x81, 0x00, 0x89, 0x00, 0x00, 0xDE, 0x0B, 0x9E, 0x00, 0xDF, 0x0B, 0xA0, - 0x82, 0x00, 0x02, 0x93, 0x03, 0x06, 0x78, 0x00, 0x02, 0x9F, 0x03, 0x09, - 0x02, 0x95, 0x03, 0x09, 0x74, 0x00, 0x00, 0xFE, 0x0B, 0x9E, 0x00, 0xDF, - 0x0E, 0x43, 0x05, 0xE0, 0x4C, 0x00, 0x00, 0xFE, 0x0E, 0x40, 0x81, 0x00, - 0x89, 0x00, 0x00, 0xDE, 0x0B, 0x9F, 0x00, 0xDF, 0x0B, 0xA1, 0x82, 0x00, - 0x02, 0x93, 0x03, 0x1D, 0x78, 0x00, 0x02, 0x9F, 0x03, 0x20, 0x02, 0x95, - 0x03, 0x20, 0x74, 0x00, 0x00, 0xFE, 0x0B, 0x9F, 0x00, 0xDF, 0x0E, 0x43, - 0x05, 0xE0, 0x4C, 0x00, 0x00, 0xFE, 0x0E, 0x41, 0x02, 0x9F, 0x03, 0x32, - 0x00, 0xDE, 0x0E, 0x42, 0x00, 0xFE, 0x0E, 0x40, 0x00, 0xFE, 0x0E, 0x41, - 0x00, 0xFE, 0x0E, 0x43, 0x81, 0x00, 0x8E, 0x00, 0x84, 0x00, 0x89, 0x00, - 0x1E, 0xFE, 0x0E, 0x40, 0x1E, 0xBE, 0x00, 0x83, 0x0E, 0x08, 0x1C, 0x03, - 0x1F, 0xF5, 0x19, 0x1A, 0xF8, 0x58, 0xFB, 0xA0, 0xF8, 0xB1, 0xFB, 0xA0, - 0xF8, 0xB1, 0xFB, 0xA0, 0xF8, 0xB1, 0xFB, 0xA0, 0xF8, 0x3B, 0x1B, 0x7E, - 0x00, 0x83, 0x0E, 0x04, 0x81, 0x00, 0x89, 0x73, 0x19, 0x61, 0x19, 0x60, - 0x78, 0x00, 0x00, 0xFE, 0x0E, 0x04, 0x02, 0x94, 0x02, 0x53, 0x8E, 0x00, - 0x81, 0x00, 0x00, 0xDE, 0x0B, 0x9B, 0xB1, 0x00, 0x02, 0x95, 0x03, 0x6A, - 0x00, 0xDE, 0x0B, 0x9C, 0x00, 0xDC, 0x0B, 0x9D, 0x2E, 0xCE, 0x2C, 0xCF, - 0x81, 0x00, 0x00, 0xDE, 0x0E, 0x1C, 0x2E, 0xCD, 0x16, 0xC9, 0x00, 0x01, - 0x16, 0xCB, 0x00, 0x40, 0x02, 0xBF, 0x05, 0x5C, 0x81, 0x00, 0x89, 0x00, - 0x00, 0xDE, 0x0B, 0x82, 0x00, 0xDF, 0x0B, 0x83, 0x2E, 0xCE, 0x2F, 0xCF, - 0x16, 0xCD, 0x0B, 0x80, 0x16, 0xC9, 0x00, 0x01, 0x16, 0xCB, 0x00, 0xC0, - 0x02, 0xBF, 0x05, 0x5C, 0x81, 0x00, 0x00, 0xDE, 0x0B, 0x80, 0x00, 0xDC, - 0x0B, 0x81, 0xB1, 0x00, 0x02, 0x94, 0x03, 0x86, 0x00, 0xC0, 0x0E, 0x07, - 0x02, 0x9F, 0x00, 0x68, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x0B, 0x80, - 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, 0x00, 0xC0, 0x00, 0x82, 0x0E, 0x08, - 0x00, 0x9F, 0x00, 0x00, 0x1B, 0x5F, 0x00, 0x9F, 0x01, 0x40, 0x1B, 0x5F, - 0x00, 0x9F, 0x02, 0x80, 0x1B, 0x5F, 0x00, 0x9F, 0x04, 0x00, 0x1B, 0x5F, - 0x00, 0x9F, 0x05, 0x40, 0x1B, 0x5F, 0x00, 0x9F, 0x06, 0x80, 0x1B, 0x5F, - 0x00, 0x9F, 0x07, 0xC0, 0x1B, 0x5F, 0x00, 0x9F, 0x09, 0x00, 0x1B, 0x5F, - 0x00, 0x9F, 0x0A, 0x40, 0x1B, 0x5F, 0x02, 0xBF, 0x05, 0x5C, 0x00, 0xDE, - 0x0B, 0xA7, 0x00, 0xDF, 0x0B, 0xA8, 0x2E, 0xCE, 0x2F, 0xCF, 0x16, 0xCD, - 0x03, 0xC0, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, 0x00, 0x80, 0x81, 0x00, - 0x89, 0x00, 0x00, 0xDE, 0x0B, 0x84, 0x00, 0x9F, 0x0B, 0x31, 0x4C, 0x00, - 0x1C, 0x7E, 0x02, 0x13, 0x00, 0xFE, 0x0E, 0x15, 0x00, 0xDE, 0x0B, 0x85, - 0x00, 0x9F, 0x0B, 0x34, 0x4C, 0x00, 0x1C, 0x7E, 0x02, 0x13, 0x00, 0xFE, - 0x0E, 0x16, 0x00, 0xDE, 0x0B, 0x86, 0x00, 0x9F, 0x0B, 0x11, 0x4C, 0x00, - 0x1C, 0x7E, 0x02, 0x13, 0x00, 0xFE, 0x0E, 0x14, 0x81, 0x00, 0x00, 0xDE, - 0x0B, 0x9B, 0xB1, 0x00, 0x02, 0x95, 0x04, 0x03, 0x89, 0x00, 0x00, 0xDF, - 0x0B, 0x9E, 0x03, 0x00, 0x0C, 0xC0, 0x00, 0xFF, 0x0E, 0x40, 0x00, 0xDF, - 0x0B, 0x9F, 0x03, 0x00, 0x0C, 0xC0, 0x00, 0xFF, 0x0E, 0x41, 0x00, 0x9F, - 0x0C, 0xE0, 0x00, 0xFF, 0x0E, 0x42, 0x00, 0xFF, 0x0E, 0x43, 0x02, 0xBF, - 0x05, 0x5C, 0x00, 0xDE, 0x0B, 0x9C, 0x2E, 0xCE, 0x00, 0xDE, 0x0B, 0x9D, - 0x2E, 0xCF, 0x16, 0xCD, 0x0C, 0xC0, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, - 0x00, 0x40, 0x02, 0xBF, 0x05, 0x5C, 0x00, 0xC0, 0x0E, 0x07, 0x02, 0x9F, - 0x02, 0x48, 0x00, 0x9F, 0x0C, 0xE0, 0x00, 0xFF, 0x0E, 0x42, 0x00, 0xFF, - 0x0E, 0x40, 0x00, 0xFF, 0x0E, 0x41, 0x00, 0xFF, 0x0E, 0x43, 0x02, 0xBF, - 0x05, 0x5C, 0x00, 0xC0, 0x0E, 0x07, 0x02, 0x9F, 0x02, 0x48, 0x8E, 0x00, - 0x00, 0x86, 0x04, 0x00, 0x81, 0x00, 0x89, 0x70, 0x19, 0x1C, 0x2E, 0xCE, - 0x2C, 0xCF, 0x1F, 0xC6, 0x2E, 0xCD, 0x16, 0xC9, 0x00, 0x01, 0x16, 0xCB, - 0x07, 0x80, 0x02, 0xBF, 0x05, 0x5C, 0x02, 0xBF, 0x04, 0x84, 0x02, 0x9F, - 0x00, 0x68, 0x8E, 0x00, 0x00, 0x86, 0x07, 0xC0, 0x81, 0x00, 0x89, 0x70, - 0x19, 0x1C, 0x2E, 0xCE, 0x2C, 0xCF, 0x1F, 0xC6, 0x2E, 0xCD, 0x16, 0xC9, - 0x00, 0x01, 0x16, 0xCB, 0x07, 0x80, 0x02, 0xBF, 0x05, 0x5C, 0x02, 0xBF, - 0x04, 0x84, 0x02, 0x9F, 0x00, 0x68, 0x8C, 0x00, 0x8A, 0x00, 0x81, 0x00, - 0x89, 0x70, 0x19, 0x1F, 0x2E, 0xCE, 0x2F, 0xCF, 0x16, 0xCD, 0x02, 0x80, - 0x16, 0xC9, 0x00, 0x01, 0x16, 0xCB, 0x02, 0x80, 0x8F, 0x50, 0x81, 0x40, - 0x00, 0x81, 0x04, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x82, 0x01, 0x40, - 0x00, 0x99, 0x00, 0x80, 0x02, 0xBF, 0x05, 0x5C, 0x11, 0x05, 0x04, 0x6C, - 0x1F, 0x61, 0x11, 0x20, 0x04, 0x5E, 0x89, 0x72, 0x19, 0x5C, 0xF0, 0x7B, - 0x19, 0x7D, 0xF1, 0x31, 0x81, 0x39, 0x89, 0x00, 0x68, 0x00, 0x2E, 0xCE, - 0x2C, 0xCF, 0x1F, 0xFB, 0x2F, 0xCD, 0x0F, 0x01, 0x2F, 0xC9, 0x1F, 0xF9, - 0x2F, 0xCB, 0x72, 0x00, 0x1F, 0x5E, 0x1F, 0x1C, 0x81, 0x00, 0x26, 0xC9, - 0x02, 0xA0, 0x00, 0x04, 0x02, 0x9C, 0x04, 0x6D, 0x02, 0x9F, 0x00, 0x68, - 0x02, 0x9F, 0x00, 0x68, 0x02, 0x9F, 0x00, 0x68, 0x02, 0x9F, 0x00, 0x68, - 0x16, 0xFC, 0xDC, 0xD1, 0x16, 0xFD, 0x00, 0x02, 0x16, 0xFB, 0x00, 0x01, - 0x02, 0x9F, 0x0C, 0x91, 0x02, 0x9F, 0x00, 0x45, 0x8E, 0x00, 0x19, 0x1F, - 0x19, 0x1D, 0x1F, 0x5F, 0x1F, 0x1D, 0x2F, 0xCE, 0x2D, 0xCF, 0x89, 0x00, - 0x1F, 0xA6, 0x2D, 0xCD, 0x0E, 0x00, 0x2E, 0xC9, 0x81, 0x00, 0x00, 0x9C, - 0x00, 0xC0, 0x2C, 0xCB, 0x1C, 0xA0, 0x00, 0x81, 0x0E, 0x44, 0x48, 0x00, - 0x1B, 0x3E, 0x1B, 0x3C, 0x0B, 0x00, 0x00, 0x99, 0x00, 0x60, 0x4B, 0x00, - 0x1B, 0x3D, 0x00, 0x81, 0x0E, 0x44, 0x1C, 0x06, 0x00, 0x83, 0x00, 0x00, - 0x1C, 0x43, 0x27, 0xC9, 0x03, 0xA0, 0x00, 0x04, 0x02, 0x9C, 0x04, 0xA5, - 0x11, 0x09, 0x04, 0xDA, 0x8E, 0x00, 0x19, 0x3A, 0x19, 0x38, 0x69, 0x00, - 0x2F, 0xCE, 0x2D, 0xCF, 0x89, 0x00, 0x19, 0x3D, 0x2D, 0xCD, 0x16, 0xC9, - 0x00, 0x00, 0x81, 0x00, 0x00, 0x9C, 0x00, 0xC0, 0x2C, 0xCB, 0x00, 0x81, - 0x0E, 0x44, 0x48, 0x00, 0x1B, 0x3E, 0x1B, 0x3C, 0x0B, 0x00, 0x09, 0x60, - 0x4B, 0x00, 0x1B, 0x3D, 0x00, 0x81, 0x0E, 0x44, 0x8F, 0x00, 0x80, 0xF0, - 0x80, 0xC0, 0x6A, 0x00, 0x48, 0x00, 0x11, 0x17, 0x04, 0xD4, 0x80, 0xF0, - 0x80, 0xC0, 0x6B, 0x32, 0x49, 0x22, 0x80, 0xF0, 0x80, 0xC0, 0x6A, 0x3A, - 0x48, 0x2A, 0x80, 0xF0, 0x80, 0xC0, 0x6B, 0x32, 0x49, 0x22, 0x1B, 0x5F, - 0x1B, 0x5D, 0x80, 0xF0, 0x80, 0xC0, 0x6A, 0x00, 0x48, 0x00, 0x11, 0x17, - 0x04, 0xE8, 0x80, 0xF0, 0x80, 0xC0, 0x6B, 0x32, 0x49, 0x22, 0x80, 0xF0, - 0x80, 0xC0, 0x6A, 0x3A, 0x48, 0x2A, 0x80, 0xF0, 0x80, 0xC0, 0x6B, 0x32, - 0x49, 0x22, 0x1B, 0x5F, 0x1B, 0x5D, 0x1C, 0x05, 0x02, 0xDF, 0x8E, 0x00, - 0x00, 0x9B, 0x0E, 0x44, 0x00, 0x9D, 0x00, 0xC0, 0x02, 0xBF, 0x05, 0x41, - 0x49, 0x00, 0x00, 0xFF, 0x0E, 0x1D, 0x00, 0xFD, 0x0E, 0x1E, 0x89, 0x00, - 0x02, 0xBF, 0x05, 0x5C, 0x11, 0x04, 0x05, 0x2C, 0x00, 0xDA, 0x0E, 0x1D, - 0x00, 0xD8, 0x0E, 0x1E, 0x00, 0x9B, 0x0E, 0xA4, 0x00, 0x9D, 0x00, 0xC0, - 0x02, 0xBF, 0x05, 0x41, 0x49, 0x00, 0x00, 0xFF, 0x0E, 0x1D, 0x00, 0xFD, - 0x0E, 0x1E, 0x00, 0x83, 0x0E, 0x44, 0x02, 0xBF, 0x05, 0x4C, 0x89, 0x00, - 0x00, 0xDA, 0x0E, 0x1D, 0x00, 0xD8, 0x0E, 0x1E, 0x00, 0x9B, 0x0E, 0x44, - 0x00, 0x9D, 0x00, 0xC0, 0x02, 0xBF, 0x05, 0x41, 0x49, 0x00, 0x00, 0xFF, - 0x0E, 0x1D, 0x00, 0xFD, 0x0E, 0x1E, 0x00, 0x83, 0x0E, 0xA4, 0x02, 0xBF, - 0x05, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x89, 0x00, 0x00, 0xDA, - 0x0E, 0x1D, 0x00, 0xD8, 0x0E, 0x1E, 0x00, 0x9B, 0x0E, 0xA4, 0x00, 0x9D, - 0x00, 0xC0, 0x02, 0xBF, 0x05, 0x41, 0x49, 0x00, 0x00, 0x83, 0x0E, 0x44, - 0x02, 0xBF, 0x05, 0x4C, 0x00, 0x83, 0x0E, 0xA4, 0x02, 0xBF, 0x05, 0x4C, - 0x02, 0xDF, 0x8E, 0x00, 0x00, 0xFA, 0xFF, 0xCE, 0x00, 0xF8, 0xFF, 0xCF, - 0x00, 0xFB, 0xFF, 0xCD, 0x16, 0xC9, 0x00, 0x00, 0x2D, 0xCB, 0x02, 0xDF, - 0x8F, 0x00, 0x8D, 0x00, 0x8A, 0x00, 0x19, 0x7A, 0x19, 0x78, 0xA0, 0x00, - 0xB6, 0x00, 0x11, 0x30, 0x05, 0x5A, 0x91, 0x79, 0x4E, 0x6D, 0x19, 0x7A, - 0x4D, 0x43, 0xA0, 0x39, 0xB6, 0x29, 0x02, 0xDF, 0x26, 0xC9, 0x02, 0xA0, - 0x00, 0x04, 0x02, 0x9C, 0x05, 0x5C, 0x02, 0xDF, 0x26, 0xFE, 0x02, 0xC0, - 0x80, 0x00, 0x02, 0x9C, 0x05, 0x62, 0x02, 0xDF, 0x26, 0xFC, 0x02, 0xA0, - 0x80, 0x00, 0x02, 0x9C, 0x05, 0x68, 0x02, 0xDF, 0x26, 0xFC, 0x02, 0xA0, - 0x80, 0x00, 0x02, 0x9C, 0x05, 0x6E, 0x02, 0xDF, 0x81, 0x00, 0x89, 0x70, - 0x8E, 0x60, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x0E, 0x44, 0x16, 0xC9, - 0x00, 0x00, 0x89, 0x00, 0x0D, 0x20, 0x2D, 0xCB, 0x4C, 0x00, 0x1C, 0x80, - 0x00, 0x80, 0x02, 0x80, 0x00, 0x81, 0x00, 0x00, 0x00, 0x82, 0x01, 0x40, - 0x00, 0x83, 0x0E, 0x44, 0x0A, 0x00, 0x27, 0xC9, 0x03, 0xA0, 0x00, 0x04, - 0x02, 0x9C, 0x05, 0x8B, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x0E, 0x54, - 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, 0x02, 0x60, 0x00, 0x9F, 0x00, 0xA0, - 0x8F, 0x00, 0x00, 0x7F, 0x05, 0xA4, 0x19, 0x7E, 0x1B, 0x1A, 0x19, 0x7C, - 0x1B, 0x1A, 0x1B, 0x5E, 0x1B, 0x5C, 0x1B, 0x3E, 0x1B, 0x3C, 0x1C, 0x04, - 0x02, 0x9F, 0x00, 0x68, 0x00, 0x82, 0x0B, 0xB8, 0x19, 0x5E, 0x2E, 0xD1, - 0x19, 0x5E, 0x2E, 0xD4, 0x19, 0x5E, 0x2E, 0xD5, 0x19, 0x5E, 0x2E, 0xD6, - 0x19, 0x5E, 0x2E, 0xD7, 0x19, 0x5E, 0x2E, 0xD8, 0x19, 0x5E, 0x2E, 0xD9, - 0x19, 0x5E, 0x2E, 0xA0, 0x19, 0x5E, 0x2E, 0xA1, 0x19, 0x5E, 0x2E, 0xA2, - 0x19, 0x5E, 0x2E, 0xA3, 0x19, 0x5E, 0x2E, 0xA4, 0x19, 0x5E, 0x2E, 0xA5, - 0x19, 0x5E, 0x2E, 0xA6, 0x19, 0x5E, 0x2E, 0xA7, 0x19, 0x5E, 0x2E, 0xA8, - 0x19, 0x5E, 0x2E, 0xA9, 0x19, 0x5E, 0x2E, 0xAA, 0x19, 0x5E, 0x2E, 0xAB, - 0x19, 0x5E, 0x2E, 0xAC, 0x19, 0x5E, 0x2E, 0xAD, 0x19, 0x5E, 0x2E, 0xAE, - 0x19, 0x5E, 0x2E, 0xAF, 0x19, 0x5E, 0x2E, 0xDE, 0x19, 0x5E, 0x2E, 0xDA, - 0x19, 0x5E, 0x2E, 0xDB, 0x19, 0x5E, 0x2E, 0xDC, 0x8C, 0x00, 0x8A, 0x00, - 0x8E, 0x00, 0x00, 0xD8, 0x0E, 0x16, 0x19, 0x5B, 0x19, 0x59, 0x81, 0x00, - 0x19, 0x5C, 0x00, 0x80, 0x0E, 0x44, 0x19, 0x5F, 0x1B, 0x1F, 0x19, 0x5F, - 0x1B, 0x1F, 0x19, 0x5F, 0x1B, 0x1F, 0x18, 0x5F, 0x1B, 0x1F, 0x6B, 0x00, - 0x15, 0x05, 0x4D, 0x00, 0x15, 0x7E, 0x1C, 0x9F, 0x1C, 0xBD, 0x05, 0xE0, - 0x99, 0x00, 0x7D, 0x00, 0x1C, 0xDD, 0x89, 0x00, 0x1F, 0xA5, 0x15, 0x02, - 0x1C, 0xBF, 0x00, 0x9A, 0x01, 0xFC, 0x00, 0x9E, 0x0E, 0x44, 0x00, 0x81, - 0xFF, 0xDD, 0x00, 0x83, 0x0D, 0x80, 0x00, 0x64, 0x06, 0x1A, 0x18, 0x27, - 0x1B, 0x07, 0x4A, 0x00, 0x1F, 0xFC, 0x18, 0x27, 0x1B, 0x07, 0x15, 0x79, - 0x35, 0x00, 0x18, 0x27, 0x1B, 0x07, 0x41, 0x00, 0x1B, 0x7E, 0x18, 0x27, - 0x1B, 0x07, 0x1B, 0x7F, 0x00, 0x00, 0x00, 0x65, 0x06, 0x20, 0x18, 0x27, - 0x1B, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x18, 0x7F, 0x00, 0x66, - 0x06, 0x29, 0x4A, 0x3B, 0x1F, 0xFC, 0x15, 0x79, 0x35, 0x33, 0x41, 0x00, - 0x1B, 0x7F, 0x00, 0x04, 0x18, 0x9F, 0x1A, 0xDF, 0x18, 0x9F, 0x1A, 0xDF, - 0x18, 0x9F, 0x1A, 0xDF, 0x18, 0x9F, 0x1A, 0xDF, 0x1A, 0xDC, 0x00, 0x82, - 0x0B, 0xD2, 0x27, 0xDC, 0x1A, 0xDF, 0x27, 0xDB, 0x1A, 0xDF, 0x27, 0xDA, - 0x1A, 0xDF, 0x00, 0x82, 0x0B, 0xBE, 0x27, 0xD9, 0x1A, 0xDF, 0x27, 0xD8, - 0x1A, 0xDF, 0x8F, 0x00, 0x00, 0xC1, 0x0E, 0x42, 0x00, 0x82, 0x0D, 0x80, - 0x19, 0x40, 0x19, 0x43, 0x80, 0xF0, 0xB8, 0xC0, 0x11, 0x1F, 0x06, 0x54, - 0xA6, 0xF0, 0xBC, 0xF0, 0x19, 0x40, 0x19, 0x43, 0xBC, 0xF0, 0x4E, 0xC0, - 0xB8, 0x31, 0xA6, 0xF0, 0xBC, 0xF0, 0xBC, 0x00, 0x4E, 0x00, 0x1B, 0x3E, - 0x00, 0xE1, 0x0E, 0x42, 0x02, 0xDF, 0x00, 0x82, 0x0B, 0xB8, 0x19, 0x5E, - 0x2E, 0xD1, 0x19, 0x5E, 0x2E, 0xD4, 0x19, 0x5E, 0x2E, 0xD5, 0x19, 0x5E, - 0x2E, 0xD6, 0x19, 0x5E, 0x2E, 0xD7, 0x19, 0x5E, 0x2E, 0xD8, 0x19, 0x5E, - 0x2E, 0xD9, 0x19, 0x5E, 0x2E, 0xA0, 0x19, 0x5E, 0x2E, 0xA1, 0x19, 0x5E, - 0x2E, 0xA2, 0x19, 0x5E, 0x2E, 0xA3, 0x19, 0x5E, 0x2E, 0xA4, 0x19, 0x5E, - 0x2E, 0xA5, 0x19, 0x5E, 0x2E, 0xA6, 0x19, 0x5E, 0x2E, 0xA7, 0x19, 0x5E, - 0x2E, 0xA8, 0x19, 0x5E, 0x2E, 0xA9, 0x19, 0x5E, 0x2E, 0xAA, 0x19, 0x5E, - 0x2E, 0xAB, 0x19, 0x5E, 0x2E, 0xAC, 0x19, 0x5E, 0x2E, 0xAD, 0x19, 0x5E, - 0x2E, 0xAE, 0x19, 0x5E, 0x2E, 0xAF, 0x19, 0x5E, 0x2E, 0xDE, 0x19, 0x5E, - 0x2E, 0xDA, 0x19, 0x5E, 0x2E, 0xDB, 0x19, 0x5E, 0x2E, 0xDC, 0x8C, 0x00, - 0x8A, 0x00, 0x8E, 0x00, 0x19, 0x5B, 0x19, 0x59, 0x81, 0x00, 0x19, 0x5C, - 0x00, 0x80, 0x0E, 0x44, 0x19, 0x5F, 0x19, 0x5F, 0x19, 0x5F, 0x1B, 0x1F, - 0x18, 0x5F, 0x1B, 0x1F, 0x6B, 0x00, 0x15, 0x05, 0x4D, 0x00, 0x15, 0x7E, - 0x1C, 0x9F, 0x1C, 0xBD, 0x05, 0xE0, 0x99, 0x00, 0x7D, 0x00, 0x1C, 0xDD, - 0x89, 0x00, 0x1F, 0xA5, 0x15, 0x02, 0x1C, 0xBF, 0x00, 0x9A, 0x01, 0xFC, - 0x00, 0x9E, 0x0E, 0x45, 0x00, 0x81, 0xFF, 0xDD, 0x00, 0x83, 0x0D, 0x80, - 0x00, 0x64, 0x06, 0xCB, 0x18, 0x27, 0x1B, 0x07, 0x4A, 0x00, 0x1B, 0x7E, - 0x18, 0x27, 0x1B, 0x07, 0x1B, 0x7C, 0x00, 0x00, 0x18, 0x27, 0x1B, 0x07, - 0x00, 0x00, 0x00, 0x00, 0x18, 0x27, 0x1B, 0x07, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x65, 0x06, 0xD1, 0x18, 0x27, 0x1B, 0x07, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x66, 0x06, 0xD6, 0x4A, 0x00, 0x1B, 0x7E, 0x1B, 0x7C, 0x00, 0x04, - 0x18, 0x9F, 0x1A, 0xDF, 0x18, 0x9F, 0x1A, 0xDF, 0x18, 0x9F, 0x1A, 0xDF, - 0x18, 0x9F, 0x1A, 0xDF, 0x1A, 0xDC, 0x00, 0x82, 0x0B, 0xD2, 0x27, 0xDC, - 0x1A, 0xDF, 0x27, 0xDB, 0x1A, 0xDF, 0x27, 0xDA, 0x1A, 0xDF, 0x00, 0x82, - 0x0B, 0xBE, 0x27, 0xD9, 0x1A, 0xDF, 0x27, 0xD8, 0x1A, 0xDF, 0x8D, 0x00, - 0x8B, 0x00, 0x8F, 0x00, 0x00, 0xC1, 0x0E, 0x42, 0x00, 0x82, 0x0D, 0x80, - 0x81, 0x00, 0x11, 0x20, 0x07, 0x03, 0x89, 0x00, 0x19, 0x40, 0x18, 0x9E, - 0x18, 0x1B, 0x19, 0x9A, 0x54, 0x00, 0x1F, 0x5E, 0x19, 0x59, 0xB0, 0x00, - 0xFB, 0x00, 0x81, 0x39, 0x00, 0xE1, 0x0E, 0x42, 0x02, 0xDF, 0x00, 0x82, - 0x0B, 0xB8, 0x19, 0x5E, 0x2E, 0xD1, 0x19, 0x5E, 0x2E, 0xD4, 0x19, 0x5E, - 0x2E, 0xD5, 0x19, 0x5E, 0x2E, 0xD6, 0x19, 0x5E, 0x2E, 0xD7, 0x19, 0x5E, - 0x2E, 0xD8, 0x19, 0x5E, 0x2E, 0xD9, 0x19, 0x5E, 0x2E, 0xA0, 0x19, 0x5E, - 0x2E, 0xA1, 0x19, 0x5E, 0x2E, 0xA2, 0x19, 0x5E, 0x2E, 0xA3, 0x19, 0x5E, - 0x2E, 0xA4, 0x19, 0x5E, 0x2E, 0xA5, 0x19, 0x5E, 0x2E, 0xA6, 0x19, 0x5E, - 0x2E, 0xA7, 0x19, 0x5E, 0x2E, 0xA8, 0x19, 0x5E, 0x2E, 0xA9, 0x19, 0x5E, - 0x2E, 0xAA, 0x19, 0x5E, 0x2E, 0xAB, 0x19, 0x5E, 0x2E, 0xAC, 0x19, 0x5E, - 0x2E, 0xAD, 0x19, 0x5E, 0x2E, 0xAE, 0x19, 0x5E, 0x2E, 0xAF, 0x19, 0x5E, - 0x2E, 0xDE, 0x19, 0x5E, 0x2E, 0xDA, 0x19, 0x5E, 0x2E, 0xDB, 0x19, 0x5E, - 0x2E, 0xDC, 0x00, 0xC0, 0x0E, 0x42, 0x00, 0x81, 0xFF, 0xDD, 0x11, 0x20, - 0x07, 0x48, 0x18, 0x24, 0x1B, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, - 0x0E, 0x42, 0x00, 0x82, 0x0B, 0xD9, 0x00, 0x04, 0x18, 0x9F, 0x1A, 0xDF, - 0x18, 0x9F, 0x1A, 0xDF, 0x18, 0x9F, 0x1A, 0xDF, 0x18, 0x9F, 0x1A, 0xDF, - 0x89, 0x00, 0x1A, 0xDC, 0x27, 0xDC, 0x00, 0xFF, 0x0B, 0xD2, 0x27, 0xDB, - 0x00, 0xFF, 0x0B, 0xD1, 0x27, 0xDA, 0x00, 0xFF, 0x0B, 0xD0, 0x27, 0xD9, - 0x00, 0xFF, 0x0B, 0xBE, 0x27, 0xD8, 0x00, 0xFF, 0x0B, 0xBD, 0x02, 0xDF, - 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, - 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, - 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x02, 0xDF, - 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, - 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, - 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, - 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, 0x0E, 0x0B, 0x1C, 0x62, - 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, 0x80, 0xE7, - 0x00, 0xF8, 0x0B, 0xAA, 0x00, 0xFB, 0x0B, 0xAD, 0x02, 0xDF, 0x00, 0xC0, - 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x1C, 0x62, - 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x80, 0xE7, - 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, - 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x1C, 0x62, 0x00, 0xC4, - 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, - 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, - 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x1C, 0x62, 0x00, 0xC4, - 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, - 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, - 0x0B, 0x8D, 0x00, 0xC2, 0x0E, 0x0B, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, - 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAA, - 0x00, 0xFB, 0x0B, 0xAD, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x91, - 0x00, 0xC2, 0x0E, 0x0E, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, - 0x0E, 0x0F, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, - 0x0B, 0xAE, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, - 0x00, 0xC2, 0x0E, 0x08, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, - 0x0E, 0x09, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, - 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x97, 0x00, 0xC2, - 0x0E, 0x0A, 0x1C, 0x62, 0x02, 0xBF, 0x81, 0xF9, 0x00, 0xF8, 0x0B, 0xAF, - 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, - 0x0E, 0x08, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, - 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, - 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, 0x0E, 0x0B, - 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, - 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAA, 0x00, 0xFB, 0x0B, 0xAD, 0x00, 0xC0, - 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x97, 0x00, 0xC2, 0x0E, 0x0A, 0x1C, 0x62, - 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0D, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, - 0x0B, 0xAF, 0x00, 0xFB, 0x0B, 0xB0, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, - 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x1C, 0x62, 0x00, 0xC4, - 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, - 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, - 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, - 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAB, - 0x00, 0xFB, 0x0B, 0xAE, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x95, - 0x00, 0xC2, 0x0E, 0x10, 0x1C, 0x62, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0A, - 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xB1, 0x00, 0xFB, 0x0B, 0xAF, - 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, - 0x0E, 0x08, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, - 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, - 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, 0x0E, 0x0B, - 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, - 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAA, 0x00, 0xFB, 0x0B, 0xAD, 0x00, 0xC0, - 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x1C, 0x62, - 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x80, 0xE7, - 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, 0x00, 0xC0, 0x0E, 0x43, - 0x00, 0x81, 0x0B, 0x97, 0x00, 0xC2, 0x0E, 0x0A, 0x1C, 0x62, 0x1C, 0x80, - 0x00, 0xC5, 0x0E, 0x0D, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAF, - 0x00, 0xFB, 0x0B, 0xB0, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x95, - 0x00, 0xC2, 0x0E, 0x10, 0x1C, 0x62, 0x02, 0xBF, 0x81, 0xF9, 0x00, 0xF8, - 0x0B, 0xB1, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, - 0x00, 0xC2, 0x0E, 0x08, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, - 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, - 0x00, 0xFB, 0x0B, 0xAC, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, - 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, - 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, - 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, - 0x0B, 0x8D, 0x00, 0xC2, 0x0E, 0x0B, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, - 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, - 0x0B, 0xAA, 0x00, 0xFB, 0x0B, 0xAD, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, - 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x00, 0x83, 0x0E, 0x44, - 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, - 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, - 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x00, 0x83, 0x0E, 0x44, - 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x82, 0x82, - 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, 0x02, 0xDF, 0x00, 0xC0, - 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x00, 0x83, - 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, - 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, - 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, 0x0E, 0x0B, 0x00, 0x83, - 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, - 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAA, 0x00, 0xFB, 0x0B, 0xAD, 0x00, 0xC0, - 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x00, 0x83, - 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, - 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, 0x02, 0xDF, - 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, - 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, - 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, - 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x97, 0x00, 0xC2, 0x0E, 0x0A, - 0x00, 0x83, 0x0E, 0x44, 0x02, 0xBF, 0x84, 0x5D, 0x00, 0xF8, 0x0B, 0xAF, - 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, - 0x0E, 0x08, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, - 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, - 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, - 0x0E, 0x0B, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, - 0x0E, 0x0C, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAA, 0x00, 0xFB, - 0x0B, 0xAD, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x97, 0x00, 0xC2, - 0x0E, 0x0A, 0x00, 0x83, 0x0E, 0x44, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0D, - 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAF, 0x00, 0xFB, 0x0B, 0xB0, - 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, - 0x0E, 0x08, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, - 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, - 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, - 0x0E, 0x0E, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, - 0x0E, 0x0F, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, - 0x0B, 0xAE, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x95, 0x00, 0xC2, - 0x0E, 0x10, 0x00, 0x83, 0x0E, 0x44, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0A, - 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xB1, 0x00, 0xFB, 0x0B, 0xAF, - 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, - 0x0E, 0x08, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, - 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, - 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, - 0x0E, 0x0B, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC0, 0x0E, 0x41, 0x00, 0xC5, - 0x0E, 0x0C, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAA, 0x00, 0xFB, - 0x0B, 0xAD, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, - 0x0E, 0x0E, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, - 0x0E, 0x0F, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, - 0x0B, 0xAE, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x97, 0x00, 0xC2, - 0x0E, 0x0A, 0x00, 0x83, 0x0E, 0x44, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0D, - 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAF, 0x00, 0xFB, 0x0B, 0xB0, - 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x95, 0x00, 0xC2, 0x0E, 0x10, - 0x00, 0x83, 0x0E, 0x44, 0x02, 0xBF, 0x84, 0x5D, 0x00, 0xF8, 0x0B, 0xB1, - 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, - 0x0E, 0x08, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, - 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, - 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, - 0x1C, 0x62, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x80, 0xE7, - 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, 0x02, 0xDF, 0x00, 0xC0, - 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x1C, 0x62, - 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x80, 0xE7, - 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x43, - 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x1C, 0x62, 0x1C, 0x80, - 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAB, - 0x00, 0xFB, 0x0B, 0xAE, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, - 0x00, 0xC2, 0x0E, 0x0B, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, - 0x0E, 0x0C, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAA, 0x00, 0xFB, - 0x0B, 0xAD, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x99, 0x00, 0xC2, - 0x0E, 0x0D, 0x1C, 0x62, 0x02, 0xBF, 0x81, 0xF9, 0x00, 0xF8, 0x0B, 0xB0, - 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, - 0x0E, 0x08, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, - 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, - 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, - 0x0E, 0x0E, 0x00, 0x83, 0x0E, 0x44, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0F, - 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, - 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, - 0x0E, 0x08, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, - 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, - 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, - 0x0E, 0x0E, 0x00, 0x83, 0x0E, 0x44, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0F, - 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, - 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, 0x0E, 0x0B, - 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, - 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAA, 0x00, 0xFB, 0x0B, 0xAD, - 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x99, 0x00, 0xC2, 0x0E, 0x0D, - 0x00, 0x83, 0x0E, 0x44, 0x02, 0xBF, 0x84, 0x5D, 0x00, 0xF8, 0x0B, 0xB0, - 0x02, 0xDF, 0x00, 0x82, 0x01, 0x3E, 0x01, 0xBC, 0x02, 0x48, 0x04, 0x13, - 0x04, 0x27, 0x01, 0x65, 0x05, 0x74, 0x0B, 0x37, 0x01, 0x5F, 0x04, 0x78, - 0x04, 0x74, 0x04, 0x76, 0x01, 0xA9, 0x04, 0x3B, 0x04, 0x7A, 0x0B, 0xB1, - 0x01, 0x75, 0x07, 0x68, 0x07, 0x7A, 0x07, 0x9D, 0x07, 0xC0, 0x07, 0xF4, - 0x08, 0x11, 0x08, 0x44, 0x08, 0x77, 0x08, 0xC6, 0x08, 0xD9, 0x08, 0xFE, - 0x09, 0x23, 0x09, 0x5A, 0x09, 0x79, 0x09, 0xAF, 0x09, 0xE5, 0x0A, 0x39, - 0x0A, 0x5B, 0x07, 0x68, 0x07, 0x68, 0x07, 0x68, 0x07, 0x68, 0x07, 0x68, - 0x07, 0x68, 0x0A, 0x99, 0x0A, 0xBD, 0x07, 0x68, 0x07, 0x68, 0x07, 0x68, - 0x07, 0x68, 0x07, 0x68, 0x07, 0x68, 0x05, 0xA8, 0x06, 0x5D, 0x07, 0x07, - 0x10, 0x00, 0x12, 0x00, 0x14, 0x00, 0x8E, 0x00, 0x81, 0x00, 0x89, 0x70, - 0x19, 0x1C, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x0E, 0x80, 0x16, 0xC9, - 0x00, 0x00, 0x16, 0xCB, 0x01, 0x00, 0x1F, 0x7E, 0x1F, 0x3C, 0x81, 0x00, - 0x26, 0xC9, 0x02, 0xA0, 0x00, 0x04, 0x02, 0x9C, 0x0B, 0x46, 0x19, 0x1E, - 0x19, 0x1C, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x02, 0x80, 0x16, 0xC9, - 0x00, 0x00, 0x16, 0xCB, 0x02, 0x80, 0x1C, 0x80, 0x00, 0x80, 0x02, 0x80, - 0x00, 0xC1, 0x0E, 0x1B, 0x00, 0x85, 0x00, 0x00, 0x00, 0x89, 0x00, 0x7F, - 0x00, 0x82, 0x0F, 0x00, 0x00, 0x83, 0x16, 0xB4, 0x1C, 0xE3, 0x81, 0x00, - 0x26, 0xC9, 0x02, 0xA0, 0x00, 0x04, 0x02, 0x9C, 0x0B, 0x64, 0x8F, 0x00, - 0x8A, 0x78, 0x8C, 0x68, 0xF1, 0x00, 0x1A, 0x3F, 0x84, 0xE3, 0x10, 0x7E, - 0xF2, 0xE3, 0xF2, 0xE7, 0xF2, 0x78, 0x6E, 0x68, 0xF1, 0x32, 0x1A, 0x3F, - 0x11, 0x9E, 0x0B, 0x80, 0x1C, 0x67, 0x84, 0xE3, 0x10, 0x7E, 0xF2, 0xE3, - 0xF2, 0xE7, 0xF2, 0x78, 0x6E, 0x68, 0xF1, 0x32, 0x1A, 0x3F, 0x1C, 0x67, - 0x84, 0xE3, 0x10, 0x7E, 0xF2, 0xE3, 0xF2, 0xE7, 0xF2, 0x00, 0x6E, 0x00, - 0x1B, 0x5E, 0x00, 0xE1, 0x0E, 0x1B, 0x00, 0x80, 0x02, 0x80, 0x00, 0x83, - 0x0F, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x82, 0x01, 0x40, 0x00, 0x89, - 0xFF, 0xFF, 0x89, 0x00, 0x81, 0x00, 0x8F, 0x00, 0x11, 0xA0, 0x0B, 0xA0, - 0x19, 0x7F, 0x99, 0x30, 0x1B, 0x1E, 0x1B, 0x3F, 0x7D, 0x29, 0x1B, 0x5F, - 0x1B, 0x5D, 0x8E, 0x00, 0x1F, 0xDB, 0x1F, 0x99, 0x2E, 0xCE, 0x2C, 0xCF, - 0x16, 0xCD, 0x0E, 0x80, 0x16, 0xC9, 0x00, 0x01, 0x16, 0xCB, 0x01, 0x00, - 0x02, 0xBF, 0x05, 0x5C, 0x1C, 0x04, 0x02, 0x9F, 0x00, 0x68, 0x8E, 0x00, - 0x81, 0x00, 0x89, 0x70, 0x19, 0x1C, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, - 0x07, 0xC0, 0x16, 0xC9, 0x00, 0x01, 0x16, 0xCB, 0x05, 0x00, 0x02, 0xBF, - 0x05, 0x5C, 0x81, 0x00, 0x89, 0x70, 0x19, 0x1C, 0x2E, 0xCE, 0x2C, 0xCF, - 0x16, 0xCD, 0x07, 0xC0, 0x16, 0xC9, 0x00, 0x00, 0x89, 0x00, 0x0D, 0x20, - 0x2D, 0xCB, 0x4C, 0x00, 0x1C, 0x80, 0x00, 0x80, 0x07, 0xC0, 0x00, 0x83, - 0x00, 0x00, 0x1C, 0x43, 0x0A, 0x00, 0x27, 0xC9, 0x03, 0xA0, 0x00, 0x04, - 0x02, 0x9C, 0x0B, 0xD3, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x07, 0xD0, - 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, 0x04, 0xE0, 0x8F, 0x00, 0x80, 0xF0, - 0x80, 0xC0, 0x6A, 0x00, 0x48, 0x00, 0x11, 0x4F, 0x0B, 0xEE, 0x80, 0xF0, - 0x80, 0xC0, 0x6B, 0x32, 0x49, 0x22, 0x80, 0xF0, 0x80, 0xC0, 0x6A, 0x3A, - 0x48, 0x2A, 0x80, 0xF0, 0x80, 0xC0, 0x6B, 0x32, 0x49, 0x22, 0x1B, 0x5F, - 0x1B, 0x5D, 0x80, 0xF0, 0x80, 0xC0, 0x68, 0x00, 0x7C, 0x00, 0x4A, 0x00, - 0x11, 0x4F, 0x0C, 0x05, 0x80, 0xF0, 0x80, 0xC0, 0x69, 0x32, 0x7D, 0x00, - 0x4B, 0x22, 0x80, 0xF0, 0x80, 0xC0, 0x68, 0x3A, 0x7C, 0x00, 0x4A, 0x2A, - 0x80, 0xF0, 0x80, 0xC0, 0x69, 0x32, 0x7D, 0x00, 0x4B, 0x22, 0x1B, 0x5F, - 0x1B, 0x5D, 0x1C, 0x04, 0x02, 0x9F, 0x00, 0x68, 0x8E, 0x00, 0x16, 0xFC, - 0xEC, 0xC0, 0x1F, 0xCC, 0x1D, 0x9E, 0x2E, 0xFD, 0x26, 0xFC, 0x02, 0xA0, - 0x80, 0x00, 0x02, 0x9C, 0x0C, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x02, 0xFF, 0x8E, 0x00, 0x00, 0xF0, 0x0E, 0x17, 0x00, 0xFE, 0x0E, 0x18, - 0x00, 0xFC, 0x0E, 0x19, 0x1F, 0xCC, 0x1D, 0x9E, 0x16, 0xFC, 0xFE, 0xED, - 0x2E, 0xFD, 0x26, 0xFC, 0x02, 0xA0, 0x80, 0x00, 0x02, 0x9C, 0x0C, 0x2B, - 0x00, 0xD0, 0x0E, 0x17, 0x00, 0xDE, 0x0E, 0x18, 0x00, 0xDC, 0x0E, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0x8E, 0x00, - 0x1D, 0xBC, 0x1D, 0xBE, 0x81, 0x00, 0x00, 0xDE, 0x0B, 0xB7, 0x06, 0x01, - 0x02, 0x95, 0x0C, 0x47, 0x0E, 0x00, 0x00, 0xFE, 0x0B, 0x87, 0x1F, 0xCD, - 0x1F, 0x8D, 0x02, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x02, 0xFF, 0x8E, 0x00, 0x1D, 0xBC, 0x1D, 0xBE, 0x81, 0x00, - 0x00, 0xDE, 0x0B, 0xB7, 0x06, 0x01, 0x02, 0x95, 0x0C, 0x5F, 0x0E, 0x00, - 0x00, 0xFE, 0x0B, 0x87, 0x1F, 0xCD, 0x1F, 0x8D, 0x02, 0xFF, 0x81, 0x00, - 0x00, 0xDE, 0x0B, 0x88, 0x06, 0x01, 0x02, 0x95, 0x0C, 0x71, 0x00, 0xDE, - 0x0B, 0xDA, 0x2E, 0xDA, 0x00, 0xDE, 0x0B, 0xDB, 0x2E, 0xDB, 0x00, 0xDE, - 0x0B, 0xDC, 0x2E, 0xDC, 0x1F, 0xCD, 0x1F, 0x8D, 0x02, 0xFF, 0x00, 0xDE, - 0x0B, 0xDA, 0x2E, 0xDA, 0x26, 0xDB, 0x2E, 0xDB, 0x26, 0xDC, 0x2E, 0xDC, - 0x81, 0x00, 0x00, 0xDC, 0x0B, 0xDD, 0x76, 0x00, 0x00, 0xFC, 0x0B, 0xDD, - 0x81, 0x00, 0x1F, 0xCD, 0x1F, 0x8D, 0x02, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0x0C, 0x9F, 0x0C, 0xA2, 0x0C, 0xDA, - 0x0C, 0xDD, 0x8E, 0x00, 0x81, 0x00, 0x89, 0x00, 0x02, 0xBF, 0x0C, 0xE0, - 0x27, 0xFF, 0x00, 0x9E, 0x0C, 0x8D, 0x4C, 0x00, 0x1C, 0x7E, 0x03, 0x13, - 0x1C, 0x7F, 0x17, 0x6F, 0x00, 0x21, 0x02, 0x9F, 0x00, 0x30, 0x00, 0x21, - 0x81, 0x00, 0x89, 0x00, 0x02, 0xBF, 0x0C, 0xE0, 0x24, 0xFF, 0x02, 0xBF, - 0x0C, 0xE6, 0x25, 0xFF, 0x02, 0xBF, 0x0C, 0xE6, 0x27, 0xFF, 0x2E, 0xCE, - 0x2C, 0xCF, 0x16, 0xC9, 0x00, 0x01, 0x2F, 0xCD, 0x2D, 0xCB, 0x81, 0x00, - 0x89, 0x00, 0x02, 0xBF, 0x0C, 0xE0, 0x24, 0xFF, 0x1C, 0x9E, 0x1C, 0xBC, - 0x02, 0xBF, 0x0C, 0xE6, 0x25, 0xFF, 0x02, 0xBF, 0x0C, 0xE6, 0x27, 0xFF, - 0x1C, 0xDF, 0x1C, 0xFD, 0x81, 0x00, 0x02, 0xBF, 0x0C, 0xE0, 0x26, 0xFF, - 0x1C, 0x1E, 0x89, 0x00, 0x02, 0xBF, 0x0C, 0xE6, 0x20, 0xFF, 0x1F, 0x5F, - 0x02, 0xBF, 0x0C, 0xE0, 0x21, 0xFF, 0x02, 0xBF, 0x0C, 0xE0, 0x23, 0xFF, - 0x26, 0xC9, 0x02, 0xA0, 0x00, 0x04, 0x02, 0x9C, 0x0C, 0xD2, 0x02, 0x9F, - 0x80, 0xB5, 0x00, 0x21, 0x02, 0x9F, 0x80, 0x00, 0x00, 0x21, 0x02, 0x9F, - 0x00, 0x45, 0x00, 0x21, 0x26, 0xFE, 0x02, 0xC0, 0x80, 0x00, 0x02, 0x9C, - 0x0C, 0xE0, 0x02, 0xDF, 0x27, 0xFE, 0x03, 0xC0, 0x80, 0x00, 0x02, 0x9C, - 0x0C, 0xE6, 0x02, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x9F, 0x0C, 0x10, 0x02, 0x9F, 0x0C, 0x1F, 0x02, 0x9F, 0x0C, 0x3B, + 0x02, 0x9F, 0x0C, 0x4A, 0x02, 0x9F, 0x0C, 0x50, 0x02, 0x9F, 0x0C, 0x82, 0x02, 0x9F, 0x0C, 0x88, + 0x13, 0x02, 0x13, 0x03, 0x12, 0x04, 0x13, 0x05, 0x13, 0x06, 0x8E, 0x00, 0x8C, 0x00, 0x8B, 0x00, + 0x00, 0x92, 0x00, 0xFF, 0x81, 0x00, 0x89, 0x00, 0x00, 0x9E, 0x0E, 0x80, 0x00, 0xFE, 0x0E, 0x1B, + 0x81, 0x00, 0x00, 0xFE, 0x0E, 0x31, 0x16, 0xFC, 0xDC, 0xD1, 0x16, 0xFD, 0x00, 0x00, 0x16, 0xFB, + 0x00, 0x01, 0x26, 0xFC, 0x02, 0xA0, 0x80, 0x00, 0x02, 0x9C, 0x00, 0x29, 0x02, 0x9F, 0x00, 0x45, + 0x13, 0x02, 0x13, 0x03, 0x12, 0x04, 0x13, 0x05, 0x13, 0x06, 0x8E, 0x00, 0x8C, 0x00, 0x8B, 0x00, + 0x00, 0x92, 0x00, 0xFF, 0x16, 0xFC, 0xDC, 0xD1, 0x16, 0xFD, 0x00, 0x01, 0x16, 0xFB, 0x00, 0x01, + 0x26, 0xFC, 0x02, 0xA0, 0x80, 0x00, 0x02, 0x9C, 0x00, 0x40, 0x8E, 0x00, 0x81, 0x00, 0x89, 0x00, + 0x00, 0x9F, 0xBA, 0xBE, 0x26, 0xFE, 0x02, 0xC0, 0x80, 0x00, 0x02, 0x9C, 0x00, 0x4A, 0x82, 0x00, + 0x02, 0x94, 0x00, 0x4A, 0x23, 0xFF, 0x81, 0x00, 0x26, 0xFE, 0x02, 0xC0, 0x80, 0x00, 0x02, 0x9C, + 0x00, 0x54, 0x27, 0xFF, 0x02, 0x40, 0x7F, 0xFF, 0x2E, 0xCE, 0x2F, 0xCF, 0x16, 0xCD, 0x0C, 0x00, + 0x81, 0x00, 0x2E, 0xC9, 0x1F, 0xFB, 0x2F, 0xCB, 0x02, 0xBF, 0x05, 0x5C, 0x00, 0x80, 0x0C, 0x00, + 0x8E, 0x00, 0x81, 0x00, 0x89, 0x70, 0xB1, 0x00, 0x02, 0x91, 0x00, 0x7E, 0x0A, 0x12, 0xC1, 0x00, + 0x02, 0x92, 0x00, 0x7E, 0x00, 0x9F, 0x0A, 0xFF, 0x4C, 0x00, 0x1C, 0x7E, 0x02, 0x13, 0x1C, 0x7E, + 0x17, 0x6F, 0x16, 0xFC, 0xFB, 0xAD, 0x16, 0xFD, 0x80, 0x80, 0x00, 0x21, 0x16, 0xFC, 0xBA, 0xAD, + 0x2E, 0xFD, 0x00, 0x21, 0x81, 0x00, 0x89, 0x70, 0x8E, 0x78, 0x2E, 0xCE, 0x2F, 0xCF, 0x00, 0x9E, + 0x0E, 0x44, 0x2E, 0xCD, 0x0E, 0x00, 0x2E, 0xC9, 0x00, 0x9E, 0x00, 0x40, 0x2E, 0xCB, 0x00, 0x81, + 0x0E, 0x44, 0x00, 0x82, 0x00, 0x00, 0x00, 0x9B, 0x00, 0x9F, 0x00, 0x9A, 0x01, 0x40, 0x81, 0x00, + 0x89, 0x00, 0x8F, 0x00, 0x02, 0xBF, 0x05, 0x5C, 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x00, 0x19, 0x3F, + 0x02, 0x94, 0x00, 0xA6, 0x00, 0x5A, 0x1B, 0x5E, 0x02, 0x9F, 0x00, 0xAE, 0x99, 0x00, 0x1B, 0x5E, + 0x1B, 0x5C, 0x00, 0x7B, 0x00, 0xAD, 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x19, 0x3E, 0x19, 0x3C, + 0xB1, 0x00, 0x19, 0x3F, 0x02, 0x94, 0x00, 0xB8, 0x00, 0x5A, 0x1B, 0x5E, 0x02, 0x9F, 0x00, 0xC0, + 0x99, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x00, 0x7B, 0x00, 0xBF, 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, + 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x00, 0x19, 0x3F, 0x02, 0x94, 0x00, 0xCA, 0x00, 0x5A, 0x1B, 0x5E, + 0x02, 0x9F, 0x00, 0xD2, 0x99, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x00, 0x7B, 0x00, 0xD1, 0x4C, 0x00, + 0x1B, 0x5E, 0x1B, 0x5C, 0x00, 0x82, 0x04, 0x00, 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x79, 0x02, 0x94, + 0x00, 0xDD, 0x00, 0x5A, 0x1B, 0x5E, 0x02, 0x9F, 0x00, 0xE5, 0x99, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, + 0x00, 0x7B, 0x00, 0xE4, 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x79, + 0x02, 0x94, 0x00, 0xEE, 0x00, 0x5A, 0x1B, 0x5E, 0x02, 0x9F, 0x00, 0xF6, 0x99, 0x00, 0x1B, 0x5E, + 0x1B, 0x5C, 0x00, 0x7B, 0x00, 0xF5, 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x19, 0x3E, 0x19, 0x3C, + 0xB1, 0x79, 0x02, 0x94, 0x00, 0xFF, 0x00, 0x5A, 0x1B, 0x5E, 0x02, 0x9F, 0x01, 0x07, 0x99, 0x00, + 0x1B, 0x5E, 0x1B, 0x5C, 0x00, 0x7B, 0x01, 0x06, 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x00, 0x82, + 0x07, 0xC0, 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x79, 0x02, 0x94, 0x01, 0x12, 0x00, 0x5A, 0x1B, 0x5E, + 0x02, 0x9F, 0x01, 0x1A, 0x99, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x00, 0x7B, 0x01, 0x19, 0x4C, 0x00, + 0x1B, 0x5E, 0x1B, 0x5C, 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x79, 0x02, 0x94, 0x01, 0x23, 0x00, 0x5A, + 0x1B, 0x5E, 0x02, 0x9F, 0x01, 0x2B, 0x99, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x00, 0x7B, 0x01, 0x2A, + 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x79, 0x02, 0x94, 0x01, 0x34, + 0x00, 0x5A, 0x1B, 0x5E, 0x02, 0x9F, 0x01, 0x3C, 0x99, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x00, 0x7B, + 0x01, 0x3B, 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x02, 0x9F, 0x00, 0x68, 0x00, 0x85, 0xFF, 0xFF, + 0x81, 0x50, 0x89, 0x40, 0x8E, 0x48, 0x00, 0xFA, 0x0E, 0x17, 0x00, 0xF8, 0x0E, 0x18, 0x00, 0x81, + 0x00, 0x00, 0x02, 0xBF, 0x04, 0xF1, 0x00, 0xDA, 0x0E, 0x17, 0x00, 0xD8, 0x0E, 0x18, 0x89, 0x48, + 0x00, 0x81, 0x04, 0x00, 0x02, 0xBF, 0x04, 0xF1, 0x00, 0xDA, 0x0E, 0x17, 0x00, 0xD8, 0x0E, 0x18, + 0x89, 0x48, 0x00, 0x81, 0x07, 0xC0, 0x02, 0xBF, 0x04, 0xF1, 0x02, 0x9F, 0x00, 0x68, 0x00, 0x86, + 0x07, 0xC0, 0x02, 0xBF, 0x04, 0x84, 0x02, 0x9F, 0x00, 0x68, 0x81, 0x00, 0x8E, 0x00, 0x19, 0x1E, + 0x19, 0x1C, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x00, 0x00, 0x16, 0xC9, 0x00, 0x01, 0x16, 0xCB, + 0x07, 0x80, 0x02, 0xBF, 0x05, 0x5C, 0x02, 0x9F, 0x00, 0x68, 0x81, 0x00, 0x89, 0x70, 0x8E, 0x60, + 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x0E, 0x44, 0x16, 0xC9, 0x00, 0x00, 0x89, 0x00, 0x0D, 0x20, + 0x2D, 0xCB, 0x4C, 0x00, 0x1C, 0x80, 0x00, 0x80, 0x02, 0x80, 0x00, 0x81, 0x00, 0x00, 0x00, 0x82, + 0x01, 0x40, 0x00, 0x83, 0x0E, 0x44, 0x0A, 0x00, 0x27, 0xC9, 0x03, 0xA0, 0x00, 0x04, 0x02, 0x9C, + 0x01, 0x8C, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x0E, 0x54, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, + 0x02, 0x60, 0x00, 0x9F, 0x00, 0xA0, 0x8F, 0x00, 0x00, 0x7F, 0x01, 0xA5, 0x19, 0x7E, 0x1B, 0x1A, + 0x19, 0x7C, 0x1B, 0x1A, 0x1B, 0x5E, 0x7C, 0x22, 0x1B, 0x3E, 0x1B, 0x3C, 0x1C, 0x04, 0x02, 0x9F, + 0x00, 0x68, 0x8E, 0x70, 0x89, 0x60, 0x19, 0x1F, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x0C, 0x00, + 0x16, 0xC9, 0x00, 0x00, 0x05, 0x03, 0x03, 0x40, 0xFF, 0xF0, 0x2F, 0xCB, 0x02, 0xBF, 0x05, 0x5C, + 0x00, 0x80, 0x0C, 0x00, 0x02, 0x9F, 0x00, 0x68, 0x81, 0x00, 0x89, 0x70, 0x8E, 0x78, 0x2E, 0xCE, + 0x2F, 0xCF, 0x16, 0xCD, 0x0B, 0x80, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, 0x00, 0xC0, 0x00, 0x82, + 0x0E, 0x08, 0x00, 0x9F, 0x00, 0x00, 0x1B, 0x5F, 0x00, 0x9F, 0x01, 0x40, 0x1B, 0x5F, 0x00, 0x9F, + 0x02, 0x80, 0x1B, 0x5F, 0x00, 0x9F, 0x04, 0x00, 0x1B, 0x5F, 0x00, 0x9F, 0x05, 0x40, 0x1B, 0x5F, + 0x00, 0x9F, 0x06, 0x80, 0x1B, 0x5F, 0x00, 0x9F, 0x07, 0xC0, 0x1B, 0x5F, 0x00, 0x9F, 0x09, 0x00, + 0x1B, 0x5F, 0x00, 0x9F, 0x0A, 0x40, 0x1B, 0x5F, 0x02, 0xBF, 0x05, 0x5C, 0x00, 0xDE, 0x0B, 0xA7, + 0x00, 0xDF, 0x0B, 0xA8, 0x2E, 0xCE, 0x2F, 0xCF, 0x16, 0xCD, 0x03, 0xC0, 0x16, 0xC9, 0x00, 0x00, + 0x16, 0xCB, 0x00, 0x80, 0x81, 0x00, 0x89, 0x00, 0x00, 0xDE, 0x0B, 0x84, 0x00, 0x9F, 0x0B, 0x31, + 0x4C, 0x00, 0x1C, 0x7E, 0x02, 0x13, 0x00, 0xFE, 0x0E, 0x15, 0x00, 0xDE, 0x0B, 0x85, 0x00, 0x9F, + 0x0B, 0x34, 0x4C, 0x00, 0x1C, 0x7E, 0x02, 0x13, 0x00, 0xFE, 0x0E, 0x16, 0x00, 0xDE, 0x0B, 0x86, + 0x00, 0x9F, 0x0B, 0x11, 0x4C, 0x00, 0x1C, 0x7E, 0x02, 0x13, 0x00, 0xFE, 0x0E, 0x14, 0x81, 0x00, + 0x00, 0xDE, 0x0B, 0x9B, 0xB1, 0x00, 0x02, 0x95, 0x02, 0x3A, 0x89, 0x00, 0x00, 0xDF, 0x0B, 0x9E, + 0x03, 0x00, 0x0C, 0xC0, 0x00, 0xFF, 0x0E, 0x40, 0x00, 0xDF, 0x0B, 0x9F, 0x03, 0x00, 0x0C, 0xC0, + 0x00, 0xFF, 0x0E, 0x41, 0x00, 0x9F, 0x0C, 0xE0, 0x00, 0xFF, 0x0E, 0x42, 0x00, 0xFF, 0x0E, 0x43, + 0x02, 0xBF, 0x05, 0x5C, 0x00, 0xDE, 0x0B, 0x9C, 0x2E, 0xCE, 0x00, 0xDE, 0x0B, 0x9D, 0x2E, 0xCF, + 0x16, 0xCD, 0x0C, 0xC0, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, 0x00, 0x40, 0x02, 0xBF, 0x05, 0x5C, + 0x02, 0x9F, 0x00, 0x68, 0x00, 0x9F, 0x0C, 0xE0, 0x00, 0xFF, 0x0E, 0x42, 0x00, 0xFF, 0x0E, 0x40, + 0x00, 0xFF, 0x0E, 0x41, 0x00, 0xFF, 0x0E, 0x43, 0x02, 0xBF, 0x05, 0x5C, 0x02, 0x9F, 0x00, 0x68, + 0x8E, 0x00, 0x00, 0xE0, 0x0E, 0x07, 0x00, 0x80, 0x0B, 0xA2, 0x00, 0x81, 0x03, 0xC0, 0x0E, 0x05, + 0x00, 0xFE, 0x0E, 0x04, 0x89, 0x00, 0x81, 0x50, 0x00, 0x9F, 0x0B, 0x80, 0x00, 0x7A, 0x02, 0x5B, + 0x19, 0x3E, 0x4C, 0x49, 0x1C, 0x5E, 0x1A, 0x59, 0x00, 0x83, 0x0E, 0x05, 0x1B, 0x61, 0x1B, 0x60, + 0x00, 0xDE, 0x0B, 0x87, 0x06, 0x01, 0x02, 0x95, 0x02, 0x67, 0x02, 0x9F, 0x03, 0x32, 0x00, 0xDE, + 0x0E, 0x42, 0x00, 0xFE, 0x0E, 0x1C, 0x00, 0xC3, 0x0E, 0x15, 0x17, 0x7F, 0x8E, 0x00, 0x8A, 0x00, + 0x81, 0x00, 0x89, 0x00, 0x00, 0xDE, 0x0B, 0xB3, 0x00, 0xDF, 0x0B, 0xB2, 0x1F, 0x1F, 0x4D, 0x00, + 0x14, 0x81, 0x8D, 0x1E, 0x1F, 0xD8, 0x00, 0x98, 0x80, 0x00, 0x00, 0x80, 0x0E, 0x44, 0xA8, 0x30, + 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, + 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, + 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, + 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0x00, 0xFE, + 0x0B, 0xB2, 0x8F, 0x00, 0x00, 0x80, 0x0E, 0x44, 0x00, 0xC1, 0x0E, 0x43, 0x1C, 0x61, 0x19, 0x3A, + 0x19, 0x18, 0x90, 0x59, 0x19, 0x19, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, + 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, + 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, + 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, + 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, + 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, + 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, + 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x00, + 0x6F, 0x33, 0x1B, 0x7F, 0x00, 0xC3, 0x0E, 0x14, 0x8F, 0x00, 0x8D, 0x00, 0x8A, 0x00, 0x17, 0x7F, + 0x81, 0x00, 0x00, 0xDE, 0x0B, 0x9B, 0xB1, 0x00, 0x02, 0x95, 0x03, 0x2A, 0x00, 0xDE, 0x0E, 0x42, + 0x00, 0xFE, 0x0E, 0x43, 0x81, 0x00, 0x89, 0x00, 0x00, 0xDE, 0x0B, 0x9E, 0x00, 0xDF, 0x0B, 0xA0, + 0x82, 0x00, 0x02, 0x93, 0x03, 0x06, 0x78, 0x00, 0x02, 0x9F, 0x03, 0x09, 0x02, 0x95, 0x03, 0x09, + 0x74, 0x00, 0x00, 0xFE, 0x0B, 0x9E, 0x00, 0xDF, 0x0E, 0x43, 0x05, 0xE0, 0x4C, 0x00, 0x00, 0xFE, + 0x0E, 0x40, 0x81, 0x00, 0x89, 0x00, 0x00, 0xDE, 0x0B, 0x9F, 0x00, 0xDF, 0x0B, 0xA1, 0x82, 0x00, + 0x02, 0x93, 0x03, 0x1D, 0x78, 0x00, 0x02, 0x9F, 0x03, 0x20, 0x02, 0x95, 0x03, 0x20, 0x74, 0x00, + 0x00, 0xFE, 0x0B, 0x9F, 0x00, 0xDF, 0x0E, 0x43, 0x05, 0xE0, 0x4C, 0x00, 0x00, 0xFE, 0x0E, 0x41, + 0x02, 0x9F, 0x03, 0x32, 0x00, 0xDE, 0x0E, 0x42, 0x00, 0xFE, 0x0E, 0x40, 0x00, 0xFE, 0x0E, 0x41, + 0x00, 0xFE, 0x0E, 0x43, 0x81, 0x00, 0x8E, 0x00, 0x84, 0x00, 0x89, 0x00, 0x1E, 0xFE, 0x0E, 0x40, + 0x1E, 0xBE, 0x00, 0x83, 0x0E, 0x08, 0x1C, 0x03, 0x1F, 0xF5, 0x19, 0x1A, 0xF8, 0x58, 0xFB, 0xA0, + 0xF8, 0xB1, 0xFB, 0xA0, 0xF8, 0xB1, 0xFB, 0xA0, 0xF8, 0xB1, 0xFB, 0xA0, 0xF8, 0x3B, 0x1B, 0x7E, + 0x00, 0x83, 0x0E, 0x04, 0x81, 0x00, 0x89, 0x73, 0x19, 0x61, 0x19, 0x60, 0x78, 0x00, 0x00, 0xFE, + 0x0E, 0x04, 0x02, 0x94, 0x02, 0x53, 0x8E, 0x00, 0x81, 0x00, 0x00, 0xDE, 0x0B, 0x9B, 0xB1, 0x00, + 0x02, 0x95, 0x03, 0x6A, 0x00, 0xDE, 0x0B, 0x9C, 0x00, 0xDC, 0x0B, 0x9D, 0x2E, 0xCE, 0x2C, 0xCF, + 0x81, 0x00, 0x00, 0xDE, 0x0E, 0x1C, 0x2E, 0xCD, 0x16, 0xC9, 0x00, 0x01, 0x16, 0xCB, 0x00, 0x40, + 0x02, 0xBF, 0x05, 0x5C, 0x81, 0x00, 0x89, 0x00, 0x00, 0xDE, 0x0B, 0x82, 0x00, 0xDF, 0x0B, 0x83, + 0x2E, 0xCE, 0x2F, 0xCF, 0x16, 0xCD, 0x0B, 0x80, 0x16, 0xC9, 0x00, 0x01, 0x16, 0xCB, 0x00, 0xC0, + 0x02, 0xBF, 0x05, 0x5C, 0x81, 0x00, 0x00, 0xDE, 0x0B, 0x80, 0x00, 0xDC, 0x0B, 0x81, 0xB1, 0x00, + 0x02, 0x94, 0x03, 0x86, 0x00, 0xC0, 0x0E, 0x07, 0x02, 0x9F, 0x00, 0x68, 0x2E, 0xCE, 0x2C, 0xCF, + 0x16, 0xCD, 0x0B, 0x80, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, 0x00, 0xC0, 0x00, 0x82, 0x0E, 0x08, + 0x00, 0x9F, 0x00, 0x00, 0x1B, 0x5F, 0x00, 0x9F, 0x01, 0x40, 0x1B, 0x5F, 0x00, 0x9F, 0x02, 0x80, + 0x1B, 0x5F, 0x00, 0x9F, 0x04, 0x00, 0x1B, 0x5F, 0x00, 0x9F, 0x05, 0x40, 0x1B, 0x5F, 0x00, 0x9F, + 0x06, 0x80, 0x1B, 0x5F, 0x00, 0x9F, 0x07, 0xC0, 0x1B, 0x5F, 0x00, 0x9F, 0x09, 0x00, 0x1B, 0x5F, + 0x00, 0x9F, 0x0A, 0x40, 0x1B, 0x5F, 0x02, 0xBF, 0x05, 0x5C, 0x00, 0xDE, 0x0B, 0xA7, 0x00, 0xDF, + 0x0B, 0xA8, 0x2E, 0xCE, 0x2F, 0xCF, 0x16, 0xCD, 0x03, 0xC0, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, + 0x00, 0x80, 0x81, 0x00, 0x89, 0x00, 0x00, 0xDE, 0x0B, 0x84, 0x00, 0x9F, 0x0B, 0x31, 0x4C, 0x00, + 0x1C, 0x7E, 0x02, 0x13, 0x00, 0xFE, 0x0E, 0x15, 0x00, 0xDE, 0x0B, 0x85, 0x00, 0x9F, 0x0B, 0x34, + 0x4C, 0x00, 0x1C, 0x7E, 0x02, 0x13, 0x00, 0xFE, 0x0E, 0x16, 0x00, 0xDE, 0x0B, 0x86, 0x00, 0x9F, + 0x0B, 0x11, 0x4C, 0x00, 0x1C, 0x7E, 0x02, 0x13, 0x00, 0xFE, 0x0E, 0x14, 0x81, 0x00, 0x00, 0xDE, + 0x0B, 0x9B, 0xB1, 0x00, 0x02, 0x95, 0x04, 0x03, 0x89, 0x00, 0x00, 0xDF, 0x0B, 0x9E, 0x03, 0x00, + 0x0C, 0xC0, 0x00, 0xFF, 0x0E, 0x40, 0x00, 0xDF, 0x0B, 0x9F, 0x03, 0x00, 0x0C, 0xC0, 0x00, 0xFF, + 0x0E, 0x41, 0x00, 0x9F, 0x0C, 0xE0, 0x00, 0xFF, 0x0E, 0x42, 0x00, 0xFF, 0x0E, 0x43, 0x02, 0xBF, + 0x05, 0x5C, 0x00, 0xDE, 0x0B, 0x9C, 0x2E, 0xCE, 0x00, 0xDE, 0x0B, 0x9D, 0x2E, 0xCF, 0x16, 0xCD, + 0x0C, 0xC0, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, 0x00, 0x40, 0x02, 0xBF, 0x05, 0x5C, 0x00, 0xC0, + 0x0E, 0x07, 0x02, 0x9F, 0x02, 0x48, 0x00, 0x9F, 0x0C, 0xE0, 0x00, 0xFF, 0x0E, 0x42, 0x00, 0xFF, + 0x0E, 0x40, 0x00, 0xFF, 0x0E, 0x41, 0x00, 0xFF, 0x0E, 0x43, 0x02, 0xBF, 0x05, 0x5C, 0x00, 0xC0, + 0x0E, 0x07, 0x02, 0x9F, 0x02, 0x48, 0x8E, 0x00, 0x00, 0x86, 0x04, 0x00, 0x81, 0x00, 0x89, 0x70, + 0x19, 0x1C, 0x2E, 0xCE, 0x2C, 0xCF, 0x1F, 0xC6, 0x2E, 0xCD, 0x16, 0xC9, 0x00, 0x01, 0x16, 0xCB, + 0x07, 0x80, 0x02, 0xBF, 0x05, 0x5C, 0x02, 0xBF, 0x04, 0x84, 0x02, 0x9F, 0x00, 0x68, 0x8E, 0x00, + 0x00, 0x86, 0x07, 0xC0, 0x81, 0x00, 0x89, 0x70, 0x19, 0x1C, 0x2E, 0xCE, 0x2C, 0xCF, 0x1F, 0xC6, + 0x2E, 0xCD, 0x16, 0xC9, 0x00, 0x01, 0x16, 0xCB, 0x07, 0x80, 0x02, 0xBF, 0x05, 0x5C, 0x02, 0xBF, + 0x04, 0x84, 0x02, 0x9F, 0x00, 0x68, 0x8C, 0x00, 0x8A, 0x00, 0x81, 0x00, 0x89, 0x70, 0x19, 0x1F, + 0x2E, 0xCE, 0x2F, 0xCF, 0x16, 0xCD, 0x02, 0x80, 0x16, 0xC9, 0x00, 0x01, 0x16, 0xCB, 0x02, 0x80, + 0x8F, 0x50, 0x81, 0x40, 0x00, 0x81, 0x04, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x82, 0x01, 0x40, + 0x00, 0x99, 0x00, 0x80, 0x02, 0xBF, 0x05, 0x5C, 0x11, 0x05, 0x04, 0x6C, 0x1F, 0x61, 0x11, 0x20, + 0x04, 0x5E, 0x89, 0x72, 0x19, 0x5C, 0xF0, 0x7B, 0x19, 0x7D, 0xF1, 0x31, 0x81, 0x39, 0x89, 0x00, + 0x68, 0x00, 0x2E, 0xCE, 0x2C, 0xCF, 0x1F, 0xFB, 0x2F, 0xCD, 0x0F, 0x01, 0x2F, 0xC9, 0x1F, 0xF9, + 0x2F, 0xCB, 0x72, 0x00, 0x1F, 0x5E, 0x1F, 0x1C, 0x81, 0x00, 0x26, 0xC9, 0x02, 0xA0, 0x00, 0x04, + 0x02, 0x9C, 0x04, 0x6D, 0x02, 0x9F, 0x00, 0x68, 0x02, 0x9F, 0x00, 0x68, 0x02, 0x9F, 0x00, 0x68, + 0x02, 0x9F, 0x00, 0x68, 0x16, 0xFC, 0xDC, 0xD1, 0x16, 0xFD, 0x00, 0x02, 0x16, 0xFB, 0x00, 0x01, + 0x02, 0x9F, 0x0C, 0x91, 0x02, 0x9F, 0x00, 0x45, 0x8E, 0x00, 0x19, 0x1F, 0x19, 0x1D, 0x1F, 0x5F, + 0x1F, 0x1D, 0x2F, 0xCE, 0x2D, 0xCF, 0x89, 0x00, 0x1F, 0xA6, 0x2D, 0xCD, 0x0E, 0x00, 0x2E, 0xC9, + 0x81, 0x00, 0x00, 0x9C, 0x00, 0xC0, 0x2C, 0xCB, 0x1C, 0xA0, 0x00, 0x81, 0x0E, 0x44, 0x48, 0x00, + 0x1B, 0x3E, 0x1B, 0x3C, 0x0B, 0x00, 0x00, 0x99, 0x00, 0x60, 0x4B, 0x00, 0x1B, 0x3D, 0x00, 0x81, + 0x0E, 0x44, 0x1C, 0x06, 0x00, 0x83, 0x00, 0x00, 0x1C, 0x43, 0x27, 0xC9, 0x03, 0xA0, 0x00, 0x04, + 0x02, 0x9C, 0x04, 0xA5, 0x11, 0x09, 0x04, 0xDA, 0x8E, 0x00, 0x19, 0x3A, 0x19, 0x38, 0x69, 0x00, + 0x2F, 0xCE, 0x2D, 0xCF, 0x89, 0x00, 0x19, 0x3D, 0x2D, 0xCD, 0x16, 0xC9, 0x00, 0x00, 0x81, 0x00, + 0x00, 0x9C, 0x00, 0xC0, 0x2C, 0xCB, 0x00, 0x81, 0x0E, 0x44, 0x48, 0x00, 0x1B, 0x3E, 0x1B, 0x3C, + 0x0B, 0x00, 0x09, 0x60, 0x4B, 0x00, 0x1B, 0x3D, 0x00, 0x81, 0x0E, 0x44, 0x8F, 0x00, 0x80, 0xF0, + 0x80, 0xC0, 0x6A, 0x00, 0x48, 0x00, 0x11, 0x17, 0x04, 0xD4, 0x80, 0xF0, 0x80, 0xC0, 0x6B, 0x32, + 0x49, 0x22, 0x80, 0xF0, 0x80, 0xC0, 0x6A, 0x3A, 0x48, 0x2A, 0x80, 0xF0, 0x80, 0xC0, 0x6B, 0x32, + 0x49, 0x22, 0x1B, 0x5F, 0x1B, 0x5D, 0x80, 0xF0, 0x80, 0xC0, 0x6A, 0x00, 0x48, 0x00, 0x11, 0x17, + 0x04, 0xE8, 0x80, 0xF0, 0x80, 0xC0, 0x6B, 0x32, 0x49, 0x22, 0x80, 0xF0, 0x80, 0xC0, 0x6A, 0x3A, + 0x48, 0x2A, 0x80, 0xF0, 0x80, 0xC0, 0x6B, 0x32, 0x49, 0x22, 0x1B, 0x5F, 0x1B, 0x5D, 0x1C, 0x05, + 0x02, 0xDF, 0x8E, 0x00, 0x00, 0x9B, 0x0E, 0x44, 0x00, 0x9D, 0x00, 0xC0, 0x02, 0xBF, 0x05, 0x41, + 0x49, 0x00, 0x00, 0xFF, 0x0E, 0x1D, 0x00, 0xFD, 0x0E, 0x1E, 0x89, 0x00, 0x02, 0xBF, 0x05, 0x5C, + 0x11, 0x04, 0x05, 0x2C, 0x00, 0xDA, 0x0E, 0x1D, 0x00, 0xD8, 0x0E, 0x1E, 0x00, 0x9B, 0x0E, 0xA4, + 0x00, 0x9D, 0x00, 0xC0, 0x02, 0xBF, 0x05, 0x41, 0x49, 0x00, 0x00, 0xFF, 0x0E, 0x1D, 0x00, 0xFD, + 0x0E, 0x1E, 0x00, 0x83, 0x0E, 0x44, 0x02, 0xBF, 0x05, 0x4C, 0x89, 0x00, 0x00, 0xDA, 0x0E, 0x1D, + 0x00, 0xD8, 0x0E, 0x1E, 0x00, 0x9B, 0x0E, 0x44, 0x00, 0x9D, 0x00, 0xC0, 0x02, 0xBF, 0x05, 0x41, + 0x49, 0x00, 0x00, 0xFF, 0x0E, 0x1D, 0x00, 0xFD, 0x0E, 0x1E, 0x00, 0x83, 0x0E, 0xA4, 0x02, 0xBF, + 0x05, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x89, 0x00, 0x00, 0xDA, 0x0E, 0x1D, 0x00, 0xD8, + 0x0E, 0x1E, 0x00, 0x9B, 0x0E, 0xA4, 0x00, 0x9D, 0x00, 0xC0, 0x02, 0xBF, 0x05, 0x41, 0x49, 0x00, + 0x00, 0x83, 0x0E, 0x44, 0x02, 0xBF, 0x05, 0x4C, 0x00, 0x83, 0x0E, 0xA4, 0x02, 0xBF, 0x05, 0x4C, + 0x02, 0xDF, 0x8E, 0x00, 0x00, 0xFA, 0xFF, 0xCE, 0x00, 0xF8, 0xFF, 0xCF, 0x00, 0xFB, 0xFF, 0xCD, + 0x16, 0xC9, 0x00, 0x00, 0x2D, 0xCB, 0x02, 0xDF, 0x8F, 0x00, 0x8D, 0x00, 0x8A, 0x00, 0x19, 0x7A, + 0x19, 0x78, 0xA0, 0x00, 0xB6, 0x00, 0x11, 0x30, 0x05, 0x5A, 0x91, 0x79, 0x4E, 0x6D, 0x19, 0x7A, + 0x4D, 0x43, 0xA0, 0x39, 0xB6, 0x29, 0x02, 0xDF, 0x26, 0xC9, 0x02, 0xA0, 0x00, 0x04, 0x02, 0x9C, + 0x05, 0x5C, 0x02, 0xDF, 0x26, 0xFE, 0x02, 0xC0, 0x80, 0x00, 0x02, 0x9C, 0x05, 0x62, 0x02, 0xDF, + 0x26, 0xFC, 0x02, 0xA0, 0x80, 0x00, 0x02, 0x9C, 0x05, 0x68, 0x02, 0xDF, 0x26, 0xFC, 0x02, 0xA0, + 0x80, 0x00, 0x02, 0x9C, 0x05, 0x6E, 0x02, 0xDF, 0x81, 0x00, 0x89, 0x70, 0x8E, 0x60, 0x2E, 0xCE, + 0x2C, 0xCF, 0x16, 0xCD, 0x0E, 0x44, 0x16, 0xC9, 0x00, 0x00, 0x89, 0x00, 0x0D, 0x20, 0x2D, 0xCB, + 0x4C, 0x00, 0x1C, 0x80, 0x00, 0x80, 0x02, 0x80, 0x00, 0x81, 0x00, 0x00, 0x00, 0x82, 0x01, 0x40, + 0x00, 0x83, 0x0E, 0x44, 0x0A, 0x00, 0x27, 0xC9, 0x03, 0xA0, 0x00, 0x04, 0x02, 0x9C, 0x05, 0x8B, + 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x0E, 0x54, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, 0x02, 0x60, + 0x00, 0x9F, 0x00, 0xA0, 0x8F, 0x00, 0x00, 0x7F, 0x05, 0xA4, 0x19, 0x7E, 0x1B, 0x1A, 0x19, 0x7C, + 0x1B, 0x1A, 0x1B, 0x5E, 0x1B, 0x5C, 0x1B, 0x3E, 0x1B, 0x3C, 0x1C, 0x04, 0x02, 0x9F, 0x00, 0x68, + 0x00, 0x82, 0x0B, 0xB8, 0x19, 0x5E, 0x2E, 0xD1, 0x19, 0x5E, 0x2E, 0xD4, 0x19, 0x5E, 0x2E, 0xD5, + 0x19, 0x5E, 0x2E, 0xD6, 0x19, 0x5E, 0x2E, 0xD7, 0x19, 0x5E, 0x2E, 0xD8, 0x19, 0x5E, 0x2E, 0xD9, + 0x19, 0x5E, 0x2E, 0xA0, 0x19, 0x5E, 0x2E, 0xA1, 0x19, 0x5E, 0x2E, 0xA2, 0x19, 0x5E, 0x2E, 0xA3, + 0x19, 0x5E, 0x2E, 0xA4, 0x19, 0x5E, 0x2E, 0xA5, 0x19, 0x5E, 0x2E, 0xA6, 0x19, 0x5E, 0x2E, 0xA7, + 0x19, 0x5E, 0x2E, 0xA8, 0x19, 0x5E, 0x2E, 0xA9, 0x19, 0x5E, 0x2E, 0xAA, 0x19, 0x5E, 0x2E, 0xAB, + 0x19, 0x5E, 0x2E, 0xAC, 0x19, 0x5E, 0x2E, 0xAD, 0x19, 0x5E, 0x2E, 0xAE, 0x19, 0x5E, 0x2E, 0xAF, + 0x19, 0x5E, 0x2E, 0xDE, 0x19, 0x5E, 0x2E, 0xDA, 0x19, 0x5E, 0x2E, 0xDB, 0x19, 0x5E, 0x2E, 0xDC, + 0x8C, 0x00, 0x8A, 0x00, 0x8E, 0x00, 0x00, 0xD8, 0x0E, 0x16, 0x19, 0x5B, 0x19, 0x59, 0x81, 0x00, + 0x19, 0x5C, 0x00, 0x80, 0x0E, 0x44, 0x19, 0x5F, 0x1B, 0x1F, 0x19, 0x5F, 0x1B, 0x1F, 0x19, 0x5F, + 0x1B, 0x1F, 0x18, 0x5F, 0x1B, 0x1F, 0x6B, 0x00, 0x15, 0x05, 0x4D, 0x00, 0x15, 0x7E, 0x1C, 0x9F, + 0x1C, 0xBD, 0x05, 0xE0, 0x99, 0x00, 0x7D, 0x00, 0x1C, 0xDD, 0x89, 0x00, 0x1F, 0xA5, 0x15, 0x02, + 0x1C, 0xBF, 0x00, 0x9A, 0x01, 0xFC, 0x00, 0x9E, 0x0E, 0x44, 0x00, 0x81, 0xFF, 0xDD, 0x00, 0x83, + 0x0D, 0x80, 0x00, 0x64, 0x06, 0x1A, 0x18, 0x27, 0x1B, 0x07, 0x4A, 0x00, 0x1F, 0xFC, 0x18, 0x27, + 0x1B, 0x07, 0x15, 0x79, 0x35, 0x00, 0x18, 0x27, 0x1B, 0x07, 0x41, 0x00, 0x1B, 0x7E, 0x18, 0x27, + 0x1B, 0x07, 0x1B, 0x7F, 0x00, 0x00, 0x00, 0x65, 0x06, 0x20, 0x18, 0x27, 0x1B, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0x18, 0x7F, 0x00, 0x66, 0x06, 0x29, 0x4A, 0x3B, 0x1F, 0xFC, 0x15, 0x79, + 0x35, 0x33, 0x41, 0x00, 0x1B, 0x7F, 0x00, 0x04, 0x18, 0x9F, 0x1A, 0xDF, 0x18, 0x9F, 0x1A, 0xDF, + 0x18, 0x9F, 0x1A, 0xDF, 0x18, 0x9F, 0x1A, 0xDF, 0x1A, 0xDC, 0x00, 0x82, 0x0B, 0xD2, 0x27, 0xDC, + 0x1A, 0xDF, 0x27, 0xDB, 0x1A, 0xDF, 0x27, 0xDA, 0x1A, 0xDF, 0x00, 0x82, 0x0B, 0xBE, 0x27, 0xD9, + 0x1A, 0xDF, 0x27, 0xD8, 0x1A, 0xDF, 0x8F, 0x00, 0x00, 0xC1, 0x0E, 0x42, 0x00, 0x82, 0x0D, 0x80, + 0x19, 0x40, 0x19, 0x43, 0x80, 0xF0, 0xB8, 0xC0, 0x11, 0x1F, 0x06, 0x54, 0xA6, 0xF0, 0xBC, 0xF0, + 0x19, 0x40, 0x19, 0x43, 0xBC, 0xF0, 0x4E, 0xC0, 0xB8, 0x31, 0xA6, 0xF0, 0xBC, 0xF0, 0xBC, 0x00, + 0x4E, 0x00, 0x1B, 0x3E, 0x00, 0xE1, 0x0E, 0x42, 0x02, 0xDF, 0x00, 0x82, 0x0B, 0xB8, 0x19, 0x5E, + 0x2E, 0xD1, 0x19, 0x5E, 0x2E, 0xD4, 0x19, 0x5E, 0x2E, 0xD5, 0x19, 0x5E, 0x2E, 0xD6, 0x19, 0x5E, + 0x2E, 0xD7, 0x19, 0x5E, 0x2E, 0xD8, 0x19, 0x5E, 0x2E, 0xD9, 0x19, 0x5E, 0x2E, 0xA0, 0x19, 0x5E, + 0x2E, 0xA1, 0x19, 0x5E, 0x2E, 0xA2, 0x19, 0x5E, 0x2E, 0xA3, 0x19, 0x5E, 0x2E, 0xA4, 0x19, 0x5E, + 0x2E, 0xA5, 0x19, 0x5E, 0x2E, 0xA6, 0x19, 0x5E, 0x2E, 0xA7, 0x19, 0x5E, 0x2E, 0xA8, 0x19, 0x5E, + 0x2E, 0xA9, 0x19, 0x5E, 0x2E, 0xAA, 0x19, 0x5E, 0x2E, 0xAB, 0x19, 0x5E, 0x2E, 0xAC, 0x19, 0x5E, + 0x2E, 0xAD, 0x19, 0x5E, 0x2E, 0xAE, 0x19, 0x5E, 0x2E, 0xAF, 0x19, 0x5E, 0x2E, 0xDE, 0x19, 0x5E, + 0x2E, 0xDA, 0x19, 0x5E, 0x2E, 0xDB, 0x19, 0x5E, 0x2E, 0xDC, 0x8C, 0x00, 0x8A, 0x00, 0x8E, 0x00, + 0x19, 0x5B, 0x19, 0x59, 0x81, 0x00, 0x19, 0x5C, 0x00, 0x80, 0x0E, 0x44, 0x19, 0x5F, 0x19, 0x5F, + 0x19, 0x5F, 0x1B, 0x1F, 0x18, 0x5F, 0x1B, 0x1F, 0x6B, 0x00, 0x15, 0x05, 0x4D, 0x00, 0x15, 0x7E, + 0x1C, 0x9F, 0x1C, 0xBD, 0x05, 0xE0, 0x99, 0x00, 0x7D, 0x00, 0x1C, 0xDD, 0x89, 0x00, 0x1F, 0xA5, + 0x15, 0x02, 0x1C, 0xBF, 0x00, 0x9A, 0x01, 0xFC, 0x00, 0x9E, 0x0E, 0x45, 0x00, 0x81, 0xFF, 0xDD, + 0x00, 0x83, 0x0D, 0x80, 0x00, 0x64, 0x06, 0xCB, 0x18, 0x27, 0x1B, 0x07, 0x4A, 0x00, 0x1B, 0x7E, + 0x18, 0x27, 0x1B, 0x07, 0x1B, 0x7C, 0x00, 0x00, 0x18, 0x27, 0x1B, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x27, 0x1B, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x06, 0xD1, 0x18, 0x27, 0x1B, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x06, 0xD6, 0x4A, 0x00, 0x1B, 0x7E, 0x1B, 0x7C, 0x00, 0x04, + 0x18, 0x9F, 0x1A, 0xDF, 0x18, 0x9F, 0x1A, 0xDF, 0x18, 0x9F, 0x1A, 0xDF, 0x18, 0x9F, 0x1A, 0xDF, + 0x1A, 0xDC, 0x00, 0x82, 0x0B, 0xD2, 0x27, 0xDC, 0x1A, 0xDF, 0x27, 0xDB, 0x1A, 0xDF, 0x27, 0xDA, + 0x1A, 0xDF, 0x00, 0x82, 0x0B, 0xBE, 0x27, 0xD9, 0x1A, 0xDF, 0x27, 0xD8, 0x1A, 0xDF, 0x8D, 0x00, + 0x8B, 0x00, 0x8F, 0x00, 0x00, 0xC1, 0x0E, 0x42, 0x00, 0x82, 0x0D, 0x80, 0x81, 0x00, 0x11, 0x20, + 0x07, 0x03, 0x89, 0x00, 0x19, 0x40, 0x18, 0x9E, 0x18, 0x1B, 0x19, 0x9A, 0x54, 0x00, 0x1F, 0x5E, + 0x19, 0x59, 0xB0, 0x00, 0xFB, 0x00, 0x81, 0x39, 0x00, 0xE1, 0x0E, 0x42, 0x02, 0xDF, 0x00, 0x82, + 0x0B, 0xB8, 0x19, 0x5E, 0x2E, 0xD1, 0x19, 0x5E, 0x2E, 0xD4, 0x19, 0x5E, 0x2E, 0xD5, 0x19, 0x5E, + 0x2E, 0xD6, 0x19, 0x5E, 0x2E, 0xD7, 0x19, 0x5E, 0x2E, 0xD8, 0x19, 0x5E, 0x2E, 0xD9, 0x19, 0x5E, + 0x2E, 0xA0, 0x19, 0x5E, 0x2E, 0xA1, 0x19, 0x5E, 0x2E, 0xA2, 0x19, 0x5E, 0x2E, 0xA3, 0x19, 0x5E, + 0x2E, 0xA4, 0x19, 0x5E, 0x2E, 0xA5, 0x19, 0x5E, 0x2E, 0xA6, 0x19, 0x5E, 0x2E, 0xA7, 0x19, 0x5E, + 0x2E, 0xA8, 0x19, 0x5E, 0x2E, 0xA9, 0x19, 0x5E, 0x2E, 0xAA, 0x19, 0x5E, 0x2E, 0xAB, 0x19, 0x5E, + 0x2E, 0xAC, 0x19, 0x5E, 0x2E, 0xAD, 0x19, 0x5E, 0x2E, 0xAE, 0x19, 0x5E, 0x2E, 0xAF, 0x19, 0x5E, + 0x2E, 0xDE, 0x19, 0x5E, 0x2E, 0xDA, 0x19, 0x5E, 0x2E, 0xDB, 0x19, 0x5E, 0x2E, 0xDC, 0x00, 0xC0, + 0x0E, 0x42, 0x00, 0x81, 0xFF, 0xDD, 0x11, 0x20, 0x07, 0x48, 0x18, 0x24, 0x1B, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xE0, 0x0E, 0x42, 0x00, 0x82, 0x0B, 0xD9, 0x00, 0x04, 0x18, 0x9F, 0x1A, 0xDF, + 0x18, 0x9F, 0x1A, 0xDF, 0x18, 0x9F, 0x1A, 0xDF, 0x18, 0x9F, 0x1A, 0xDF, 0x89, 0x00, 0x1A, 0xDC, + 0x27, 0xDC, 0x00, 0xFF, 0x0B, 0xD2, 0x27, 0xDB, 0x00, 0xFF, 0x0B, 0xD1, 0x27, 0xDA, 0x00, 0xFF, + 0x0B, 0xD0, 0x27, 0xD9, 0x00, 0xFF, 0x0B, 0xBE, 0x27, 0xD8, 0x00, 0xFF, 0x0B, 0xBD, 0x02, 0xDF, + 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x1C, 0x62, 0x00, 0xC4, + 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, + 0x0B, 0xAC, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, + 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, + 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, + 0x0E, 0x0B, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, 0x80, 0xE7, + 0x00, 0xF8, 0x0B, 0xAA, 0x00, 0xFB, 0x0B, 0xAD, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, + 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, + 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, + 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, + 0x0E, 0x0F, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, 0x02, 0xDF, + 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x1C, 0x62, 0x00, 0xC4, + 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, + 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, 0x0E, 0x0B, 0x1C, 0x62, + 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAA, + 0x00, 0xFB, 0x0B, 0xAD, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, + 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, + 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, + 0x00, 0xC2, 0x0E, 0x08, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, + 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, + 0x0B, 0x97, 0x00, 0xC2, 0x0E, 0x0A, 0x1C, 0x62, 0x02, 0xBF, 0x81, 0xF9, 0x00, 0xF8, 0x0B, 0xAF, + 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x1C, 0x62, + 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, + 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, 0x0E, 0x0B, + 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, + 0x0B, 0xAA, 0x00, 0xFB, 0x0B, 0xAD, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x97, 0x00, 0xC2, + 0x0E, 0x0A, 0x1C, 0x62, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0D, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, + 0x0B, 0xAF, 0x00, 0xFB, 0x0B, 0xB0, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, + 0x00, 0xC2, 0x0E, 0x08, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, + 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, + 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0F, + 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, 0x00, 0xC0, 0x0E, 0x43, + 0x00, 0x81, 0x0B, 0x95, 0x00, 0xC2, 0x0E, 0x10, 0x1C, 0x62, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0A, + 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xB1, 0x00, 0xFB, 0x0B, 0xAF, 0x02, 0xDF, 0x00, 0xC0, + 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, + 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, + 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, 0x0E, 0x0B, 0x1C, 0x62, 0x00, 0xC4, + 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAA, 0x00, 0xFB, + 0x0B, 0xAD, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x1C, 0x62, + 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAB, + 0x00, 0xFB, 0x0B, 0xAE, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x97, 0x00, 0xC2, 0x0E, 0x0A, + 0x1C, 0x62, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0D, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAF, + 0x00, 0xFB, 0x0B, 0xB0, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x95, 0x00, 0xC2, 0x0E, 0x10, + 0x1C, 0x62, 0x02, 0xBF, 0x81, 0xF9, 0x00, 0xF8, 0x0B, 0xB1, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, + 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, + 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, + 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x00, 0x83, + 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, + 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, + 0x0E, 0x0B, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, + 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAA, 0x00, 0xFB, 0x0B, 0xAD, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, + 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, + 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, + 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x00, 0x83, 0x0E, 0x44, + 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAB, + 0x00, 0xFB, 0x0B, 0xAE, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, + 0x0E, 0x08, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, + 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, + 0x0B, 0x8D, 0x00, 0xC2, 0x0E, 0x0B, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, + 0x0E, 0x0C, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAA, 0x00, 0xFB, 0x0B, 0xAD, 0x00, 0xC0, + 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, + 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, + 0x0B, 0xAE, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, + 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, + 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x97, + 0x00, 0xC2, 0x0E, 0x0A, 0x00, 0x83, 0x0E, 0x44, 0x02, 0xBF, 0x84, 0x5D, 0x00, 0xF8, 0x0B, 0xAF, + 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x00, 0x83, + 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, + 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, + 0x0E, 0x0B, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, + 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAA, 0x00, 0xFB, 0x0B, 0xAD, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, + 0x0B, 0x97, 0x00, 0xC2, 0x0E, 0x0A, 0x00, 0x83, 0x0E, 0x44, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0D, + 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAF, 0x00, 0xFB, 0x0B, 0xB0, 0x02, 0xDF, 0x00, 0xC0, + 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, + 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, + 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x00, 0x83, + 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, + 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x95, 0x00, 0xC2, + 0x0E, 0x10, 0x00, 0x83, 0x0E, 0x44, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0A, 0x02, 0xBF, 0x82, 0x82, + 0x00, 0xF8, 0x0B, 0xB1, 0x00, 0xFB, 0x0B, 0xAF, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, + 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, + 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, + 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, 0x0E, 0x0B, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC0, + 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAA, 0x00, 0xFB, + 0x0B, 0xAD, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x00, 0x83, + 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, + 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x97, 0x00, 0xC2, + 0x0E, 0x0A, 0x00, 0x83, 0x0E, 0x44, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0D, 0x02, 0xBF, 0x82, 0x82, + 0x00, 0xF8, 0x0B, 0xAF, 0x00, 0xFB, 0x0B, 0xB0, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x95, + 0x00, 0xC2, 0x0E, 0x10, 0x00, 0x83, 0x0E, 0x44, 0x02, 0xBF, 0x84, 0x5D, 0x00, 0xF8, 0x0B, 0xB1, + 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x1C, 0x62, + 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, + 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, + 0x1C, 0x62, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAB, + 0x00, 0xFB, 0x0B, 0xAE, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, + 0x0E, 0x08, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x80, 0xE7, + 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x91, + 0x00, 0xC2, 0x0E, 0x0E, 0x1C, 0x62, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x80, 0xE7, + 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, + 0x00, 0xC2, 0x0E, 0x0B, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, + 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAA, 0x00, 0xFB, 0x0B, 0xAD, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, + 0x0B, 0x99, 0x00, 0xC2, 0x0E, 0x0D, 0x1C, 0x62, 0x02, 0xBF, 0x81, 0xF9, 0x00, 0xF8, 0x0B, 0xB0, + 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x00, 0x83, + 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, + 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, + 0x0E, 0x0E, 0x00, 0x83, 0x0E, 0x44, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x82, 0x82, + 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, + 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, + 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, + 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x00, 0x83, 0x0E, 0x44, 0x1C, 0x80, + 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, + 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, 0x0E, 0x0B, 0x00, 0x83, 0x0E, 0x44, + 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAA, + 0x00, 0xFB, 0x0B, 0xAD, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x99, 0x00, 0xC2, 0x0E, 0x0D, + 0x00, 0x83, 0x0E, 0x44, 0x02, 0xBF, 0x84, 0x5D, 0x00, 0xF8, 0x0B, 0xB0, 0x02, 0xDF, 0x00, 0x82, + 0x01, 0x3E, 0x01, 0xBC, 0x02, 0x48, 0x04, 0x13, 0x04, 0x27, 0x01, 0x65, 0x05, 0x74, 0x0B, 0x37, + 0x01, 0x5F, 0x04, 0x78, 0x04, 0x74, 0x04, 0x76, 0x01, 0xA9, 0x04, 0x3B, 0x04, 0x7A, 0x0B, 0xB1, + 0x01, 0x75, 0x07, 0x68, 0x07, 0x7A, 0x07, 0x9D, 0x07, 0xC0, 0x07, 0xF4, 0x08, 0x11, 0x08, 0x44, + 0x08, 0x77, 0x08, 0xC6, 0x08, 0xD9, 0x08, 0xFE, 0x09, 0x23, 0x09, 0x5A, 0x09, 0x79, 0x09, 0xAF, + 0x09, 0xE5, 0x0A, 0x39, 0x0A, 0x5B, 0x07, 0x68, 0x07, 0x68, 0x07, 0x68, 0x07, 0x68, 0x07, 0x68, + 0x07, 0x68, 0x0A, 0x99, 0x0A, 0xBD, 0x07, 0x68, 0x07, 0x68, 0x07, 0x68, 0x07, 0x68, 0x07, 0x68, + 0x07, 0x68, 0x05, 0xA8, 0x06, 0x5D, 0x07, 0x07, 0x10, 0x00, 0x12, 0x00, 0x14, 0x00, 0x8E, 0x00, + 0x81, 0x00, 0x89, 0x70, 0x19, 0x1C, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x0E, 0x80, 0x16, 0xC9, + 0x00, 0x00, 0x16, 0xCB, 0x01, 0x00, 0x1F, 0x7E, 0x1F, 0x3C, 0x81, 0x00, 0x26, 0xC9, 0x02, 0xA0, + 0x00, 0x04, 0x02, 0x9C, 0x0B, 0x46, 0x19, 0x1E, 0x19, 0x1C, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, + 0x02, 0x80, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, 0x02, 0x80, 0x1C, 0x80, 0x00, 0x80, 0x02, 0x80, + 0x00, 0xC1, 0x0E, 0x1B, 0x00, 0x85, 0x00, 0x00, 0x00, 0x89, 0x00, 0x7F, 0x00, 0x82, 0x0F, 0x00, + 0x00, 0x83, 0x16, 0xB4, 0x1C, 0xE3, 0x81, 0x00, 0x26, 0xC9, 0x02, 0xA0, 0x00, 0x04, 0x02, 0x9C, + 0x0B, 0x64, 0x8F, 0x00, 0x8A, 0x78, 0x8C, 0x68, 0xF1, 0x00, 0x1A, 0x3F, 0x84, 0xE3, 0x10, 0x7E, + 0xF2, 0xE3, 0xF2, 0xE7, 0xF2, 0x78, 0x6E, 0x68, 0xF1, 0x32, 0x1A, 0x3F, 0x11, 0x9E, 0x0B, 0x80, + 0x1C, 0x67, 0x84, 0xE3, 0x10, 0x7E, 0xF2, 0xE3, 0xF2, 0xE7, 0xF2, 0x78, 0x6E, 0x68, 0xF1, 0x32, + 0x1A, 0x3F, 0x1C, 0x67, 0x84, 0xE3, 0x10, 0x7E, 0xF2, 0xE3, 0xF2, 0xE7, 0xF2, 0x00, 0x6E, 0x00, + 0x1B, 0x5E, 0x00, 0xE1, 0x0E, 0x1B, 0x00, 0x80, 0x02, 0x80, 0x00, 0x83, 0x0F, 0x00, 0x00, 0x81, + 0x00, 0x00, 0x00, 0x82, 0x01, 0x40, 0x00, 0x89, 0xFF, 0xFF, 0x89, 0x00, 0x81, 0x00, 0x8F, 0x00, + 0x11, 0xA0, 0x0B, 0xA0, 0x19, 0x7F, 0x99, 0x30, 0x1B, 0x1E, 0x1B, 0x3F, 0x7D, 0x29, 0x1B, 0x5F, + 0x1B, 0x5D, 0x8E, 0x00, 0x1F, 0xDB, 0x1F, 0x99, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x0E, 0x80, + 0x16, 0xC9, 0x00, 0x01, 0x16, 0xCB, 0x01, 0x00, 0x02, 0xBF, 0x05, 0x5C, 0x1C, 0x04, 0x02, 0x9F, + 0x00, 0x68, 0x8E, 0x00, 0x81, 0x00, 0x89, 0x70, 0x19, 0x1C, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, + 0x07, 0xC0, 0x16, 0xC9, 0x00, 0x01, 0x16, 0xCB, 0x05, 0x00, 0x02, 0xBF, 0x05, 0x5C, 0x81, 0x00, + 0x89, 0x70, 0x19, 0x1C, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x07, 0xC0, 0x16, 0xC9, 0x00, 0x00, + 0x89, 0x00, 0x0D, 0x20, 0x2D, 0xCB, 0x4C, 0x00, 0x1C, 0x80, 0x00, 0x80, 0x07, 0xC0, 0x00, 0x83, + 0x00, 0x00, 0x1C, 0x43, 0x0A, 0x00, 0x27, 0xC9, 0x03, 0xA0, 0x00, 0x04, 0x02, 0x9C, 0x0B, 0xD3, + 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x07, 0xD0, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, 0x04, 0xE0, + 0x8F, 0x00, 0x80, 0xF0, 0x80, 0xC0, 0x6A, 0x00, 0x48, 0x00, 0x11, 0x4F, 0x0B, 0xEE, 0x80, 0xF0, + 0x80, 0xC0, 0x6B, 0x32, 0x49, 0x22, 0x80, 0xF0, 0x80, 0xC0, 0x6A, 0x3A, 0x48, 0x2A, 0x80, 0xF0, + 0x80, 0xC0, 0x6B, 0x32, 0x49, 0x22, 0x1B, 0x5F, 0x1B, 0x5D, 0x80, 0xF0, 0x80, 0xC0, 0x68, 0x00, + 0x7C, 0x00, 0x4A, 0x00, 0x11, 0x4F, 0x0C, 0x05, 0x80, 0xF0, 0x80, 0xC0, 0x69, 0x32, 0x7D, 0x00, + 0x4B, 0x22, 0x80, 0xF0, 0x80, 0xC0, 0x68, 0x3A, 0x7C, 0x00, 0x4A, 0x2A, 0x80, 0xF0, 0x80, 0xC0, + 0x69, 0x32, 0x7D, 0x00, 0x4B, 0x22, 0x1B, 0x5F, 0x1B, 0x5D, 0x1C, 0x04, 0x02, 0x9F, 0x00, 0x68, + 0x8E, 0x00, 0x16, 0xFC, 0xEC, 0xC0, 0x1F, 0xCC, 0x1D, 0x9E, 0x2E, 0xFD, 0x26, 0xFC, 0x02, 0xA0, + 0x80, 0x00, 0x02, 0x9C, 0x0C, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0x8E, 0x00, + 0x00, 0xF0, 0x0E, 0x17, 0x00, 0xFE, 0x0E, 0x18, 0x00, 0xFC, 0x0E, 0x19, 0x1F, 0xCC, 0x1D, 0x9E, + 0x16, 0xFC, 0xFE, 0xED, 0x2E, 0xFD, 0x26, 0xFC, 0x02, 0xA0, 0x80, 0x00, 0x02, 0x9C, 0x0C, 0x2B, + 0x00, 0xD0, 0x0E, 0x17, 0x00, 0xDE, 0x0E, 0x18, 0x00, 0xDC, 0x0E, 0x19, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0x8E, 0x00, 0x1D, 0xBC, 0x1D, 0xBE, 0x81, 0x00, 0x00, 0xDE, + 0x0B, 0xB7, 0x06, 0x01, 0x02, 0x95, 0x0C, 0x47, 0x0E, 0x00, 0x00, 0xFE, 0x0B, 0x87, 0x1F, 0xCD, + 0x1F, 0x8D, 0x02, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, + 0x8E, 0x00, 0x1D, 0xBC, 0x1D, 0xBE, 0x81, 0x00, 0x00, 0xDE, 0x0B, 0xB7, 0x06, 0x01, 0x02, 0x95, + 0x0C, 0x5F, 0x0E, 0x00, 0x00, 0xFE, 0x0B, 0x87, 0x1F, 0xCD, 0x1F, 0x8D, 0x02, 0xFF, 0x81, 0x00, + 0x00, 0xDE, 0x0B, 0x88, 0x06, 0x01, 0x02, 0x95, 0x0C, 0x71, 0x00, 0xDE, 0x0B, 0xDA, 0x2E, 0xDA, + 0x00, 0xDE, 0x0B, 0xDB, 0x2E, 0xDB, 0x00, 0xDE, 0x0B, 0xDC, 0x2E, 0xDC, 0x1F, 0xCD, 0x1F, 0x8D, + 0x02, 0xFF, 0x00, 0xDE, 0x0B, 0xDA, 0x2E, 0xDA, 0x26, 0xDB, 0x2E, 0xDB, 0x26, 0xDC, 0x2E, 0xDC, + 0x81, 0x00, 0x00, 0xDC, 0x0B, 0xDD, 0x76, 0x00, 0x00, 0xFC, 0x0B, 0xDD, 0x81, 0x00, 0x1F, 0xCD, + 0x1F, 0x8D, 0x02, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0x0C, 0x9F, 0x0C, 0xA2, 0x0C, 0xDA, + 0x0C, 0xDD, 0x8E, 0x00, 0x81, 0x00, 0x89, 0x00, 0x02, 0xBF, 0x0C, 0xE0, 0x27, 0xFF, 0x00, 0x9E, + 0x0C, 0x8D, 0x4C, 0x00, 0x1C, 0x7E, 0x03, 0x13, 0x1C, 0x7F, 0x17, 0x6F, 0x00, 0x21, 0x02, 0x9F, + 0x00, 0x30, 0x00, 0x21, 0x81, 0x00, 0x89, 0x00, 0x02, 0xBF, 0x0C, 0xE0, 0x24, 0xFF, 0x02, 0xBF, + 0x0C, 0xE6, 0x25, 0xFF, 0x02, 0xBF, 0x0C, 0xE6, 0x27, 0xFF, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xC9, + 0x00, 0x01, 0x2F, 0xCD, 0x2D, 0xCB, 0x81, 0x00, 0x89, 0x00, 0x02, 0xBF, 0x0C, 0xE0, 0x24, 0xFF, + 0x1C, 0x9E, 0x1C, 0xBC, 0x02, 0xBF, 0x0C, 0xE6, 0x25, 0xFF, 0x02, 0xBF, 0x0C, 0xE6, 0x27, 0xFF, + 0x1C, 0xDF, 0x1C, 0xFD, 0x81, 0x00, 0x02, 0xBF, 0x0C, 0xE0, 0x26, 0xFF, 0x1C, 0x1E, 0x89, 0x00, + 0x02, 0xBF, 0x0C, 0xE6, 0x20, 0xFF, 0x1F, 0x5F, 0x02, 0xBF, 0x0C, 0xE0, 0x21, 0xFF, 0x02, 0xBF, + 0x0C, 0xE0, 0x23, 0xFF, 0x26, 0xC9, 0x02, 0xA0, 0x00, 0x04, 0x02, 0x9C, 0x0C, 0xD2, 0x02, 0x9F, + 0x80, 0xB5, 0x00, 0x21, 0x02, 0x9F, 0x80, 0x00, 0x00, 0x21, 0x02, 0x9F, 0x00, 0x45, 0x00, 0x21, + 0x26, 0xFE, 0x02, 0xC0, 0x80, 0x00, 0x02, 0x9C, 0x0C, 0xE0, 0x02, 0xDF, 0x27, 0xFE, 0x03, 0xC0, + 0x80, 0x00, 0x02, 0x9C, 0x0C, 0xE6, 0x02, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; short dspSlaveLength = sizeof(dspSlave); diff --git a/src/musyx/hw_memory.c b/src/musyx/hw_memory.c index 9e9c57df..3e6f4d1e 100644 --- a/src/musyx/hw_memory.c +++ b/src/musyx/hw_memory.c @@ -1,11 +1,5 @@ #include "musyx/musyx_priv.h" +void* salMalloc(u32 len) { return salHooks.malloc(len); } -void* salMalloc(u32 len) { - return salHooks.malloc(len); -} - -void salFree(void* addr) { - salHooks.free(addr); -} - +void salFree(void* addr) { salHooks.free(addr); } diff --git a/src/musyx/reverb_fx.c b/src/musyx/reverb_fx.c index 391868fa..118d93b9 100644 --- a/src/musyx/reverb_fx.c +++ b/src/musyx/reverb_fx.c @@ -11,42 +11,38 @@ */ #include "musyx/musyx_priv.h" - - - - - -extern bool ReverbHICreate(_SND_REVHI_WORK* rev, f32 coloration, f32 time, f32 mix, f32 damping, f32 preDelay, f32 crosstalk); +extern bool ReverbHICreate(_SND_REVHI_WORK* rev, f32 coloration, f32 time, f32 mix, f32 damping, + f32 preDelay, f32 crosstalk); extern void ReverbHIFree(_SND_REVHI_WORK* rev); void sndAuxCallbackReverbHI(u8 reason, SND_AUX_INFO* info, void* user) { - switch (reason) { - case SND_AUX_REASON_BUFFERUPDATE: - if (((SND_AUX_REVERBHI*)user)->tempDisableFX == 0) { - ReverbHICallback(info->data.bufferUpdate.left, - info->data.bufferUpdate.right, - info->data.bufferUpdate.surround, user); - } - case SND_AUX_REASON_PARAMETERUPDATE: - break; - default: - //ASSERT_MSG(FALSE); - break; + switch (reason) { + case SND_AUX_REASON_BUFFERUPDATE: + if (((SND_AUX_REVERBHI*)user)->tempDisableFX == 0) { + ReverbHICallback(info->data.bufferUpdate.left, info->data.bufferUpdate.right, + info->data.bufferUpdate.surround, user); } + case SND_AUX_REASON_PARAMETERUPDATE: + break; + default: + // ASSERT_MSG(FALSE); + break; + } } -bool sndAuxCallbackPrepareReverbHI(SND_AUX_REVERBHI *rev) { - rev->tempDisableFX = 0; - return ReverbHICreate(&rev->rv, rev->coloration, rev->time, rev->mix, rev->damping, rev->preDelay, rev->crosstalk); +bool sndAuxCallbackPrepareReverbHI(SND_AUX_REVERBHI* rev) { + rev->tempDisableFX = 0; + return ReverbHICreate(&rev->rv, rev->coloration, rev->time, rev->mix, rev->damping, rev->preDelay, + rev->crosstalk); } bool sndAuxCallbackShutdownReverbHI(SND_AUX_REVERBHI* rev) { - ReverbHIFree(&rev->rv); - return TRUE; + ReverbHIFree(&rev->rv); + return TRUE; } -bool sndAuxCallbackUpdateSettingsReverbHI(SND_AUX_REVERBHI *rev) { - /* not in MP */ - return FALSE; +bool sndAuxCallbackUpdateSettingsReverbHI(SND_AUX_REVERBHI* rev) { + /* not in MP */ + return FALSE; } diff --git a/src/musyx/seq_api.c b/src/musyx/seq_api.c index 5f6b21a0..bc4e6e72 100644 --- a/src/musyx/seq_api.c +++ b/src/musyx/seq_api.c @@ -1,35 +1,33 @@ #include "musyx/seq.h" void sndSeqStop(s32 unk) { - hwDisableIrq(); - seqStop(unk); - hwEnableIrq(); + hwDisableIrq(); + seqStop(unk); + hwEnableIrq(); } void sndSeqSpeed(s32 unk1, s32 unk2) { - hwDisableIrq(); - seqSpeed(unk1, unk2); - hwEnableIrq(); + hwDisableIrq(); + seqSpeed(unk1, unk2); + hwEnableIrq(); } void sndSeqContinue(s32 unk) { - hwDisableIrq(); - seqContinue(unk); - hwEnableIrq(); + hwDisableIrq(); + seqContinue(unk); + hwEnableIrq(); } void sndSeqMute(s32 unk1, s32 unk2, s32 unk3) { - hwDisableIrq(); - seqMute(unk1, unk2, unk3); - hwEnableIrq(); + hwDisableIrq(); + seqMute(unk1, unk2, unk3); + hwEnableIrq(); } void sndSeqVolume(s32 unk1, s32 unk2, s32 unk3, s32 unk4) { - hwDisableIrq(); - seqVolume(unk1, unk2, unk3, unk4); - hwEnableIrq(); -} - -u16 seqGetMIDIPriority(s32 arg0, s32 arg1) { - return seqMIDIPriority[(u8)arg0][(u8)arg1]; + hwDisableIrq(); + seqVolume(unk1, unk2, unk3, unk4); + hwEnableIrq(); } + +u16 seqGetMIDIPriority(s32 arg0, s32 arg1) { return seqMIDIPriority[(u8)arg0][(u8)arg1]; } diff --git a/src/musyx/snd_math.c b/src/musyx/snd_math.c index d663bbc7..fbb54a7a 100644 --- a/src/musyx/snd_math.c +++ b/src/musyx/snd_math.c @@ -1,27 +1,24 @@ -#include "musyx/musyx_priv.h" #include "math_ppc.h" +#include "musyx/musyx_priv.h" void salApplyMatrix(const SND_FMATRIX* a, const SND_FVECTOR* b, SND_FVECTOR* out) { - out->x = a->t[0] + ((a->m[0][2] * b->z) + ((a->m[0][0] * b->x) + (a->m[0][1] * b->y))); - out->y = a->t[1] + ((a->m[1][2] * b->z) + ((a->m[1][0] * b->x) + (a->m[1][1] * b->y))); - out->z = a->t[2] + ((a->m[2][2] * b->z) + ((a->m[2][0] * b->x) + (a->m[2][1] * b->y))); + out->x = a->t[0] + ((a->m[0][2] * b->z) + ((a->m[0][0] * b->x) + (a->m[0][1] * b->y))); + out->y = a->t[1] + ((a->m[1][2] * b->z) + ((a->m[1][0] * b->x) + (a->m[1][1] * b->y))); + out->z = a->t[2] + ((a->m[2][2] * b->z) + ((a->m[2][0] * b->x) + (a->m[2][1] * b->y))); } - float salNormalizeVector(SND_FVECTOR* vec) { - float mag = sqrtf(vec->x * vec->x + vec->y * vec->y + vec->z * vec->z); - vec->x /= mag; - vec->y /= mag; - vec->z /= mag; - return mag; + float mag = sqrtf(vec->x * vec->x + vec->y * vec->y + vec->z * vec->z); + vec->x /= mag; + vec->y /= mag; + vec->z /= mag; + return mag; } void salCrossProduct(SND_FVECTOR* out, const SND_FVECTOR* a, const SND_FVECTOR* b) { - out->x = (a->y * b->z) - (a->z * b->y); - out->y = (a->z * b->x) - (a->x * b->z); - out->z = (a->x * b->y) - (a->y * b->x); -} - -void salInvertMatrix(SND_FMATRIX* out, const SND_FMATRIX* in) { + out->x = (a->y * b->z) - (a->z * b->y); + out->y = (a->z * b->x) - (a->x * b->z); + out->z = (a->x * b->y) - (a->y * b->x); } +void salInvertMatrix(SND_FMATRIX* out, const SND_FMATRIX* in) {} diff --git a/src/musyx/snd_service.c b/src/musyx/snd_service.c index ef774c16..a13522e4 100644 --- a/src/musyx/snd_service.c +++ b/src/musyx/snd_service.c @@ -5,53 +5,70 @@ extern "C" { #endif // __cplusplus s16 sndSintab[1024] = { - 0, 6, 12, 18, 25, 31, 37, 43, 50, 56, 62, 69, 75, 81, 87, 94, 100, 106, 113, 119, 125, 131, - 138, 144, 150, 157, 163, 169, 175, 182, 188, 194, 200, 207, 213, 219, 226, 232, 238, 244, 251, 257, 263, 269, - 276, 282, 288, 295, 301, 307, 313, 320, 326, 332, 338, 345, 351, 357, 363, 370, 376, 382, 388, 395, 401, 407, - 413, 420, 426, 432, 438, 445, 451, 457, 463, 470, 476, 482, 488, 495, 501, 507, 513, 520, 526, 532, 538, 545, - 551, 557, 563, 569, 576, 582, 588, 594, 601, 607, 613, 619, 625, 632, 638, 644, 650, 656, 663, 669, 675, 681, - 687, 694, 700, 706, 712, 718, 725, 731, 737, 743, 749, 755, 762, 768, 774, 780, 786, 792, 799, 805, 811, 817, - 823, 829, 836, 842, 848, 854, 860, 866, 872, 879, 885, 891, 897, 903, 909, 915, 921, 928, 934, 940, 946, 952, - 958, 964, 970, 976, 983, 989, 995, 1001, 1007, 1013, 1019, 1025, 1031, 1037, 1043, 1050, 1056, 1062, 1068, 1074, 1080, 1086, - 1092, 1098, 1104, 1110, 1116, 1122, 1128, 1134, 1140, 1146, 1152, 1158, 1164, 1170, 1176, 1182, 1189, 1195, 1201, 1207, 1213, 1219, - 1225, 1231, 1237, 1243, 1248, 1254, 1260, 1266, 1272, 1278, 1284, 1290, 1296, 1302, 1308, 1314, 1320, 1326, 1332, 1338, 1344, 1350, - 1356, 1362, 1368, 1373, 1379, 1385, 1391, 1397, 1403, 1409, 1415, 1421, 1427, 1433, 1438, 1444, 1450, 1456, 1462, 1468, 1474, 1479, - 1485, 1491, 1497, 1503, 1509, 1515, 1520, 1526, 1532, 1538, 1544, 1550, 1555, 1561, 1567, 1573, 1579, 1584, 1590, 1596, 1602, 1608, - 1613, 1619, 1625, 1631, 1636, 1642, 1648, 1654, 1659, 1665, 1671, 1677, 1682, 1688, 1694, 1699, 1705, 1711, 1717, 1722, 1728, 1734, - 1739, 1745, 1751, 1756, 1762, 1768, 1773, 1779, 1785, 1790, 1796, 1802, 1807, 1813, 1819, 1824, 1830, 1835, 1841, 1847, 1852, 1858, - 1864, 1869, 1875, 1880, 1886, 1891, 1897, 1903, 1908, 1914, 1919, 1925, 1930, 1936, 1941, 1947, 1952, 1958, 1964, 1969, 1975, 1980, - 1986, 1991, 1997, 2002, 2007, 2013, 2018, 2024, 2029, 2035, 2040, 2046, 2051, 2057, 2062, 2067, 2073, 2078, 2084, 2089, 2094, 2100, - 2105, 2111, 2116, 2121, 2127, 2132, 2138, 2143, 2148, 2154, 2159, 2164, 2170, 2175, 2180, 2186, 2191, 2196, 2201, 2207, 2212, 2217, - 2223, 2228, 2233, 2238, 2244, 2249, 2254, 2259, 2265, 2270, 2275, 2280, 2286, 2291, 2296, 2301, 2306, 2312, 2317, 2322, 2327, 2332, - 2337, 2343, 2348, 2353, 2358, 2363, 2368, 2373, 2379, 2384, 2389, 2394, 2399, 2404, 2409, 2414, 2419, 2424, 2429, 2434, 2439, 2445, - 2450, 2455, 2460, 2465, 2470, 2475, 2480, 2485, 2490, 2495, 2500, 2505, 2510, 2515, 2519, 2524, 2529, 2534, 2539, 2544, 2549, 2554, - 2559, 2564, 2569, 2574, 2578, 2583, 2588, 2593, 2598, 2603, 2608, 2613, 2617, 2622, 2627, 2632, 2637, 2641, 2646, 2651, 2656, 2661, - 2665, 2670, 2675, 2680, 2684, 2689, 2694, 2699, 2703, 2708, 2713, 2717, 2722, 2727, 2732, 2736, 2741, 2746, 2750, 2755, 2760, 2764, - 2769, 2773, 2778, 2783, 2787, 2792, 2796, 2801, 2806, 2810, 2815, 2819, 2824, 2828, 2833, 2837, 2842, 2847, 2851, 2856, 2860, 2865, - 2869, 2874, 2878, 2882, 2887, 2891, 2896, 2900, 2905, 2909, 2914, 2918, 2922, 2927, 2931, 2936, 2940, 2944, 2949, 2953, 2957, 2962, - 2966, 2970, 2975, 2979, 2983, 2988, 2992, 2996, 3000, 3005, 3009, 3013, 3018, 3022, 3026, 3030, 3034, 3039, 3043, 3047, 3051, 3055, - 3060, 3064, 3068, 3072, 3076, 3080, 3085, 3089, 3093, 3097, 3101, 3105, 3109, 3113, 3117, 3121, 3126, 3130, 3134, 3138, 3142, 3146, - 3150, 3154, 3158, 3162, 3166, 3170, 3174, 3178, 3182, 3186, 3190, 3193, 3197, 3201, 3205, 3209, 3213, 3217, 3221, 3225, 3229, 3232, - 3236, 3240, 3244, 3248, 3252, 3255, 3259, 3263, 3267, 3271, 3274, 3278, 3282, 3286, 3289, 3293, 3297, 3301, 3304, 3308, 3312, 3315, - 3319, 3323, 3326, 3330, 3334, 3337, 3341, 3345, 3348, 3352, 3356, 3359, 3363, 3366, 3370, 3373, 3377, 3381, 3384, 3388, 3391, 3395, - 3398, 3402, 3405, 3409, 3412, 3416, 3419, 3423, 3426, 3429, 3433, 3436, 3440, 3443, 3447, 3450, 3453, 3457, 3460, 3463, 3467, 3470, - 3473, 3477, 3480, 3483, 3487, 3490, 3493, 3497, 3500, 3503, 3506, 3510, 3513, 3516, 3519, 3522, 3526, 3529, 3532, 3535, 3538, 3541, - 3545, 3548, 3551, 3554, 3557, 3560, 3563, 3566, 3570, 3573, 3576, 3579, 3582, 3585, 3588, 3591, 3594, 3597, 3600, 3603, 3606, 3609, - 3612, 3615, 3618, 3621, 3624, 3627, 3629, 3632, 3635, 3638, 3641, 3644, 3647, 3650, 3652, 3655, 3658, 3661, 3664, 3667, 3669, 3672, - 3675, 3678, 3680, 3683, 3686, 3689, 3691, 3694, 3697, 3700, 3702, 3705, 3708, 3710, 3713, 3716, 3718, 3721, 3723, 3726, 3729, 3731, - 3734, 3736, 3739, 3742, 3744, 3747, 3749, 3752, 3754, 3757, 3759, 3762, 3764, 3767, 3769, 3772, 3774, 3776, 3779, 3781, 3784, 3786, - 3789, 3791, 3793, 3796, 3798, 3800, 3803, 3805, 3807, 3810, 3812, 3814, 3816, 3819, 3821, 3823, 3826, 3828, 3830, 3832, 3834, 3837, - 3839, 3841, 3843, 3845, 3848, 3850, 3852, 3854, 3856, 3858, 3860, 3862, 3864, 3867, 3869, 3871, 3873, 3875, 3877, 3879, 3881, 3883, - 3885, 3887, 3889, 3891, 3893, 3895, 3897, 3899, 3900, 3902, 3904, 3906, 3908, 3910, 3912, 3914, 3915, 3917, 3919, 3921, 3923, 3925, - 3926, 3928, 3930, 3932, 3933, 3935, 3937, 3939, 3940, 3942, 3944, 3945, 3947, 3949, 3950, 3952, 3954, 3955, 3957, 3959, 3960, 3962, - 3963, 3965, 3967, 3968, 3970, 3971, 3973, 3974, 3976, 3977, 3979, 3980, 3982, 3983, 3985, 3986, 3988, 3989, 3990, 3992, 3993, 3995, - 3996, 3997, 3999, 4000, 4001, 4003, 4004, 4005, 4007, 4008, 4009, 4011, 4012, 4013, 4014, 4016, 4017, 4018, 4019, 4020, 4022, 4023, - 4024, 4025, 4026, 4027, 4029, 4030, 4031, 4032, 4033, 4034, 4035, 4036, 4037, 4038, 4039, 4040, 4041, 4042, 4043, 4044, 4045, 4046, - 4047, 4048, 4049, 4050, 4051, 4052, 4053, 4054, 4055, 4056, 4057, 4057, 4058, 4059, 4060, 4061, 4062, 4062, 4063, 4064, 4065, 4065, - 4066, 4067, 4068, 4068, 4069, 4070, 4071, 4071, 4072, 4073, 4073, 4074, 4075, 4075, 4076, 4076, 4077, 4078, 4078, 4079, 4079, 4080, - 4080, 4081, 4081, 4082, 4082, 4083, 4083, 4084, 4084, 4085, 4085, 4086, 4086, 4087, 4087, 4087, 4088, 4088, 4089, 4089, 4089, 4090, - 4090, 4090, 4091, 4091, 4091, 4091, 4092, 4092, 4092, 4092, 4093, 4093, 4093, 4093, 4094, 4094, 4094, 4094, 4094, 4094, 4095, 4095, - 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, + 0, 6, 12, 18, 25, 31, 37, 43, 50, 56, 62, 69, 75, 81, 87, 94, + 100, 106, 113, 119, 125, 131, 138, 144, 150, 157, 163, 169, 175, 182, 188, 194, + 200, 207, 213, 219, 226, 232, 238, 244, 251, 257, 263, 269, 276, 282, 288, 295, + 301, 307, 313, 320, 326, 332, 338, 345, 351, 357, 363, 370, 376, 382, 388, 395, + 401, 407, 413, 420, 426, 432, 438, 445, 451, 457, 463, 470, 476, 482, 488, 495, + 501, 507, 513, 520, 526, 532, 538, 545, 551, 557, 563, 569, 576, 582, 588, 594, + 601, 607, 613, 619, 625, 632, 638, 644, 650, 656, 663, 669, 675, 681, 687, 694, + 700, 706, 712, 718, 725, 731, 737, 743, 749, 755, 762, 768, 774, 780, 786, 792, + 799, 805, 811, 817, 823, 829, 836, 842, 848, 854, 860, 866, 872, 879, 885, 891, + 897, 903, 909, 915, 921, 928, 934, 940, 946, 952, 958, 964, 970, 976, 983, 989, + 995, 1001, 1007, 1013, 1019, 1025, 1031, 1037, 1043, 1050, 1056, 1062, 1068, 1074, 1080, 1086, + 1092, 1098, 1104, 1110, 1116, 1122, 1128, 1134, 1140, 1146, 1152, 1158, 1164, 1170, 1176, 1182, + 1189, 1195, 1201, 1207, 1213, 1219, 1225, 1231, 1237, 1243, 1248, 1254, 1260, 1266, 1272, 1278, + 1284, 1290, 1296, 1302, 1308, 1314, 1320, 1326, 1332, 1338, 1344, 1350, 1356, 1362, 1368, 1373, + 1379, 1385, 1391, 1397, 1403, 1409, 1415, 1421, 1427, 1433, 1438, 1444, 1450, 1456, 1462, 1468, + 1474, 1479, 1485, 1491, 1497, 1503, 1509, 1515, 1520, 1526, 1532, 1538, 1544, 1550, 1555, 1561, + 1567, 1573, 1579, 1584, 1590, 1596, 1602, 1608, 1613, 1619, 1625, 1631, 1636, 1642, 1648, 1654, + 1659, 1665, 1671, 1677, 1682, 1688, 1694, 1699, 1705, 1711, 1717, 1722, 1728, 1734, 1739, 1745, + 1751, 1756, 1762, 1768, 1773, 1779, 1785, 1790, 1796, 1802, 1807, 1813, 1819, 1824, 1830, 1835, + 1841, 1847, 1852, 1858, 1864, 1869, 1875, 1880, 1886, 1891, 1897, 1903, 1908, 1914, 1919, 1925, + 1930, 1936, 1941, 1947, 1952, 1958, 1964, 1969, 1975, 1980, 1986, 1991, 1997, 2002, 2007, 2013, + 2018, 2024, 2029, 2035, 2040, 2046, 2051, 2057, 2062, 2067, 2073, 2078, 2084, 2089, 2094, 2100, + 2105, 2111, 2116, 2121, 2127, 2132, 2138, 2143, 2148, 2154, 2159, 2164, 2170, 2175, 2180, 2186, + 2191, 2196, 2201, 2207, 2212, 2217, 2223, 2228, 2233, 2238, 2244, 2249, 2254, 2259, 2265, 2270, + 2275, 2280, 2286, 2291, 2296, 2301, 2306, 2312, 2317, 2322, 2327, 2332, 2337, 2343, 2348, 2353, + 2358, 2363, 2368, 2373, 2379, 2384, 2389, 2394, 2399, 2404, 2409, 2414, 2419, 2424, 2429, 2434, + 2439, 2445, 2450, 2455, 2460, 2465, 2470, 2475, 2480, 2485, 2490, 2495, 2500, 2505, 2510, 2515, + 2519, 2524, 2529, 2534, 2539, 2544, 2549, 2554, 2559, 2564, 2569, 2574, 2578, 2583, 2588, 2593, + 2598, 2603, 2608, 2613, 2617, 2622, 2627, 2632, 2637, 2641, 2646, 2651, 2656, 2661, 2665, 2670, + 2675, 2680, 2684, 2689, 2694, 2699, 2703, 2708, 2713, 2717, 2722, 2727, 2732, 2736, 2741, 2746, + 2750, 2755, 2760, 2764, 2769, 2773, 2778, 2783, 2787, 2792, 2796, 2801, 2806, 2810, 2815, 2819, + 2824, 2828, 2833, 2837, 2842, 2847, 2851, 2856, 2860, 2865, 2869, 2874, 2878, 2882, 2887, 2891, + 2896, 2900, 2905, 2909, 2914, 2918, 2922, 2927, 2931, 2936, 2940, 2944, 2949, 2953, 2957, 2962, + 2966, 2970, 2975, 2979, 2983, 2988, 2992, 2996, 3000, 3005, 3009, 3013, 3018, 3022, 3026, 3030, + 3034, 3039, 3043, 3047, 3051, 3055, 3060, 3064, 3068, 3072, 3076, 3080, 3085, 3089, 3093, 3097, + 3101, 3105, 3109, 3113, 3117, 3121, 3126, 3130, 3134, 3138, 3142, 3146, 3150, 3154, 3158, 3162, + 3166, 3170, 3174, 3178, 3182, 3186, 3190, 3193, 3197, 3201, 3205, 3209, 3213, 3217, 3221, 3225, + 3229, 3232, 3236, 3240, 3244, 3248, 3252, 3255, 3259, 3263, 3267, 3271, 3274, 3278, 3282, 3286, + 3289, 3293, 3297, 3301, 3304, 3308, 3312, 3315, 3319, 3323, 3326, 3330, 3334, 3337, 3341, 3345, + 3348, 3352, 3356, 3359, 3363, 3366, 3370, 3373, 3377, 3381, 3384, 3388, 3391, 3395, 3398, 3402, + 3405, 3409, 3412, 3416, 3419, 3423, 3426, 3429, 3433, 3436, 3440, 3443, 3447, 3450, 3453, 3457, + 3460, 3463, 3467, 3470, 3473, 3477, 3480, 3483, 3487, 3490, 3493, 3497, 3500, 3503, 3506, 3510, + 3513, 3516, 3519, 3522, 3526, 3529, 3532, 3535, 3538, 3541, 3545, 3548, 3551, 3554, 3557, 3560, + 3563, 3566, 3570, 3573, 3576, 3579, 3582, 3585, 3588, 3591, 3594, 3597, 3600, 3603, 3606, 3609, + 3612, 3615, 3618, 3621, 3624, 3627, 3629, 3632, 3635, 3638, 3641, 3644, 3647, 3650, 3652, 3655, + 3658, 3661, 3664, 3667, 3669, 3672, 3675, 3678, 3680, 3683, 3686, 3689, 3691, 3694, 3697, 3700, + 3702, 3705, 3708, 3710, 3713, 3716, 3718, 3721, 3723, 3726, 3729, 3731, 3734, 3736, 3739, 3742, + 3744, 3747, 3749, 3752, 3754, 3757, 3759, 3762, 3764, 3767, 3769, 3772, 3774, 3776, 3779, 3781, + 3784, 3786, 3789, 3791, 3793, 3796, 3798, 3800, 3803, 3805, 3807, 3810, 3812, 3814, 3816, 3819, + 3821, 3823, 3826, 3828, 3830, 3832, 3834, 3837, 3839, 3841, 3843, 3845, 3848, 3850, 3852, 3854, + 3856, 3858, 3860, 3862, 3864, 3867, 3869, 3871, 3873, 3875, 3877, 3879, 3881, 3883, 3885, 3887, + 3889, 3891, 3893, 3895, 3897, 3899, 3900, 3902, 3904, 3906, 3908, 3910, 3912, 3914, 3915, 3917, + 3919, 3921, 3923, 3925, 3926, 3928, 3930, 3932, 3933, 3935, 3937, 3939, 3940, 3942, 3944, 3945, + 3947, 3949, 3950, 3952, 3954, 3955, 3957, 3959, 3960, 3962, 3963, 3965, 3967, 3968, 3970, 3971, + 3973, 3974, 3976, 3977, 3979, 3980, 3982, 3983, 3985, 3986, 3988, 3989, 3990, 3992, 3993, 3995, + 3996, 3997, 3999, 4000, 4001, 4003, 4004, 4005, 4007, 4008, 4009, 4011, 4012, 4013, 4014, 4016, + 4017, 4018, 4019, 4020, 4022, 4023, 4024, 4025, 4026, 4027, 4029, 4030, 4031, 4032, 4033, 4034, + 4035, 4036, 4037, 4038, 4039, 4040, 4041, 4042, 4043, 4044, 4045, 4046, 4047, 4048, 4049, 4050, + 4051, 4052, 4053, 4054, 4055, 4056, 4057, 4057, 4058, 4059, 4060, 4061, 4062, 4062, 4063, 4064, + 4065, 4065, 4066, 4067, 4068, 4068, 4069, 4070, 4071, 4071, 4072, 4073, 4073, 4074, 4075, 4075, + 4076, 4076, 4077, 4078, 4078, 4079, 4079, 4080, 4080, 4081, 4081, 4082, 4082, 4083, 4083, 4084, + 4084, 4085, 4085, 4086, 4086, 4087, 4087, 4087, 4088, 4088, 4089, 4089, 4089, 4090, 4090, 4090, + 4091, 4091, 4091, 4091, 4092, 4092, 4092, 4092, 4093, 4093, 4093, 4093, 4094, 4094, 4094, 4094, + 4094, 4094, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, }; #define SINTAB_ELEMENT_COUNT (sizeof(sndSintab) / sizeof(short) - 1) @@ -77,37 +94,39 @@ s16 sndSin(u32 __x) { return -sndSintab[SINTAB_ELEMENT_COUNT - (x & SINTAB_ELEMENT_COUNT)]; } -u8* sndBSearch(u16 *key,u8 *subTab,s32 mainTab,s32 len,SND_COMPARE cmp) { - s32 left; - s32 right; - s32 mid; - s32 found; - u8* test; +u8* sndBSearch(u16* key, u8* subTab, s32 mainTab, s32 len, SND_COMPARE cmp) { + s32 left; + s32 right; + s32 mid; + s32 found; + u8* test; - if (mainTab != 0) { - left = 1; - right = mainTab; - do { - mid = ((left + right) >> 1); - test = subTab + (len * (mid - 1)); - found = (*cmp)(key, test); - if (found == 0) { return test; } - - if (found < 0) { - right = mid - 1; - } else - { - left = mid + 1; - } - } while (left <= right); - } - return NULL; + if (mainTab != 0) { + left = 1; + right = mainTab; + do { + mid = ((left + right) >> 1); + test = subTab + (len * (mid - 1)); + found = (*cmp)(key, test); + if (found == 0) { + return test; + } + + if (found < 0) { + right = mid - 1; + } else { + left = mid + 1; + } + } while (left <= right); + } + return NULL; } - void sndConvertMs(u32* time) { *time = *time * 256; } -void sndConvertTicks(u32* out, u32 seconds) { *out = (((*out << 16) / synthGetTicksPerSecond(seconds)) * 1000) / 32; } +void sndConvertTicks(u32* out, u32 seconds) { + *out = (((*out << 16) / synthGetTicksPerSecond(seconds)) * 1000) / 32; +} u32 sndConvert2Ms(u32 time) { return time / 256; } diff --git a/src/musyx/snd_synthapi.c b/src/musyx/snd_synthapi.c index 97645b33..293a0a19 100644 --- a/src/musyx/snd_synthapi.c +++ b/src/musyx/snd_synthapi.c @@ -103,38 +103,36 @@ void sndSetAuxProcessingCallbacks(u8 studio, } void synthActivateStudio(u8 studio, u32 arg1, u32 arg2) { - hwDisableIrq(); - synthAuxACallback[studio] = NULL; - synthAuxBCallback[studio] = NULL; - synthAuxAMIDI[studio] = 0xFF; - synthAuxBMIDI[studio] = 0xFF; - synthITDDefault[studio * 2 + 1] = 0; - synthITDDefault[studio * 2 + 0] = 0; - hwActivateStudio(studio, arg1, arg2); - hwEnableIrq(); + hwDisableIrq(); + synthAuxACallback[studio] = NULL; + synthAuxBCallback[studio] = NULL; + synthAuxAMIDI[studio] = 0xFF; + synthAuxBMIDI[studio] = 0xFF; + synthITDDefault[studio * 2 + 1] = 0; + synthITDDefault[studio * 2 + 0] = 0; + hwActivateStudio(studio, arg1, arg2); + hwEnableIrq(); } void synthDeactivateStudio(u8 studio) { - u32 i; - for (i = 0; i < synthInfo.voices; ++i) { - if (studio == synthVoice[i].studio) { - if (synthVoice[i]._f4 != 0xFFFFFFFF) { - voiceKillSound(synthVoice[i].voiceId->pubId); - } else if (hwIsActive(i)) { - hwOff(i); - } - } + u32 i; + for (i = 0; i < synthInfo.voices; ++i) { + if (studio == synthVoice[i].studio) { + if (synthVoice[i]._f4 != 0xFFFFFFFF) { + voiceKillSound(synthVoice[i].voiceId->pubId); + } else if (hwIsActive(i)) { + hwOff(i); + } } - hwDisableIrq(); - synthAuxACallback[studio] = 0; - synthAuxBCallback[studio] = 0; - synthAuxAMIDI[studio] = 0xFF; - synthAuxBMIDI[studio] = 0xFF; - hwEnableIrq(); - hwDeactivateStudio(studio); + } + hwDisableIrq(); + synthAuxACallback[studio] = 0; + synthAuxBCallback[studio] = 0; + synthAuxAMIDI[studio] = 0xFF; + synthAuxBMIDI[studio] = 0xFF; + hwEnableIrq(); + hwDeactivateStudio(studio); } /* TODO: Figure out what `unk` is */ -bool synthAddStudioInput(u8 studio, void* unk) { - return hwAddInput(studio, unk); -} +bool synthAddStudioInput(u8 studio, void* unk) { return hwAddInput(studio, unk); } diff --git a/src/musyx/synth_ac.c b/src/musyx/synth_ac.c index 9ed3a7d9..f8685d9e 100644 --- a/src/musyx/synth_ac.c +++ b/src/musyx/synth_ac.c @@ -3,37 +3,50 @@ extern SynthInfo synthInfo; float toneup_tab[128] = { - 1.0f, 1.0594635f, 1.1224623f, 1.1892071f, 1.2599211f, 1.3348398f, 1.4142141f, 1.4983072f, 1.5874014f, 1.6817932f, 1.7817984f, - 1.8877487f, 2.000001f, 2.118927f, 2.2449245f, 2.378415f, 2.519843f, 2.6696806f, 2.8284283f, 2.9966154f, 3.1748037f, 3.3635874f, - 3.5635967f, 3.7754984f, 4.000002f, 4.237854f, 4.48985f, 4.75683f, 5.039686f, 5.339362f, 5.6568565f, 5.993231f, 6.3496075f, - 6.7271748f, 7.1271935f, 7.5509977f, 8.000004f, 8.475709f, 8.979701f, 9.513661f, 10.079373f, 10.678724f, 11.313714f, 11.986463f, - 12.699215f, 13.4543495f, 14.254387f, 15.101996f, 16.000008f, 16.951418f, 17.959402f, 19.027323f, 20.158747f, 21.357449f, 22.627428f, - 23.972925f, 25.39843f, 26.908699f, 28.508774f, 30.203993f, 32.000015f, 33.902836f, 35.918804f, 38.054646f, 40.317493f, 42.714897f, - 45.254856f, 47.94585f, 50.79686f, 53.817398f, 57.017548f, 60.407986f, 64.00003f, 67.80567f, 71.83761f, 76.10929f, 80.63499f, - 85.429794f, 90.50971f, 95.8917f, 101.59372f, 107.634796f, 114.035095f, 120.81597f, 128.00006f, 135.61134f, 143.67522f, 152.21858f, - 161.26997f, 170.85959f, 181.01942f, 191.7834f, 203.18744f, 215.26959f, 228.07019f, 241.63194f, 256.00012f, 271.2227f, 287.35043f, - 304.43716f, 322.53995f, 341.71918f, 362.03885f, 383.5668f, 406.37488f, 430.53918f, 456.14038f, 483.2639f, 512.00024f, 542.4454f, - 574.70087f, 608.8743f, 645.0799f, 683.43835f, 724.0777f, 767.1336f, 812.74976f, 861.07837f, 912.28076f, 966.5278f, 1024.0005f, - 1084.8907f, 1149.4017f, 1217.7487f, 1290.1598f, 1366.8767f, 1448.1554f, 1534.2672f, + 1.0f, 1.0594635f, 1.1224623f, 1.1892071f, 1.2599211f, 1.3348398f, 1.4142141f, + 1.4983072f, 1.5874014f, 1.6817932f, 1.7817984f, 1.8877487f, 2.000001f, 2.118927f, + 2.2449245f, 2.378415f, 2.519843f, 2.6696806f, 2.8284283f, 2.9966154f, 3.1748037f, + 3.3635874f, 3.5635967f, 3.7754984f, 4.000002f, 4.237854f, 4.48985f, 4.75683f, + 5.039686f, 5.339362f, 5.6568565f, 5.993231f, 6.3496075f, 6.7271748f, 7.1271935f, + 7.5509977f, 8.000004f, 8.475709f, 8.979701f, 9.513661f, 10.079373f, 10.678724f, + 11.313714f, 11.986463f, 12.699215f, 13.4543495f, 14.254387f, 15.101996f, 16.000008f, + 16.951418f, 17.959402f, 19.027323f, 20.158747f, 21.357449f, 22.627428f, 23.972925f, + 25.39843f, 26.908699f, 28.508774f, 30.203993f, 32.000015f, 33.902836f, 35.918804f, + 38.054646f, 40.317493f, 42.714897f, 45.254856f, 47.94585f, 50.79686f, 53.817398f, + 57.017548f, 60.407986f, 64.00003f, 67.80567f, 71.83761f, 76.10929f, 80.63499f, + 85.429794f, 90.50971f, 95.8917f, 101.59372f, 107.634796f, 114.035095f, 120.81597f, + 128.00006f, 135.61134f, 143.67522f, 152.21858f, 161.26997f, 170.85959f, 181.01942f, + 191.7834f, 203.18744f, 215.26959f, 228.07019f, 241.63194f, 256.00012f, 271.2227f, + 287.35043f, 304.43716f, 322.53995f, 341.71918f, 362.03885f, 383.5668f, 406.37488f, + 430.53918f, 456.14038f, 483.2639f, 512.00024f, 542.4454f, 574.70087f, 608.8743f, + 645.0799f, 683.43835f, 724.0777f, 767.1336f, 812.74976f, 861.07837f, 912.28076f, + 966.5278f, 1024.0005f, 1084.8907f, 1149.4017f, 1217.7487f, 1290.1598f, 1366.8767f, + 1448.1554f, 1534.2672f, }; float tonedown_tab[128] = { - 1.0f, 0.94387436f, 0.8908987f, 0.8408966f, 0.7937002f, 0.74915314f, 0.7071066f, 0.66741943f, - 0.62996006f, 0.59460354f, 0.56123066f, 0.52973175f, 0.5f, 0.47193718f, 0.44544888f, 0.4204483f, - 0.3968506f, 0.37457657f, 0.35355282f, 0.33370972f, 0.3149805f, 0.2973013f, 0.2806158f, 0.26486588f, - 0.25f, 0.23596859f, 0.22272491f, 0.21022415f, 0.1984253f, 0.18728828f, 0.17677689f, 0.16685486f, - 0.15748978f, 0.14865112f, 0.14030743f, 0.13243294f, 0.125f, 0.11798382f, 0.11136246f, 0.105112076f, - 0.09921265f, 0.09364414f, 0.08838844f, 0.08342743f, 0.07874489f, 0.07432556f, 0.07015419f, 0.06621647f, - 0.0625f, 0.058992386f, 0.05568123f, 0.052556038f, 0.049606323f, 0.046822548f, 0.04419422f, 0.041713715f, - 0.039372444f, 0.03716278f, 0.035077095f, 0.033107758f, 0.03125f, 0.029496193f, 0.027840614f, 0.026277542f, - 0.024803162f, 0.023410797f, 0.022096634f, 0.020856857f, 0.019686699f, 0.01858139f, 0.01753807f, 0.016553879f, - 0.015625f, 0.01474762f, 0.01391983f, 0.013138771f, 0.012401581f, 0.011705399f, 0.011048317f, 0.010428429f, - 0.009842873f, 0.009290695f, 0.008769035f, 0.008276939f, 0.0078125f, 0.00737381f, 0.006959915f, 0.0065698624f, - 0.0062007904f, 0.0058526993f, 0.0055246353f, 0.005214691f, 0.004921913f, 0.0046453476f, 0.0043849945f, 0.0041389465f, - 0.00390625f, 0.003686905f, 0.0034799576f, 0.0032844543f, 0.0031003952f, 0.0029268265f, 0.0027618408f, 0.0026073456f, - 0.0024604797f, 0.002322197f, 0.0021924973f, 0.0020694733f, 0.001953125f, 0.0018434525f, 0.0017404556f, 0.0016422272f, - 0.0015497208f, 0.0014629364f, 0.0013809204f, 0.0013036728f, 0.0012302399f, 0.0011615753f, 0.0010957718f, 0.0010347366f, - 9.765625E-4f, 9.2220306E-4f, 8.69751E-4f, 8.211136E-4f, 7.753372E-4f, 7.314682E-4f, 6.904602E-4f, 6.5135956E-4f, + 1.0f, 0.94387436f, 0.8908987f, 0.8408966f, 0.7937002f, 0.74915314f, + 0.7071066f, 0.66741943f, 0.62996006f, 0.59460354f, 0.56123066f, 0.52973175f, + 0.5f, 0.47193718f, 0.44544888f, 0.4204483f, 0.3968506f, 0.37457657f, + 0.35355282f, 0.33370972f, 0.3149805f, 0.2973013f, 0.2806158f, 0.26486588f, + 0.25f, 0.23596859f, 0.22272491f, 0.21022415f, 0.1984253f, 0.18728828f, + 0.17677689f, 0.16685486f, 0.15748978f, 0.14865112f, 0.14030743f, 0.13243294f, + 0.125f, 0.11798382f, 0.11136246f, 0.105112076f, 0.09921265f, 0.09364414f, + 0.08838844f, 0.08342743f, 0.07874489f, 0.07432556f, 0.07015419f, 0.06621647f, + 0.0625f, 0.058992386f, 0.05568123f, 0.052556038f, 0.049606323f, 0.046822548f, + 0.04419422f, 0.041713715f, 0.039372444f, 0.03716278f, 0.035077095f, 0.033107758f, + 0.03125f, 0.029496193f, 0.027840614f, 0.026277542f, 0.024803162f, 0.023410797f, + 0.022096634f, 0.020856857f, 0.019686699f, 0.01858139f, 0.01753807f, 0.016553879f, + 0.015625f, 0.01474762f, 0.01391983f, 0.013138771f, 0.012401581f, 0.011705399f, + 0.011048317f, 0.010428429f, 0.009842873f, 0.009290695f, 0.008769035f, 0.008276939f, + 0.0078125f, 0.00737381f, 0.006959915f, 0.0065698624f, 0.0062007904f, 0.0058526993f, + 0.0055246353f, 0.005214691f, 0.004921913f, 0.0046453476f, 0.0043849945f, 0.0041389465f, + 0.00390625f, 0.003686905f, 0.0034799576f, 0.0032844543f, 0.0031003952f, 0.0029268265f, + 0.0027618408f, 0.0026073456f, 0.0024604797f, 0.002322197f, 0.0021924973f, 0.0020694733f, + 0.001953125f, 0.0018434525f, 0.0017404556f, 0.0016422272f, 0.0015497208f, 0.0014629364f, + 0.0013809204f, 0.0013036728f, 0.0012302399f, 0.0011615753f, 0.0010957718f, 0.0010347366f, + 9.765625E-4f, 9.2220306E-4f, 8.69751E-4f, 8.211136E-4f, 7.753372E-4f, 7.314682E-4f, + 6.904602E-4f, 6.5135956E-4f, }; @@ -49,7 +62,9 @@ u32 sndGetPitch(u8 arg0, u32 arg1) { } pitch = 4096.f; temp_r6 = (arg1 >> 24); - pitch *= (f32)(arg0 != temp_r6 ? (f32)((arg1 & 0xFFFFFF) * (temp_r6 < arg0 ? toneup_tab[(arg0 - temp_r6)] : tonedown_tab[temp_r6 - arg0])) - : (f32)(arg1 & 0xFFFFFF)); + pitch *= (f32)(arg0 != temp_r6 + ? (f32)((arg1 & 0xFFFFFF) * (temp_r6 < arg0 ? toneup_tab[(arg0 - temp_r6)] + : tonedown_tab[temp_r6 - arg0])) + : (f32)(arg1 & 0xFFFFFF)); return pitch / synthInfo.freq; } diff --git a/src/musyx/synth_dbtab.c b/src/musyx/synth_dbtab.c index 0141e0f6..b7c85292 100644 --- a/src/musyx/synth_dbtab.c +++ b/src/musyx/synth_dbtab.c @@ -2,21 +2,25 @@ #ifdef __cplusplus extern "C" { -#endif +#endif u16 dspAttenuationTab[194] = { - 0x7FFF, 0x78D6, 0x7213, 0x6BB1, 0x65AB, 0x5FFB, 0x5A9D, 0x558B, 0x50C2, 0x4C3E, 0x47FA, 0x43F3, 0x4026, 0x3C8F, 0x392C, 0x35F9, - 0x32F4, 0x301B, 0x2D6A, 0x2ADF, 0x2879, 0x2636, 0x2412, 0x220E, 0x2026, 0x1E5A, 0x1CA7, 0x1B0D, 0x1989, 0x181C, 0x16C2, 0x157C, - 0x1449, 0x1326, 0x1214, 0x1111, 0x101D, 0x0F36, 0x0E5C, 0x0D8E, 0x0CCC, 0x0C15, 0x0B68, 0x0AC5, 0x0A2A, 0x0999, 0x090F, 0x088D, - 0x0813, 0x079F, 0x0732, 0x06CB, 0x066A, 0x060E, 0x05B7, 0x0565, 0x0518, 0x04CF, 0x048A, 0x0449, 0x040C, 0x03D2, 0x039B, 0x0367, - 0x0337, 0x0309, 0x02DD, 0x02B4, 0x028D, 0x0269, 0x0246, 0x0226, 0x0207, 0x01EA, 0x01CE, 0x01B4, 0x019C, 0x0185, 0x016F, 0x015B, - 0x0147, 0x0135, 0x0124, 0x0113, 0x0104, 0x00F5, 0x00E7, 0x00DA, 0x00CE, 0x00C3, 0x00B8, 0x00AD, 0x00A4, 0x009B, 0x0092, 0x008A, - 0x0082, 0x007B, 0x0074, 0x006D, 0x0067, 0x0061, 0x005C, 0x0057, 0x0052, 0x004D, 0x0049, 0x0045, 0x0041, 0x003D, 0x003A, 0x0037, - 0x0033, 0x0031, 0x002E, 0x002B, 0x0029, 0x0026, 0x0024, 0x0022, 0x0020, 0x001E, 0x001D, 0x001B, 0x001A, 0x0018, 0x0017, 0x0015, - 0x0014, 0x0013, 0x0012, 0x0011, 0x0010, 0x000F, 0x000E, 0x000D, 0x000D, 0x000C, 0x000B, 0x000A, 0x000A, 0x0009, 0x0009, 0x0008, - 0x0008, 0x0007, 0x0007, 0x0006, 0x0006, 0x0006, 0x0005, 0x0005, 0x0005, 0x0004, 0x0004, 0x0004, 0x0004, 0x0003, 0x0003, 0x0003, - 0x0003, 0x0003, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7FFF, 0x78D6, 0x7213, 0x6BB1, 0x65AB, 0x5FFB, 0x5A9D, 0x558B, 0x50C2, 0x4C3E, 0x47FA, 0x43F3, + 0x4026, 0x3C8F, 0x392C, 0x35F9, 0x32F4, 0x301B, 0x2D6A, 0x2ADF, 0x2879, 0x2636, 0x2412, 0x220E, + 0x2026, 0x1E5A, 0x1CA7, 0x1B0D, 0x1989, 0x181C, 0x16C2, 0x157C, 0x1449, 0x1326, 0x1214, 0x1111, + 0x101D, 0x0F36, 0x0E5C, 0x0D8E, 0x0CCC, 0x0C15, 0x0B68, 0x0AC5, 0x0A2A, 0x0999, 0x090F, 0x088D, + 0x0813, 0x079F, 0x0732, 0x06CB, 0x066A, 0x060E, 0x05B7, 0x0565, 0x0518, 0x04CF, 0x048A, 0x0449, + 0x040C, 0x03D2, 0x039B, 0x0367, 0x0337, 0x0309, 0x02DD, 0x02B4, 0x028D, 0x0269, 0x0246, 0x0226, + 0x0207, 0x01EA, 0x01CE, 0x01B4, 0x019C, 0x0185, 0x016F, 0x015B, 0x0147, 0x0135, 0x0124, 0x0113, + 0x0104, 0x00F5, 0x00E7, 0x00DA, 0x00CE, 0x00C3, 0x00B8, 0x00AD, 0x00A4, 0x009B, 0x0092, 0x008A, + 0x0082, 0x007B, 0x0074, 0x006D, 0x0067, 0x0061, 0x005C, 0x0057, 0x0052, 0x004D, 0x0049, 0x0045, + 0x0041, 0x003D, 0x003A, 0x0037, 0x0033, 0x0031, 0x002E, 0x002B, 0x0029, 0x0026, 0x0024, 0x0022, + 0x0020, 0x001E, 0x001D, 0x001B, 0x001A, 0x0018, 0x0017, 0x0015, 0x0014, 0x0013, 0x0012, 0x0011, + 0x0010, 0x000F, 0x000E, 0x000D, 0x000D, 0x000C, 0x000B, 0x000A, 0x000A, 0x0009, 0x0009, 0x0008, + 0x0008, 0x0007, 0x0007, 0x0006, 0x0006, 0x0006, 0x0005, 0x0005, 0x0005, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, + 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, }; @@ -88,25 +92,23 @@ u8 dspScale2IndexTab[1024] = { }; float dspDLSVolTab[129] = { - 0.000000, 0.000062, 0.000248, 0.000558, 0.000992, 0.001550, 0.002232, 0.003038, - 0.003968, 0.005022, 0.006200, 0.007502, 0.008928, 0.010478, 0.012152, 0.013950, - 0.015872, 0.017918, 0.020088, 0.022382, 0.024800, 0.027342, 0.030008, 0.032798, - 0.035712, 0.038750, 0.041912, 0.045198, 0.048608, 0.052142, 0.055800, 0.059582, - 0.063488, 0.067518, 0.071672, 0.075950, 0.080352, 0.084878, 0.089528, 0.094302, - 0.099200, 0.104222, 0.109368, 0.114638, 0.120032, 0.125550, 0.131192, 0.136958, - 0.142848, 0.148862, 0.155000, 0.161262, 0.167648, 0.174158, 0.180792, 0.187550, - 0.194432, 0.201438, 0.208568, 0.215822, 0.223200, 0.230702, 0.238328, 0.246078, - 0.253953, 0.261951, 0.270073, 0.278319, 0.286689, 0.295183, 0.303801, 0.312543, - 0.321409, 0.330399, 0.339513, 0.348751, 0.358113, 0.367599, 0.377209, 0.386943, - 0.396801, 0.406783, 0.416889, 0.427119, 0.437473, 0.447951, 0.458553, 0.469279, - 0.480129, 0.491103, 0.502201, 0.513423, 0.524769, 0.536239, 0.547833, 0.559551, - 0.571393, 0.583359, 0.595449, 0.607663, 0.620001, 0.632463, 0.645049, 0.657759, - 0.670593, 0.683551, 0.696633, 0.709839, 0.723169, 0.736623, 0.750202, 0.763904, - 0.777730, 0.791680, 0.805754, 0.819952, 0.834274, 0.848720, 0.863290, 0.877984, - 0.892802, 0.907744, 0.922810, 0.938000, 0.953314, 0.968752, 0.984314, 1.000000, - 1.000000, -}; + 0.000000, 0.000062, 0.000248, 0.000558, 0.000992, 0.001550, 0.002232, 0.003038, 0.003968, + 0.005022, 0.006200, 0.007502, 0.008928, 0.010478, 0.012152, 0.013950, 0.015872, 0.017918, + 0.020088, 0.022382, 0.024800, 0.027342, 0.030008, 0.032798, 0.035712, 0.038750, 0.041912, + 0.045198, 0.048608, 0.052142, 0.055800, 0.059582, 0.063488, 0.067518, 0.071672, 0.075950, + 0.080352, 0.084878, 0.089528, 0.094302, 0.099200, 0.104222, 0.109368, 0.114638, 0.120032, + 0.125550, 0.131192, 0.136958, 0.142848, 0.148862, 0.155000, 0.161262, 0.167648, 0.174158, + 0.180792, 0.187550, 0.194432, 0.201438, 0.208568, 0.215822, 0.223200, 0.230702, 0.238328, + 0.246078, 0.253953, 0.261951, 0.270073, 0.278319, 0.286689, 0.295183, 0.303801, 0.312543, + 0.321409, 0.330399, 0.339513, 0.348751, 0.358113, 0.367599, 0.377209, 0.386943, 0.396801, + 0.406783, 0.416889, 0.427119, 0.437473, 0.447951, 0.458553, 0.469279, 0.480129, 0.491103, + 0.502201, 0.513423, 0.524769, 0.536239, 0.547833, 0.559551, 0.571393, 0.583359, 0.595449, + 0.607663, 0.620001, 0.632463, 0.645049, 0.657759, 0.670593, 0.683551, 0.696633, 0.709839, + 0.723169, 0.736623, 0.750202, 0.763904, 0.777730, 0.791680, 0.805754, 0.819952, 0.834274, + 0.848720, 0.863290, 0.877984, 0.892802, 0.907744, 0.922810, 0.938000, 0.953314, 0.968752, + 0.984314, 1.000000, 1.000000, +}; #ifdef __cplusplus } -#endif +#endif diff --git a/tools/clang-format.sh b/tools/clang-format.sh index 26cc5b52..92cf60de 100755 --- a/tools/clang-format.sh +++ b/tools/clang-format.sh @@ -8,8 +8,8 @@ function add_newline { fi } -FILES=$(git ls-files -o "*.h" "*.hpp" "*.c" "*.cpp") +FILES=$(git ls-files -c "*.h" "*.hpp" "*.c" "*.cpp") clang-format -i ${FILES} for f in ${FILES}; do add_newline $f -done \ No newline at end of file +done