From 879db82cd6b36a818063890cc425e5aa11633089 Mon Sep 17 00:00:00 2001 From: InfiniteC0re Date: Mon, 14 Apr 2025 17:42:59 +0500 Subject: [PATCH 1/4] Add clang-format, suppress annoying warnings --- .clang-format | 110 +++ Format-Code.bat | 5 + OpenJPOG/Source/AOptions.cpp | 103 ++- OpenJPOG/Source/AOptions.h | 18 +- OpenJPOG/Source/ARenderer.cpp | 56 +- OpenJPOG/Source/ARenderer.h | 36 +- OpenJPOG/Source/ASoundManager.cpp | 4 +- OpenJPOG/Source/ASoundManager.h | 6 +- OpenJPOG/Source/AVibrationManager.cpp | 2 +- OpenJPOG/Source/AVibrationManager.h | 6 +- OpenJPOG/Source/GUI/AGUIGameHUD.h | 8 +- OpenJPOG/Source/GUI/AGUISystem.cpp | 8 +- OpenJPOG/Source/GUI/AGUISystem.h | 10 +- OpenJPOG/Source/Movie/ABINKMoviePlayer.cpp | 421 ++++++------ OpenJPOG/Source/Movie/ABINKMoviePlayer.h | 51 +- OpenJPOG/Source/Movie/AMoviePlayer.h | 17 +- .../Source/States/AFrontEndSplashState.cpp | 16 +- OpenJPOG/Source/States/AFrontEndSplashState.h | 22 +- OpenJPOG/Source/States/AFrontEndState.cpp | 2 +- OpenJPOG/Source/States/AFrontEndState.h | 8 +- OpenJPOG/Source/States/AGameState.cpp | 2 +- OpenJPOG/Source/States/AGameState.h | 1 - OpenJPOG/Source/States/ARootState.cpp | 174 ++--- OpenJPOG/Source/States/ARootState.h | 49 +- OpenJPOG/Source/Tasks/ADummyTask.cpp | 2 +- OpenJPOG/Source/Tasks/ADummyTask.h | 5 +- OpenJPOG/Source/Tasks/AFrontEndController.cpp | 2 +- OpenJPOG/Source/Tasks/AFrontEndController.h | 2 +- .../Source/Tasks/ARootStateController.cpp | 6 +- OpenJPOG/Source/Tasks/ARootStateController.h | 14 +- OpenJPOG/Source/Tasks/ARootTask.cpp | 71 +- OpenJPOG/Source/Tasks/ARootTask.h | 45 +- OpenJPOG/Source/main.cpp | 28 +- OpenJPOG/Source/main.h | 33 +- .../TApplication/TApplication_Tests.cpp | 3 +- .../Source/TKernel/TCString_Tests.cpp | 6 +- .../UnitTests/Source/TKernel/TDList_Tests.cpp | 16 +- .../UnitTests/Source/TKernel/TDebug_Tests.cpp | 2 +- .../Source/TKernel/TFileLexer_Tests.cpp | 20 +- .../UnitTests/Source/TKernel/TFile_Tests.cpp | 2 +- .../Source/TKernel/TKernelInterface_Tests.cpp | 4 +- .../Source/TKernel/TManagedPointer_Tests.cpp | 2 +- .../Source/TKernel/TObject_Tests.cpp | 2 +- .../UnitTests/Source/TKernel/TUser_Tests.cpp | 4 +- .../Source/TRender/TResource_Tests.cpp | 2 +- Tools/UnitTests/Source/main.cpp | 4 +- Toshi/Include/TApplication/Defines.h | 16 +- Toshi/Include/TApplication/TApplication.h | 31 +- Toshi/Include/TGui/Defines.h | 16 +- Toshi/Include/TGui/TGUIActionMap.h | 2 +- Toshi/Include/TGui/TGUIDeserialisable.h | 2 +- Toshi/Include/TGui/TGUIInterface.h | 2 +- Toshi/Include/TGui/TGUIMemory.h | 8 +- Toshi/Include/TGui/TGUIScreen.h | 2 +- Toshi/Include/TGui/TGuiWidget.h | 11 +- Toshi/Include/TKernel/Defines.h | 16 +- Toshi/Include/TKernel/T2Iterator.h | 163 ++--- Toshi/Include/TKernel/TArray.h | 63 +- Toshi/Include/TKernel/TCString.h | 66 +- Toshi/Include/TKernel/TDLL.h | 14 +- Toshi/Include/TKernel/TDList.h | 241 ++++--- Toshi/Include/TKernel/TDebug.h | 95 +-- Toshi/Include/TKernel/TEvent.h | 37 +- Toshi/Include/TKernel/TFile.h | 317 ++++----- Toshi/Include/TKernel/TFileLexer.h | 145 ++-- Toshi/Include/TKernel/TFileLexerUTF8.h | 10 +- Toshi/Include/TKernel/TFreeList.h | 53 +- Toshi/Include/TKernel/THPTimer.h | 16 +- Toshi/Include/TKernel/TKernelInterface.h | 38 +- Toshi/Include/TKernel/TLString.h | 6 +- Toshi/Include/TKernel/TManagedPointer.h | 146 ++-- Toshi/Include/TKernel/TMath.h | 4 +- Toshi/Include/TKernel/TMatrix44.h | 3 +- Toshi/Include/TKernel/TMemory.h | 33 +- Toshi/Include/TKernel/TNTree.h | 20 +- Toshi/Include/TKernel/TNodeList.h | 212 +++--- Toshi/Include/TKernel/TNodeTree.h | 92 +-- Toshi/Include/TKernel/TObject.h | 177 ++--- Toshi/Include/TKernel/TPCString.h | 54 +- Toshi/Include/TKernel/TPile.h | 23 +- Toshi/Include/TKernel/TProfiler.h | 2 +- Toshi/Include/TKernel/TQList.h | 79 ++- Toshi/Include/TKernel/TQuaternion.h | 2 +- Toshi/Include/TKernel/TRefCounted.h | 9 +- Toshi/Include/TKernel/TScheduler.h | 35 +- Toshi/Include/TKernel/TSphere.h | 4 +- Toshi/Include/TKernel/TSystemTools.h | 35 +- Toshi/Include/TKernel/TTask.h | 28 +- Toshi/Include/TKernel/TThread.h | 10 +- Toshi/Include/TKernel/TUser.h | 36 +- Toshi/Include/TKernel/TVector2.h | 5 +- Toshi/Include/TKernel/TVector3.h | 2 +- Toshi/Include/TKernel/TVector4.h | 10 +- Toshi/Include/TKernel/TWString.h | 49 +- Toshi/Include/TKernel/Win/TNativeFileWin.h | 59 +- Toshi/Include/TKernel/Win/TThreadWin.h | 5 +- Toshi/Include/TRender/Defines.h | 16 +- Toshi/Include/TRender/TDBase.h | 7 +- Toshi/Include/TRender/TMaterialLibrary.h | 15 +- Toshi/Include/TRender/TModel.h | 18 +- Toshi/Include/TRender/TNullResource.h | 2 +- Toshi/Include/TRender/TRenderAdapter.h | 56 +- Toshi/Include/TRender/TRenderCapture.h | 19 +- Toshi/Include/TRender/TRenderContext.h | 4 +- Toshi/Include/TRender/TRenderInterface.h | 135 ++-- Toshi/Include/TRender/TResource.h | 43 +- Toshi/Include/TRender/TSceneObject.h | 2 +- Toshi/Include/TRender/TShader.h | 26 +- Toshi/Include/TRender/TTextureFactory.h | 32 +- Toshi/Include/TRender/TTextureResource.h | 26 +- .../TRender/TVertexFactoryResourceInterface.h | 27 +- .../TRender/TVertexPoolResourceInterface.h | 42 +- Toshi/Include/TRender/TViewport.h | 2 +- Toshi/Include/TRenderD3D/Defines.h | 16 +- .../TRenderD3D/TD3DVertexBlockResource.h | 36 +- .../TRenderD3D/TD3DVertexFactoryResource.h | 8 +- .../TRenderD3D/TD3DVertexPoolResource.h | 12 +- Toshi/Include/TRenderD3D/TMSWindow.h | 27 +- Toshi/Include/TRenderD3D/TRenderCaptureD3D.h | 6 +- Toshi/Include/TRenderD3D/TRenderContextD3D.h | 3 +- Toshi/Include/TRenderD3D/TRenderD3DAdapter.h | 130 ++-- .../Include/TRenderD3D/TRenderD3DInterface.h | 102 ++- Toshi/Include/TRenderD3D/TTextureFactoryD3D.h | 10 +- .../Include/TRenderD3D/TTextureResourceD3D.h | 43 +- Toshi/Include/TTerrain/Defines.h | 16 +- Toshi/Include/TTerrain/TTerrainInterface.h | 6 +- Toshi/Include/TTerrain/TTerrainSection.h | 25 +- Toshi/Include/Toshi/Defines.h | 76 ++- Toshi/Include/Toshi/Platform.h | 22 +- Toshi/Plugins/Include/Defines.h | 16 +- .../Include/PPropertyParser/PProperties.h | 51 +- .../Include/PPropertyParser/PPropertyBlock.h | 48 +- .../Include/PPropertyParser/PPropertyName.h | 6 +- .../Include/PPropertyParser/PPropertyReader.h | 26 +- .../Include/PPropertyParser/PPropertyValue.h | 246 +++---- .../Source/PPropertyParser/PProperties.cpp | 2 +- .../Source/PPropertyParser/PPropertyBlock.cpp | 1 - .../Source/PPropertyParser/PPropertyName.cpp | 30 +- .../PPropertyParser/PPropertyReader.cpp | 40 +- .../Source/PPropertyParser/PPropertyValue.cpp | 634 +++++++++--------- Toshi/Source/TApplication/TApplication.cpp | 24 +- Toshi/Source/TGui/TGUIActionMap.cpp | 2 +- Toshi/Source/TGui/TGUIDeserialisable.cpp | 2 +- Toshi/Source/TGui/TGUIInterface.cpp | 2 +- Toshi/Source/TGui/TGUIMemory.cpp | 8 +- Toshi/Source/TGui/TGUIScreen.cpp | 2 +- Toshi/Source/TGui/TGuiWidget.cpp | 2 +- Toshi/Source/TKernel/TCString.cpp | 60 +- Toshi/Source/TKernel/TDLL.cpp | 12 +- Toshi/Source/TKernel/TDList.cpp | 2 +- Toshi/Source/TKernel/TDebug.cpp | 94 ++- Toshi/Source/TKernel/TEvent.cpp | 8 +- Toshi/Source/TKernel/TFile.cpp | 111 +-- Toshi/Source/TKernel/TFileLexer.cpp | 338 +++++----- Toshi/Source/TKernel/TFileLexerUTF8.cpp | 2 +- Toshi/Source/TKernel/TFreeList.cpp | 42 +- Toshi/Source/TKernel/THPTimer.cpp | 6 +- Toshi/Source/TKernel/TKernelInterface.cpp | 44 +- Toshi/Source/TKernel/TLString.cpp | 2 +- Toshi/Source/TKernel/TMatrix44.cpp | 2 +- Toshi/Source/TKernel/TMemory.cpp | 36 +- Toshi/Source/TKernel/TObject.cpp | 56 +- Toshi/Source/TKernel/TPCString.cpp | 10 +- Toshi/Source/TKernel/TPile.cpp | 19 +- Toshi/Source/TKernel/TProfiler.cpp | 1 - Toshi/Source/TKernel/TQList.cpp | 2 +- Toshi/Source/TKernel/TScheduler.cpp | 52 +- Toshi/Source/TKernel/TSystemTools.cpp | 22 +- Toshi/Source/TKernel/TTask.cpp | 6 +- Toshi/Source/TKernel/TThread.cpp | 2 +- Toshi/Source/TKernel/TUser.cpp | 22 +- Toshi/Source/TKernel/TVector2.cpp | 2 +- Toshi/Source/TKernel/TVector3.cpp | 2 +- Toshi/Source/TKernel/TWString.cpp | 29 +- Toshi/Source/TKernel/Win/TNativeFileWin.cpp | 606 ++++++++--------- Toshi/Source/TKernel/Win/TThreadWin.cpp | 6 +- Toshi/Source/TRender/TMaterialLibrary.cpp | 9 +- Toshi/Source/TRender/TModel.cpp | 1 - Toshi/Source/TRender/TNullResource.cpp | 2 +- Toshi/Source/TRender/TRenderAdapter.cpp | 2 +- Toshi/Source/TRender/TRenderCapture.cpp | 2 +- Toshi/Source/TRender/TRenderInterface.cpp | 110 +-- Toshi/Source/TRender/TResource.cpp | 24 +- Toshi/Source/TRender/TSceneObject.cpp | 2 +- Toshi/Source/TRender/TShader.cpp | 2 +- Toshi/Source/TRender/TTextureFactory.cpp | 20 +- Toshi/Source/TRender/TTextureResource.cpp | 14 +- .../TVertexFactoryResourceInterface.cpp | 12 +- .../TRender/TVertexPoolResourceInterface.cpp | 20 +- Toshi/Source/TRender/TViewport.cpp | 2 +- .../TRenderD3D/TD3DVertexBlockResource.cpp | 10 +- .../TRenderD3D/TD3DVertexFactoryResource.cpp | 30 +- .../TRenderD3D/TD3DVertexPoolResource.cpp | 12 +- Toshi/Source/TRenderD3D/TMSWindow.cpp | 63 +- Toshi/Source/TRenderD3D/TRenderCaptureD3D.cpp | 22 +- Toshi/Source/TRenderD3D/TRenderContextD3D.cpp | 2 +- Toshi/Source/TRenderD3D/TRenderD3DAdapter.cpp | 44 +- .../Source/TRenderD3D/TRenderD3DInterface.cpp | 145 ++-- .../Source/TRenderD3D/TTextureFactoryD3D.cpp | 34 +- .../Source/TRenderD3D/TTextureResourceD3D.cpp | 182 +++-- Toshi/Source/TTerrain/TTerrainInterface.cpp | 91 ++- Toshi/Source/TTerrain/TTerrainSection.cpp | 2 +- premake5.lua | 2 +- vendor/clang-format.exe | Bin 0 -> 2898376 bytes 204 files changed, 4307 insertions(+), 4216 deletions(-) create mode 100644 .clang-format create mode 100644 Format-Code.bat create mode 100644 vendor/clang-format.exe diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..86efe6e --- /dev/null +++ b/.clang-format @@ -0,0 +1,110 @@ +--- +Language: Cpp +AccessModifierOffset: -4 +AlignAfterOpenBracket: Align +AlignConsecutiveMacros: true +AlignConsecutiveAssignments: true +AlignConsecutiveDeclarations: true +AlignEscapedNewlines: Left +AlignOperands: false +AlignTrailingComments: true +AllowAllArgumentsOnNextLine: true +AllowAllConstructorInitializersOnNextLine: true +AllowAllParametersOfDeclarationOnNextLine: true +AllowShortCaseLabelsOnASingleLine: true +AllowShortFunctionsOnASingleLine: All +AllowShortLambdasOnASingleLine: Inline +AllowShortIfStatementsOnASingleLine: AllIfsAndElse +AllowShortLoopsOnASingleLine: true +AllowShortBlocksOnASingleLine: true +AlwaysBreakAfterDefinitionReturnType: None +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: No +BinPackArguments: true +BreakBeforeBraces: Custom +BraceWrapping: + AfterCaseLabel: false + AfterClass: true + AfterControlStatement: MultiLine + AfterEnum: true + AfterFunction: true + AfterNamespace: true + AfterObjCDeclaration: true + AfterStruct: true + AfterUnion: true + AfterExternBlock: true + BeforeCatch: true + BeforeElse: true + IndentBraces: false + SplitEmptyFunction: false + SplitEmptyRecord: false + SplitEmptyNamespace: false +BreakBeforeBinaryOperators: None +BreakBeforeInheritanceComma: false +BreakBeforeTernaryOperators: false +BreakAfterJavaFieldAnnotations: false +BreakStringLiterals: false +ColumnLimit: 0 +CommentPragmas: '^ IWYU pragma:' +CompactNamespaces: false +ConstructorInitializerAllOnOneLineOrOnePerLine: true +ConstructorInitializerIndentWidth: 4 +ContinuationIndentWidth: 4 +Cpp11BracedListStyle: false +DerivePointerAlignment: false +DisableFormat: false +ExperimentalAutoDetectBinPacking: false +FixNamespaceComments: true +IndentCaseLabels: true +IndentGotoLabels: true +IndentPPDirectives: AfterHash +PPIndentWidth: 2 +InsertNewlineAtEOF: true +IndentWidth: 4 +IndentWrappedFunctionNames: false +JavaScriptQuotes: Leave +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: true +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 10000 +NamespaceIndentation: None +ObjCBinPackProtocolList: Auto +ObjCBlockIndentWidth: 4 +ObjCSpaceAfterProperty: false +ObjCSpaceBeforeProtocolList: true +PenaltyBreakAssignment: 2 +PenaltyBreakBeforeFirstCallParameter: 19 +PenaltyBreakComment: 300 +PenaltyBreakFirstLessLess: 120 +PenaltyBreakString: 1000 +PenaltyBreakTemplateDeclaration: 10 +PenaltyExcessCharacter: 1000000 +PenaltyReturnTypeOnItsOwnLine: 1000 +PointerAlignment: Right +ReflowComments: false +SortIncludes: false +SortUsingDeclarations: false +SpaceAfterLogicalNot: false +SpaceAfterTemplateKeyword: true +SpaceBeforeAssignmentOperators: true +SpaceBeforeCpp11BracedList: false +SpaceBeforeCtorInitializerColon: true +SpaceBeforeInheritanceColon: true +SpaceBeforeParens: ControlStatements +SpaceBeforeRangeBasedForLoopColon: true +SpaceInEmptyBlock: false +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: false +SpacesInContainerLiterals: false +SpacesInCStyleCastParentheses: false +SpacesInParentheses: false +SpacesInSquareBrackets: false +Standard: Latest +TabWidth: 4 +UseTab: AlignWithSpaces +BreakInheritanceList: BeforeComma +BreakConstructorInitializers: BeforeComma +SpaceAfterCStyleCast: false diff --git a/Format-Code.bat b/Format-Code.bat new file mode 100644 index 0000000..9d80474 --- /dev/null +++ b/Format-Code.bat @@ -0,0 +1,5 @@ +@echo off +set clang_format=%cd%\vendor\clang-format.exe +set directories=(OpenJPOG\Source, OpenJPOG\Include, Toshi\Source, Toshi\Include, Toshi\Plugins\Source, Toshi\Plugins\Include) + +for %%P in %directories% do (for %%G in (.cpp, .hpp, .h) do forfiles /p .\%%P\ /s /m *%%G /c "cmd /c %clang_format% -i @path") \ No newline at end of file diff --git a/OpenJPOG/Source/AOptions.cpp b/OpenJPOG/Source/AOptions.cpp index 8ec4a6b..b2b0b04 100644 --- a/OpenJPOG/Source/AOptions.cpp +++ b/OpenJPOG/Source/AOptions.cpp @@ -3,89 +3,88 @@ TOSHI_NAMESPACE_USING -TPCCHAR AOptions::sm_szOptionsDir = TNULL; -TPCCHAR AOptions::sm_szOptionsName = "Options"; -AOptions *AOptions::ms_pSingleton = TNULL; +TPCCHAR AOptions::sm_szOptionsDir = TNULL; +TPCCHAR AOptions::sm_szOptionsName = "Options"; +AOptions *AOptions::ms_pSingleton = TNULL; AOptions::AOptions() { - m_iAutoSaveState = 1; - ms_pSingleton = this; - PProperties *props = new PProperties(); - m_pUnkProps = props; - m_pCurProps = props; + m_iAutoSaveState = 1; + ms_pSingleton = this; + PProperties *props = new PProperties(); + m_pUnkProps = props; + m_pCurProps = props; } TBOOL AOptions::GetOption(TPCCHAR a_szProp, TINT &a_iValue) { - const PPropertyValue *value = m_pCurProps->GetProperty(TSystem::GetCStringPool()->Get(a_szProp)); - if (!value) { - return TFALSE; - } - if (!value->CanBeType(PPropertyValue::TYPE_INT)) { - return TFALSE; - } - a_iValue = value->GetInteger(); - return TTRUE; + const PPropertyValue *value = m_pCurProps->GetProperty(TSystem::GetCStringPool()->Get(a_szProp)); + if (!value) { + return TFALSE; + } + if (!value->CanBeType(PPropertyValue::TYPE_INT)) { + return TFALSE; + } + a_iValue = value->GetInteger(); + return TTRUE; } AOptions::Result AOptions::LoadOptions() { - AOptions::Result result = LoadOptions(-1, -1, sm_szOptionsDir, sm_szOptionsName); - return result; + AOptions::Result result = LoadOptions(-1, -1, sm_szOptionsDir, sm_szOptionsName); + return result; } AOptions::Result AOptions::LoadOptions(TINT a_int, TINT a_int2, const Toshi::TCString &a_szOptionsDir, const Toshi::TCString &a_szOptionsName) { - PPropertyReader reader = PPropertyReader(); - Toshi::TCString filepath = Toshi::TCString().Format("%s/%s.ini", a_szOptionsDir.GetString(), a_szOptionsName.GetString()); - TBOOL res = reader.Open("Options.ini"); - if (!res) { - return RESULT_ERROR; - } - PProperties *props = new PProperties(); - res = reader.LoadPropertyBlock(*props); - if (!res) { - return RESULT_ERROR; - } - if (m_pUnkProps) { - delete m_pUnkProps; - } - m_pUnkProps = props; - m_pCurProps = props; - return RESULT_OK; + PPropertyReader reader = PPropertyReader(); + Toshi::TCString filepath = Toshi::TCString().Format("%s/%s.ini", a_szOptionsDir.GetString(), a_szOptionsName.GetString()); + TBOOL res = reader.Open("Options.ini"); + if (!res) { + return RESULT_ERROR; + } + PProperties *props = new PProperties(); + res = reader.LoadPropertyBlock(*props); + if (!res) { + return RESULT_ERROR; + } + if (m_pUnkProps) { + delete m_pUnkProps; + } + m_pUnkProps = props; + m_pCurProps = props; + return RESULT_OK; } AOptionsLogic::AScreenRes AOptionsLogic::m_oScreenRes = AOptionsLogic::AScreenRes(640, 480, 32, 0); AOptionsLogic::AOptionsLogic() { - } TBOOL AOptionsLogic::GetOption(OPTION a_eOption, AScreenRes &a_rScreenRes) { - AOptionSetting setting; - setting.m_eOption = a_eOption; - OptionGet(setting); - a_rScreenRes = *(AScreenRes *)(&setting + 1); - return setting.m_bFetched; + AOptionSetting setting; + setting.m_eOption = a_eOption; + OptionGet(setting); + a_rScreenRes = *(AScreenRes *)(&setting + 1); + return setting.m_bFetched; } TBOOL AOptionsLogic::SetOption(OPTION a_eOption, AScreenRes &a_rScreenRes) { - return TBOOL(); + return TBOOL(); } void AOptionsLogic::OptionGet(AOptionSetting &a_rSetting) { - // GetShaders - AScreenRes *screenRes = (AScreenRes *)(&a_rSetting + 1); - switch (a_rSetting.m_eOption) { - case OPTION_SCREENRES: - screenRes = &m_oScreenRes; - break; - default: - break; - } + // GetShaders + AScreenRes *screenRes = (AScreenRes *)(&a_rSetting + 1); + switch (a_rSetting.m_eOption) { + case OPTION_SCREENRES: + screenRes = &m_oScreenRes; + break; + default: + break; + } } diff --git a/OpenJPOG/Source/AOptions.h b/OpenJPOG/Source/AOptions.h index ebe3223..95b0e96 100644 --- a/OpenJPOG/Source/AOptions.h +++ b/OpenJPOG/Source/AOptions.h @@ -13,7 +13,7 @@ class AOptionsLogic struct AOptionSetting { OPTION m_eOption; - TBOOL m_bFetched; + TBOOL m_bFetched; }; struct AScreenRes @@ -23,12 +23,13 @@ class AOptionsLogic TINT m_iScreenDepth; TINT m_iScreenUnk; }; + public: AOptionsLogic(); TBOOL GetOption(OPTION a_eOption, AScreenRes &a_rScreenRes); TBOOL SetOption(OPTION a_eOption, AScreenRes &a_rScreenRes); - void OptionGet(AOptionSetting &a_rSetting); + void OptionGet(AOptionSetting &a_rSetting); private: static AScreenRes m_oScreenRes; @@ -41,7 +42,7 @@ class AOptions enum Result { - RESULT_OK = 0, + RESULT_OK = 0, RESULT_ERROR = 3 }; @@ -56,15 +57,14 @@ class AOptions } private: - static TPCCHAR sm_szOptionsName; - static TPCCHAR sm_szOptionsDir; + static TPCCHAR sm_szOptionsName; + static TPCCHAR sm_szOptionsDir; static const TINT sm_iSlot = -1; static const TINT sm_iPort = -1; static AOptions *ms_pSingleton; - TINT m_iAutoSaveState; // 0x1C - PProperties *m_pUnkProps; // 0x20 - PProperties *m_pCurProps; // 0x24 + TINT m_iAutoSaveState; // 0x1C + PProperties *m_pUnkProps; // 0x20 + PProperties *m_pCurProps; // 0x24 }; - diff --git a/OpenJPOG/Source/ARenderer.cpp b/OpenJPOG/Source/ARenderer.cpp index c70d6c7..d38e4fb 100644 --- a/OpenJPOG/Source/ARenderer.cpp +++ b/OpenJPOG/Source/ARenderer.cpp @@ -15,14 +15,14 @@ const TMatrix44 ARenderer::ms_mLightDir = TMatrix44(); ARenderer::ARenderer() { - m_pViewport = TNULL; - m_fFarClip = 160.0f; + m_pViewport = TNULL; + m_fFarClip = 160.0f; m_pcScreenCaptureBuffer = TNULL; } TBOOL ARenderer::OnCreate() { - TRenderInterface* pRenderer = TRenderInterface::GetRenderer(); + TRenderInterface *pRenderer = TRenderInterface::GetRenderer(); //pRenderer->GetSystemResource(TRenderInterface::SYSRESOURCE_SHSYS); //pRenderer->GetSystemResource(TRenderInterface::SYSRESOURCE_SCENE); return TTask::OnCreate(); @@ -45,8 +45,8 @@ TBOOL ARenderer::OnUpdate(TFLOAT a_fDeltaTime) void ARenderer::UpdateMovie(TFLOAT a_fDeltaTime) { - ARootStateController* pGameStateController = g_oTheApp.GetRootTask()->GetRootStateController(); - AMoviePlayer* pMoviePlayer = g_oTheApp.GetRootTask()->GetMoviePlayer(); + ARootStateController *pGameStateController = g_oTheApp.GetRootTask()->GetRootStateController(); + AMoviePlayer *pMoviePlayer = g_oTheApp.GetRootTask()->GetMoviePlayer(); if (pMoviePlayer && pMoviePlayer->IsMoviePlaying()) { pMoviePlayer->Update(a_fDeltaTime); } @@ -54,8 +54,8 @@ void ARenderer::UpdateMovie(TFLOAT a_fDeltaTime) ARenderer::MoviePlayerState ARenderer::RenderMovie(TFLOAT a_fDeltaTime) { - ARootStateController * pGameStateController = g_oTheApp.GetRootTask()->GetRootStateController(); - AMoviePlayer *pMoviePlayer = g_oTheApp.GetRootTask()->GetMoviePlayer(); + ARootStateController *pGameStateController = g_oTheApp.GetRootTask()->GetRootStateController(); + AMoviePlayer *pMoviePlayer = g_oTheApp.GetRootTask()->GetMoviePlayer(); if (!pMoviePlayer || !pMoviePlayer->IsMoviePlaying()) { return MOVIEPLAYERSTATE_STOPPED; } @@ -63,30 +63,30 @@ ARenderer::MoviePlayerState ARenderer::RenderMovie(TFLOAT a_fDeltaTime) return MOVIEPLAYERSTATE_RUNNING; } -void ARenderer::CheckScreenCapture(TRenderInterface* a_pRenderer) +void ARenderer::CheckScreenCapture(TRenderInterface *a_pRenderer) { switch (m_eCaptureState) { - case Toshi::ARenderer::CAPTURESTATE_CREATE: - m_pCapture = a_pRenderer->CreateCapture(); - m_pCapture->Create(TRenderCapture::FORMAT_RGBA32, m_iCaptureWidth, m_iCaptureHeight); - m_pCapture->Request(); - m_eCaptureState = CAPTURESTATE_POLL; - break; - case Toshi::ARenderer::CAPTURESTATE_POLL: - if (m_pCapture->Poll()) { - m_eCaptureState = CAPTURESTATE_FINISHED; - if (m_pcScreenCaptureBuffer) { - delete m_pcScreenCaptureBuffer; + case Toshi::ARenderer::CAPTURESTATE_CREATE: + m_pCapture = a_pRenderer->CreateCapture(); + m_pCapture->Create(TRenderCapture::FORMAT_RGBA32, m_iCaptureWidth, m_iCaptureHeight); + m_pCapture->Request(); + m_eCaptureState = CAPTURESTATE_POLL; + break; + case Toshi::ARenderer::CAPTURESTATE_POLL: + if (m_pCapture->Poll()) { + m_eCaptureState = CAPTURESTATE_FINISHED; + if (m_pcScreenCaptureBuffer) { + delete m_pcScreenCaptureBuffer; + } + m_pcScreenCaptureBuffer = new TCHAR[m_iCaptureWidth * m_iCaptureHeight * 4]; + TSystem::MemCopy(m_pcScreenCaptureBuffer, m_pCapture->ObtainBuffer(), m_iCaptureWidth * m_iCaptureHeight * 4); + m_pCapture->Destroy(); + a_pRenderer->DestroyCapture(m_pCapture); + m_pCapture = TNULL; } - m_pcScreenCaptureBuffer = new TCHAR[m_iCaptureWidth * m_iCaptureHeight * 4]; - TSystem::MemCopy(m_pcScreenCaptureBuffer, m_pCapture->ObtainBuffer(), m_iCaptureWidth * m_iCaptureHeight * 4); - m_pCapture->Destroy(); - a_pRenderer->DestroyCapture(m_pCapture); - m_pCapture = TNULL; - } - break; - default: - break; + break; + default: + break; } } diff --git a/OpenJPOG/Source/ARenderer.h b/OpenJPOG/Source/ARenderer.h index 718e92b..f94ca27 100644 --- a/OpenJPOG/Source/ARenderer.h +++ b/OpenJPOG/Source/ARenderer.h @@ -30,7 +30,7 @@ class ARenderer : public TTask virtual TBOOL OnCreate() override; virtual TBOOL OnUpdate(TFLOAT a_fDeltaTime) override; - + // $JPOG: FUNCTION 004787b0 void UpdateMovie(TFLOAT a_fDeltaTime); // $JPOG: FUNCTION 00478e10 @@ -38,14 +38,14 @@ class ARenderer : public TTask private: // $JPOG: FUNCTION 00479140 - void CheckScreenCapture(TRenderInterface* a_pRenderer); -public: + void CheckScreenCapture(TRenderInterface *a_pRenderer); - TFLOAT GetCurrentRenderTime() { return m_fCurRenderTime; } - TFLOAT GetFarClip() { return m_fFarClip; } - TFLOAT GetLastRenderTime() { return m_fLastRenderTime; } - TPCHAR GetScreenCaptureBuffer() { return m_pcScreenCaptureBuffer; } - TViewport* GetViewport() { return m_pViewport; } +public: + TFLOAT GetCurrentRenderTime() { return m_fCurRenderTime; } + TFLOAT GetFarClip() { return m_fFarClip; } + TFLOAT GetLastRenderTime() { return m_fLastRenderTime; } + TPCHAR GetScreenCaptureBuffer() { return m_pcScreenCaptureBuffer; } + TViewport *GetViewport() { return m_pViewport; } public: static const TFLOAT ms_fMainZMax; @@ -57,15 +57,15 @@ class ARenderer : public TTask static const TMatrix44 ms_mLightDir; private: - TFLOAT m_fLastRenderTime; // 0x24 - TFLOAT m_fCurRenderTime; // 0x28 - TViewport* m_pViewport; // 0x2C - TFLOAT m_fFarClip; // 0x38 - CaptureState m_eCaptureState; // 0x3C - TRenderCapture* m_pCapture; // 0x40 - TPCHAR m_pcScreenCaptureBuffer; // 0x44 - TINT m_iCaptureWidth; // 0x48 - TINT m_iCaptureHeight; // 0x4C + TFLOAT m_fLastRenderTime; // 0x24 + TFLOAT m_fCurRenderTime; // 0x28 + TViewport *m_pViewport; // 0x2C + TFLOAT m_fFarClip; // 0x38 + CaptureState m_eCaptureState; // 0x3C + TRenderCapture *m_pCapture; // 0x40 + TPCHAR m_pcScreenCaptureBuffer; // 0x44 + TINT m_iCaptureWidth; // 0x48 + TINT m_iCaptureHeight; // 0x4C }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/OpenJPOG/Source/ASoundManager.cpp b/OpenJPOG/Source/ASoundManager.cpp index d27f72e..4ed740b 100644 --- a/OpenJPOG/Source/ASoundManager.cpp +++ b/OpenJPOG/Source/ASoundManager.cpp @@ -8,11 +8,11 @@ TFLOAT ASoundManager::GetPitch(TINT a_iChannel) const { TINT freq; if (a_iChannel != -1) { - FSOUND_SAMPLE* pSample = FSOUND_GetCurrentSample(a_iChannel); + FSOUND_SAMPLE *pSample = FSOUND_GetCurrentSample(a_iChannel); if (pSample) { FSOUND_Sample_GetDefaults(pSample, &freq, NULL, NULL, NULL); return (TFLOAT)FSOUND_GetFrequency(a_iChannel) / freq; } } return 0.0f; -} \ No newline at end of file +} diff --git a/OpenJPOG/Source/ASoundManager.h b/OpenJPOG/Source/ASoundManager.h index 936c678..187f166 100644 --- a/OpenJPOG/Source/ASoundManager.h +++ b/OpenJPOG/Source/ASoundManager.h @@ -5,7 +5,6 @@ class ASample { - }; class ASoundManager : public Toshi::TObject @@ -14,15 +13,14 @@ class ASoundManager : public Toshi::TObject struct AChannel { - }; protected: - inline static ASample** s_aSamples = TNULL; + inline static ASample **s_aSamples = TNULL; public: TFLOAT GetPitch(TINT a_iChannel) const; - TBOOL GetPaused(TINT a_iChannel) const { return a_iChannel != -1 ? FSOUND_GetPaused(a_iChannel) : TFALSE; } + TBOOL GetPaused(TINT a_iChannel) const { return a_iChannel != -1 ? FSOUND_GetPaused(a_iChannel) : TFALSE; } TFLOAT GetPan(TINT a_iChannel) const { return a_iChannel != -1 ? -1.0f + (FSOUND_GetPan(a_iChannel) / 127.5f) : 0.0f; } TFLOAT GetSFXVolume() { return 1.0f; }; }; diff --git a/OpenJPOG/Source/AVibrationManager.cpp b/OpenJPOG/Source/AVibrationManager.cpp index b77139d..9be8fde 100644 --- a/OpenJPOG/Source/AVibrationManager.cpp +++ b/OpenJPOG/Source/AVibrationManager.cpp @@ -2,4 +2,4 @@ TOSHI_NAMESPACE_USING -IMPLEMENT_DYNCREATE(AVibrationManager, TTask); \ No newline at end of file +IMPLEMENT_DYNCREATE(AVibrationManager, TTask); diff --git a/OpenJPOG/Source/AVibrationManager.h b/OpenJPOG/Source/AVibrationManager.h index 839fc49..5163540 100644 --- a/OpenJPOG/Source/AVibrationManager.h +++ b/OpenJPOG/Source/AVibrationManager.h @@ -5,11 +5,11 @@ class AVibrationManager : public Toshi::TTask { DECLARE_DYNAMIC(AVibrationManager); + public: - AVibrationManager() = default; + AVibrationManager() = default; virtual ~AVibrationManager() = default; private: - private: -}; \ No newline at end of file +}; diff --git a/OpenJPOG/Source/GUI/AGUIGameHUD.h b/OpenJPOG/Source/GUI/AGUIGameHUD.h index e14d807..3e8a899 100644 --- a/OpenJPOG/Source/GUI/AGUIGameHUD.h +++ b/OpenJPOG/Source/GUI/AGUIGameHUD.h @@ -7,7 +7,6 @@ class AGUIGameHUD { public: - enum HUDComponents { @@ -54,8 +53,7 @@ class AGUIGameHUD } private: - Toshi::TLString m_LSHintMessage; // 0x4 - HUDComponents m_eHUDComponents; // 0x8 - Toshi::TCString m_szBKGMatLib; // 0x2C + Toshi::TLString m_LSHintMessage; // 0x4 + HUDComponents m_eHUDComponents; // 0x8 + Toshi::TCString m_szBKGMatLib; // 0x2C }; - diff --git a/OpenJPOG/Source/GUI/AGUISystem.cpp b/OpenJPOG/Source/GUI/AGUISystem.cpp index 9065503..212d78b 100644 --- a/OpenJPOG/Source/GUI/AGUISystem.cpp +++ b/OpenJPOG/Source/GUI/AGUISystem.cpp @@ -12,8 +12,8 @@ AGUISystem::AGUISystem() TBOOL AGUISystem::OnCreate() { - auto pRenderer = g_oTheApp.GetRootTask()->GetRenderInterface(); - m_pNullResource = (TNullResource*)pRenderer->CreateResource(&TGetClass(TNullResource), TNULL, TNULL); + auto pRenderer = g_oTheApp.GetRootTask()->GetRenderInterface(); + m_pNullResource = (TNullResource *)pRenderer->CreateResource(&TGetClass(TNullResource), TNULL, TNULL); m_pGUIInterface->Create(); return TBOOL(); } @@ -27,7 +27,7 @@ void AGUISystem::UpdateHUDComponets() { } -AGUISystem* TOSHI_API AGUISystem::GetGUISystem() +AGUISystem *TOSHI_API AGUISystem::GetGUISystem() { return g_oTheApp.GetRootTask()->GetGUISystem(); -} \ No newline at end of file +} diff --git a/OpenJPOG/Source/GUI/AGUISystem.h b/OpenJPOG/Source/GUI/AGUISystem.h index 7784865..bc59302 100644 --- a/OpenJPOG/Source/GUI/AGUISystem.h +++ b/OpenJPOG/Source/GUI/AGUISystem.h @@ -9,22 +9,20 @@ class AGUISystem : public Toshi::TTask { DECLARE_DYNAMIC(AGUISystem) public: - AGUISystem(); virtual TBOOL OnCreate() override; virtual TBOOL OnUpdate(TFLOAT a_fDeltaTime) override; - void UpdateHUDComponets(); + void UpdateHUDComponets(); Toshi::TManagedPtr GetGUIInterface() const { return m_pGUIInterface; } - static AGUISystem* TOSHI_API GetGUISystem(); + static AGUISystem *TOSHI_API GetGUISystem(); private: - Toshi::TGUIInterface* m_pGUIInterface; // 0x24 - Toshi::TNullResource* m_pNullResource; // 0x140 + Toshi::TGUIInterface *m_pGUIInterface; // 0x24 + Toshi::TNullResource *m_pNullResource; // 0x140 }; - diff --git a/OpenJPOG/Source/Movie/ABINKMoviePlayer.cpp b/OpenJPOG/Source/Movie/ABINKMoviePlayer.cpp index 2987a43..289a47d 100644 --- a/OpenJPOG/Source/Movie/ABINKMoviePlayer.cpp +++ b/OpenJPOG/Source/Movie/ABINKMoviePlayer.cpp @@ -9,273 +9,272 @@ static U32 s_iPlayForegroundFast = 0; ABINKMoviePlayer::ABINKMoviePlayer() { - m_bHasMovieStopped = TTRUE; - m_bIsBINKInitialized = TFALSE; - m_hBink = NULL; - m_iFrameBufferHeight = 0; - m_iFrameBufferWidth = 0; - m_pFrameBufferBits = TNULL; - RADSetMemory(RADMEMALLOC, RADMEMFREE); - m_pTextures[0] = TNULL; - m_pTextures[1] = TNULL; - m_pTextures[2] = TNULL; - m_pTextures[3] = TNULL; - m_pTextures[4] = TNULL; - m_pTextures[5] = TNULL; - m_pTextures[6] = TNULL; - m_pTextures[7] = TNULL; - m_iCurrentTextureIndex = 0; - SetFrameReady(TFALSE); + m_bHasMovieStopped = TTRUE; + m_bIsBINKInitialized = TFALSE; + m_hBink = NULL; + m_iFrameBufferHeight = 0; + m_iFrameBufferWidth = 0; + m_pFrameBufferBits = TNULL; + RADSetMemory(RADMEMALLOC, RADMEMFREE); + m_pTextures[0] = TNULL; + m_pTextures[1] = TNULL; + m_pTextures[2] = TNULL; + m_pTextures[3] = TNULL; + m_pTextures[4] = TNULL; + m_pTextures[5] = TNULL; + m_pTextures[6] = TNULL; + m_pTextures[7] = TNULL; + m_iCurrentTextureIndex = 0; + SetFrameReady(TFALSE); } TBOOL ABINKMoviePlayer::InitializeMoviePlayer() { - if (!m_bIsBINKInitialized) { - InitializeAudioResource(); - InitializeVideoResource(); - m_bIsBINKInitialized = TTRUE; - } - return TFALSE; + if (!m_bIsBINKInitialized) { + InitializeAudioResource(); + InitializeVideoResource(); + m_bIsBINKInitialized = TTRUE; + } + return TFALSE; } TBOOL ABINKMoviePlayer::ShutdownMoviePlayer() { - if (m_bIsBINKInitialized) { - FreeAudioResource(); - FreeVideoResource(); - m_bIsBINKInitialized = TFALSE; - SetFrameReady(TFALSE); - } - return TFALSE; + if (m_bIsBINKInitialized) { + FreeAudioResource(); + FreeVideoResource(); + m_bIsBINKInitialized = TFALSE; + SetFrameReady(TFALSE); + } + return TFALSE; } TBOOL ABINKMoviePlayer::StartMovie(TPCHAR a_szMovieName, TBOOL a_bUnk1, TPCHAR a_szUnk2, TBOOL a_bUseLocale) { - TRenderInterface* renderer = g_oTheApp.GetRootTask()->GetRenderInterface(); - - if (a_szMovieName) { - Toshi::TSystem::StringCopy(m_szMovieFileName, a_szMovieName, -1); - } - else { - Toshi::TSystem::MemSet(m_szMovieFileName, 0, sizeof(m_szMovieFileName)); - } - - if (a_szUnk2) { - Toshi::TSystem::StringCopy(m_szMovieName, a_szUnk2, -1); - } - else { - Toshi::TSystem::MemSet(m_szMovieName, 0, sizeof(m_szMovieName)); - } - - TCHAR buffer3[256]; - if (a_bUseLocale) { - SetLocaleInfoA(buffer3); - } - else { - sprintf(buffer3, "Data\\Movies\\%s.bik", m_szMovieFileName); - } - - m_bDrawingFrame = TTRUE; - SetFrameReady(TFALSE); - m_iFrameCount = 0; - - if (m_bDoAudio) { - m_hBink = BinkOpen(buffer3, 0); - } - else { - BinkSetSoundTrack(0, NULL); - m_hBink = BinkOpen(buffer3, BINKSNDTRACK); - } - if (!m_hBink) { - return TFALSE; - } - - InitializeMoviePlayer(); - m_iWidth = m_hBink->Width; - m_iHeight = m_hBink->Height; - - TTextureResource* pTexture = GetCurrentTexture(); - if (!pTexture) { - TTextureFactory* pTextureFactory = (TTextureFactory*)renderer->GetSystemResource(TRenderInterface::SYSRESOURCE_TEXTUREFACTORY); - TPCHAR pData = new char[0x200000]; - TSystem::MemSet(pData, 0xFF, sizeof(pData)); - pTexture = pTextureFactory->CreateEx(pData, 0x200000, 1024, 512, 1, TTEXTURERESOURCEFORMAT::R8G8B8A8, 32); - if (pTexture) { - pTexture->Validate(); - m_iFrameBufferWidth = 1024; - m_iFrameBufferHeight = 512; - SetCurrentTexture(pTexture); - } - delete[] pData; - } - - if (!m_bDoAudio) { - BinkSetSoundOnOff(m_hBink, 0); - } - RenderMovie(TTRUE); - m_bHasMovieStopped = TFALSE; - return TTRUE; + TRenderInterface *renderer = g_oTheApp.GetRootTask()->GetRenderInterface(); + + if (a_szMovieName) { + Toshi::TSystem::StringCopy(m_szMovieFileName, a_szMovieName, -1); + } + else { + Toshi::TSystem::MemSet(m_szMovieFileName, 0, sizeof(m_szMovieFileName)); + } + + if (a_szUnk2) { + Toshi::TSystem::StringCopy(m_szMovieName, a_szUnk2, -1); + } + else { + Toshi::TSystem::MemSet(m_szMovieName, 0, sizeof(m_szMovieName)); + } + + TCHAR buffer3[256]; + if (a_bUseLocale) { + SetLocaleInfoA(buffer3); + } + else { + sprintf(buffer3, "Data\\Movies\\%s.bik", m_szMovieFileName); + } + + m_bDrawingFrame = TTRUE; + SetFrameReady(TFALSE); + m_iFrameCount = 0; + + if (m_bDoAudio) { + m_hBink = BinkOpen(buffer3, 0); + } + else { + BinkSetSoundTrack(0, NULL); + m_hBink = BinkOpen(buffer3, BINKSNDTRACK); + } + if (!m_hBink) { + return TFALSE; + } + + InitializeMoviePlayer(); + m_iWidth = m_hBink->Width; + m_iHeight = m_hBink->Height; + + TTextureResource *pTexture = GetCurrentTexture(); + if (!pTexture) { + TTextureFactory *pTextureFactory = (TTextureFactory *)renderer->GetSystemResource(TRenderInterface::SYSRESOURCE_TEXTUREFACTORY); + TPCHAR pData = new char[0x200000]; + TSystem::MemSet(pData, 0xFF, sizeof(pData)); + pTexture = pTextureFactory->CreateEx(pData, 0x200000, 1024, 512, 1, TTEXTURERESOURCEFORMAT::R8G8B8A8, 32); + if (pTexture) { + pTexture->Validate(); + m_iFrameBufferWidth = 1024; + m_iFrameBufferHeight = 512; + SetCurrentTexture(pTexture); + } + delete[] pData; + } + + if (!m_bDoAudio) { + BinkSetSoundOnOff(m_hBink, 0); + } + RenderMovie(TTRUE); + m_bHasMovieStopped = TFALSE; + return TTRUE; } TBOOL ABINKMoviePlayer::Update(TFLOAT a_fDeltaTime) { - if (!m_bHasMovieStopped && m_hBink) { - BinkService(m_hBink); - if (BinkWait(m_hBink)) { - BinkSleep(500); - return TFALSE; - } - RenderToFrameBuffer(); - } - return TFALSE; + if (!m_bHasMovieStopped && m_hBink) { + BinkService(m_hBink); + if (BinkWait(m_hBink)) { + BinkSleep(500); + return TFALSE; + } + RenderToFrameBuffer(); + } + return TFALSE; } -TBOOL ABINKMoviePlayer::RenderToTexture(TTextureResource* a_pTexture) +TBOOL ABINKMoviePlayer::RenderToTexture(TTextureResource *a_pTexture) { - if (m_hBink) { - m_iWidth = m_hBink->Width; - m_iHeight = m_hBink->Height; - if (a_pTexture && !m_bHasMovieStopped) { - if (s_iPlayForegroundFast) { - BinkDoFrame(m_hBink); - BinkNextFrame(m_hBink); - return FALSE; - } - m_iFrameCount++; - // TODO: Do some Texture stuff - BinkDoFrame(m_hBink); - if (m_iFrameCount == m_hBink->Frames) { - - } - } - } - return TBOOL(); + if (m_hBink) { + m_iWidth = m_hBink->Width; + m_iHeight = m_hBink->Height; + if (a_pTexture && !m_bHasMovieStopped) { + if (s_iPlayForegroundFast) { + BinkDoFrame(m_hBink); + BinkNextFrame(m_hBink); + return FALSE; + } + m_iFrameCount++; + // TODO: Do some Texture stuff + BinkDoFrame(m_hBink); + if (m_iFrameCount == m_hBink->Frames) { + } + } + } + return TBOOL(); } TBOOL ABINKMoviePlayer::RenderToFrameBuffer() { - if (!m_bHasMovieStopped && !m_bRenderingTiles) { - RenderToTiles(); - m_bRenderingTiles = TTRUE; - } - return TFALSE; + if (!m_bHasMovieStopped && !m_bRenderingTiles) { + RenderToTiles(); + m_bRenderingTiles = TTRUE; + } + return TFALSE; } TBOOL ABINKMoviePlayer::RenderToFrameBuffer(TPBYTE a_pDest, TINT a_iDestWidth, TINT a_iDestHeigth, TINT a_iDestPitch, TINT a_iDestX, INT a_iDestY, INT a_iSrcX, INT a_iSrcY) { - BinkCopyToBufferRect(m_hBink, a_pDest, a_iDestPitch, a_iDestHeigth, - a_iDestX, a_iDestY, a_iSrcX, a_iSrcY, m_hBink->Width, m_hBink->Height, BINKCOPYALL | BINKNOSKIP | BINKSURFACE32A); - TPBYTE pBuf = a_pDest + a_iDestX + a_iDestY * a_iDestWidth; - - if (a_iDestHeigth == a_iDestWidth) { - // I think this ignores alpha? - for (TINT i = 0; i < a_iDestHeigth; i++) { - for (TINT j = 0; j < a_iDestWidth; j++) { - *pBuf = *pBuf | 0xFF000000; - } - pBuf += a_iDestPitch * 4; - } - } - else if (a_iDestHeigth != a_iDestWidth && a_iDestHeigth - a_iDestWidth >= 0) { - // I think this ignores alpha? - for (TINT i = 0; i < a_iDestWidth; i++) { - for (TINT j = 0; j < a_iDestWidth; j++) { - *pBuf = *pBuf | 0xFF000000; - } - pBuf += a_iDestPitch * 4; - } - } - - return TFALSE; + BinkCopyToBufferRect(m_hBink, a_pDest, a_iDestPitch, a_iDestHeigth, + a_iDestX, a_iDestY, a_iSrcX, a_iSrcY, m_hBink->Width, m_hBink->Height, BINKCOPYALL | BINKNOSKIP | BINKSURFACE32A); + TPBYTE pBuf = a_pDest + a_iDestX + a_iDestY * a_iDestWidth; + + if (a_iDestHeigth == a_iDestWidth) { + // I think this ignores alpha? + for (TINT i = 0; i < a_iDestHeigth; i++) { + for (TINT j = 0; j < a_iDestWidth; j++) { + *pBuf = *pBuf | 0xFF000000; + } + pBuf += a_iDestPitch * 4; + } + } + else if (a_iDestHeigth != a_iDestWidth && a_iDestHeigth - a_iDestWidth >= 0) { + // I think this ignores alpha? + for (TINT i = 0; i < a_iDestWidth; i++) { + for (TINT j = 0; j < a_iDestWidth; j++) { + *pBuf = *pBuf | 0xFF000000; + } + pBuf += a_iDestPitch * 4; + } + } + + return TFALSE; } TBOOL ABINKMoviePlayer::InitializeVideoResource() { - TRenderInterface* renderer = g_oTheApp.GetRootTask()->GetRenderInterface(); - TTextureFactory* factory = (TTextureFactory*)renderer->GetSystemResource(TRenderInterface::SYSRESOURCE_TEXTUREFACTORY); - TINT size; - TTEXTURERESOURCEFORMAT textureFormat; - TINT textureFormatSize; - if (renderer->Supports32BitTextures()) { - size = 4; - textureFormat = TTEXTURERESOURCEFORMAT::R8G8B8A8; - textureFormatSize = 32; - } - else { - size = 2; - textureFormat = TTEXTURERESOURCEFORMAT::R5G5B5A1; - textureFormatSize = 8; - } - size *= 256 * 256; - TPVOID buffer = tmalloc(size, TNULL, -1); - TSystem::MemSet(buffer, 0xFF, size); - m_pTextures[2] = factory->CreateEx(buffer, size, 256, 256, 1, textureFormat, textureFormatSize); - m_pTextures[2]->SetAddressModeMode(TTextureResource::ADDRESSMODE_UNKNOWN3); - - return TTRUE; + TRenderInterface *renderer = g_oTheApp.GetRootTask()->GetRenderInterface(); + TTextureFactory *factory = (TTextureFactory *)renderer->GetSystemResource(TRenderInterface::SYSRESOURCE_TEXTUREFACTORY); + TINT size; + TTEXTURERESOURCEFORMAT textureFormat; + TINT textureFormatSize; + if (renderer->Supports32BitTextures()) { + size = 4; + textureFormat = TTEXTURERESOURCEFORMAT::R8G8B8A8; + textureFormatSize = 32; + } + else { + size = 2; + textureFormat = TTEXTURERESOURCEFORMAT::R5G5B5A1; + textureFormatSize = 8; + } + size *= 256 * 256; + TPVOID buffer = tmalloc(size, TNULL, -1); + TSystem::MemSet(buffer, 0xFF, size); + m_pTextures[2] = factory->CreateEx(buffer, size, 256, 256, 1, textureFormat, textureFormatSize); + m_pTextures[2]->SetAddressModeMode(TTextureResource::ADDRESSMODE_UNKNOWN3); + + return TTRUE; } TBOOL ABINKMoviePlayer::InitializeAudioResource() { - TManagedPtr renderer = g_oTheApp.GetRootTask()->GetRenderInterface(); - TRenderD3DInterface *d3drenderer = (TRenderD3DInterface *)renderer.operator Toshi::TRenderInterface *(); - HRESULT hResult = DirectSoundCreate(NULL, &m_pDirectSound, NULL); - - if (FAILED(hResult)) { - m_pDirectSound = NULL; - } - else { - m_pDirectSound->SetCooperativeLevel(d3drenderer->GetMSWindow()->GetHWND(), 2); - BinkSoundUseDirectSound(m_pDirectSound); - } - return TTRUE; + TManagedPtr renderer = g_oTheApp.GetRootTask()->GetRenderInterface(); + TRenderD3DInterface *d3drenderer = (TRenderD3DInterface *)renderer.operator Toshi::TRenderInterface *(); + HRESULT hResult = DirectSoundCreate(NULL, &m_pDirectSound, NULL); + + if (FAILED(hResult)) { + m_pDirectSound = NULL; + } + else { + m_pDirectSound->SetCooperativeLevel(d3drenderer->GetMSWindow()->GetHWND(), 2); + BinkSoundUseDirectSound(m_pDirectSound); + } + return TTRUE; } TBOOL ABINKMoviePlayer::FreeVideoResource() { - return TTRUE; + return TTRUE; } void ABINKMoviePlayer::SetLocaleInfoA(TPCHAR a_szBuffer) { - //Toshi::TSystem::GetCStringPool(); - //Toshi::TSystem::GetLocale(); - sprintf(a_szBuffer, "Data\\Movies\\%s.bik", m_szMovieFileName); + //Toshi::TSystem::GetCStringPool(); + //Toshi::TSystem::GetLocale(); + sprintf(a_szBuffer, "Data\\Movies\\%s.bik", m_szMovieFileName); } void ABINKMoviePlayer::BinkSleep(TINT a_iMicroseconds) { - static S32 s_iTotalSleep = 0; - static S32 s_iSleepForward = 0; - static U64 s_iFrequency = 1000; - static S32 s_bFrequencyAquired = 0; + static S32 s_iTotalSleep = 0; + static S32 s_iSleepForward = 0; + static U64 s_iFrequency = 1000; + static S32 s_bFrequencyAquired = 0; - if (!s_bFrequencyAquired) - { - s_bFrequencyAquired = 1; - QueryPerformanceFrequency((LARGE_INTEGER*)&s_iFrequency); - } + if (!s_bFrequencyAquired) + { + s_bFrequencyAquired = 1; + QueryPerformanceFrequency((LARGE_INTEGER *)&s_iFrequency); + } - s_iTotalSleep += a_iMicroseconds; + s_iTotalSleep += a_iMicroseconds; - if ((s_iTotalSleep - s_iSleepForward) > 1000) - { - U64 start, end; - s_iTotalSleep -= s_iSleepForward; + if ((s_iTotalSleep - s_iSleepForward) > 1000) + { + U64 start, end; + s_iTotalSleep -= s_iSleepForward; - QueryPerformanceCounter((LARGE_INTEGER*)&start); - Sleep(s_iTotalSleep / 1000); - QueryPerformanceCounter((LARGE_INTEGER*)&end); + QueryPerformanceCounter((LARGE_INTEGER *)&start); + Sleep(s_iTotalSleep / 1000); + QueryPerformanceCounter((LARGE_INTEGER *)&end); - end = ((end - start) * (U64)1000000) / s_iFrequency; + end = ((end - start) * (U64)1000000) / s_iFrequency; - s_iSleepForward = (U32)end - s_iTotalSleep; - s_iTotalSleep %= 1000; - } + s_iSleepForward = (U32)end - s_iTotalSleep; + s_iTotalSleep %= 1000; + } } TBOOL ABINKMoviePlayer::RenderToTiles() { - return TBOOL(); + return TBOOL(); } diff --git a/OpenJPOG/Source/Movie/ABINKMoviePlayer.h b/OpenJPOG/Source/Movie/ABINKMoviePlayer.h index 4e1f08d..267e4d4 100644 --- a/OpenJPOG/Source/Movie/ABINKMoviePlayer.h +++ b/OpenJPOG/Source/Movie/ABINKMoviePlayer.h @@ -38,13 +38,13 @@ class ABINKMoviePlayer : public AMoviePlayer delete m_pDirectSound; return TTRUE; } - virtual void SetLocaleInfoA(TPCHAR a_szBuffer); - virtual TTextureResource* GetTexture() { return m_pTextures[m_iCurrentTextureIndex]; } + virtual void SetLocaleInfoA(TPCHAR a_szBuffer); + virtual TTextureResource *GetTexture() { return m_pTextures[m_iCurrentTextureIndex]; } - void BinkSleep(TINT a_iMicroseconds); - TBOOL RenderToTiles(); - TTextureResource* GetCurrentTexture() { return m_pTextures[m_iCurrentTextureIndex]; } - void SetCurrentTexture(TTextureResource* a_pTexture) + void BinkSleep(TINT a_iMicroseconds); + TBOOL RenderToTiles(); + TTextureResource *GetCurrentTexture() { return m_pTextures[m_iCurrentTextureIndex]; } + void SetCurrentTexture(TTextureResource *a_pTexture) { if (!m_pTextures[m_iCurrentTextureIndex]) { m_pTextures[m_iCurrentTextureIndex] = a_pTexture; @@ -52,34 +52,33 @@ class ABINKMoviePlayer : public AMoviePlayer } private: - - static void PTR4* RADLINK RADMEMALLOC(U32 bytes) + static void PTR4 *RADLINK RADMEMALLOC(U32 bytes) { return tmalloc(bytes, TNULL, -1); } - static void RADLINK RADMEMFREE(void PTR4* ptr) + static void RADLINK RADMEMFREE(void PTR4 *ptr) { tfree(ptr); } private: - TCHAR m_szMovieFileName[256]; // 0x10 - TCHAR m_szMovieName[256]; // 0x110 - TBOOL m_bHasMovieStopped; // 0x210 - TBOOL m_bIsBINKInitialized; // 0x211 - TBOOL m_bDrawingFrame; // 0x213 - TBOOL m_bRenderingTiles; // 0x214 - HBINK m_hBink; // 0x218 - TINT m_iFrameCount; // 0x220 - TINT m_iFrameBufferWidth; // 0x224 - TINT m_iFrameBufferHeight; // 0x228 - TINT m_iWidth; // 0x22C - TINT m_iHeight; // 0x230 - Toshi::TTextureResource* m_pTextures[8]; // 0x240 - TPBYTE m_pFrameBufferBits; // 0x234 - LPDIRECTSOUND m_pDirectSound; // 0x278 - TINT m_iCurrentTextureIndex; // 0x27C + TCHAR m_szMovieFileName[256]; // 0x10 + TCHAR m_szMovieName[256]; // 0x110 + TBOOL m_bHasMovieStopped; // 0x210 + TBOOL m_bIsBINKInitialized; // 0x211 + TBOOL m_bDrawingFrame; // 0x213 + TBOOL m_bRenderingTiles; // 0x214 + HBINK m_hBink; // 0x218 + TINT m_iFrameCount; // 0x220 + TINT m_iFrameBufferWidth; // 0x224 + TINT m_iFrameBufferHeight; // 0x228 + TINT m_iWidth; // 0x22C + TINT m_iHeight; // 0x230 + Toshi::TTextureResource *m_pTextures[8]; // 0x240 + TPBYTE m_pFrameBufferBits; // 0x234 + LPDIRECTSOUND m_pDirectSound; // 0x278 + TINT m_iCurrentTextureIndex; // 0x27C }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/OpenJPOG/Source/Movie/AMoviePlayer.h b/OpenJPOG/Source/Movie/AMoviePlayer.h index 125e030..ad15f9b 100644 --- a/OpenJPOG/Source/Movie/AMoviePlayer.h +++ b/OpenJPOG/Source/Movie/AMoviePlayer.h @@ -11,12 +11,12 @@ class AMoviePlayer public: AMoviePlayer() { - m_bIsStopped = TTRUE; + m_bIsStopped = TTRUE; m_bIsInitialized = TFALSE; - m_bIsFrameReady = TFALSE; - m_bIsFullscreen = TTRUE; - m_bIsPaused = TFALSE; - m_bRenderMovie = TTRUE; + m_bIsFrameReady = TFALSE; + m_bIsFullscreen = TTRUE; + m_bIsPaused = TFALSE; + m_bRenderMovie = TTRUE; } virtual ~AMoviePlayer() = default; @@ -129,7 +129,6 @@ class AMoviePlayer } private: - virtual TBOOL GetTextureUVs(TVector2 &a_rvUV1, TVector2 &a_rvUV2) { return TFALSE; @@ -145,13 +144,13 @@ class AMoviePlayer return TFALSE; } - virtual TTextureResource* GetTexture() + virtual TTextureResource *GetTexture() { return TNULL; } protected: - // 0x0 vftable + // 0x0 vftable TBOOL m_bIsStopped; // 0x4 TBOOL m_bIsInitialized; // 0x5 TBOOL m_bIsFrameReady; // 0x7 @@ -162,4 +161,4 @@ class AMoviePlayer TBOOL m_bRenderMovie; // 0xC }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/OpenJPOG/Source/States/AFrontEndSplashState.cpp b/OpenJPOG/Source/States/AFrontEndSplashState.cpp index 5f6ea7d..6f0f7a7 100644 --- a/OpenJPOG/Source/States/AFrontEndSplashState.cpp +++ b/OpenJPOG/Source/States/AFrontEndSplashState.cpp @@ -8,16 +8,16 @@ IMPLEMENT_DYNCREATE(AFrontEndSplashState, AFrontendState) AFrontEndSplashState::AFrontEndSplashState(TBOOL a_bInitialise, TFLOAT a_fUnk) { - m_bInitialise = a_bInitialise; - m_bMovieStarted = TFALSE; + m_bInitialise = a_bInitialise; + m_bMovieStarted = TFALSE; m_iLogoScreenIndex = 0; - m_bLogoScreenSet = TFALSE; + m_bLogoScreenSet = TFALSE; } void AFrontEndSplashState::OnActivate() { ARootState::OnActivate(); - AMoviePlayer* pMoviePlayer = g_oTheApp.GetRootTask()->GetMoviePlayer(); + AMoviePlayer *pMoviePlayer = g_oTheApp.GetRootTask()->GetMoviePlayer(); //AGUISystem::GetGUISystem()->Get; @@ -27,11 +27,11 @@ void AFrontEndSplashState::OnActivate() TBOOL AFrontEndSplashState::OnUpdate(TFLOAT a_fDeltaTime) { - AMoviePlayer* pMoviePlayer = g_oTheApp.GetRootTask()->GetMoviePlayer(); + AMoviePlayer *pMoviePlayer = g_oTheApp.GetRootTask()->GetMoviePlayer(); if (m_bInitialise) { - static TFLOAT s_fStopLoadingSounds = 0.0f; - static TFLOAT s_fStartLoadingSounds = 5.0f; + static TFLOAT s_fStopLoadingSounds = 0.0f; + static TFLOAT s_fStartLoadingSounds = 5.0f; static TFLOAT s_fTimeLeftLoadingSounds = 5.0f; if (s_fStopLoadingSounds < s_fTimeLeftLoadingSounds) { if (s_fTimeLeftLoadingSounds < s_fStartLoadingSounds && s_bLoadedSound) { @@ -58,7 +58,7 @@ TBOOL AFrontEndSplashState::OnUpdate(TFLOAT a_fDeltaTime) if (s_StartMovie) { s_StartMovie = TFALSE; if (pMoviePlayer && !pMoviePlayer->IsMoviePlaying()) { - pMoviePlayer->StartMovie((TPCHAR)"Intro", TFALSE, (TPCHAR)"Intro", TTRUE); + pMoviePlayer->StartMovie((TPCHAR) "Intro", TFALSE, (TPCHAR) "Intro", TTRUE); } } else if (!pMoviePlayer) { diff --git a/OpenJPOG/Source/States/AFrontEndSplashState.h b/OpenJPOG/Source/States/AFrontEndSplashState.h index 4a1b4e9..650e05f 100644 --- a/OpenJPOG/Source/States/AFrontEndSplashState.h +++ b/OpenJPOG/Source/States/AFrontEndSplashState.h @@ -7,15 +7,14 @@ class AFrontEndSplashState : public AFrontendState DECLARE_DYNAMIC(AFrontEndSplashState) public: - - AFrontEndSplashState() : AFrontEndSplashState(TTRUE, 0.0f) + AFrontEndSplashState() + : AFrontEndSplashState(TTRUE, 0.0f) { - } AFrontEndSplashState(TBOOL a_bUnk, TFLOAT a_fUnk); - virtual void OnActivate() override; + virtual void OnActivate() override; virtual TBOOL OnUpdate(TFLOAT a_fDeltaTime) override; // $JPOG: FUNCTION 0048a220 virtual void OnInsertion() override; @@ -24,14 +23,13 @@ class AFrontEndSplashState : public AFrontendState TBOOL RunLogoState(TFLOAT a_fDeltaTime); private: - static inline Toshi::TCString* sm_asLogoScreens = new Toshi::TCString("bkg_bink.tml"); - static inline TBOOL s_bLoadedSound = TFALSE; - static inline TFLOAT sm_fLogoDisplayTime = 2.5f; + static inline Toshi::TCString *sm_asLogoScreens = new Toshi::TCString("bkg_bink.tml"); + static inline TBOOL s_bLoadedSound = TFALSE; + static inline TFLOAT sm_fLogoDisplayTime = 2.5f; - TBOOL m_bMovieStarted; // 0x5C - TBOOL m_bInitialise; // 0x64 - TINT m_iLogoScreenIndex; // 0x68 + TBOOL m_bMovieStarted; // 0x5C + TBOOL m_bInitialise; // 0x64 + TINT m_iLogoScreenIndex; // 0x68 TFLOAT m_fLogoDisplayTime; // 0x6C - TBOOL m_bLogoScreenSet; // 0x70 + TBOOL m_bLogoScreenSet; // 0x70 }; - diff --git a/OpenJPOG/Source/States/AFrontEndState.cpp b/OpenJPOG/Source/States/AFrontEndState.cpp index 2298e57..5385258 100644 --- a/OpenJPOG/Source/States/AFrontEndState.cpp +++ b/OpenJPOG/Source/States/AFrontEndState.cpp @@ -26,7 +26,7 @@ void AFrontendState::OnRemoval() ARootState::OnRemoval(); } -TBOOL AFrontendState::ParentAllowed(ARootState& a_rParent) +TBOOL AFrontendState::ParentAllowed(ARootState &a_rParent) { return !a_rParent.IsA(TGetClass(AGameState)); } diff --git a/OpenJPOG/Source/States/AFrontEndState.h b/OpenJPOG/Source/States/AFrontEndState.h index 80837a4..1bf965a 100644 --- a/OpenJPOG/Source/States/AFrontEndState.h +++ b/OpenJPOG/Source/States/AFrontEndState.h @@ -8,10 +8,10 @@ class AFrontendState : public ARootState public: virtual ~AFrontendState() = default; - virtual void OnInsertion() override; - virtual void OnRemoval() override; - virtual TBOOL ParentAllowed(ARootState& a_rParent) override; + virtual void OnInsertion() override; + virtual void OnRemoval() override; + virtual TBOOL ParentAllowed(ARootState &a_rParent) override; protected: static inline int sm_iFERefCount = 0; -}; \ No newline at end of file +}; diff --git a/OpenJPOG/Source/States/AGameState.cpp b/OpenJPOG/Source/States/AGameState.cpp index e81bf10..4cf4e94 100644 --- a/OpenJPOG/Source/States/AGameState.cpp +++ b/OpenJPOG/Source/States/AGameState.cpp @@ -2,4 +2,4 @@ TOSHI_NAMESPACE_USING -IMPLEMENT_DYNCREATE(AGameState, ARootState) \ No newline at end of file +IMPLEMENT_DYNCREATE(AGameState, ARootState) diff --git a/OpenJPOG/Source/States/AGameState.h b/OpenJPOG/Source/States/AGameState.h index 67ad538..45ab53e 100644 --- a/OpenJPOG/Source/States/AGameState.h +++ b/OpenJPOG/Source/States/AGameState.h @@ -6,4 +6,3 @@ class AGameState : public ARootState { DECLARE_DYNAMIC(AGameState) }; - diff --git a/OpenJPOG/Source/States/ARootState.cpp b/OpenJPOG/Source/States/ARootState.cpp index a1c4813..8d25c75 100644 --- a/OpenJPOG/Source/States/ARootState.cpp +++ b/OpenJPOG/Source/States/ARootState.cpp @@ -6,10 +6,10 @@ IMPLEMENT_DYNAMIC(ARootState, TObject) ARootState::ARootState() { - m_pParent = TNULL; - m_pChild = TNULL; - m_bAllowExit = TTRUE; - m_bHasControl = TFALSE; + m_pParent = TNULL; + m_pChild = TNULL; + m_bAllowExit = TTRUE; + m_bHasControl = TFALSE; } void ARootState::OnActivate() @@ -20,113 +20,117 @@ void ARootState::OnDeactivate() { } -void ARootState::TransferControlTemporary(ARootState* a_pState) +void ARootState::TransferControlTemporary(ARootState *a_pState) { - m_pChild = a_pState; - a_pState->m_bHasControl = TTRUE; - m_pChild->m_pParent = this; - m_pChild->OnInsertion(); - m_pChild->OnActivate(); + m_pChild = a_pState; + a_pState->m_bHasControl = TTRUE; + m_pChild->m_pParent = this; + m_pChild->OnInsertion(); + m_pChild->OnActivate(); } -void ARootState::TransferControl(ARootState* a_pState) +void ARootState::TransferControl(ARootState *a_pState) { - if (!a_pState->ParentAllowed(*this)) { - m_pParent->TransferControl(a_pState); - return; - } - - if (!m_pChild) { - OnDeactivate(); - } - else { - m_pChild->ExplicitDelete(); - } - m_pChild = a_pState; - a_pState->m_pParent = this; - m_pChild->OnInsertion(); - m_pChild->OnActivate(); + if (!a_pState->ParentAllowed(*this)) { + m_pParent->TransferControl(a_pState); + return; + } + + if (!m_pChild) { + OnDeactivate(); + } + else { + m_pChild->ExplicitDelete(); + } + m_pChild = a_pState; + a_pState->m_pParent = this; + m_pChild->OnInsertion(); + m_pChild->OnActivate(); } void ARootState::RemoveSelf() { - ExplicitDelete(); - if (m_pParent) { - m_pParent->m_pChild = TNULL; - if (!m_bHasControl) { - m_pParent->OnActivate(); - return; - } - TWARNING("Not implemented: AGUIGameHUD::OnActivate(&this->m_pParent->m_oGameHUD);"); - } + ExplicitDelete(); + if (m_pParent) { + m_pParent->m_pChild = TNULL; + if (!m_bHasControl) { + m_pParent->OnActivate(); + return; + } + TWARNING("Not implemented: AGUIGameHUD::OnActivate(&this->m_pParent->m_oGameHUD);"); + } } -ARootState* ARootState::ReturnToState(const TClass& a_rStateClass) +ARootState *ARootState::ReturnToState(const TClass &a_rStateClass) { - ARootState* pCurrent; - for (pCurrent = m_pParent; !pCurrent->IsA(a_rStateClass); pCurrent = pCurrent->m_pParent); - pCurrent->RemoveChild(); - return pCurrent; + ARootState *pCurrent; + for (pCurrent = m_pParent; !pCurrent->IsA(a_rStateClass); pCurrent = pCurrent->m_pParent) + ; + pCurrent->RemoveChild(); + return pCurrent; } -ARootState* ARootState::ReturnToExactState(const Toshi::TClass& a_rStateClass) +ARootState *ARootState::ReturnToExactState(const Toshi::TClass &a_rStateClass) { - ARootState* pCurrent; - for (pCurrent = m_pParent; !pCurrent->IsExactly(a_rStateClass); pCurrent = pCurrent->m_pParent); - pCurrent->RemoveChild(); - return pCurrent; + ARootState *pCurrent; + for (pCurrent = m_pParent; !pCurrent->IsExactly(a_rStateClass); pCurrent = pCurrent->m_pParent) + ; + pCurrent->RemoveChild(); + return pCurrent; } -TBOOL ARootState::AddChild(ARootState& a_rState) +TBOOL ARootState::AddChild(ARootState &a_rState) { - if (m_pChild) { - return TFALSE; - } - OnDeactivate(); - m_pChild = &a_rState; - m_pParent = this; - m_pChild->OnInsertion(); - m_pChild->OnActivate(); - return TTRUE; + if (m_pChild) { + return TFALSE; + } + OnDeactivate(); + m_pChild = &a_rState; + m_pParent = this; + m_pChild->OnInsertion(); + m_pChild->OnActivate(); + return TTRUE; } TBOOL ARootState::RemoveChild() { - if (m_pChild) { - m_pChild = TNULL; - ExplicitDelete(); - if (!m_bHasControl) { - OnActivate(); - } - else { - TWARNING("Not implemented: AGUIGameHUD::OnActivate(&this->m_oGameHUD);"); - } - return TTRUE; - } - return TFALSE; + if (m_pChild) { + m_pChild = TNULL; + ExplicitDelete(); + if (!m_bHasControl) { + OnActivate(); + } + else { + TWARNING("Not implemented: AGUIGameHUD::OnActivate(&this->m_oGameHUD);"); + } + return TTRUE; + } + return TFALSE; } -ARootState& ARootState::GetCurrent() +ARootState &ARootState::GetCurrent() { - ARootState* current; - for (current = this; current->m_pChild != TNULL; current = current->m_pChild); - return *current; + ARootState *current; + for (current = this; current->m_pChild != TNULL; current = current->m_pChild) { + } + return *current; } void ARootState::ExplicitDelete() { - ARootState* parent = m_pParent; - - ARootState* current; - for (current = this; current->m_pChild != TNULL; current = current->m_pChild); - current->OnDeactivate(); - - ARootState* j; - while (j = current, j != parent) { - current = j->m_pParent; - j->OnRemoval(); - j->m_pParent = TNULL; - j->m_pChild = TNULL; - delete j; - } + ARootState *parent = m_pParent; + + ARootState *current; + for (current = this; current->m_pChild != TNULL; current = current->m_pChild) { + } + current->OnDeactivate(); + + ARootState *j; + while (j = current, j != parent) { + current = j->m_pParent; + j->OnRemoval(); + j->m_pParent = TNULL; + j->m_pChild = TNULL; + delete j; + } } diff --git a/OpenJPOG/Source/States/ARootState.h b/OpenJPOG/Source/States/ARootState.h index 0f08831..002f458 100644 --- a/OpenJPOG/Source/States/ARootState.h +++ b/OpenJPOG/Source/States/ARootState.h @@ -8,7 +8,6 @@ class ARootState : public Toshi::TObject public: - ARootState(); virtual ~ARootState() = default; @@ -16,36 +15,34 @@ class ARootState : public Toshi::TObject //virtual void ProcessLostInput(); //virtual void ProcessInput(); //virtual void ProcessCommand(); - virtual TBOOL OnUpdate(TFLOAT a_fDeltaTime) { return TTRUE; } - virtual void OnInsertion() {}; - virtual void OnRemoval() {}; - virtual void OnActivate(); - virtual void OnDeactivate(); - virtual void Render() {}; - virtual void TransferControlTemporary(ARootState* a_pState); - virtual void TransferControl(ARootState* a_pState); - virtual void RemoveSelf(); - virtual ARootState* ReturnToState(const Toshi::TClass& a_rStateClass); - virtual ARootState* ReturnToExactState(const Toshi::TClass& a_rStateClass); - virtual TBOOL ParentAllowed(ARootState& a_rParent) { return TTRUE; } - virtual void FlushUnitProxy() {}; - - TBOOL AddChild(ARootState& a_rState); - TBOOL RemoveChild(); - ARootState& GetCurrent(); + virtual TBOOL OnUpdate(TFLOAT a_fDeltaTime) { return TTRUE; } + virtual void OnInsertion(){}; + virtual void OnRemoval(){}; + virtual void OnActivate(); + virtual void OnDeactivate(); + virtual void Render(){}; + virtual void TransferControlTemporary(ARootState *a_pState); + virtual void TransferControl(ARootState *a_pState); + virtual void RemoveSelf(); + virtual ARootState *ReturnToState(const Toshi::TClass &a_rStateClass); + virtual ARootState *ReturnToExactState(const Toshi::TClass &a_rStateClass); + virtual TBOOL ParentAllowed(ARootState &a_rParent) { return TTRUE; } + virtual void FlushUnitProxy(){}; + + TBOOL AddChild(ARootState &a_rState); + TBOOL RemoveChild(); + ARootState &GetCurrent(); private: - void ExplicitDelete(); public: - AGUIGameHUD& GetHUDState() { return m_oHUDState; } + AGUIGameHUD &GetHUDState() { return m_oHUDState; } protected: - ARootState* m_pParent; // 0x4 - ARootState* m_pChild; // 0x8 - TBOOL m_bAllowExit; // 0xC - TBOOL m_bHasControl; // 0xE - AGUIGameHUD m_oHUDState; // 0x10 + ARootState *m_pParent; // 0x4 + ARootState *m_pChild; // 0x8 + TBOOL m_bAllowExit; // 0xC + TBOOL m_bHasControl; // 0xE + AGUIGameHUD m_oHUDState; // 0x10 }; - diff --git a/OpenJPOG/Source/Tasks/ADummyTask.cpp b/OpenJPOG/Source/Tasks/ADummyTask.cpp index aeea397..06be0c6 100644 --- a/OpenJPOG/Source/Tasks/ADummyTask.cpp +++ b/OpenJPOG/Source/Tasks/ADummyTask.cpp @@ -1,3 +1,3 @@ #include "ADummyTask.h" -IMPLEMENT_DYNCREATE(ADummyTask, Toshi::TTask); \ No newline at end of file +IMPLEMENT_DYNCREATE(ADummyTask, Toshi::TTask); diff --git a/OpenJPOG/Source/Tasks/ADummyTask.h b/OpenJPOG/Source/Tasks/ADummyTask.h index 7a5668c..26dd30e 100644 --- a/OpenJPOG/Source/Tasks/ADummyTask.h +++ b/OpenJPOG/Source/Tasks/ADummyTask.h @@ -5,8 +5,9 @@ class ADummyTask : public Toshi::TTask { DECLARE_DYNAMIC(ADummyTask); + public: - ADummyTask() = default; + ADummyTask() = default; virtual ~ADummyTask() = default; // Shouldn't a_szName be TPCCHAR? [7/8/2024 InfiniteC0re] @@ -22,4 +23,4 @@ class ADummyTask : public Toshi::TTask private: Toshi::TCString m_szName; -}; \ No newline at end of file +}; diff --git a/OpenJPOG/Source/Tasks/AFrontEndController.cpp b/OpenJPOG/Source/Tasks/AFrontEndController.cpp index 9cab201..5512e92 100644 --- a/OpenJPOG/Source/Tasks/AFrontEndController.cpp +++ b/OpenJPOG/Source/Tasks/AFrontEndController.cpp @@ -1,3 +1,3 @@ #include "AFrontEndController.h" -IMPLEMENT_DYNCREATE(AFrontEndController, Toshi::TTask) \ No newline at end of file +IMPLEMENT_DYNCREATE(AFrontEndController, Toshi::TTask) diff --git a/OpenJPOG/Source/Tasks/AFrontEndController.h b/OpenJPOG/Source/Tasks/AFrontEndController.h index 29c92a2..7315858 100644 --- a/OpenJPOG/Source/Tasks/AFrontEndController.h +++ b/OpenJPOG/Source/Tasks/AFrontEndController.h @@ -14,4 +14,4 @@ class AFrontEndController : public Toshi::TTask { TTask::OnDestroy(); } -}; \ No newline at end of file +}; diff --git a/OpenJPOG/Source/Tasks/ARootStateController.cpp b/OpenJPOG/Source/Tasks/ARootStateController.cpp index ca130ee..3f6247a 100644 --- a/OpenJPOG/Source/Tasks/ARootStateController.cpp +++ b/OpenJPOG/Source/Tasks/ARootStateController.cpp @@ -7,7 +7,7 @@ IMPLEMENT_DYNCREATE(ARootStateController, TTask); ARootStateController::ARootStateController() { s_pCurrentStateController = this; - m_pBaseAppState = TNULL; + m_pBaseAppState = TNULL; } TBOOL ARootStateController::OnCreate() @@ -21,7 +21,7 @@ TBOOL ARootStateController::OnCreate() TBOOL ARootStateController::OnUpdate(TFLOAT a_fDeltaTime) { if (m_pBaseAppState) { - ARootState& currentState = m_pBaseAppState->GetCurrent(); + ARootState ¤tState = m_pBaseAppState->GetCurrent(); currentState.OnUpdate(a_fDeltaTime); } return TTRUE; @@ -31,7 +31,7 @@ void ARootStateController::OnDestroy() { } -void ARootStateController::TransferControl(ARootState* a_pState) +void ARootStateController::TransferControl(ARootState *a_pState) { GetBaseAppState()->GetCurrent().TransferControl(a_pState); } diff --git a/OpenJPOG/Source/Tasks/ARootStateController.h b/OpenJPOG/Source/Tasks/ARootStateController.h index 2b1435e..cae60c3 100644 --- a/OpenJPOG/Source/Tasks/ARootStateController.h +++ b/OpenJPOG/Source/Tasks/ARootStateController.h @@ -5,7 +5,7 @@ class ARootStateController; -static inline ARootStateController* s_pCurrentStateController = TNULL; +static inline ARootStateController *s_pCurrentStateController = TNULL; class ARootStateController : public Toshi::TTask { @@ -16,15 +16,15 @@ class ARootStateController : public Toshi::TTask virtual TBOOL OnCreate() override; virtual TBOOL OnUpdate(TFLOAT a_fDeltaTime) override; - virtual void OnDestroy() override; + virtual void OnDestroy() override; - void TransferControl(ARootState* a_pState); + void TransferControl(ARootState *a_pState); void SetupToolBarHUD(); public: - ARootState* GetBaseAppState() { return m_pBaseAppState; } - static ARootStateController* TOSHI_API GetRootStateController() { return s_pCurrentStateController; } + ARootState *GetBaseAppState() { return m_pBaseAppState; } + static ARootStateController *TOSHI_API GetRootStateController() { return s_pCurrentStateController; } private: - ARootState* m_pBaseAppState; // 0x24 -}; \ No newline at end of file + ARootState *m_pBaseAppState; // 0x24 +}; diff --git a/OpenJPOG/Source/Tasks/ARootTask.cpp b/OpenJPOG/Source/Tasks/ARootTask.cpp index a3be0fc..5c3c2ea 100644 --- a/OpenJPOG/Source/Tasks/ARootTask.cpp +++ b/OpenJPOG/Source/Tasks/ARootTask.cpp @@ -9,15 +9,15 @@ IMPLEMENT_DYNCREATE(ARootTask, TTask); ARootTask::ARootTask() { - m_pOptions = TNULL; - m_pGUISystem = TNULL; - m_pInputTask = TNULL; - m_pRenderInterface = TNULL; - m_pRenderer = TNULL; + m_pOptions = TNULL; + m_pGUISystem = TNULL; + m_pInputTask = TNULL; + m_pRenderInterface = TNULL; + m_pRenderer = TNULL; m_pGameStateController = TNULL; - m_pVibrationTask = TNULL; - m_pMoviePlayer = TNULL; - m_pOptions = new AOptions(); + m_pVibrationTask = TNULL; + m_pMoviePlayer = TNULL; + m_pOptions = new AOptions(); AllocateRenderInterface(); AllocateGUISystem(); AllocateARenderer(); @@ -44,7 +44,7 @@ void ARootTask::OnDestroy() TTask::OnDestroy(); } -void ARootTask::OnChildDied(TClass* a_pClass, TTask* a_pDeletedTask) +void ARootTask::OnChildDied(TClass *a_pClass, TTask *a_pDeletedTask) { TTask::OnChildDied(a_pClass, a_pDeletedTask); } @@ -73,7 +73,7 @@ void ARootTask::OnDeactivate() void ARootTask::LoadFrontEndController() { - m_pFrontEndController = (AFrontEndController*)g_oTheApp.GetKernel()->GetScheduler()->CreateTask(TGetClass(AFrontEndController), this); + m_pFrontEndController = (AFrontEndController *)g_oTheApp.GetKernel()->GetScheduler()->CreateTask(TGetClass(AFrontEndController), this); m_pFrontEndController->Create(); LoadMaterialLibrary(1); LoadMaterialLibrary(25); @@ -92,7 +92,7 @@ void ARootTask::AllocateARenderer() void ARootTask::AllocateRenderInterface() { g_oTheApp.GetKernel()->LoadInterface("TRenderD3DInterface"); - m_pRenderInterface = (TRenderInterface*)TFindClass(TRenderD3DInterface, TNULL)->CreateObject(); + m_pRenderInterface = (TRenderInterface *)TFindClass(TRenderD3DInterface, TNULL)->CreateObject(); m_pRenderInterface->Create(g_oTheApp.GetKernel()); m_pRenderInterface->DumpStats(); } @@ -109,7 +109,7 @@ void ARootTask::AllocateGUISystem() void ARootTask::AllocateInputSystem() { - m_pInputTask = ApplicationCreateTask(ADummyTask, g_oTheApp.GetInputRootTask()); + m_pInputTask = ApplicationCreateTask(ADummyTask, g_oTheApp.GetInputRootTask()); m_pVibrationTask = ApplicationCreateTask(AVibrationManager, g_oTheApp.GetInputRootTask()); } @@ -124,10 +124,10 @@ void ARootTask::CreateARenderer() TBOOL ARootTask::CreateRenderInterface() { TRenderInterface::DisplayParams displayParams; - displayParams.uiWidth = 640; - displayParams.uiHeight = 480; - displayParams.bWindowed = TTRUE; - displayParams.uiColourDepth = 32; + displayParams.uiWidth = 640; + displayParams.uiHeight = 480; + displayParams.bWindowed = TTRUE; + displayParams.uiColourDepth = 32; displayParams.eDepthStencilFormat = 0; CreateDisplayDevice(displayParams, TFALSE); m_pRenderInterface->CreateDisplay(displayParams); @@ -143,48 +143,48 @@ void ARootTask::DeserialiseOptions() { TRenderInterface *renderer = g_oTheApp.GetRootTask()->m_pRenderInterface; renderer->GetCurrentDisplayParams(); - AOptions *options = g_oTheApp.GetRootTask()->GetOptions(); + AOptions *options = g_oTheApp.GetRootTask()->GetOptions(); AOptionsLogic logic; - TINT screenWidth; - TINT screenHeight; - TINT screenDepth; + TINT screenWidth; + TINT screenHeight; + TINT screenDepth; if (options->GetOption("ScreenWidth", screenWidth) && - options->GetOption("ScreenHeight", screenHeight) && - options->GetOption("ScreenDepth", screenDepth)) { + options->GetOption("ScreenHeight", screenHeight) && + options->GetOption("ScreenDepth", screenDepth)) { AOptionsLogic::AScreenRes screenRes; logic.GetOption(AOptionsLogic::OPTION_SCREENRES, screenRes); } } -const TRenderAdapter::Mode::Device* ARootTask::CreateDisplayDevice(TRenderInterface::DisplayParams& a_rDisplayParams, bool a_bReverseOrder) +const TRenderAdapter::Mode::Device *ARootTask::CreateDisplayDevice(TRenderInterface::DisplayParams &a_rDisplayParams, bool a_bReverseOrder) { - TRenderInterface* pRenderer = TRenderInterface::GetRenderer(); - const TRenderAdapter::Mode::Device* pDevice = TNULL; + TRenderInterface *pRenderer = TRenderInterface::GetRenderer(); + const TRenderAdapter::Mode::Device *pDevice = TNULL; if (a_bReverseOrder) { a_rDisplayParams.eDepthStencilFormat = 4; - pDevice = pRenderer->FindDevice(&a_rDisplayParams); + pDevice = pRenderer->FindDevice(&a_rDisplayParams); if (!pDevice) { a_rDisplayParams.eDepthStencilFormat = 2; - pDevice = pRenderer->FindDevice(&a_rDisplayParams); + pDevice = pRenderer->FindDevice(&a_rDisplayParams); if (!pDevice) { a_rDisplayParams.eDepthStencilFormat = 3; - pDevice = pRenderer->FindDevice(&a_rDisplayParams); + pDevice = pRenderer->FindDevice(&a_rDisplayParams); if (!pDevice) { a_rDisplayParams.eDepthStencilFormat = 0; - pDevice = pRenderer->FindDevice(&a_rDisplayParams); + pDevice = pRenderer->FindDevice(&a_rDisplayParams); if (!pDevice) { a_rDisplayParams.eDepthStencilFormat = 1; - pDevice = pRenderer->FindDevice(&a_rDisplayParams); + pDevice = pRenderer->FindDevice(&a_rDisplayParams); } } } @@ -192,28 +192,28 @@ const TRenderAdapter::Mode::Device* ARootTask::CreateDisplayDevice(TRenderInterf } else { - pDevice = pRenderer->FindDevice(&a_rDisplayParams); + pDevice = pRenderer->FindDevice(&a_rDisplayParams); a_rDisplayParams.eDepthStencilFormat = 0; if (!pDevice) { a_rDisplayParams.eDepthStencilFormat = 1; - pDevice = pRenderer->FindDevice(&a_rDisplayParams); + pDevice = pRenderer->FindDevice(&a_rDisplayParams); if (!pRenderer->FindDevice(&a_rDisplayParams)) { a_rDisplayParams.eDepthStencilFormat = 2; - pDevice = pRenderer->FindDevice(&a_rDisplayParams); + pDevice = pRenderer->FindDevice(&a_rDisplayParams); if (!pRenderer->FindDevice(&a_rDisplayParams)) { a_rDisplayParams.eDepthStencilFormat = 4; - pDevice = pRenderer->FindDevice(&a_rDisplayParams); + pDevice = pRenderer->FindDevice(&a_rDisplayParams); if (!pRenderer->FindDevice(&a_rDisplayParams)) { a_rDisplayParams.eDepthStencilFormat = 3; - pDevice = pRenderer->FindDevice(&a_rDisplayParams); + pDevice = pRenderer->FindDevice(&a_rDisplayParams); } } } @@ -221,7 +221,6 @@ const TRenderAdapter::Mode::Device* ARootTask::CreateDisplayDevice(TRenderInterf } return pDevice; - } void ARootTask::LoadMaterialLibrary(TINT a_iIndex) diff --git a/OpenJPOG/Source/Tasks/ARootTask.h b/OpenJPOG/Source/Tasks/ARootTask.h index c7ca565..5d9466c 100644 --- a/OpenJPOG/Source/Tasks/ARootTask.h +++ b/OpenJPOG/Source/Tasks/ARootTask.h @@ -15,16 +15,17 @@ class ARootTask : public Toshi::TTask { DECLARE_DYNAMIC(ARootTask); + public: ARootTask(); virtual ~ARootTask() = default; virtual TBOOL OnCreate() override; virtual TBOOL OnUpdate(TFLOAT a_fDeltaTime) override { return TTRUE; } - virtual void OnDestroy() override; - virtual void OnChildDied(Toshi::TClass* a_pClass, Toshi::TTask* a_pDeletedTask) override; - virtual void OnActivate() override; - virtual void OnDeactivate() override; + virtual void OnDestroy() override; + virtual void OnChildDied(Toshi::TClass *a_pClass, Toshi::TTask *a_pDeletedTask) override; + virtual void OnActivate() override; + virtual void OnDeactivate() override; void LoadFrontEndController(); void UnloadFrontEndController(); @@ -45,19 +46,19 @@ class ARootTask : public Toshi::TTask { return m_pRenderInterface; } - AGUISystem* GetGUISystem() + AGUISystem *GetGUISystem() { return m_pGUISystem; } - Toshi::AMoviePlayer* GetMoviePlayer() + Toshi::AMoviePlayer *GetMoviePlayer() { return m_pMoviePlayer; } - ARootStateController* GetRootStateController() const + ARootStateController *GetRootStateController() const { return m_pGameStateController; } - Toshi::ARenderer* GetARenderer() + Toshi::ARenderer *GetARenderer() { return m_pRenderer; } @@ -69,23 +70,23 @@ class ARootTask : public Toshi::TTask void AllocateGUISystem(); void AllocateInputSystem(); - void CreateARenderer(); + void CreateARenderer(); TBOOL CreateRenderInterface(); - void CreateGameStateController(); + void CreateGameStateController(); - const Toshi::TRenderAdapter::Mode::Device* CreateDisplayDevice(Toshi::TRenderInterface::DisplayParams& a_rDisplayParams, bool a_bReverseOrder); + const Toshi::TRenderAdapter::Mode::Device *CreateDisplayDevice(Toshi::TRenderInterface::DisplayParams &a_rDisplayParams, bool a_bReverseOrder); void LoadMaterialLibrary(TINT a_iIndex); private: - Toshi::TCString m_szName; - AOptions *m_pOptions; // 0x24 - AFrontEndController* m_pFrontEndController; // 0x28 - AGUISystem* m_pGUISystem; // 0x34 - Toshi::TTask* m_pInputTask; // 0x38 - Toshi::TRenderInterface* m_pRenderInterface; // 0xD0 - Toshi::ARenderer* m_pRenderer; // 0xD4 - ARootStateController* m_pGameStateController; // 0xD8 - AVibrationManager* m_pVibrationTask; // 0xE8 - Toshi::AMoviePlayer* m_pMoviePlayer; // 0xF0 -}; \ No newline at end of file + Toshi::TCString m_szName; + AOptions *m_pOptions; // 0x24 + AFrontEndController *m_pFrontEndController; // 0x28 + AGUISystem *m_pGUISystem; // 0x34 + Toshi::TTask *m_pInputTask; // 0x38 + Toshi::TRenderInterface *m_pRenderInterface; // 0xD0 + Toshi::ARenderer *m_pRenderer; // 0xD4 + ARootStateController *m_pGameStateController; // 0xD8 + AVibrationManager *m_pVibrationTask; // 0xE8 + Toshi::AMoviePlayer *m_pMoviePlayer; // 0xF0 +}; diff --git a/OpenJPOG/Source/main.cpp b/OpenJPOG/Source/main.cpp index 82a6072..446488e 100644 --- a/OpenJPOG/Source/main.cpp +++ b/OpenJPOG/Source/main.cpp @@ -3,34 +3,34 @@ AApplication g_oTheApp; -TBOOL AApplication::OnCreate(TINT argc, TPCHAR* const argv) +TBOOL AApplication::OnCreate(TINT argc, TPCHAR *const argv) { - m_pRenderTask = (ADummyTask*)g_oTheApp.GetKernel()->GetScheduler()->CreateTask(TGetClass(ADummyTask), TNULL); + m_pRenderTask = (ADummyTask *)g_oTheApp.GetKernel()->GetScheduler()->CreateTask(TGetClass(ADummyTask), TNULL); m_pRenderTask->Create(); m_pRenderTask->Activate(TTRUE); - m_pRenderTask->SetName((TPCHAR)"RenderTask"); + m_pRenderTask->SetName((TPCHAR) "RenderTask"); - m_pUpdate3Task = (ADummyTask*)g_oTheApp.GetKernel()->GetScheduler()->CreateTask(TGetClass(ADummyTask), TNULL); + m_pUpdate3Task = (ADummyTask *)g_oTheApp.GetKernel()->GetScheduler()->CreateTask(TGetClass(ADummyTask), TNULL); m_pUpdate3Task->Create(); m_pUpdate3Task->Activate(TTRUE); - m_pUpdate3Task->SetName((TPCHAR)"Update3"); + m_pUpdate3Task->SetName((TPCHAR) "Update3"); - m_pUpdate2Task = (ADummyTask*)g_oTheApp.GetKernel()->GetScheduler()->CreateTask(TGetClass(ADummyTask), TNULL); + m_pUpdate2Task = (ADummyTask *)g_oTheApp.GetKernel()->GetScheduler()->CreateTask(TGetClass(ADummyTask), TNULL); m_pUpdate2Task->Create(); m_pUpdate2Task->Activate(TTRUE); - m_pUpdate2Task->SetName((TPCHAR)"Update2"); + m_pUpdate2Task->SetName((TPCHAR) "Update2"); - m_pUpdate1Task = (ADummyTask*)g_oTheApp.GetKernel()->GetScheduler()->CreateTask(TGetClass(ADummyTask), TNULL); + m_pUpdate1Task = (ADummyTask *)g_oTheApp.GetKernel()->GetScheduler()->CreateTask(TGetClass(ADummyTask), TNULL); m_pUpdate1Task->Create(); m_pUpdate1Task->Activate(TTRUE); - m_pUpdate1Task->SetName((TPCHAR)"Update1"); + m_pUpdate1Task->SetName((TPCHAR) "Update1"); - m_pInputTask = (ADummyTask*)g_oTheApp.GetKernel()->GetScheduler()->CreateTask(TGetClass(ADummyTask), TNULL); + m_pInputTask = (ADummyTask *)g_oTheApp.GetKernel()->GetScheduler()->CreateTask(TGetClass(ADummyTask), TNULL); m_pInputTask->Create(); m_pInputTask->Activate(TTRUE); - m_pInputTask->SetName((TPCHAR)"InputTask"); + m_pInputTask->SetName((TPCHAR) "InputTask"); - m_pRootTask = (ARootTask*)g_oTheApp.GetKernel()->GetScheduler()->CreateTask(TGetClass(ARootTask), m_pUpdate2Task); + m_pRootTask = (ARootTask *)g_oTheApp.GetKernel()->GetScheduler()->CreateTask(TGetClass(ARootTask), m_pUpdate2Task); if (m_pRootTask) { if (!m_pRootTask->Create()) { return TFALSE; @@ -49,7 +49,7 @@ TBOOL AApplication::OnDestroy() return TTRUE; } -int main(int argc, char** argv) +int main(int argc, char **argv) { if (g_oTheApp.Create("Jurassic Park: Operation Genesis - (c) Blue Tongue Software", argc, argv)) { Toshi::TMemory::DebugPrintHALMemInfo(TNULL); @@ -57,4 +57,4 @@ int main(int argc, char** argv) } g_oTheApp.Destroy(); return 0; -} \ No newline at end of file +} diff --git a/OpenJPOG/Source/main.h b/OpenJPOG/Source/main.h index dd4fad2..1ebf09e 100644 --- a/OpenJPOG/Source/main.h +++ b/OpenJPOG/Source/main.h @@ -7,30 +7,29 @@ class AApplication : public Toshi::TApplication { public: - AApplication() { - } - virtual TBOOL OnCreate(TINT argc, TPCHAR* const argv) override; + virtual TBOOL OnCreate(TINT argc, TPCHAR *const argv) override; virtual TBOOL OnDestroy() override; + public: - ARootTask* GetRootTask() const { return m_pRootTask; } - ADummyTask* GetInputRootTask() const { return m_pInputTask; } - ADummyTask* GetUpdate1RootTask() const { return m_pUpdate1Task; } - ADummyTask* GetUpdate2RootTask() const { return m_pUpdate2Task; } - ADummyTask* GetUpdate3RootTask() const { return m_pUpdate3Task; } - ADummyTask* GetRenderRootTask() const { return m_pRenderTask; } + ARootTask *GetRootTask() const { return m_pRootTask; } + ADummyTask *GetInputRootTask() const { return m_pInputTask; } + ADummyTask *GetUpdate1RootTask() const { return m_pUpdate1Task; } + ADummyTask *GetUpdate2RootTask() const { return m_pUpdate2Task; } + ADummyTask *GetUpdate3RootTask() const { return m_pUpdate3Task; } + ADummyTask *GetRenderRootTask() const { return m_pRenderTask; } private: - // 0x0 -> 0x1C TApplication - ARootTask* m_pRootTask; // 0x1C - ADummyTask* m_pInputTask; // 0x20 - ADummyTask* m_pUpdate1Task; // 0x24 - ADummyTask* m_pUpdate2Task; // 0x28 - ADummyTask* m_pUpdate3Task; // 0x2C - ADummyTask* m_pRenderTask; // 0x24 + // 0x0 -> 0x1C TApplication + ARootTask *m_pRootTask; // 0x1C + ADummyTask *m_pInputTask; // 0x20 + ADummyTask *m_pUpdate1Task; // 0x24 + ADummyTask *m_pUpdate2Task; // 0x28 + ADummyTask *m_pUpdate3Task; // 0x2C + ADummyTask *m_pRenderTask; // 0x24 }; -extern AApplication g_oTheApp; \ No newline at end of file +extern AApplication g_oTheApp; diff --git a/Tools/UnitTests/Source/TApplication/TApplication_Tests.cpp b/Tools/UnitTests/Source/TApplication/TApplication_Tests.cpp index 9c8716a..a299fd9 100644 --- a/Tools/UnitTests/Source/TApplication/TApplication_Tests.cpp +++ b/Tools/UnitTests/Source/TApplication/TApplication_Tests.cpp @@ -5,5 +5,4 @@ TOSHI_NAMESPACE_USING TEST_CASE("Create", "[TApplication]") { - -} \ No newline at end of file +} diff --git a/Tools/UnitTests/Source/TKernel/TCString_Tests.cpp b/Tools/UnitTests/Source/TKernel/TCString_Tests.cpp index 3135f53..b18524b 100644 --- a/Tools/UnitTests/Source/TKernel/TCString_Tests.cpp +++ b/Tools/UnitTests/Source/TKernel/TCString_Tests.cpp @@ -24,9 +24,9 @@ TEST_CASE("Mid", "[TCString]") REQUIRE(result == "World"); TCString string2("Name[Subname]"); - TINT index = string2.Find('['); - TCString name = string2.Mid(0, index); + TINT index = string2.Find('['); + TCString name = string2.Mid(0, index); TCString subName = string2.Mid(index + 1, (string2.Find(']') - index) - 1); REQUIRE(name == "Name"); REQUIRE(subName == "Subname"); -} \ No newline at end of file +} diff --git a/Tools/UnitTests/Source/TKernel/TDList_Tests.cpp b/Tools/UnitTests/Source/TKernel/TDList_Tests.cpp index a51fc2e..3ed1618 100644 --- a/Tools/UnitTests/Source/TKernel/TDList_Tests.cpp +++ b/Tools/UnitTests/Source/TKernel/TDList_Tests.cpp @@ -10,8 +10,10 @@ struct Test : TDList::TNode struct Test2 : TPriList::TNode { - Test2() : m_iTest(0) {} - Test2(int a_iTest) : m_iTest(a_iTest) {} + Test2() + : m_iTest(0) {} + Test2(int a_iTest) + : m_iTest(a_iTest) {} int m_iTest; }; @@ -20,22 +22,22 @@ struct Test2 : TPriList::TNode TEST_CASE("List", "[TDList]") { TDList list; - Test *t = new Test{}; + Test* t = new Test{}; list.InsertHead(t); REQUIRE(!list.IsEmpty()); TDList::TNode* node = list.Begin(); - Test *t2 = list.Head(); + Test* t2 = list.Head(); REQUIRE(t2 == t); } TEST_CASE("Priority List", "[TDList]") { TPriList list; - Test2 t; + Test2 t; list.InsertHead(&t); REQUIRE(!list.IsEmpty()); REQUIRE(list.Head() == &t); - Test2 t2{1}; + Test2 t2{ 1 }; list.InsertHead(&t2); REQUIRE(!list.IsEmpty()); REQUIRE(list.Head() == &t2); @@ -50,4 +52,4 @@ TEST_CASE("Priority List", "[TDList]") // auto val = *it; // REQUIRE(val.m_iTest == expected[i++]); //} -} \ No newline at end of file +} diff --git a/Tools/UnitTests/Source/TKernel/TDebug_Tests.cpp b/Tools/UnitTests/Source/TKernel/TDebug_Tests.cpp index f568c80..9d6ea3f 100644 --- a/Tools/UnitTests/Source/TKernel/TDebug_Tests.cpp +++ b/Tools/UnitTests/Source/TKernel/TDebug_Tests.cpp @@ -11,4 +11,4 @@ TEST_CASE("Test Assert", "[TDebug]") } TASSERT(!TTRUE); TASSERT(!TTRUE); -} \ No newline at end of file +} diff --git a/Tools/UnitTests/Source/TKernel/TFileLexer_Tests.cpp b/Tools/UnitTests/Source/TKernel/TFileLexer_Tests.cpp index 4632b5e..4864e35 100644 --- a/Tools/UnitTests/Source/TKernel/TFileLexer_Tests.cpp +++ b/Tools/UnitTests/Source/TKernel/TFileLexer_Tests.cpp @@ -5,11 +5,11 @@ TOSHI_NAMESPACE_USING TEST_CASE("Single Line Comment", "[TFileLexer]") { - TFile* f = TFile::Create("singelLineComment.ini", TMODE_CREATE); + TFile* f = TFile::Create("singelLineComment.ini", TMODE_CREATE); TPCCHAR data = "// Test Comment\n"; f->Write(data, strlen(data)); f->Destroy(); - f = TFile::Create("singelLineComment.ini", TMODE_READONLY); + f = TFile::Create("singelLineComment.ini", TMODE_READONLY); TFileLexerUTF8 lexer = TFileLexerUTF8(f, 2); lexer.SetOutputComments(TTRUE); REQUIRE(lexer.Expect(TFileLexer::TOKEN_COMMENT)); @@ -18,11 +18,11 @@ TEST_CASE("Single Line Comment", "[TFileLexer]") TEST_CASE("Multi Line Comment", "[TFileLexer]") { - TFile* f = TFile::Create("multiLineComment.ini", TMODE_CREATE); + TFile* f = TFile::Create("multiLineComment.ini", TMODE_CREATE); TPCCHAR data = "/* Test Comment\n \tABCD\n*//**/"; f->Write(data, strlen(data)); f->Destroy(); - f = TFile::Create("multiLineComment.ini", TMODE_READONLY); + f = TFile::Create("multiLineComment.ini", TMODE_READONLY); TFileLexerUTF8 lexer = TFileLexerUTF8(f, 2); lexer.SetOutputComments(TTRUE); REQUIRE(lexer.Expect(TFileLexer::TOKEN_COMMENT)); @@ -34,11 +34,11 @@ TEST_CASE("Multi Line Comment", "[TFileLexer]") TEST_CASE("String", "[TFileLexer]") { - TFile* f = TFile::Create("quotes.ini", TMODE_CREATE); + TFile* f = TFile::Create("quotes.ini", TMODE_CREATE); TPCCHAR data = "\"Test\"\n"; f->Write(data, strlen(data)); f->Destroy(); - f = TFile::Create("quotes.ini", TMODE_READONLY); + f = TFile::Create("quotes.ini", TMODE_READONLY); TFileLexerUTF8 lexer = TFileLexerUTF8(f, 2); REQUIRE(lexer.Expect(TFileLexer::TOKEN_STRING)); TFileLexerUTF8::Token token = lexer.GetLastToken(); @@ -49,11 +49,11 @@ TEST_CASE("String", "[TFileLexer]") TEST_CASE("Numerics", "[TFileLexer]") { - TFile* f = TFile::Create("numerics.ini", TMODE_CREATE); + TFile* f = TFile::Create("numerics.ini", TMODE_CREATE); TPCCHAR data = "1.0f\n5e+1\n20u\n0x20"; f->Write(data, strlen(data)); f->Destroy(); - f = TFile::Create("numerics.ini", TMODE_READONLY); + f = TFile::Create("numerics.ini", TMODE_READONLY); TFileLexerUTF8 lexer = TFileLexerUTF8(f, 2); REQUIRE(lexer.Expect(TFileLexer::TOKEN_FLOAT)); @@ -75,6 +75,6 @@ TEST_CASE("Numerics", "[TFileLexer]") token = lexer.GetLastToken(); REQUIRE(token.GetInteger() == 0x20); REQUIRE(token.GetLine() == 4); - + f->Destroy(); -} \ No newline at end of file +} diff --git a/Tools/UnitTests/Source/TKernel/TFile_Tests.cpp b/Tools/UnitTests/Source/TKernel/TFile_Tests.cpp index 3c598dd..f56d73a 100644 --- a/Tools/UnitTests/Source/TKernel/TFile_Tests.cpp +++ b/Tools/UnitTests/Source/TKernel/TFile_Tests.cpp @@ -13,4 +13,4 @@ TEST_CASE("Create File", "[TFile]") f->Destroy(); std::ifstream f2("Test.txt"); REQUIRE(f2.good()); -} \ No newline at end of file +} diff --git a/Tools/UnitTests/Source/TKernel/TKernelInterface_Tests.cpp b/Tools/UnitTests/Source/TKernel/TKernelInterface_Tests.cpp index e941ead..600be17 100644 --- a/Tools/UnitTests/Source/TKernel/TKernelInterface_Tests.cpp +++ b/Tools/UnitTests/Source/TKernel/TKernelInterface_Tests.cpp @@ -5,7 +5,7 @@ TOSHI_NAMESPACE_USING TEST_CASE("DumpInfo", "[TKernelInterface]") { - + //TKernelInterface ki = TKernelInterface(0, (TPCHAR*)"", TTRUE); //ki.DumpInfo(); -} \ No newline at end of file +} diff --git a/Tools/UnitTests/Source/TKernel/TManagedPointer_Tests.cpp b/Tools/UnitTests/Source/TKernel/TManagedPointer_Tests.cpp index b004650..9ea23c3 100644 --- a/Tools/UnitTests/Source/TKernel/TManagedPointer_Tests.cpp +++ b/Tools/UnitTests/Source/TKernel/TManagedPointer_Tests.cpp @@ -10,7 +10,7 @@ struct Test TEST_CASE("Test Managed Pointer", "[TManagedPtr]") { - TManagedPtr testptr(new Test{1}); + TManagedPtr testptr(new Test{ 1 }); REQUIRE(testptr->m_iTest == 1); REQUIRE(testptr.GetRefCount() == 1); TManagedPtr testptr2 = testptr; diff --git a/Tools/UnitTests/Source/TKernel/TObject_Tests.cpp b/Tools/UnitTests/Source/TKernel/TObject_Tests.cpp index b842c0b..0ac9cec 100644 --- a/Tools/UnitTests/Source/TKernel/TObject_Tests.cpp +++ b/Tools/UnitTests/Source/TKernel/TObject_Tests.cpp @@ -45,4 +45,4 @@ TEST_CASE("Create Object", "[TObject]") REQUIRE(obj != TNULL); REQUIRE(obj->IsA(TGetClass(Test2))); } -*/ \ No newline at end of file +*/ diff --git a/Tools/UnitTests/Source/TKernel/TUser_Tests.cpp b/Tools/UnitTests/Source/TKernel/TUser_Tests.cpp index 7abaeb3..beeca0b 100644 --- a/Tools/UnitTests/Source/TKernel/TUser_Tests.cpp +++ b/Tools/UnitTests/Source/TKernel/TUser_Tests.cpp @@ -9,7 +9,7 @@ static TUser testUser2("AdventureT"); TEST_CASE("Register User", "[TUser]") { TSHORT iUserID = testUser.Register(); - + REQUIRE(iUserID != -1); REQUIRE(TUserHandler::GetSingleton().FindUser("Test")); REQUIRE(testUser.IsRegistered()); @@ -39,4 +39,4 @@ TEST_CASE("Deregister User", "[TUser]") REQUIRE(TUserHandler::GetSingleton().FindUser("Toshi")); // This user is created in the ctor of TKernelInterface // The Users are still present, but not Registered REQUIRE(TUserHandler::GetSingleton().GetUserCount() == 3); -} \ No newline at end of file +} diff --git a/Tools/UnitTests/Source/TRender/TResource_Tests.cpp b/Tools/UnitTests/Source/TRender/TResource_Tests.cpp index c2a9a7f..503534b 100644 --- a/Tools/UnitTests/Source/TRender/TResource_Tests.cpp +++ b/Tools/UnitTests/Source/TRender/TResource_Tests.cpp @@ -9,4 +9,4 @@ TEST_CASE("SetName", "[TResource]") res.SetName(TNULL); REQUIRE(strcmp(res.GetName(), "res:0") == 0); -} \ No newline at end of file +} diff --git a/Tools/UnitTests/Source/main.cpp b/Tools/UnitTests/Source/main.cpp index 2226c78..6642de2 100644 --- a/Tools/UnitTests/Source/main.cpp +++ b/Tools/UnitTests/Source/main.cpp @@ -19,7 +19,7 @@ class AApplication : public Toshi::TApplication static AApplication g_oTheApp; -int main(int argc, char* argv[]) +int main(int argc, char* argv[]) { int result = 0; if (g_oTheApp.Create("UnitTests", argc, argv)) { @@ -30,4 +30,4 @@ int main(int argc, char* argv[]) g_oTheApp.Destroy(); return result; -} \ No newline at end of file +} diff --git a/Toshi/Include/TApplication/Defines.h b/Toshi/Include/TApplication/Defines.h index 9f6d04c..0c2eb7c 100644 --- a/Toshi/Include/TApplication/Defines.h +++ b/Toshi/Include/TApplication/Defines.h @@ -3,14 +3,14 @@ #ifndef TAPPLICATION_STATIC_LINKING -#ifdef TAPPLICATION -#define TAPPLICATION_EXPORTS DLL_CLASS_EXPORT -#else -#define TAPPLICATION_EXPORTS DLL_CLASS_IMPORT -#endif +# ifdef TAPPLICATION +# define TAPPLICATION_EXPORTS DLL_CLASS_EXPORT +# else +# define TAPPLICATION_EXPORTS DLL_CLASS_IMPORT +# endif -#else // !TAPPLICATION_STATIC_LINKING +#else // !TAPPLICATION_STATIC_LINKING -#define TAPPLICATION_EXPORTS +# define TAPPLICATION_EXPORTS -#endif // TAPPLICATION_STATIC_LINKING \ No newline at end of file +#endif // TAPPLICATION_STATIC_LINKING diff --git a/Toshi/Include/TApplication/TApplication.h b/Toshi/Include/TApplication/TApplication.h index 427f86b..840856c 100644 --- a/Toshi/Include/TApplication/TApplication.h +++ b/Toshi/Include/TApplication/TApplication.h @@ -4,7 +4,7 @@ #include #ifdef TOSHI_SKU_WINDOWS -#include +# include #endif TOSHI_NAMESPACE_BEGIN @@ -15,16 +15,15 @@ class TAPPLICATION_EXPORTS TApplication private: enum TApplicationFlag { - TApplicationFlag_Created = BITFIELD(0), + TApplicationFlag_Created = BITFIELD(0), TApplicationFlag_Destroyed = BITFIELD(1), }; public: - TApplication(); virtual ~TApplication(); - TBOOL Create(TPCCHAR a_pcName, TINT argc, TPCHAR* const argv); + TBOOL Create(TPCCHAR a_pcName, TINT argc, TPCHAR *const argv); TBOOL Execute(); TBOOL IsCreated() @@ -38,7 +37,11 @@ class TAPPLICATION_EXPORTS TApplication } TBOOL ShowConsole(TBOOL a_bShowConsole); - TBOOL ToggleConsole() { ShowConsole(!m_bShowConsole); return m_bShowConsole; } + TBOOL ToggleConsole() + { + ShowConsole(!m_bShowConsole); + return m_bShowConsole; + } void Destroy() { @@ -50,7 +53,7 @@ class TAPPLICATION_EXPORTS TApplication MessageBox(*m_hConsole, a_oErrorMessage.GetString(), "Error", 0); } - virtual TBOOL OnCreate(TINT argc, TPCHAR* const argv) + virtual TBOOL OnCreate(TINT argc, TPCHAR *const argv) { m_uiState |= TApplicationFlag_Created; return TTRUE; @@ -66,15 +69,15 @@ class TAPPLICATION_EXPORTS TApplication return (m_uiState & TApplicationFlag_Destroyed) == 0; } - TKernelInterface* GetKernel() { return m_pKernel; } + TKernelInterface *GetKernel() { return m_pKernel; } private: - TKernelInterface* m_pKernel; // 0x4 - TCString m_pcName; // 0x8 - TINT m_uiState; // 0x10 - TBOOL m_bVerbose; // 0x14 - TBOOL m_bShowConsole; // 0x15 - HWND* m_hConsole; // 0x18 + TKernelInterface *m_pKernel; // 0x4 + TCString m_pcName; // 0x8 + TINT m_uiState; // 0x10 + TBOOL m_bVerbose; // 0x14 + TBOOL m_bShowConsole; // 0x15 + HWND *m_hConsole; // 0x18 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TGui/Defines.h b/Toshi/Include/TGui/Defines.h index 3f428f0..829e474 100644 --- a/Toshi/Include/TGui/Defines.h +++ b/Toshi/Include/TGui/Defines.h @@ -3,14 +3,14 @@ #ifndef TGUIINTERFACE_STATIC_LINKING -#ifdef TGUIINTERFACE -#define TGUIINTERFACE_EXPORTS DLL_CLASS_EXPORT -#else -#define TGUIINTERFACE_EXPORTS DLL_CLASS_IMPORT -#endif +# ifdef TGUIINTERFACE +# define TGUIINTERFACE_EXPORTS DLL_CLASS_EXPORT +# else +# define TGUIINTERFACE_EXPORTS DLL_CLASS_IMPORT +# endif -#else // !TGUIINTERFACE_STATIC_LINKING +#else // !TGUIINTERFACE_STATIC_LINKING -#define TGUIINTERFACE_EXPORTS +# define TGUIINTERFACE_EXPORTS -#endif // TGUIINTERFACE_STATIC_LINKING \ No newline at end of file +#endif // TGUIINTERFACE_STATIC_LINKING diff --git a/Toshi/Include/TGui/TGUIActionMap.h b/Toshi/Include/TGui/TGUIActionMap.h index c7187c0..e600750 100644 --- a/Toshi/Include/TGui/TGUIActionMap.h +++ b/Toshi/Include/TGui/TGUIActionMap.h @@ -13,4 +13,4 @@ class TGUIINTERFACE_EXPORTS TGUIActionMap : public TObject void AddActionMapping(TINT a_iDoodad, TUINT a_uiAction); }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TGui/TGUIDeserialisable.h b/Toshi/Include/TGui/TGUIDeserialisable.h index 0e62d8a..4349fd8 100644 --- a/Toshi/Include/TGui/TGUIDeserialisable.h +++ b/Toshi/Include/TGui/TGUIDeserialisable.h @@ -9,4 +9,4 @@ class TGUIINTERFACE_EXPORTS TGUIDeserialisable : public TObject DECLARE_DYNAMIC(TGUIDeserialisable) }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TGui/TGUIInterface.h b/Toshi/Include/TGui/TGUIInterface.h index 75ac1cd..8116c7a 100644 --- a/Toshi/Include/TGui/TGUIInterface.h +++ b/Toshi/Include/TGui/TGUIInterface.h @@ -16,4 +16,4 @@ class TGUIINTERFACE_EXPORTS TGUIInterface : public TObject TGUIActionMap m_oActionMap; // 0x84 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TGui/TGUIMemory.h b/Toshi/Include/TGui/TGUIMemory.h index 0e3f9a8..36b6f9a 100644 --- a/Toshi/Include/TGui/TGUIMemory.h +++ b/Toshi/Include/TGui/TGUIMemory.h @@ -13,8 +13,8 @@ class TGUIINTERFACE_EXPORTS TGUIMemory static TPile ms_oMemoryPile; }; -void* TOSHI_API TGUINew(TUINT a_uiSize); -void* TOSHI_API TGUIDelete(void* a_pMemory); -void TOSHI_API TGUISetUseMemoryPile(TBOOL a_bEnable); +void *TOSHI_API TGUINew(TUINT a_uiSize); +void *TOSHI_API TGUIDelete(void *a_pMemory); +void TOSHI_API TGUISetUseMemoryPile(TBOOL a_bEnable); -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TGui/TGUIScreen.h b/Toshi/Include/TGui/TGUIScreen.h index 3b8a84b..2554795 100644 --- a/Toshi/Include/TGui/TGUIScreen.h +++ b/Toshi/Include/TGui/TGUIScreen.h @@ -8,4 +8,4 @@ class TGUIINTERFACE_EXPORTS TGUIScreen : public TGUIWidget DECLARE_DYNAMIC(TGUIScreen) }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TGui/TGuiWidget.h b/Toshi/Include/TGui/TGuiWidget.h index 0c624a6..b1cc539 100644 --- a/Toshi/Include/TGui/TGuiWidget.h +++ b/Toshi/Include/TGui/TGuiWidget.h @@ -5,18 +5,19 @@ TOSHI_NAMESPACE_BEGIN -class TGUIINTERFACE_EXPORTS TGUIWidget : public TGUIDeserialisable, public TNodeList::TNode +class TGUIINTERFACE_EXPORTS TGUIWidget : public TGUIDeserialisable + , public TNodeList::TNode { DECLARE_DYNAMIC(TGUIWidget) enum State { - STATE_ENABLED = BITFIELD(0), - STATE_FOCUSED = BITFIELD(1), - STATE_VISIBLE = BITFIELD(2), + STATE_ENABLED = BITFIELD(0), + STATE_FOCUSED = BITFIELD(1), + STATE_VISIBLE = BITFIELD(2), STATE_ROLLOVER = BITFIELD(3), STATE_SELECTED = BITFIELD(4), }; }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/Defines.h b/Toshi/Include/TKernel/Defines.h index d349c2c..c7ea251 100644 --- a/Toshi/Include/TKernel/Defines.h +++ b/Toshi/Include/TKernel/Defines.h @@ -3,14 +3,14 @@ #ifndef TKERNELINTERFACE_STATIC_LINKING -#ifdef TKERNELINTERFACE -#define TKERNELINTERFACE_EXPORTS DLL_CLASS_EXPORT -#else -#define TKERNELINTERFACE_EXPORTS DLL_CLASS_IMPORT -#endif +# ifdef TKERNELINTERFACE +# define TKERNELINTERFACE_EXPORTS DLL_CLASS_EXPORT +# else +# define TKERNELINTERFACE_EXPORTS DLL_CLASS_IMPORT +# endif -#else // !TKERNELINTERFACE_STATIC_LINKING +#else // !TKERNELINTERFACE_STATIC_LINKING -#define TKERNELINTERFACE_EXPORTS +# define TKERNELINTERFACE_EXPORTS -#endif // TKERNELINTERFACE_STATIC_LINKING \ No newline at end of file +#endif // TKERNELINTERFACE_STATIC_LINKING diff --git a/Toshi/Include/TKernel/T2Iterator.h b/Toshi/Include/TKernel/T2Iterator.h index 23454cd..643138a 100644 --- a/Toshi/Include/TKernel/T2Iterator.h +++ b/Toshi/Include/TKernel/T2Iterator.h @@ -2,100 +2,101 @@ #include #define T2_FOREACH(vecName, iteratorName) \ - for (auto iteratorName = vecName.Begin(); iteratorName != vecName.End(); iteratorName++) + for (auto iteratorName = vecName.Begin(); iteratorName != vecName.End(); iteratorName++) #define T2_FOREACH_BACK(vecName, iteratorName) \ for (auto iteratorName = vecName.Tail(); iteratorName != vecName.End(); iteratorName--) #define T2_FOREACH_ARRAY(arrName, iteratorName) \ - for (TINT iteratorName = 0; iteratorName < TARRAYSIZE(arrName); iteratorName++) + for (TINT iteratorName = 0; iteratorName < TARRAYSIZE(arrName); iteratorName++) #define T2_FOREACH_ARRAY_BACK(arrName, iteratorName) \ for (TINT iteratorName = TARRAYSIZE(arrName) - 1; iteratorName >= 0; iteratorName--) #define T2_DEFINE_ITERATOR_FRIEND() \ - template friend class Toshi::T2Iterator + template friend class Toshi::T2Iterator #define T2_DEFINE_ITERATOR(TYPE, NODE_TYPE) \ using Iterator_t = Toshi::T2Iterator -namespace Toshi { +namespace Toshi +{ - template - class T2Iterator +template +class T2Iterator +{ +public: + //TSTATICASSERT(std::is_base_of::value); + + T2Iterator() + { + m_pPtr = TNULL; + } + + T2Iterator(Node *pPtr) + { + m_pPtr = static_cast(pPtr); + } + + T2Iterator(T *pPtr) + { + m_pPtr = pPtr; + } + + void operator=(const T2Iterator &other) + { + m_pPtr = other.m_pPtr; + } + + void operator=(T *pPtr) { - public: - //TSTATICASSERT(std::is_base_of::value); - - T2Iterator() - { - m_pPtr = TNULL; - } - - T2Iterator(Node* pPtr) - { - m_pPtr = static_cast(pPtr); - } - - T2Iterator(T* pPtr) - { - m_pPtr = pPtr; - } - - void operator=(const T2Iterator& other) - { - m_pPtr = other.m_pPtr; - } - - void operator=(T* pPtr) - { - m_pPtr = pPtr; - } - - T* operator->() const - { - TASSERT(m_pPtr != TNULL); - return m_pPtr; - } - - operator T* () const - { - TASSERT(m_pPtr != TNULL); - return static_cast(m_pPtr); - } - - T2Iterator operator++(TINT) - { - TASSERT(m_pPtr != TNULL); - T2Iterator old = m_pPtr; - m_pPtr = static_cast(m_pPtr->Next()); - return old; - } - - T2Iterator operator--(TINT) - { - TASSERT(m_pPtr != TNULL); - T2Iterator old = m_pPtr; - m_pPtr = static_cast(m_pPtr->Prev()); - return old; - } - - T2Iterator operator++() - { - TASSERT(m_pPtr != TNULL); - m_pPtr = static_cast(m_pPtr->Next()); - return T2Iterator{ m_pPtr }; - } - - T2Iterator operator--() - { - TASSERT(m_pPtr != TNULL); - m_pPtr = static_cast(m_pPtr->Prev()); - return T2Iterator{ m_pPtr }; - } - - private: - T* m_pPtr; - }; - -} \ No newline at end of file + m_pPtr = pPtr; + } + + T *operator->() const + { + TASSERT(m_pPtr != TNULL); + return m_pPtr; + } + + operator T *() const + { + TASSERT(m_pPtr != TNULL); + return static_cast(m_pPtr); + } + + T2Iterator operator++(TINT) + { + TASSERT(m_pPtr != TNULL); + T2Iterator old = m_pPtr; + m_pPtr = static_cast(m_pPtr->Next()); + return old; + } + + T2Iterator operator--(TINT) + { + TASSERT(m_pPtr != TNULL); + T2Iterator old = m_pPtr; + m_pPtr = static_cast(m_pPtr->Prev()); + return old; + } + + T2Iterator operator++() + { + TASSERT(m_pPtr != TNULL); + m_pPtr = static_cast(m_pPtr->Next()); + return T2Iterator{ m_pPtr }; + } + + T2Iterator operator--() + { + TASSERT(m_pPtr != TNULL); + m_pPtr = static_cast(m_pPtr->Prev()); + return T2Iterator{ m_pPtr }; + } + +private: + T *m_pPtr; +}; + +} // namespace Toshi diff --git a/Toshi/Include/TKernel/TArray.h b/Toshi/Include/TKernel/TArray.h index 2d8c600..6e609ed 100644 --- a/Toshi/Include/TKernel/TArray.h +++ b/Toshi/Include/TKernel/TArray.h @@ -21,25 +21,25 @@ class TArray public: Iterator() { - m_iIndex = 0; + m_iIndex = 0; m_poArray = TNULL; } - Iterator(const Iterator& other) + Iterator(const Iterator &other) { m_poArray = other.m_poArray; - m_iIndex = 0; + m_iIndex = 0; } - Iterator(Storage& a_poArray) + Iterator(Storage &a_poArray) { - m_iIndex = 0; + m_iIndex = 0; m_poArray = &a_poArray; } - Iterator(TINT a_iIndex, Storage& a_poArray) + Iterator(TINT a_iIndex, Storage &a_poArray) { - m_iIndex = a_iIndex; + m_iIndex = a_iIndex; m_poArray = &a_poArray; } @@ -55,7 +55,7 @@ class TArray return m_iIndex; } - TINT& IncrementSafe() + TINT &IncrementSafe() { m_iIndex++; TASSERT(m_poArray); @@ -67,13 +67,13 @@ class TArray return m_iIndex; } - void Push(const T& element) + void Push(const T &element) { TASSERT(m_poArray); m_poArray->Push(element); } - T* operator->() const + T *operator->() const { TASSERT(m_iIndex >= 0); TASSERT(m_poArray); @@ -81,7 +81,7 @@ class TArray return &m_poArray->m_pData[m_iIndex]; } - T& Get() + T &Get() { TASSERT(m_iIndex >= 0); TASSERT(m_poArray); @@ -94,7 +94,7 @@ class TArray return (m_iIndex >= m_poArray->GetNumElements() || m_iIndex == -1); } - const T& Get() const + const T &Get() const { TASSERT(m_iIndex >= 0); TASSERT(m_poArray); @@ -102,7 +102,7 @@ class TArray return m_poArray->m_pData[m_iIndex]; } - Iterator& operator++() + Iterator &operator++() { m_iIndex++; return *this; @@ -115,7 +115,7 @@ class TArray return temp; } - Iterator& operator--() + Iterator &operator--() { m_iIndex--; return *this; @@ -139,25 +139,24 @@ class TArray } private: - TINT m_iIndex; // 0x0 - Storage* m_poArray; // 0x4 + TINT m_iIndex; // 0x0 + Storage *m_poArray; // 0x4 }; public: - - TArray() : TArray(10, 0) + TArray() + : TArray(10, 0) { - } TArray(TINT a_iGrowSize, TINT a_iSize) { - m_iGrowSize = a_iGrowSize; + m_iGrowSize = a_iGrowSize; m_iNumAllocElements = a_iSize; - m_iNumElements = 0; + m_iNumElements = 0; if (m_iNumAllocElements > 0) { - m_pData = TSTATICCAST(T*, tmemalign(alignof(T), m_iNumAllocElements * sizeof(T))); + m_pData = TSTATICCAST(T *, tmemalign(alignof(T), m_iNumAllocElements * sizeof(T))); } else { TASSERT(m_iGrowSize != 0); @@ -216,28 +215,28 @@ class TArray m_iGrowSize = a_iGrowSize; } - T* Push(const T& element) + T *Push(const T &element) { GrowBy(1); - T* current = &m_pData[m_iNumElements++]; + T *current = &m_pData[m_iNumElements++]; memcpy(current, &element, sizeof(T)); return current; } - T& Pop() + T &Pop() { TASSERT(m_iNumElements >= 1); return m_pData[--m_iNumElements]; } - T& operator[](TINT a_iIndex) + T &operator[](TINT a_iIndex) { TASSERT(a_iIndex >= 0); TASSERT(a_iIndex < m_iNumElements); return m_pData[a_iIndex]; } - const T& operator[](TINT a_iIndex) const + const T &operator[](TINT a_iIndex) const { TASSERT(a_iIndex >= 0); TASSERT(a_iIndex < m_iNumElements); @@ -258,7 +257,7 @@ class TArray void Resize(TINT a_iNewSize) { if (a_iNewSize != 0) { - T* pNewBuffer = TSTATICCAST(T*, tmemalign(alignof(T), a_iNewSize * sizeof(T))); + T *pNewBuffer = TSTATICCAST(T *, tmemalign(alignof(T), a_iNewSize * sizeof(T))); size_t uiCopySize = TMIN(m_iNumElements, a_iNewSize); TSystem::MemCopy(pNewBuffer, m_pData, sizeof(T) * uiCopySize); @@ -271,9 +270,9 @@ class TArray } else { if (m_pData) tfree(m_pData); - m_pData = TNULL; + m_pData = TNULL; m_iNumAllocElements = 0; - m_iNumElements = 0; + m_iNumElements = 0; } } @@ -281,7 +280,7 @@ class TArray TINT m_iGrowSize; // 0x0 TINT m_iNumElements; // 0x4 TINT m_iNumAllocElements; // 0x8 - T* m_pData; // 0xC + T *m_pData; // 0xC }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TCString.h b/Toshi/Include/TKernel/TCString.h index 52616a9..38d56bc 100644 --- a/Toshi/Include/TKernel/TCString.h +++ b/Toshi/Include/TKernel/TCString.h @@ -9,11 +9,10 @@ TOSHI_NAMESPACE_BEGIN class TPCString; class TWString; -class TKERNELINTERFACE_EXPORTS TCString +class TKERNELINTERFACE_EXPORTS TCString { public: - - friend TCString TKERNELINTERFACE_EXPORTS TOSHI_API operator+(TPCCHAR a_pLHS, const TCString& a_rRHS); + friend TCString TKERNELINTERFACE_EXPORTS TOSHI_API operator+(TPCCHAR a_pLHS, const TCString &a_rRHS); // $TKernelInterface: FUNCTION 1000a5a0 COMPLETED TCString() @@ -22,51 +21,51 @@ class TKERNELINTERFACE_EXPORTS TCString AllocBuffer(0); } - // $TKernelInterface: FUNCTION 1000a5d0 COMPLETED + // $TKernelInterface: FUNCTION 1000a5d0 COMPLETED TCString(TINT a_iLength) { Reset(); AllocBuffer(a_iLength); } - // $TKernelInterface: FUNCTION 1000b9f0 COMPLETED + // $TKernelInterface: FUNCTION 1000b9f0 COMPLETED TCString(const TCString &a_rOther) { Reset(); Copy(a_rOther); } - // $TKernelInterface: FUNCTION 1000b9c0 COMPLETED + // $TKernelInterface: FUNCTION 1000b9c0 COMPLETED TCString(const TWString &a_rOther) { Reset(); Copy(a_rOther); } - // $TKernelInterface: FUNCTION 1000ba50 COMPLETED + // $TKernelInterface: FUNCTION 1000ba50 COMPLETED TCString(TPCCHAR a_pcString) { Reset(); Copy(a_pcString); } - // $TKernelInterface: FUNCTION 1000b9b0 COMPLETED + // $TKernelInterface: FUNCTION 1000b9b0 COMPLETED ~TCString() { FreeBuffer(); } - TCString& Concat(TCString const& a_rString, TINT a_iLength = -1); - TCString& Concat(TPCCHAR a_String, TINT a_iLength = -1); - TINT Compare(TPCCHAR a_pcString, int a_iLength = -1) const; + TCString &Concat(TCString const &a_rString, TINT a_iLength = -1); + TCString &Concat(TPCCHAR a_String, TINT a_iLength = -1); + TINT Compare(TPCCHAR a_pcString, int a_iLength = -1) const; - void Copy(const TCString& a_rOther, TINT a_iLength = -1); + void Copy(const TCString &a_rOther, TINT a_iLength = -1); void Copy(const TWString &a_rOther, TINT a_iLength = -1); void Copy(TPCCHAR a_pcString, TINT a_iLength = -1); - TCString& TOSHI_CALLBACKAPI Format(TPCCHAR a_pcFormat, ...); - TINT Find(TCHAR a_cFind, TINT a_iIndex = 0) const; - TINT FindReverse(TCHAR a_cFind, TINT a_iIndex = -1) const; + TCString &TOSHI_CALLBACKAPI Format(TPCCHAR a_pcFormat, ...); + TINT Find(TCHAR a_cFind, TINT a_iIndex = 0) const; + TINT FindReverse(TCHAR a_cFind, TINT a_iIndex = -1) const; TCString Mid(TINT a_iFirst, TINT a_iCount) const; @@ -92,7 +91,7 @@ class TKERNELINTERFACE_EXPORTS TCString return Compare(a_pcString) != 0; } - bool operator!=(const TCString& a_rOther) const + bool operator!=(const TCString &a_rOther) const { return Compare(a_rOther.m_pBuffer) != 0; } @@ -102,18 +101,18 @@ class TKERNELINTERFACE_EXPORTS TCString return Compare(a_pcString) == 0; } - bool operator==(const TCString& a_rOther) const + bool operator==(const TCString &a_rOther) const { return Compare(a_rOther.m_pBuffer) == 0; } - TCString& operator=(TPCCHAR a_pcString) + TCString &operator=(TPCCHAR a_pcString) { Copy(a_pcString); return *this; } - TCString& operator=(TCString& a_rOther) + TCString &operator=(TCString &a_rOther) { Copy(a_rOther); return *this; @@ -137,33 +136,33 @@ class TKERNELINTERFACE_EXPORTS TCString return str.Concat(a_rRHS); } - TCString& operator+=(TPCCHAR a_pcString) + TCString &operator+=(TPCCHAR a_pcString) { Concat(a_pcString); return *this; } - TCString& operator+=(const TCString &a_rString) + TCString &operator+=(const TCString &a_rString) { Concat(a_rString); return *this; } - TCCHAR& operator[](TINT a_iIndex) const + TCCHAR &operator[](TINT a_iIndex) const { - TASSERT((a_iIndex>=0) && (a_iIndex<=(TINT)m_iStrLen)); + TASSERT((a_iIndex >= 0) && (a_iIndex <= (TINT)m_iStrLen)); return m_pBuffer[a_iIndex]; } - TCHAR& operator[](TINT a_iIndex) + TCHAR &operator[](TINT a_iIndex) { TASSERT((a_iIndex >= 0) && (a_iIndex <= (TINT)m_iStrLen)); return m_pBuffer[a_iIndex]; } - const TCString& Print() const + const TCString &Print() const { - TASSERT(GetString()!=TNULL); + TASSERT(GetString() != TNULL); TDPRINTF("%s", GetString()); return *this; } @@ -186,21 +185,20 @@ class TKERNELINTERFACE_EXPORTS TCString void Reset() { - m_pBuffer = m_aNull; + m_pBuffer = m_aNull; m_iExcessLen = 0; - m_iStrLen = 0; + m_iStrLen = 0; } private: - inline static TCHAR m_aNull[4] = { 0, 0, 0, 0 }; - TPCHAR m_pBuffer; // 0x0 - TINT m_iStrLen : 24 = 0; // 0x4 - TINT m_iExcessLen : 8 = 0; // 0x5 + TPCHAR m_pBuffer; // 0x0 + TINT m_iStrLen : 24 = 0; // 0x4 + TINT m_iExcessLen : 8 = 0; // 0x5 }; -TCString TKERNELINTERFACE_EXPORTS TOSHI_API operator+(TPCCHAR a_pLHS, const TCString& a_rRHS); -TCString TKERNELINTERFACE_EXPORTS TOSHI_API operator+(const TCString& a_rLHS, const TPCString& a_rRHS); +TCString TKERNELINTERFACE_EXPORTS TOSHI_API operator+(TPCCHAR a_pLHS, const TCString &a_rRHS); +TCString TKERNELINTERFACE_EXPORTS TOSHI_API operator+(const TCString &a_rLHS, const TPCString &a_rRHS); TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TDLL.h b/Toshi/Include/TKernel/TDLL.h index 7b78a88..d76f3da 100644 --- a/Toshi/Include/TKernel/TDLL.h +++ b/Toshi/Include/TKernel/TDLL.h @@ -7,7 +7,6 @@ TOSHI_NAMESPACE_BEGIN class TKERNELINTERFACE_EXPORTS TDLL { public: - TDLL() { m_pDLL = TNULL; @@ -19,14 +18,15 @@ class TKERNELINTERFACE_EXPORTS TDLL } TPVOID GetAddress(const TCString &a_rProcName); - TBOOL Load(const TCString& a_rFileName); - void Unload(); + TBOOL Load(const TCString &a_rFileName); + void Unload(); + + HMODULE GetDLL() { return m_pDLL; } + const TCString &GetFilename() { return m_szFilename; } - HMODULE GetDLL() { return m_pDLL; } - const TCString& GetFilename() { return m_szFilename; } private: TCString m_szFilename; // 0x4 - HMODULE m_pDLL; // 0xC + HMODULE m_pDLL; // 0xC }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TDList.h b/Toshi/Include/TKernel/TDList.h index 1f32145..20f9df0 100644 --- a/Toshi/Include/TKernel/TDList.h +++ b/Toshi/Include/TKernel/TDList.h @@ -9,31 +9,30 @@ class TKERNELINTERFACE_EXPORTS TGenericDList class TKERNELINTERFACE_EXPORTS TNode { public: - enum TUnititialised { }; - TNode(TUnititialised){} + TNode(TUnititialised) {} TNode() { Reset(); } - TNode* Next() const + TNode *Next() const { return m_pNext; } - TNode* Prev() const + TNode *Prev() const { return m_pPrev; } public: - TNode& operator=(const TNode& a_rNode) + TNode &operator=(const TNode &a_rNode) { m_pNext = a_rNode.m_pNext; m_pPrev = a_rNode.m_pPrev; @@ -41,24 +40,28 @@ class TKERNELINTERFACE_EXPORTS TGenericDList } TBOOL IsLinked() const { return this != m_pNext; } - void Reset() { m_pNext = this; m_pPrev = this; } + void Reset() + { + m_pNext = this; + m_pPrev = this; + } - void InsertAfter(TNode* a_pNode) + void InsertAfter(TNode *a_pNode) { TASSERT(!IsLinked()); - m_pPrev = a_pNode; - m_pNext = a_pNode->m_pNext; + m_pPrev = a_pNode; + m_pNext = a_pNode->m_pNext; a_pNode->m_pNext = this; m_pNext->m_pPrev = this; } - void InsertBefore(TNode* a_pNode) + void InsertBefore(TNode *a_pNode) { TASSERT(!IsLinked()); - m_pNext = a_pNode; - m_pPrev = a_pNode->m_pPrev; + m_pNext = a_pNode; + m_pPrev = a_pNode->m_pPrev; a_pNode->m_pPrev = this; m_pPrev->m_pNext = this; } @@ -71,70 +74,76 @@ class TKERNELINTERFACE_EXPORTS TGenericDList } public: - template friend class TDList; + template friend class TDList; friend TGenericDList; public: - TNode* m_pNext; // 0x0 - TNode* m_pPrev; // 0x4 + TNode *m_pNext; // 0x0 + TNode *m_pPrev; // 0x4 }; protected: - void InsertHead(TNode* a_pNode) { a_pNode->InsertAfter(&m_oRoot); } - void InsertTail(TNode* a_pNode) { a_pNode->InsertBefore(&m_oRoot); } - void RemoveHead() { if (!IsEmpty()) m_oRoot.Next()->Remove(); } - void RemoveTail() { if (!IsEmpty()) m_oRoot.Prev()->Remove(); } - TBOOL IsEmpty() const { return m_oRoot.Next() == &m_oRoot; } - TNode* Head() const { return m_oRoot.Next(); } - TNode* Tail() const { return m_oRoot.Prev(); } - TNode* Begin() const { return m_oRoot.Next(); } - TNode* RBegin() const { return m_oRoot.Prev(); } - const TNode* End() const { return &m_oRoot; } - const TNode* REnd() const { return &m_oRoot; } - - static void TOSHI_API InsertSegmentAfter(TNode* node1, TNode* node2, TNode* node3) + void InsertHead(TNode *a_pNode) { a_pNode->InsertAfter(&m_oRoot); } + void InsertTail(TNode *a_pNode) { a_pNode->InsertBefore(&m_oRoot); } + void RemoveHead() + { + if (!IsEmpty()) m_oRoot.Next()->Remove(); + } + void RemoveTail() { - node1->m_pNext = node3; - node2->m_pPrev = node3->m_pPrev; + if (!IsEmpty()) m_oRoot.Prev()->Remove(); + } + TBOOL IsEmpty() const { return m_oRoot.Next() == &m_oRoot; } + TNode *Head() const { return m_oRoot.Next(); } + TNode *Tail() const { return m_oRoot.Prev(); } + TNode *Begin() const { return m_oRoot.Next(); } + TNode *RBegin() const { return m_oRoot.Prev(); } + const TNode *End() const { return &m_oRoot; } + const TNode *REnd() const { return &m_oRoot; } + + static void TOSHI_API InsertSegmentAfter(TNode *node1, TNode *node2, TNode *node3) + { + node1->m_pNext = node3; + node2->m_pPrev = node3->m_pPrev; node1->m_pNext->m_pPrev = node1; node2->m_pPrev->m_pNext = node2; } - static void TOSHI_API InsertSegmentBefore(TNode* node1, TNode* node2, TNode* node3) + static void TOSHI_API InsertSegmentBefore(TNode *node1, TNode *node2, TNode *node3) { - node2->m_pPrev = node3; - node1->m_pNext = node3->m_pNext; + node2->m_pPrev = node3; + node1->m_pNext = node3->m_pNext; node2->m_pPrev->m_pNext = node2; node1->m_pNext->m_pPrev = node1; } - void InsertSegmentAtHead(TNode* node1, TNode* node2) + void InsertSegmentAtHead(TNode *node1, TNode *node2) { - node1->m_pNext = &m_oRoot; - node2->m_pPrev = m_oRoot.m_pPrev; + node1->m_pNext = &m_oRoot; + node2->m_pPrev = m_oRoot.m_pPrev; node1->m_pNext->m_pPrev = node1; node2->m_pPrev->m_pNext = node2; } - void InsertSegmentAtTail(TNode* node1, TNode* node2) + void InsertSegmentAtTail(TNode *node1, TNode *node2) { - node2->m_pPrev = &m_oRoot; - node1->m_pNext = m_oRoot.m_pNext; + node2->m_pPrev = &m_oRoot; + node1->m_pNext = m_oRoot.m_pNext; node2->m_pPrev->m_pNext = node2; node1->m_pNext->m_pPrev = node1; } - static void TOSHI_API RemoveSegment(TNode* node1, TNode* node2) + static void TOSHI_API RemoveSegment(TNode *node1, TNode *node2) { node1->m_pPrev->m_pNext = node2->m_pNext; node2->m_pNext->m_pPrev = node1->m_pPrev; - node1->m_pPrev = node1; - node2->m_pNext = node2; + node1->m_pPrev = node1; + node2->m_pNext = node2; } void RemoveAll() { - for (TNode* pNode = Begin(); pNode != End(); pNode = m_oRoot.Next()) { + for (TNode *pNode = Begin(); pNode != End(); pNode = m_oRoot.Next()) { pNode->Remove(); } } @@ -154,7 +163,6 @@ class TKERNELINTERFACE_EXPORTS TGenericPriList : public TGenericDList class TKERNELINTERFACE_EXPORTS TNode : public TGenericDList::TNode { public: - enum TUnititialised { @@ -167,22 +175,20 @@ class TKERNELINTERFACE_EXPORTS TGenericPriList : public TGenericDList TNode(TUnititialised) { - } public: - - TNode* Next() const + TNode *Next() const { - return (TNode*)m_pNext; + return (TNode *)m_pNext; } - TNode* Prev() const + TNode *Prev() const { - return (TNode*)m_pPrev; + return (TNode *)m_pPrev; } - TNode& operator=(const TNode& node) + TNode &operator=(const TNode &node) { m_pNext = node.m_pNext; m_pPrev = node.m_pPrev; @@ -217,7 +223,7 @@ class TKERNELINTERFACE_EXPORTS TGenericPriList : public TGenericDList } public: - template friend class TPriList; + template friend class TPriList; friend TGenericPriList; private: @@ -225,44 +231,41 @@ class TKERNELINTERFACE_EXPORTS TGenericPriList : public TGenericDList }; public: - - void Insert(TNode* node, int iPriority) + void Insert(TNode *node, int iPriority) { node->SetPriority(iPriority); Insert(node); } - void Insert(TNode* node) + void Insert(TNode *node) { - TINT priority = node->m_iPriority; - TNode* curNode; + TINT priority = node->m_iPriority; + TNode *curNode; if (priority < 0) { - for (curNode = (TNode*)m_oRoot.Next(); curNode != &m_oRoot && curNode->m_iPriority <= priority; curNode = curNode->Next()) { - + for (curNode = (TNode *)m_oRoot.Next(); curNode != &m_oRoot && curNode->m_iPriority <= priority; curNode = curNode->Next()) { } node->InsertBefore(curNode); } else { - for (curNode = (TNode*)m_oRoot.Prev(); curNode != &m_oRoot && priority < curNode->m_iPriority; curNode = curNode->Prev()) { - + for (curNode = (TNode *)m_oRoot.Prev(); curNode != &m_oRoot && priority < curNode->m_iPriority; curNode = curNode->Prev()) { } node->InsertAfter(curNode); } } - void InsertHead(TNode* a_pNode) + void InsertHead(TNode *a_pNode) { a_pNode->m_iPriority = -0x8000; - a_pNode->InsertAfter(&m_oRoot); + a_pNode->InsertAfter(&m_oRoot); } - void InsertTail(TNode* a_pNode) + void InsertTail(TNode *a_pNode) { a_pNode->m_iPriority = 0x7FFF; - a_pNode->InsertBefore(&m_oRoot); + a_pNode->InsertBefore(&m_oRoot); } protected: - void SetPriority(TNode* a_pNode, int priority) + void SetPriority(TNode *a_pNode, int priority) { a_pNode->Remove(); Insert(a_pNode); @@ -276,7 +279,6 @@ class TKERNELINTERFACE_EXPORTS TGenericPriList : public TGenericDList protected: TGenericPriList() { - } ~TGenericPriList() { RemoveAll(); } @@ -286,18 +288,17 @@ template class TPriList : public TGenericPriList { public: - TPriList() { } + TPriList() {} class Iterator { public: - Iterator() { m_pPtr = TNULL; } - Iterator(T* pPtr) + Iterator(T *pPtr) { m_pPtr = pPtr; } @@ -324,101 +325,99 @@ class TPriList : public TGenericPriList return m_pPtr == rIt.m_pPtr; } - TBOOL operator!=(Iterator& rIt) const + TBOOL operator!=(Iterator &rIt) const { return m_pPtr != rIt.m_pPtr; } - Iterator& operator=(const Iterator& other) + Iterator &operator=(const Iterator &other) { m_pPtr = other.m_pPtr; return *this; } - T* operator->() const + T *operator->() const { TASSERT(m_pPtr != TNULL); return m_pPtr; } - T& operator*() const + T &operator*() const { TASSERT(m_pPtr != TNULL); return *m_pPtr; } - operator T* () const + operator T *() const { TASSERT(m_pPtr != TNULL); return m_pPtr; } - operator TGenericPriList::TNode* () const + operator TGenericPriList::TNode *() const { TASSERT(m_pPtr != TNULL); - return (TGenericPriList::TNode*)m_pPtr; + return (TGenericPriList::TNode *)m_pPtr; } Iterator operator++(int) { TASSERT(m_pPtr != TNULL); Iterator old = m_pPtr; - m_pPtr = (T*)m_pPtr->Next(); + m_pPtr = (T *)m_pPtr->Next(); return old; } - Iterator& operator++(void) + Iterator &operator++(void) { TASSERT(m_pPtr != TNULL); - m_pPtr = (T*)m_pPtr->Next(); + m_pPtr = (T *)m_pPtr->Next(); return *this; } - Iterator& operator--() + Iterator &operator--() { TASSERT(m_pPtr != TNULL); - m_pPtr = (T*)m_pPtr->Prev(); + m_pPtr = (T *)m_pPtr->Prev(); return *this; } private: - T* m_pPtr; + T *m_pPtr; }; - T* Head() { return static_cast(TGenericPriList::Head()); } - T* Tail() { return static_cast(TGenericPriList::Tail()); } - Iterator Begin() { return static_cast(TGenericPriList::Begin()); } - const T* End() const { return static_cast(TGenericPriList::End()); } - TBOOL IsEmpty() { return TGenericPriList::IsEmpty(); } - TBOOL IsLinked() { return m_oRoot.IsLinked(); } - void RemoveHead() { TGenericPriList::RemoveHead(); } - void RemoveTail() { TGenericPriList::RemoveTail(); } - void InsertHead(TNode* a_pNode) { TGenericPriList::InsertHead(a_pNode); } - void InsertTail(TNode* a_pNode) { TGenericPriList::InsertTail(a_pNode); } + T *Head() { return static_cast(TGenericPriList::Head()); } + T *Tail() { return static_cast(TGenericPriList::Tail()); } + Iterator Begin() { return static_cast(TGenericPriList::Begin()); } + const T *End() const { return static_cast(TGenericPriList::End()); } + TBOOL IsEmpty() { return TGenericPriList::IsEmpty(); } + TBOOL IsLinked() { return m_oRoot.IsLinked(); } + void RemoveHead() { TGenericPriList::RemoveHead(); } + void RemoveTail() { TGenericPriList::RemoveTail(); } + void InsertHead(TNode *a_pNode) { TGenericPriList::InsertHead(a_pNode); } + void InsertTail(TNode *a_pNode) { TGenericPriList::InsertTail(a_pNode); } }; template class TDList : public TGenericDList { public: - - TDList() { } + TDList() {} class Iterator { public: - Iterator() { m_pPtr = TNULL; } - Iterator(T* pPtr) + Iterator(T *pPtr) { m_pPtr = pPtr; } - Iterator(const Iterator& rIt) + Iterator(const Iterator &rIt) { m_pPtr = rIt.m_pPtr; } @@ -435,35 +434,35 @@ class TDList : public TGenericDList return IsNull(); } - TBOOL operator==(Iterator& rIt) const + TBOOL operator==(Iterator &rIt) const { return m_pPtr == rIt.m_pPtr; } - TBOOL operator!=(Iterator& rIt) const + TBOOL operator!=(Iterator &rIt) const { return m_pPtr != rIt.m_pPtr; } - Iterator& operator=(const Iterator& other) + Iterator &operator=(const Iterator &other) { m_pPtr = other.m_pPtr; return *this; } - T* operator->() const + T *operator->() const { TASSERT(m_pPtr != TNULL); return m_pPtr; } - T& operator*() const + T &operator*() const { TASSERT(m_pPtr != TNULL); return *m_pPtr; } - operator T* () const + operator T *() const { TASSERT(m_pPtr != TNULL); return m_pPtr; @@ -473,39 +472,39 @@ class TDList : public TGenericDList { TASSERT(m_pPtr != TNULL); Iterator old = m_pPtr; - m_pPtr = (T*)m_pPtr->Next(); + m_pPtr = (T *)m_pPtr->Next(); return old; } - Iterator& operator++(void) + Iterator &operator++(void) { TASSERT(m_pPtr != TNULL); - m_pPtr = (T*)m_pPtr->Next(); + m_pPtr = (T *)m_pPtr->Next(); return *this; } - Iterator& operator--() + Iterator &operator--() { TASSERT(m_pPtr != TNULL); - m_pPtr = (T*)m_pPtr->Prev(); + m_pPtr = (T *)m_pPtr->Prev(); return *this; } private: - T* m_pPtr; + T *m_pPtr; }; - T* Head() { return static_cast(TGenericDList::Head()); } - T* Tail() { return static_cast(TGenericDList::Tail()); } - Iterator Begin() { return (T*)(TGenericDList::Begin()); } - Iterator End() const { return (T*)(TGenericDList::End()); } - TBOOL IsEmpty() { return TGenericDList::IsEmpty(); } - TBOOL IsLinked() { return m_oRoot.IsLinked(); } - void RemoveHead() { TGenericDList::RemoveHead(); } - void RemoveTail() { TGenericDList::RemoveTail(); } - void InsertHead(TNode* a_pNode) { TGenericDList::InsertHead(a_pNode); } - void InsertTail(TNode* a_pNode) { TGenericDList::InsertTail(a_pNode); } + T *Head() { return static_cast(TGenericDList::Head()); } + T *Tail() { return static_cast(TGenericDList::Tail()); } + Iterator Begin() { return (T *)(TGenericDList::Begin()); } + Iterator End() const { return (T *)(TGenericDList::End()); } + TBOOL IsEmpty() { return TGenericDList::IsEmpty(); } + TBOOL IsLinked() { return m_oRoot.IsLinked(); } + void RemoveHead() { TGenericDList::RemoveHead(); } + void RemoveTail() { TGenericDList::RemoveTail(); } + void InsertHead(TNode *a_pNode) { TGenericDList::InsertHead(a_pNode); } + void InsertTail(TNode *a_pNode) { TGenericDList::InsertTail(a_pNode); } }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TDebug.h b/Toshi/Include/TKernel/TDebug.h index 2bd8638..b69d462 100644 --- a/Toshi/Include/TKernel/TDebug.h +++ b/Toshi/Include/TKernel/TDebug.h @@ -4,29 +4,29 @@ #ifdef TOSHI_NOTFINAL -#define COMBINE1(X,Y) X##Y // helper macro -#define COMBINE(X,Y) COMBINE1(X,Y) -#define TFIREFLAG_CREATE(line) static TBOOL COMBINE(IGNOREALL, line) = TFALSE -#define TFIREFLAG(line) COMBINE(IGNOREALL, line) - -#define TASSERT(expression) \ - TFIREFLAG_CREATE(__LINE__); \ - if (!(expression)) { \ - if (Toshi::TDebug::AssertHandler(const_cast(#expression), const_cast(__FILE__), __LINE__, TFIREFLAG(__LINE__))) { \ - __debugbreak(); \ - } \ - } - -#define TDPRINTF(format, ...) Toshi::TDebug_Printf(format, __VA_ARGS__) -#define TWARNING(format, ...) Toshi::TDebug_PrintWarning(format, __VA_ARGS__) -#define TERROR(format, ...) Toshi::TDebug_PrintError(format, __VA_ARGS__) -#define TVALIDADDRESS(expression) TASSERT(Toshi::TDebug::IsValidAddress(expression)) +# define COMBINE1(X, Y) X##Y // helper macro +# define COMBINE(X, Y) COMBINE1(X, Y) +# define TFIREFLAG_CREATE(line) static TBOOL COMBINE(IGNOREALL, line) = TFALSE +# define TFIREFLAG(line) COMBINE(IGNOREALL, line) + +# define TASSERT(expression) \ + TFIREFLAG_CREATE(__LINE__); \ + if (!(expression)) { \ + if (Toshi::TDebug::AssertHandler(const_cast(#expression), const_cast(__FILE__), __LINE__, TFIREFLAG(__LINE__))) { \ + __debugbreak(); \ + } \ + } + +# define TDPRINTF(format, ...) Toshi::TDebug_Printf(format, __VA_ARGS__) +# define TWARNING(format, ...) Toshi::TDebug_PrintWarning(format, __VA_ARGS__) +# define TERROR(format, ...) Toshi::TDebug_PrintError(format, __VA_ARGS__) +# define TVALIDADDRESS(expression) TASSERT(Toshi::TDebug::IsValidAddress(expression)) TOSHI_NAMESPACE_BEGIN enum TDebug_Flags : TUINT { - FLAG_UNK = 0, + FLAG_UNK = 0, FLAG_UNK1 = BITFIELD(0), FLAG_UNK2 = BITFIELD(1), FLAG_UNK3 = BITFIELD(2) @@ -35,26 +35,29 @@ enum TDebug_Flags : TUINT class TKERNELINTERFACE_EXPORTS TDebug { public: - enum MSGLEVEL { }; - static TBOOL TOSHI_API AssertHandler(TPCHAR a_pcExpression, TPCHAR a_pcFile, TINT a_iLine, TBOOL& a_bUnk); - static void TOSHI_API PrintIndent(); - static void TOSHI_API DebugFilePrintString(TPCHAR a_pcString); + static TBOOL TOSHI_API AssertHandler(TPCHAR a_pcExpression, TPCHAR a_pcFile, TINT a_iLine, TBOOL &a_bUnk); + static void TOSHI_API PrintIndent(); + static void TOSHI_API DebugFilePrintString(TPCHAR a_pcString); - static TBOOL TOSHI_API EnableDebugFile(TBOOL a_bEnable) { TBOOL previous = m_bEnableDebugFile; m_bEnableDebugFile = a_bEnable; return previous; } + static TBOOL TOSHI_API EnableDebugFile(TBOOL a_bEnable) + { + TBOOL previous = m_bEnableDebugFile; + m_bEnableDebugFile = a_bEnable; + return previous; + } static TBOOL TOSHI_API IsDebugFileEnabled() { return m_bEnableDebugFile; } static TBOOL TOSHI_API IsValidAddress(TPCVOID a_pMem) { return a_pMem && a_pMem != (TPCVOID)0xCDCDCDCD && a_pMem >= (TPCVOID)80; } - inline static TINT s_iLogIndent = 0; - inline static TCHAR s_sSixteenSpace[16] = { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' }; - inline static TPVOID m_pDebugFile = TNULL; - inline static TBOOL m_bEnableDebugFile = TFALSE; - inline static TINT s_iMessageLevel = 0; - + inline static TINT s_iLogIndent = 0; + inline static TCHAR s_sSixteenSpace[16] = { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' }; + inline static TPVOID m_pDebugFile = TNULL; + inline static TBOOL m_bEnableDebugFile = TFALSE; + inline static TINT s_iMessageLevel = 0; }; void TKERNELINTERFACE_EXPORTS TOSHI_API TDebug_VPrintfDirect(TUINT a_uiFlags, TPCCHAR a_pcFormat, va_list a_vargs); @@ -80,17 +83,17 @@ TOSHI_NAMESPACE_END #else -#define TASSERT(expression) -#define TDPRINTF(format, ...) -#define TWARNING(format, ...) -#define TERROR(format, ...) -#define TVALIDADDRESS(expression) +# define TASSERT(expression) +# define TDPRINTF(format, ...) +# define TWARNING(format, ...) +# define TERROR(format, ...) +# define TVALIDADDRESS(expression) TOSHI_NAMESPACE_BEGIN enum TDebug_Flags : TUINT { - FLAG_UNK = 0, + FLAG_UNK = 0, FLAG_UNK1 = BITFIELD(0), FLAG_UNK2 = BITFIELD(1), FLAG_UNK3 = BITFIELD(2) @@ -99,7 +102,6 @@ enum TDebug_Flags : TUINT class TKERNELINTERFACE_EXPORTS TDebug { public: - enum MSGLEVEL { @@ -107,16 +109,20 @@ class TKERNELINTERFACE_EXPORTS TDebug static void TOSHI_API DebugFilePrintString(TPCHAR a_pcString); - static TBOOL EnableDebugFile(TBOOL a_bEnable) { TBOOL previous = m_bEnableDebugFile; m_bEnableDebugFile = a_bEnable; return previous; } + static TBOOL EnableDebugFile(TBOOL a_bEnable) + { + TBOOL previous = m_bEnableDebugFile; + m_bEnableDebugFile = a_bEnable; + return previous; + } static TBOOL IsDebugFileEnabled() { return m_bEnableDebugFile; } static TBOOL IsValidAddress(TPCVOID a_pMem) { return a_pMem && a_pMem != (TPCVOID)0xCDCDCDCD && a_pMem >= (TPCVOID)80; } - inline static TINT s_iLogIndent = 0; - inline static TCHAR s_sSixteenSpace[16] = { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' }; - inline static TPVOID m_pDebugFile = TNULL; - inline static TBOOL m_bEnableDebugFile = TFALSE; - inline static TINT s_iMessageLevel = 0; - + inline static TINT s_iLogIndent = 0; + inline static TCHAR s_sSixteenSpace[16] = { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' }; + inline static TPVOID m_pDebugFile = TNULL; + inline static TBOOL m_bEnableDebugFile = TFALSE; + inline static TINT s_iMessageLevel = 0; }; void TKERNELINTERFACE_EXPORTS TOSHI_CALLBACKAPI TDebug_Message(TDebug::MSGLEVEL a_eMsgLevel, TPCCHAR a_pcFormat, ...); @@ -124,6 +130,3 @@ void TKERNELINTERFACE_EXPORTS TOSHI_CALLBACKAPI TDebug_Message(TDebug::MSGLEVEL TOSHI_NAMESPACE_END #endif // TOSHI_DEBUG - - - diff --git a/Toshi/Include/TKernel/TEvent.h b/Toshi/Include/TKernel/TEvent.h index beb57bc..6a6a13c 100644 --- a/Toshi/Include/TKernel/TEvent.h +++ b/Toshi/Include/TKernel/TEvent.h @@ -8,16 +8,16 @@ class TGenericEmitter; class TKERNELINTERFACE_EXPORTS TGenericListener : public TPriList::TNode { public: - using t_Callback = TBOOL(*)(void* a_pCaller, void* a_pOwner, void* a_pData); + using t_Callback = TBOOL (*)(void *a_pCaller, void *a_pOwner, void *a_pData); friend class TGenericEmitter; public: TGenericListener() { - m_pCaller = TNULL; + m_pCaller = TNULL; m_pCallback = TNULL; } - TGenericListener(TGenericEmitter* a_pEmitter, void* a_pCaller, t_Callback a_pCallback, int a_iPriority) + TGenericListener(TGenericEmitter *a_pEmitter, void *a_pCaller, t_Callback a_pCallback, int a_iPriority) { Connect(a_pEmitter, a_pCaller, a_pCallback, a_iPriority); } @@ -26,18 +26,17 @@ class TKERNELINTERFACE_EXPORTS TGenericListener : public TPriListm_pCallback(it->m_pCaller, m_pOwner, a_pData); } } - void Create(void* a_pOwner) + void Create(void *a_pOwner) { m_pOwner = a_pOwner; } @@ -78,7 +77,7 @@ class TKERNELINTERFACE_EXPORTS TGenericEmitter private: TPriList m_Listeners; - void* m_pOwner; + void *m_pOwner; }; template @@ -86,12 +85,13 @@ class TEmitter : public TGenericEmitter { public: TEmitter() = default; - TEmitter(Owner* owner) : TGenericEmitter(owner) {} + TEmitter(Owner *owner) + : TGenericEmitter(owner) {} - void Throw(Data* pData) { TGenericEmitter::Throw(pData); } - void Throw(Data&& data) { TGenericEmitter::Throw(&data); } + void Throw(Data *pData) { TGenericEmitter::Throw(pData); } + void Throw(Data &&data) { TGenericEmitter::Throw(&data); } - void Create(Owner* owner) { TGenericEmitter::Create(owner); } + void Create(Owner *owner) { TGenericEmitter::Create(owner); } void Destroy() { TGenericEmitter::Destroy(); } }; @@ -99,18 +99,17 @@ template class TListener : public TGenericListener { public: - using t_CallerCallback = TBOOL(*)(Caller* a_pCaller, Owner* a_pOwner, Data* a_pData); + using t_CallerCallback = TBOOL (*)(Caller *a_pCaller, Owner *a_pOwner, Data *a_pData); public: - void Connect(TGenericEmitter& a_rEmitter, Caller* a_pCaller, t_CallerCallback a_pCallback, int a_iPriority) + void Connect(TGenericEmitter &a_rEmitter, Caller *a_pCaller, t_CallerCallback a_pCallback, int a_iPriority) { TGenericListener::Connect( a_rEmitter, a_pCaller, (t_Callback)a_pCallback, - a_iPriority - ); + a_iPriority); } }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TFile.h b/Toshi/Include/TKernel/TFile.h index 29be72d..f923c39 100644 --- a/Toshi/Include/TKernel/TFile.h +++ b/Toshi/Include/TKernel/TFile.h @@ -4,7 +4,7 @@ #include "TThread.h" #ifdef CreateFile -#undef CreateFile +# undef CreateFile #endif TOSHI_NAMESPACE_BEGIN @@ -14,184 +14,185 @@ class TFile; class TKERNELINTERFACE_EXPORTS TFileSystem : public TDList::TNode { public: - TFileSystem(TPCCHAR a_pcName) : TNode() - { - m_sName = TCString(a_pcName); - } - - TFileSystem(const TFileSystem &a_rOther) - { - m_pNext = a_rOther.m_pNext; - m_pPrev = a_rOther.m_pPrev; - m_sName = TCString(a_rOther.m_sName); - m_sPrefix = TCString(a_rOther.m_sPrefix); - } - - virtual ~TFileSystem() = default; - virtual TFile* CreateFile(const TCString &a_rsFileName, TUINT a_uiMode) = 0; - virtual void DestroyFile(TFile* a_pFile) = 0; - virtual TBOOL RemoveFile(const TCString& a_rsFilename) { return TTRUE; } - virtual TCString MakeInternalPath(const TCString &a_rsPath) = 0; - virtual TBOOL GetFirstFile(const TCString& a_rFolder, TCString& a_rFilename, TUINT a_uiMode) { return TFALSE; } - virtual TBOOL GetNextFile(const TCString& a_rsFileName, TUINT a_uiMode) { return TFALSE; }; - virtual void SetPrefix(const TCString& a_rPrefix); - - TFileSystem& operator=(TFileSystem& a_rOther) - { - m_pNext = a_rOther.m_pNext ? a_rOther.m_pNext : TNULL; - m_pPrev = a_rOther.m_pPrev; - m_sName = a_rOther.m_sName; - m_sPrefix = a_rOther.m_sPrefix; - return *this; - } - - const TCString& GetPrefix() const { return m_sPrefix; } - const TCString& GetName() const { return m_sName; } + TFileSystem(TPCCHAR a_pcName) + : TNode() + { + m_sName = TCString(a_pcName); + } + + TFileSystem(const TFileSystem &a_rOther) + { + m_pNext = a_rOther.m_pNext; + m_pPrev = a_rOther.m_pPrev; + m_sName = TCString(a_rOther.m_sName); + m_sPrefix = TCString(a_rOther.m_sPrefix); + } + + virtual ~TFileSystem() = default; + virtual TFile *CreateFile(const TCString &a_rsFileName, TUINT a_uiMode) = 0; + virtual void DestroyFile(TFile *a_pFile) = 0; + virtual TBOOL RemoveFile(const TCString &a_rsFilename) { return TTRUE; } + virtual TCString MakeInternalPath(const TCString &a_rsPath) = 0; + virtual TBOOL GetFirstFile(const TCString &a_rFolder, TCString &a_rFilename, TUINT a_uiMode) { return TFALSE; } + virtual TBOOL GetNextFile(const TCString &a_rsFileName, TUINT a_uiMode) { return TFALSE; }; + virtual void SetPrefix(const TCString &a_rPrefix); + + TFileSystem &operator=(TFileSystem &a_rOther) + { + m_pNext = a_rOther.m_pNext ? a_rOther.m_pNext : TNULL; + m_pPrev = a_rOther.m_pPrev; + m_sName = a_rOther.m_sName; + m_sPrefix = a_rOther.m_sPrefix; + return *this; + } + + const TCString &GetPrefix() const { return m_sPrefix; } + const TCString &GetName() const { return m_sName; } private: - TCString m_sName; // 0x8 - TCString m_sPrefix; // 0xC + TCString m_sName; // 0x8 + TCString m_sPrefix; // 0xC }; class TKERNELINTERFACE_EXPORTS TFileManager { public: - class TSysPathIter - { - public: - TSysPathIter(const TCString &a_rsSysPath) - { - m_sSysPath = a_rsSysPath; - m_iPosition = -1; - } - - TSysPathIter(const TSysPathIter &a_rOther) - { - m_sSysPath = a_rOther.m_sSysPath; - m_iPosition = a_rOther.m_iPosition; - } - - TBOOL First(TCString &a_rSysPath) - { - if (m_sSysPath.Length() > 0) { - m_iPosition = m_sSysPath.Find(';', 0); - a_rSysPath.Copy(m_sSysPath, m_iPosition); - return TTRUE; - } - m_iPosition = -1; - return TFALSE; - } - - TBOOL Next(TCString& a_rSysPath) - { - if (m_iPosition >= 0) { - TINT strStart = m_iPosition + 1; - m_iPosition = m_sSysPath.Find(';', strStart); - - a_rSysPath.Copy( - m_sSysPath.GetString(strStart), - (m_iPosition >= 0) ? (m_iPosition - strStart) : -1 - ); - - return TTRUE; - } - return TFALSE; - } - - private: - TCString m_sSysPath; // 0x0 - TINT m_iPosition; // 0x4 - }; - - TFileManager(); - ~TFileManager(); - - TFile* CreateFile(TCString const &a_sName, TUINT a_uiMode); - TFileSystem* FindFileSystem(const TCString& a_rFileSysName); - void MountFileSystem(TFileSystem* a_pFileSystem); - void UnmountFileSystem(TFileSystem* a_pFileSystem); - - TCString MakeAbsolutePath(TCString const& a_rPath); - - static TFileManager* TOSHI_API GetFileManager() { return s_pFileManager; } - void SetSystemPath(TCString const& a_rSysPath) - { - m_pcSystemPath = a_rSysPath; - InvalidateSystemPath(); - } - TCString const& GetWorkingDirectory() const { return m_pcWorkingDirectory; } + class TSysPathIter + { + public: + TSysPathIter(const TCString &a_rsSysPath) + { + m_sSysPath = a_rsSysPath; + m_iPosition = -1; + } + + TSysPathIter(const TSysPathIter &a_rOther) + { + m_sSysPath = a_rOther.m_sSysPath; + m_iPosition = a_rOther.m_iPosition; + } + + TBOOL First(TCString &a_rSysPath) + { + if (m_sSysPath.Length() > 0) { + m_iPosition = m_sSysPath.Find(';', 0); + a_rSysPath.Copy(m_sSysPath, m_iPosition); + return TTRUE; + } + m_iPosition = -1; + return TFALSE; + } + + TBOOL Next(TCString &a_rSysPath) + { + if (m_iPosition >= 0) { + TINT strStart = m_iPosition + 1; + m_iPosition = m_sSysPath.Find(';', strStart); + + a_rSysPath.Copy( + m_sSysPath.GetString(strStart), + (m_iPosition >= 0) ? (m_iPosition - strStart) : -1); + + return TTRUE; + } + return TFALSE; + } + + private: + TCString m_sSysPath; // 0x0 + TINT m_iPosition; // 0x4 + }; + + TFileManager(); + ~TFileManager(); + + TFile *CreateFile(TCString const &a_sName, TUINT a_uiMode); + TFileSystem *FindFileSystem(const TCString &a_rFileSysName); + void MountFileSystem(TFileSystem *a_pFileSystem); + void UnmountFileSystem(TFileSystem *a_pFileSystem); + + TCString MakeAbsolutePath(TCString const &a_rPath); + + static TFileManager *TOSHI_API GetFileManager() { return s_pFileManager; } + void SetSystemPath(TCString const &a_rSysPath) + { + m_pcSystemPath = a_rSysPath; + InvalidateSystemPath(); + } + TCString const &GetWorkingDirectory() const { return m_pcWorkingDirectory; } private: - void ValidateSystemPath(); - void InvalidateSystemPath() { m_bValidated = false; }; - static TFileSystem* TOSHI_API FindFileSystem(TDList& a_rFileSystems, const TCString& a_rFileSysName); + void ValidateSystemPath(); + void InvalidateSystemPath() { m_bValidated = false; }; + static TFileSystem *TOSHI_API FindFileSystem(TDList &a_rFileSystems, const TCString &a_rFileSysName); + private: - inline static TFileManager *s_pFileManager = TNULL; - - TBOOL m_bValidated; // 0x0 - TCString m_pcSystemPath; // 0x4 - TCString m_pcWorkingDirectory; // 0xC - TDList m_aValidated; // 0x14 - TDList m_aInvalidated; // 0x1C - TMutex m_mFileSystem; // 0x24 + inline static TFileManager *s_pFileManager = TNULL; + + TBOOL m_bValidated; // 0x0 + TCString m_pcSystemPath; // 0x4 + TCString m_pcWorkingDirectory; // 0xC + TDList m_aValidated; // 0x14 + TDList m_aInvalidated; // 0x1C + TMutex m_mFileSystem; // 0x24 }; enum TMODE : TUINT { - TMODE_READONLY = BITFIELD(0), - TMODE_WRITEONLY = BITFIELD(1), - TMODE_READWRITE = BITFIELD(2), - TMODE_CREATE = BITFIELD(3), - TMODE_NOBUFFER = BITFIELD(4) + TMODE_READONLY = BITFIELD(0), + TMODE_WRITEONLY = BITFIELD(1), + TMODE_READWRITE = BITFIELD(2), + TMODE_CREATE = BITFIELD(3), + TMODE_NOBUFFER = BITFIELD(4) }; class TKERNELINTERFACE_EXPORTS TFile { protected: - TFile(TFileSystem* a_pFileSystem) - { - m_pFileSystem = a_pFileSystem; - } - virtual ~TFile() = default; -public: + TFile(TFileSystem *a_pFileSystem) + { + m_pFileSystem = a_pFileSystem; + } + virtual ~TFile() = default; - enum TSEEK - { - TSEEK_SET, - TSEEK_CUR, - TSEEK_END - }; - - virtual TINT Read(TPVOID a_pBuffer, TINT m_iSize) = 0; - virtual TINT Write(void const *a_pBuffer, TINT m_iSize) = 0; - virtual TBOOL Seek(TINT a_iOffset, TSEEK a_eSeek) = 0; - virtual TINT Tell() = 0; - virtual TINT GetSize() = 0; - virtual TUINT64 GetDate() { return 0; } - virtual TINT GetCChar() = 0; - virtual TINT GetWChar() = 0; - virtual TINT PutCChar(TCHAR a_cChar) = 0; - virtual TINT PutWChar(TWCHAR a_wcChar) = 0; - virtual TINT VCPrintf(TCHAR const *a_pFormat, va_list a_args) = 0; - virtual TINT VWPrintf(TWCHAR const *a_pFormat, va_list a_args) = 0; - - static TFile* TOSHI_API Create(const TCString& a_sName, TUINT a_uiMode); - static void TOSHI_API Destroy(TFile* a_pFile); - static void TOSHI_API PrintFileAccess(TBOOL a_bFileAccess) { } - - static TCString TOSHI_API ConcatPath(TCString const& a_rPath1, TCString const& a_rPath2); - - // Note: 'const TCString&' and 'TCString const&' are the same thing - // but the first one is the common way of writing it. however, ghidra - // swaps the order to be like in the second option - static TCString TOSHI_API SimplifyPath(const TCString& a_rPath); - - void Destroy(); - TFileSystem* GetFileSystem() const { return m_pFileSystem; } +public: + enum TSEEK + { + TSEEK_SET, + TSEEK_CUR, + TSEEK_END + }; + + virtual TINT Read(TPVOID a_pBuffer, TINT m_iSize) = 0; + virtual TINT Write(void const *a_pBuffer, TINT m_iSize) = 0; + virtual TBOOL Seek(TINT a_iOffset, TSEEK a_eSeek) = 0; + virtual TINT Tell() = 0; + virtual TINT GetSize() = 0; + virtual TUINT64 GetDate() { return 0; } + virtual TINT GetCChar() = 0; + virtual TINT GetWChar() = 0; + virtual TINT PutCChar(TCHAR a_cChar) = 0; + virtual TINT PutWChar(TWCHAR a_wcChar) = 0; + virtual TINT VCPrintf(TCHAR const *a_pFormat, va_list a_args) = 0; + virtual TINT VWPrintf(TWCHAR const *a_pFormat, va_list a_args) = 0; + + static TFile *TOSHI_API Create(const TCString &a_sName, TUINT a_uiMode); + static void TOSHI_API Destroy(TFile *a_pFile); + static void TOSHI_API PrintFileAccess(TBOOL a_bFileAccess) {} + + static TCString TOSHI_API ConcatPath(TCString const &a_rPath1, TCString const &a_rPath2); + + // Note: 'const TCString&' and 'TCString const&' are the same thing + // but the first one is the common way of writing it. however, ghidra + // swaps the order to be like in the second option + static TCString TOSHI_API SimplifyPath(const TCString &a_rPath); + + void Destroy(); + TFileSystem *GetFileSystem() const { return m_pFileSystem; } protected: - // 0x0 vftable - TFileSystem* m_pFileSystem; // 0x4 + // 0x0 vftable + TFileSystem *m_pFileSystem; // 0x4 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TFileLexer.h b/Toshi/Include/TKernel/TFileLexer.h index 826d49c..4af9ffc 100644 --- a/Toshi/Include/TKernel/TFileLexer.h +++ b/Toshi/Include/TKernel/TFileLexer.h @@ -8,11 +8,11 @@ #include "TEvent.h" #if defined(TLEXERUTF8) -#define TLEXERGETCHAR m_pFile->GetCChar +# define TLEXERGETCHAR m_pFile->GetCChar #elif defined(TLEXERUTF16) -#define TLEXERGETCHAR m_pFile->GetWChar +# define TLEXERGETCHAR m_pFile->GetWChar #else -#define TLEXERGETCHAR m_pFile->GetCChar +# define TLEXERGETCHAR m_pFile->GetCChar #endif // This only works with WIN32! Basically floorpow2 // https://github.com/deeplearning4j/deeplearning4j/blob/f9c1faaaf968d6f0e5a5add2627908f7a2565f96/libnd4j/include/loops/type_conversions.h#L97 @@ -50,17 +50,16 @@ class TKERNELINTERFACE_EXPORTS TFileLexer TOKEN_FLOAT, TOKEN_COMMENT }; - + struct ParseError { - TINT m_iLine; // 0x0 + TINT m_iLine; // 0x0 TPCCHAR m_szError; // 0x4 }; public: - TFileLexer(); - TFileLexer(TFile* a_pFile, TINT a_iTokenLookaheadSize); + TFileLexer(TFile *a_pFile, TINT a_iTokenLookaheadSize); ~TFileLexer() { delete[] m_piCharLookahead; @@ -70,7 +69,7 @@ class TKERNELINTERFACE_EXPORTS TFileLexer class TKERNELINTERFACE_EXPORTS Token { public: - void assign(const Token& a_rToken); + void assign(const Token &a_rToken); TFLOAT GetFloat() const { @@ -89,19 +88,19 @@ class TKERNELINTERFACE_EXPORTS TFileLexer return m_iLine; } - const TPCString& GetString() const + const TPCString &GetString() const { - TASSERT(m_type == TFileLexer::TOKEN_IDENT || - m_type == TFileLexer::TOKEN_STRING || - m_type == TFileLexer::TOKEN_COMMENT); + TASSERT(m_type == TFileLexer::TOKEN_IDENT || + m_type == TFileLexer::TOKEN_STRING || + m_type == TFileLexer::TOKEN_COMMENT); return m_szValue; } - TPCString& GetString() + TPCString &GetString() { - TASSERT(m_type == TFileLexer::TOKEN_IDENT || - m_type == TFileLexer::TOKEN_STRING || - m_type == TFileLexer::TOKEN_COMMENT); + TASSERT(m_type == TFileLexer::TOKEN_IDENT || + m_type == TFileLexer::TOKEN_STRING || + m_type == TFileLexer::TOKEN_COMMENT); return m_szValue; } @@ -116,7 +115,7 @@ class TKERNELINTERFACE_EXPORTS TFileLexer return m_uiValue; } - Token& operator=(const Token& a_rToken) + Token &operator=(const Token &a_rToken) { assign(a_rToken); return *this; @@ -124,51 +123,51 @@ class TKERNELINTERFACE_EXPORTS TFileLexer Token(TINT a_iLine, TUINT a_uiValue) { - m_type = TOKEN_UINTEGER; - m_iLine = a_iLine; + m_type = TOKEN_UINTEGER; + m_iLine = a_iLine; m_uiValue = a_uiValue; } Token(TINT a_iLine, TFLOAT a_fValue) { - m_type = TOKEN_FLOAT; - m_iLine = a_iLine; + m_type = TOKEN_FLOAT; + m_iLine = a_iLine; m_fValue = a_fValue; } Token(TINT a_iLine, TINT a_iValue) { - m_type = TOKEN_INTEGER; - m_iLine = a_iLine; + m_type = TOKEN_INTEGER; + m_iLine = a_iLine; m_iValue = a_iValue; } Token(TINT a_iLine) { - m_type = TOKEN_EOF; + m_type = TOKEN_EOF; m_iLine = a_iLine; } - Token(TFileLexer::TokenType a_type, TINT a_iLine, const TPCString& a_rString) + Token(TFileLexer::TokenType a_type, TINT a_iLine, const TPCString &a_rString) { - m_type = a_type; - m_iLine = a_iLine; - m_iValue = 0; + m_type = a_type; + m_iLine = a_iLine; + m_iValue = 0; GetString() = a_rString; } Token(TFileLexer::TokenType a_type, TINT a_iLine) { - m_type = a_type; + m_type = a_type; m_iLine = a_iLine; - TASSERT(m_type != TFileLexer::TOKEN_IDENT || - m_type != TFileLexer::TOKEN_STRING || - m_type != TFileLexer::TOKEN_INTEGER || - m_type != TFileLexer::TOKEN_FLOAT || - m_type != TFileLexer::TOKEN_COMMENT); + TASSERT(m_type != TFileLexer::TOKEN_IDENT || + m_type != TFileLexer::TOKEN_STRING || + m_type != TFileLexer::TOKEN_INTEGER || + m_type != TFileLexer::TOKEN_FLOAT || + m_type != TFileLexer::TOKEN_COMMENT); } - Token(const TFileLexer::Token& a_rToken) + Token(const TFileLexer::Token &a_rToken) { m_type = TOKEN_EOF; assign(a_rToken); @@ -176,15 +175,15 @@ class TKERNELINTERFACE_EXPORTS TFileLexer Token() { - m_type = TOKEN_EOF; + m_type = TOKEN_EOF; m_iLine = 0; } ~Token() { if (m_type == TFileLexer::TOKEN_IDENT || - m_type == TFileLexer::TOKEN_STRING || - m_type == TFileLexer::TOKEN_COMMENT) { + m_type == TFileLexer::TOKEN_STRING || + m_type == TFileLexer::TOKEN_COMMENT) { GetString().~TPCString(); } } @@ -193,23 +192,25 @@ class TKERNELINTERFACE_EXPORTS TFileLexer private: TFileLexer::TokenType m_type; // 0x0 - union { // | - TPCString m_szValue; // | - TINT m_iValue; // -> 0x4 - TUINT m_uiValue; // | - TFLOAT m_fValue; // | - }; // | - TINT m_iLine; // 0x8 + union + { // | + TPCString m_szValue; // | + TINT m_iValue; // -> 0x4 + TUINT m_uiValue; // | + TFLOAT m_fValue; // | + }; // | + TINT m_iLine; // 0x8 }; private: TBOOL ComputePreprocessorAllow(); + public: - void Define(TPCCHAR a_szPreprocessor); + void Define(TPCCHAR a_szPreprocessor); TBOOL IfDef(TPCCHAR a_szDefine); TBOOL Expect(TFileLexer::TokenType a_type); - TBOOL Expect(TFileLexer::TokenType a_type, TFileLexer::Token& a_rToken); + TBOOL Expect(TFileLexer::TokenType a_type, TFileLexer::Token &a_rToken); TFileLexer::Token GetLastToken(); TFileLexer::Token GetNextToken(); @@ -217,7 +218,7 @@ class TKERNELINTERFACE_EXPORTS TFileLexer TFileLexer::Token PeekNextToken(TINT a_iDistance); void SetCharacterLookaheadSize(TINT a_iCharLookaheadSize); - void SetInputStream(TFile* a_pFile); + void SetInputStream(TFile *a_pFile); void SetOutputComments(TBOOL a_bOutputComments) { m_bOutputComments = a_bOutputComments; @@ -232,7 +233,7 @@ class TKERNELINTERFACE_EXPORTS TFileLexer protected: TFileLexer::Token get_next_token(); - void skipWhiteSpace(); + void skipWhiteSpace(); void advance(); void advance(TINT a_dist); @@ -249,30 +250,30 @@ class TKERNELINTERFACE_EXPORTS TFileLexer } private: - TFile* m_pFile; // 0x4 - TBOOL m_bOutputComments; // 0x8 - TINT m_iCharLookaheadSize; // 0xC - TINT m_iCharLookaheadMask; // 0x10 - TINT* m_piCharLookahead; // 0x14 - TINT m_iCharLookaheadBack; // 0x18 - TINT m_iCharLookaheadFront; // 0x1C - - TINT m_iLine; // 0x20 - TINT m_iTokenLookaheadSize; // 0x24 - TINT m_iTokenLookaheadMask; // 0x28 - TFileLexer::Token m_oToken; // 0x2C - TFileLexer::Token* m_pLookaheadTokens; // 0x38 - TINT m_iTokenLookaheadBuffered; // 0x3C - TINT m_iTokenLookaheadFront; // 0x40 - TINT m_iTokenLookaheadBack; // 0x44 - - TINT m_iSomeNum; // 0x48 - TBOOL m_bFlags[32]; // 0x4C - TBOOL m_bAllowPreprocessor; // 0x6C - TBOOL m_bEOF; // 0x6D - TArray m_aDefines; // 0x70 + TFile *m_pFile; // 0x4 + TBOOL m_bOutputComments; // 0x8 + TINT m_iCharLookaheadSize; // 0xC + TINT m_iCharLookaheadMask; // 0x10 + TINT *m_piCharLookahead; // 0x14 + TINT m_iCharLookaheadBack; // 0x18 + TINT m_iCharLookaheadFront; // 0x1C + + TINT m_iLine; // 0x20 + TINT m_iTokenLookaheadSize; // 0x24 + TINT m_iTokenLookaheadMask; // 0x28 + TFileLexer::Token m_oToken; // 0x2C + TFileLexer::Token *m_pLookaheadTokens; // 0x38 + TINT m_iTokenLookaheadBuffered; // 0x3C + TINT m_iTokenLookaheadFront; // 0x40 + TINT m_iTokenLookaheadBack; // 0x44 + + TINT m_iSomeNum; // 0x48 + TBOOL m_bFlags[32]; // 0x4C + TBOOL m_bAllowPreprocessor; // 0x6C + TBOOL m_bEOF; // 0x6D + TArray m_aDefines; // 0x70 //TEmitter m_oEmitter; // 0x80 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TFileLexerUTF8.h b/Toshi/Include/TKernel/TFileLexerUTF8.h index 98c08ba..3ece0fa 100644 --- a/Toshi/Include/TKernel/TFileLexerUTF8.h +++ b/Toshi/Include/TKernel/TFileLexerUTF8.h @@ -5,14 +5,16 @@ TOSHI_NAMESPACE_BEGIN -class TKERNELINTERFACE_EXPORTS TFileLexerUTF8 : public TObject, public TFileLexer +class TKERNELINTERFACE_EXPORTS TFileLexerUTF8 : public TObject + , public TFileLexer { DECLARE_DYNAMIC(TFileLexerUTF8) public: TFileLexerUTF8() {} - TFileLexerUTF8(TFile* a_pFile, TINT a_iTokenLookaheadSize) : TFileLexer(a_pFile, a_iTokenLookaheadSize) {} -private: + TFileLexerUTF8(TFile *a_pFile, TINT a_iTokenLookaheadSize) + : TFileLexer(a_pFile, a_iTokenLookaheadSize) {} +private: }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TFreeList.h b/Toshi/Include/TKernel/TFreeList.h index db814ad..b0ea142 100644 --- a/Toshi/Include/TKernel/TFreeList.h +++ b/Toshi/Include/TKernel/TFreeList.h @@ -6,18 +6,19 @@ //#define DECLARE_FREELIST(class_name) //#define IMPLEMENT_FREELIST(class_name, InitialSize, GrowSize) #if 1 -#define DECLARE_FREELIST(class_name) \ -public: \ -static TPVOID TOSHI_API operator new(TUINT s, TPVOID mem) { return mem; } \ -static TPVOID TOSHI_API operator new(TUINT s) { return ms_oFreeList.New(s); } \ -static TPVOID TOSHI_API operator new(TUINT s, TPCHAR mem, TINT unk) { return ms_oFreeList.New(s); } \ -static void TOSHI_API operator delete(void* ptr) { ms_oFreeList.Delete(ptr); } \ -static Toshi::TFreeList& TOSHI_API GetFreeList() {return ms_oFreeList;} \ -\ -private: static Toshi::TFreeList ms_oFreeList; +# define DECLARE_FREELIST(class_name) \ + public: \ + static TPVOID TOSHI_API operator new(TUINT s, TPVOID mem) { return mem; } \ + static TPVOID TOSHI_API operator new(TUINT s) { return ms_oFreeList.New(s); } \ + static TPVOID TOSHI_API operator new(TUINT s, TPCHAR mem, TINT unk) { return ms_oFreeList.New(s); } \ + static void TOSHI_API operator delete(void *ptr) { ms_oFreeList.Delete(ptr); } \ + static Toshi::TFreeList &TOSHI_API GetFreeList() { return ms_oFreeList; } \ + \ + private: \ + static Toshi::TFreeList ms_oFreeList; -#define IMPLEMENT_FREELIST(class_name, InitialSize, GrowSize) \ -Toshi::TFreeList class_name::ms_oFreeList = Toshi::TFreeList(sizeof(class_name), InitialSize, GrowSize, TNULL); +# define IMPLEMENT_FREELIST(class_name, InitialSize, GrowSize) \ + Toshi::TFreeList class_name::ms_oFreeList = Toshi::TFreeList(sizeof(class_name), InitialSize, GrowSize, TNULL); #endif TOSHI_NAMESPACE_BEGIN @@ -27,42 +28,44 @@ class TKERNELINTERFACE_EXPORTS TFreeList struct TKERNELINTERFACE_EXPORTS Node { friend class TFreeList; + public: - Node& operator=(const Node& a_rNode) + Node &operator=(const Node &a_rNode) { m_pNext = a_rNode.m_pNext; return *this; } + protected: - Node* m_pNext = TNULL; + Node *m_pNext = TNULL; }; TFreeList(TUINT a_uiItemSize, TINT a_iInitialSize, TINT a_iGrowSize, TPCHAR a_pcName); ~TFreeList(); protected: - - Node* Allocate(TINT a_iNumber, TUINT a_uiSize); + Node *Allocate(TINT a_iNumber, TUINT a_uiSize); public: TPVOID New(TUINT a_uiSize); - void Delete(TPVOID a_pData); + void Delete(TPVOID a_pData); void SetCapacity(TINT a_iCapacity); void SetGrowSize(TINT a_iGrowSize); TINT GetCapacity() const { return m_iCapacity; } TINT GetGrowSize() const { return m_iGrowSize; } - TINT GetFreeCount() { return m_iFreeCount; } + TINT GetFreeCount() { return m_iFreeCount; } + private: - TINT m_iFreeCount; // 0x0 - TINT m_iMaxFreeCount; // 0x4 + TINT m_iFreeCount; // 0x0 + TINT m_iMaxFreeCount; // 0x4 TPCHAR m_pcName; // 0x8 - TINT m_iCapacity; // 0xC - TUINT m_uiItemSize; // 0x10 - Node m_oLastNode; // 0x14 - Node m_oRootNode; // 0x18 - TINT m_iGrowSize; // 0x1C + TINT m_iCapacity; // 0xC + TUINT m_uiItemSize; // 0x10 + Node m_oLastNode; // 0x14 + Node m_oRootNode; // 0x18 + TINT m_iGrowSize; // 0x1C }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/THPTimer.h b/Toshi/Include/TKernel/THPTimer.h index bc5c8ee..82be6f6 100644 --- a/Toshi/Include/TKernel/THPTimer.h +++ b/Toshi/Include/TKernel/THPTimer.h @@ -12,17 +12,17 @@ class TKERNELINTERFACE_EXPORTS THPTimer void Reset(); void Update(); - TUINT GetRaw32(); + TUINT GetRaw32(); TUINT64 GetRaw64(); - float GetDelta() { return m_fDelta; } - float GetCurrent() { return m_fCurrent; } + float GetDelta() { return m_fDelta; } + float GetCurrent() { return m_fCurrent; } private: - LARGE_INTEGER m_iFrequency; // 0x0 - TFLOAT m_fCurrent; // 0x8 - LARGE_INTEGER m_iOldTime; // 0x10 - LARGE_INTEGER m_iCurrentTime; // 0x18 - TFLOAT m_fDelta; // 0x20 + LARGE_INTEGER m_iFrequency; // 0x0 + TFLOAT m_fCurrent; // 0x8 + LARGE_INTEGER m_iOldTime; // 0x10 + LARGE_INTEGER m_iCurrentTime; // 0x18 + TFLOAT m_fDelta; // 0x20 }; TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TKernelInterface.h b/Toshi/Include/TKernel/TKernelInterface.h index 52d2f1a..48b5d61 100644 --- a/Toshi/Include/TKernel/TKernelInterface.h +++ b/Toshi/Include/TKernel/TKernelInterface.h @@ -9,41 +9,45 @@ TOSHI_NAMESPACE_BEGIN -class TKERNELINTERFACE_EXPORTS TKernelInterfaceDLL : public TDLL, public TNodeList::TNode +class TKERNELINTERFACE_EXPORTS TKernelInterfaceDLL : public TDLL + , public TNodeList::TNode { public: TKernelInterfaceDLL() { - } virtual ~TKernelInterfaceDLL() = default; }; +template class TNodeList; + class TKERNELINTERFACE_EXPORTS TKernelInterface : public TObject { DECLARE_DYNAMIC(TKernelInterface); + public: - TKernelInterface(TINT argc, TPCHAR* const argv, TBOOL a_bVerbose); - + TKernelInterface(TINT argc, TPCHAR *const argv, TBOOL a_bVerbose); + TBOOL Update(); - void DumpInfo(); - TKernelInterfaceDLL* FindInterface(const TCString& a_rszInterface); - TKernelInterfaceDLL* LoadInterface(const TCString& a_rszInterface); - void UnloadInterface(TKernelInterfaceDLL& a_rInterface); - void UnloadInterface(const TCString& a_rszInterface); + void DumpInfo(); + TKernelInterfaceDLL *FindInterface(const TCString &a_rszInterface); + TKernelInterfaceDLL *LoadInterface(const TCString &a_rszInterface); + void UnloadInterface(TKernelInterfaceDLL &a_rInterface); + void UnloadInterface(const TCString &a_rszInterface); + + THPTimer *GetSystemTimer() { return &m_oSysTimer; } + TScheduler *GetScheduler() const { return m_pScheduler; } - THPTimer* GetSystemTimer() { return &m_oSysTimer; } - TScheduler* GetScheduler() const { return m_pScheduler; } private: - THPTimer m_oSysTimer; // 0x8 + THPTimer m_oSysTimer; // 0x8 // TManagedPtr - TScheduler* m_pScheduler; // 0x30 + TScheduler *m_pScheduler; // 0x30 TNodeList m_Interfaces; // 0x34 - TFLOAT m_fDeltaTime; // 0x44 - TFLOAT m_fAvgFPS; // 0x48 - TBOOL m_bVerbose; // 0x4C + TFLOAT m_fDeltaTime; // 0x44 + TFLOAT m_fAvgFPS; // 0x48 + TBOOL m_bVerbose; // 0x4C }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TLString.h b/Toshi/Include/TKernel/TLString.h index afb795b..b9b22fa 100644 --- a/Toshi/Include/TKernel/TLString.h +++ b/Toshi/Include/TKernel/TLString.h @@ -18,12 +18,12 @@ class TKERNELINTERFACE_EXPORTS TLocale class TKERNELINTERFACE_EXPORTS TLocalisedString { public: - static TFreeList& TOSHI_API GetFreeList() { return m_oFreelist; } + static TFreeList &TOSHI_API GetFreeList() { return m_oFreelist; } private: static TFreeList m_oFreelist; - + TINT m_iIDInt; // 0x4 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TManagedPointer.h b/Toshi/Include/TKernel/TManagedPointer.h index 71a3fc6..efc7cf1 100644 --- a/Toshi/Include/TKernel/TManagedPointer.h +++ b/Toshi/Include/TKernel/TManagedPointer.h @@ -5,89 +5,93 @@ TOSHI_NAMESPACE_BEGIN -template +template class TManagedPtr : public TRefCounted { public: - TManagedPtr() : m_pObject(TNULL) - { + TManagedPtr() + : m_pObject(TNULL) + { + } - } + TManagedPtr(T *a_pObject) + { + if (m_pObject) { + m_pObject = a_pObject; + if (m_pObject) { + IncRefCount(); + } + } + } - TManagedPtr(T* a_pObject) - { - if (m_pObject) { - m_pObject = a_pObject; - if (m_pObject) { - IncRefCount(); - } - } - } + TManagedPtr(TManagedPtr &a_source) + { + if (m_pObject != a_source.m_pObject) { + if (m_pObject && DecRefCount() == 0) { + delete m_pObject; + } + m_pObject = a_source.m_pObject; + if (a_source.m_pObject) { + a_source.IncRefCount(); + } + } + } - TManagedPtr(TManagedPtr& a_source) - { - if (m_pObject != a_source.m_pObject) { - if (m_pObject && DecRefCount() == 0) { - delete m_pObject; - } - m_pObject = a_source.m_pObject; - if (a_source.m_pObject) { - a_source.IncRefCount(); - } - } - } + ~TManagedPtr() + { + if (m_pObject) { + if (DecRefCount() == 0) { + delete m_pObject; + } + m_pObject = TNULL; + } + } - ~TManagedPtr() - { - if (m_pObject) { - if (DecRefCount() == 0) { - delete m_pObject; - } - m_pObject = TNULL; - } - } + TManagedPtr &operator=(T *a_pObject) + { + if (m_pObject) { + m_pObject = a_pObject; + if (m_pObject) { + IncRefCount(); + } + } + return *this; + } - TManagedPtr& operator=(T* a_pObject) - { - if (m_pObject) { - m_pObject = a_pObject; - if (m_pObject) { - IncRefCount(); - } - } - return *this; - } + TManagedPtr &operator=(TManagedPtr &a_source) + { + if (m_pObject != a_source.m_pObject) { + if (m_pObject && DecRefCount() == 0) { + delete m_pObject; + } + m_pObject = a_source.m_pObject; + if (a_source.m_pObject) { + a_source.IncRefCount(); + } + } + return *this; + } - TManagedPtr& operator=(TManagedPtr& a_source) - { - if (m_pObject != a_source.m_pObject) { - if (m_pObject && DecRefCount() == 0) { - delete m_pObject; - } - m_pObject = a_source.m_pObject; - if (a_source.m_pObject) { - a_source.IncRefCount(); - } - } - return *this; - } + T &operator*() const + { + TASSERT(m_pObject != TNULL); + return *m_pObject; + } - T& operator*() const - { - TASSERT(m_pObject != TNULL); return *m_pObject; - } + operator T *() const + { + TASSERT(m_pObject != TNULL); + return m_pObject; + } - operator T* () const - { - TASSERT(m_pObject!=TNULL); return m_pObject; - } + T *operator->() const + { + TASSERT(m_pObject != TNULL); + return m_pObject; + } - T* operator->() const - { - TASSERT(m_pObject != TNULL); return m_pObject; - } private: - T* m_pObject; + T *m_pObject; }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TMath.h b/Toshi/Include/TKernel/TMath.h index 4e69b5e..9cd618c 100644 --- a/Toshi/Include/TKernel/TMath.h +++ b/Toshi/Include/TKernel/TMath.h @@ -1,4 +1,4 @@ #pragma once -#define TMIN(a,b) (((a)<(b))?(a):(b)) -#define TMAX(a,b) (((a)>(b))?(a):(b)) \ No newline at end of file +#define TMIN(a, b) (((a) < (b)) ? (a) : (b)) +#define TMAX(a, b) (((a) > (b)) ? (a) : (b)) diff --git a/Toshi/Include/TKernel/TMatrix44.h b/Toshi/Include/TKernel/TMatrix44.h index 477318f..9155ec0 100644 --- a/Toshi/Include/TKernel/TMatrix44.h +++ b/Toshi/Include/TKernel/TMatrix44.h @@ -5,7 +5,6 @@ TOSHI_NAMESPACE_BEGIN class TKERNELINTERFACE_EXPORTS TMatrix44 { - }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TMemory.h b/Toshi/Include/TKernel/TMemory.h index efe3236..6f47ccb 100644 --- a/Toshi/Include/TKernel/TMemory.h +++ b/Toshi/Include/TKernel/TMemory.h @@ -5,7 +5,7 @@ #define TMEMORY_ROUNDUP 4 -inline static Toshi::TMutex* g_pMutex = TNULL; +inline static Toshi::TMutex *g_pMutex = TNULL; TOSHI_NAMESPACE_BEGIN @@ -32,7 +32,6 @@ class TKERNELINTERFACE_EXPORTS TMemory class MemNode { - }; @@ -45,31 +44,31 @@ class TKERNELINTERFACE_EXPORTS TMemory class MemBlock { public: - MemBlockSlot* m_pMemBlockSlot; // 0x0 - // 0x4 + MemBlockSlot *m_pMemBlockSlot; // 0x0 + // 0x4 TPVOID m_pMemory; // 0x8 - TUINT m_uiMemorySize; // 0xC + TUINT m_uiMemorySize; // 0xC }; -public: - static TBOOL TOSHI_API Initialise(); - static void TOSHI_API DebugPrintHALMemInfo(TCHAR const* a_pPrint) { }; - static TMemory& TOSHI_API GetMemMangager(); - static MemBlock* TOSHI_API GetGlobalBlock(); - static MemNode* TOSHI_API GetMemNodeFromAddress(TPVOID a_pAddr); - static void TOSHI_API ExtendNodeSize(MemNode* a_pMemNode, TUINT a_iuSize); +public: + static TBOOL TOSHI_API Initialise(); + static void TOSHI_API DebugPrintHALMemInfo(TCHAR const *a_pPrint){}; + static TMemory &TOSHI_API GetMemMangager(); + static MemBlock *TOSHI_API GetGlobalBlock(); + static MemNode *TOSHI_API GetMemNodeFromAddress(TPVOID a_pAddr); + static void TOSHI_API ExtendNodeSize(MemNode *a_pMemNode, TUINT a_iuSize); - TPVOID Alloc(TUINT a_uiSize, TUINT a_uiAlignment, MemBlock* a_pMemBlock, TPCHAR a_pBuffer ,TINT a_iUnk3); - TBOOL Free(TPVOID a_pMem); + TPVOID Alloc(TUINT a_uiSize, TUINT a_uiAlignment, MemBlock *a_pMemBlock, TPCHAR a_pBuffer, TINT a_iUnk3); + TBOOL Free(TPVOID a_pMem); protected: static TUINT TOSHI_API GetFreePhysicalMemory() { return 0x8000000; } private: inline static TBOOL m_bInitialised = TFALSE; - - MemBlock* m_pMemBlock; // 0x224 + + MemBlock *m_pMemBlock; // 0x224 }; inline static TMemory g_oMemManager; @@ -78,4 +77,4 @@ TOSHI_NAMESPACE_END TPVOID TKERNELINTERFACE_EXPORTS TOSHI_API tmalloc(TINT a_iSize, TPCHAR a_pBuffer, TINT a_iUnk); TPVOID TKERNELINTERFACE_EXPORTS TOSHI_API tmemalign(TINT a_iAlign, TINT a_iSize); -void TKERNELINTERFACE_EXPORTS TOSHI_API tfree(TPVOID a_pMem); \ No newline at end of file +void TKERNELINTERFACE_EXPORTS TOSHI_API tfree(TPVOID a_pMem); diff --git a/Toshi/Include/TKernel/TNTree.h b/Toshi/Include/TKernel/TNTree.h index 6fc28d6..d8d412b 100644 --- a/Toshi/Include/TKernel/TNTree.h +++ b/Toshi/Include/TKernel/TNTree.h @@ -9,9 +9,7 @@ class TKERNELINTERFACE_EXPORTS TGenericNTree class TNode { protected: - - - TINT FindChild(TNode const* a_pNode, TINT a_iCount) + TINT FindChild(TNode const *a_pNode, TINT a_iCount) { for (TINT i = 0; i < a_iCount; i++) { if (a_pNode == m_pChildren[i]) { @@ -21,16 +19,15 @@ class TKERNELINTERFACE_EXPORTS TGenericNTree return -1; } - TNode* Child(TINT a_iIndex) const { return m_pChildren[a_iIndex]; } - TNode* Parent() const { return m_pParent; } + TNode *Child(TINT a_iIndex) const { return m_pChildren[a_iIndex]; } + TNode *Parent() const { return m_pParent; } private: - TNode* m_pParent; // 0x0 - TNode** m_pChildren; // 0x4 + TNode *m_pParent; // 0x0 + TNode **m_pChildren; // 0x4 }; protected: - TGenericNTree() { m_pRoot = TNULL; @@ -47,11 +44,12 @@ class TKERNELINTERFACE_EXPORTS TGenericNTree m_pRoot = TNULL; } - TNode* Root() const { return m_pRoot; } + TNode *Root() const { return m_pRoot; } + private: - TNode* m_pRoot; // 0x0 + TNode *m_pRoot; // 0x0 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TNodeList.h b/Toshi/Include/TKernel/TNodeList.h index e93936f..0ed3168 100644 --- a/Toshi/Include/TKernel/TNodeList.h +++ b/Toshi/Include/TKernel/TNodeList.h @@ -10,6 +10,7 @@ class TKERNELINTERFACE_EXPORTS TGenericNodeList class TKERNELINTERFACE_EXPORTS TNode { friend class TGenericNodeList; + public: TNode() { @@ -18,7 +19,7 @@ class TKERNELINTERFACE_EXPORTS TGenericNodeList SetList(TNULL); } - TNode(const TNode& node) + TNode(const TNode &node) { m_pNext = node.m_pNext; m_pPrev = node.m_pPrev; @@ -30,12 +31,12 @@ class TKERNELINTERFACE_EXPORTS TGenericNodeList TASSERT(IsLinked() == TFALSE); } - TNode* Next() const + TNode *Next() const { return m_pNext; } - TNode* Prev() const + TNode *Prev() const { return m_pPrev; } @@ -45,35 +46,34 @@ class TKERNELINTERFACE_EXPORTS TGenericNodeList return GetList() != TNULL; } - TGenericNodeList* GetList() const + TGenericNodeList *GetList() const { return m_pList; } - TNode& operator=(const TNode& node) + TNode &operator=(const TNode &node) { m_pNext = node.m_pNext; m_pPrev = node.m_pPrev; m_pList = node.m_pList; return *this; } - protected: - void SetList(TGenericNodeList* list) + protected: + void SetList(TGenericNodeList *list) { m_pList = list; } protected: - TGenericNodeList* m_pList; // 0x0 - TNode* m_pNext; // 0x4 - TNode* m_pPrev; // 0x8 + TGenericNodeList *m_pList; // 0x0 + TNode *m_pNext; // 0x4 + TNode *m_pPrev; // 0x8 }; class TKERNELINTERFACE_EXPORTS Iterator { public: - Iterator() { m_pPtr = TNULL; @@ -84,7 +84,7 @@ class TKERNELINTERFACE_EXPORTS TGenericNodeList m_pPtr = a_pNode; } - Iterator(const Iterator& a_rIterator) + Iterator(const Iterator &a_rIterator) { m_pPtr = a_rIterator.m_pPtr; } @@ -92,15 +92,15 @@ class TKERNELINTERFACE_EXPORTS TGenericNodeList ~Iterator() = default; TBOOL operator!() { return IsNull(); } - TBOOL operator!=(Iterator& a_rIterator) { return m_pPtr != a_rIterator.m_pPtr; } + TBOOL operator!=(Iterator &a_rIterator) { return m_pPtr != a_rIterator.m_pPtr; } - TNode& operator*() const + TNode &operator*() const { - TASSERT(m_pPtr!=TNULL); + TASSERT(m_pPtr != TNULL); return *m_pPtr; } - Iterator& operator++() + Iterator &operator++() { TASSERT(m_pPtr != TNULL); m_pPtr = m_pPtr->Next(); @@ -111,7 +111,7 @@ class TKERNELINTERFACE_EXPORTS TGenericNodeList { TASSERT(m_pPtr != TNULL); Iterator old = m_pPtr; - m_pPtr = m_pPtr->Next(); + m_pPtr = m_pPtr->Next(); return old; } @@ -122,23 +122,23 @@ class TKERNELINTERFACE_EXPORTS TGenericNodeList return *this; } - TNode* operator->() const + TNode *operator->() const { return m_pPtr; } - Iterator& operator=(const Iterator& a_rIterator) + Iterator &operator=(const Iterator &a_rIterator) { m_pPtr = a_rIterator.m_pPtr; return *this; } - TBOOL operator==(Iterator& a_rIterator) const + TBOOL operator==(Iterator &a_rIterator) const { return m_pPtr == a_rIterator.m_pPtr; } - operator TNode* () const + operator TNode *() const { return m_pPtr; } @@ -146,7 +146,7 @@ class TKERNELINTERFACE_EXPORTS TGenericNodeList TBOOL IsNull() { return m_pPtr == TNULL; } private: - TNode* m_pPtr; + TNode *m_pPtr; }; protected: @@ -155,13 +155,14 @@ class TKERNELINTERFACE_EXPORTS TGenericNodeList m_iCount = 0; } ~TGenericNodeList() { DeleteAll(); } + private: - TGenericNodeList(TGenericNodeList&) + TGenericNodeList(TGenericNodeList &) { TASSERT(!"Not implemented; don't want the default one!"); } - TGenericNodeList& operator=(TGenericNodeList&) + TGenericNodeList &operator=(TGenericNodeList &) { TASSERT(!"Not implemented; don't want the default one!"); return *this; @@ -173,12 +174,12 @@ class TKERNELINTERFACE_EXPORTS TGenericNodeList return m_oRoot.Next() == &m_oRoot; } - TBOOL IsValid(const TNode* pNode) const + TBOOL IsValid(const TNode *pNode) const { return pNode != TNULL && pNode->GetList() == this; } - void Append(TGenericNodeList& a_rList) + void Append(TGenericNodeList &a_rList) { if (a_rList.IsEmpty()) return; for (Iterator i = a_rList.Begin(); i != a_rList.End(); i++) @@ -187,46 +188,46 @@ class TKERNELINTERFACE_EXPORTS TGenericNodeList } } - void InsertAfter(TNode& rInsertAfter, TNode& rNewNode) + void InsertAfter(TNode &rInsertAfter, TNode &rNewNode) { TASSERT(!rNewNode.IsLinked()); rNewNode.SetList(this); - rNewNode.m_pNext = rInsertAfter.m_pNext; - rNewNode.m_pPrev = &rInsertAfter; + rNewNode.m_pNext = rInsertAfter.m_pNext; + rNewNode.m_pPrev = &rInsertAfter; rInsertAfter.m_pNext->m_pPrev = &rNewNode; - rInsertAfter.m_pNext = &rNewNode; + rInsertAfter.m_pNext = &rNewNode; m_iCount++; } - void InsertBefore(TNode& rInsertBefore, TNode& rNewNode) + void InsertBefore(TNode &rInsertBefore, TNode &rNewNode) { TASSERT(!rNewNode.IsLinked()); rNewNode.SetList(this); - rNewNode.m_pNext = &rInsertBefore; - rNewNode.m_pPrev = rInsertBefore.m_pPrev; + rNewNode.m_pNext = &rInsertBefore; + rNewNode.m_pPrev = rInsertBefore.m_pPrev; rInsertBefore.m_pPrev->m_pNext = &rNewNode; - rInsertBefore.m_pPrev = &rNewNode; + rInsertBefore.m_pPrev = &rNewNode; m_iCount++; } - void InsertHead(TNode& rNode) + void InsertHead(TNode &rNode) { InsertAfter(m_oRoot, rNode); } - void InsertTail(TNode& rNode) + void InsertTail(TNode &rNode) { InsertBefore(m_oRoot, rNode); } - TNode* Remove(TNode& rNode) + TNode *Remove(TNode &rNode) { - TASSERT(rNode.GetList()==this); + TASSERT(rNode.GetList() == this); rNode.SetList(TNULL); rNode.m_pPrev->m_pNext = rNode.m_pNext; rNode.m_pNext->m_pPrev = rNode.m_pPrev; - rNode.m_pNext = &rNode; - rNode.m_pPrev = &rNode; + rNode.m_pNext = &rNode; + rNode.m_pPrev = &rNode; m_iCount--; return &rNode; } @@ -238,7 +239,7 @@ class TKERNELINTERFACE_EXPORTS TGenericNodeList } } - TNode* RemoveHead() + TNode *RemoveHead() { if (!IsEmpty()) { return Remove(*m_oRoot.Next()); @@ -246,7 +247,7 @@ class TKERNELINTERFACE_EXPORTS TGenericNodeList return TNULL; } - TNode* RemoveTail() + TNode *RemoveTail() { if (!IsEmpty()) { return Remove(*m_oRoot.Prev()); @@ -258,7 +259,7 @@ class TKERNELINTERFACE_EXPORTS TGenericNodeList { Remove(a_rNode); - delete& a_rNode; + delete &a_rNode; } void DeleteAll() @@ -290,7 +291,7 @@ class TKERNELINTERFACE_EXPORTS TGenericNodeList Iterator End() const { - return Iterator((TNode*)&m_oRoot); + return Iterator((TNode *)&m_oRoot); } Iterator RBegin() const @@ -300,15 +301,15 @@ class TKERNELINTERFACE_EXPORTS TGenericNodeList Iterator REnd() const { - return Iterator((TNode*)&m_oRoot); + return Iterator((TNode *)&m_oRoot); } - TNode* Head() const + TNode *Head() const { return m_oRoot.Next(); } - TNode* Tail() const + TNode *Tail() const { return m_oRoot.Prev(); } @@ -319,26 +320,25 @@ class TKERNELINTERFACE_EXPORTS TGenericNodeList } protected: - TNode m_oRoot; // 0x0 - TINT m_iCount; // 0x10 + TNode m_oRoot; // 0x0 + TINT m_iCount; // 0x10 }; template class T2Iterator { public: - T2Iterator() { m_pPtr = TNULL; } - T2Iterator(Node* pPtr) + T2Iterator(Node *pPtr) { - m_pPtr = static_cast(pPtr); + m_pPtr = static_cast(pPtr); } - T2Iterator(T* pPtr) + T2Iterator(T *pPtr) { m_pPtr = pPtr; } @@ -353,33 +353,33 @@ class T2Iterator return m_pNode != ptr; }*/ - void operator=(const T2Iterator& other) + void operator=(const T2Iterator &other) { m_pPtr = other.m_pPtr; } - void operator=(T* pPtr) + void operator=(T *pPtr) { m_pPtr = pPtr; } - T* operator->() const + T *operator->() const { TASSERT(m_pPtr != TNULL); return m_pPtr; } - operator T* () const + operator T *() const { TASSERT(m_pPtr != TNULL); - return static_cast(m_pPtr); + return static_cast(m_pPtr); } T2Iterator operator++(int) { TASSERT(m_pPtr != TNULL); T2Iterator old = m_pPtr; - m_pPtr = static_cast(m_pPtr->Next()); + m_pPtr = static_cast(m_pPtr->Next()); return old; } @@ -387,26 +387,26 @@ class T2Iterator { TASSERT(m_pPtr != TNULL); T2Iterator old = m_pPtr; - m_pPtr = static_cast(m_pPtr->Prev()); + m_pPtr = static_cast(m_pPtr->Prev()); return old; } T2Iterator operator++() { TASSERT(m_pPtr != TNULL); - m_pPtr = static_cast(m_pPtr->Next()); + m_pPtr = static_cast(m_pPtr->Next()); return T2Iterator{ m_pPtr }; } T2Iterator operator--() { TASSERT(m_pPtr != TNULL); - m_pPtr = static_cast(m_pPtr->Prev()); + m_pPtr = static_cast(m_pPtr->Prev()); return T2Iterator{ m_pPtr }; } private: - T* m_pPtr; + T *m_pPtr; }; //class Iterator @@ -496,7 +496,7 @@ class T2Iterator //private: // T* m_pPtr; -//}; +//}; // For the mean time use this until we probably implemented this template @@ -516,7 +516,7 @@ class TNodeList m_List = TNULL; } - TNode(const TNode& node) + TNode(const TNode &node) { m_Next = node.m_Next; m_Prev = node.m_Prev; @@ -528,12 +528,22 @@ class TNodeList m_List->Remove(*this); } - T* Next() const + T *Next() + { + return m_Next->As(); + } + + T *Prev() + { + return m_Prev->As(); + } + + const T *Next() const { return m_Next->As(); } - T* Prev() const + const T *Prev() const { return m_Prev->As(); } @@ -543,23 +553,29 @@ class TNodeList return m_List != TNULL; } - void SetList(TNodeList* list) + void SetList(TNodeList *list) { m_List = list; } - TNodeList* GetList() const + TNodeList *GetList() const { return m_List; } - template - T* As() + template + T *As() { - return static_cast(this); + return static_cast(this); } - TNode& operator=(const TNode& node) + template + const T *As() const + { + return static_cast(this); + } + + TNode &operator=(const TNode &node) { m_Next = node.m_Next; m_Prev = node.m_Prev; @@ -568,9 +584,9 @@ class TNodeList } protected: - TNodeList* m_List; - TNode* m_Next; - TNode* m_Prev; + TNodeList *m_List; + TNode *m_Next; + TNode *m_Prev; }; public: @@ -584,36 +600,36 @@ class TNodeList DeleteAll(); } - void InsertAfter(TNode& insertAfter, TNode& newNode) + void InsertAfter(TNode &insertAfter, TNode &newNode) { TASSERT(!newNode.IsLinked()); newNode.SetList(this); - newNode.m_Next = insertAfter.m_Next; - newNode.m_Prev = &insertAfter; + newNode.m_Next = insertAfter.m_Next; + newNode.m_Prev = &insertAfter; insertAfter.m_Next->m_Prev = &newNode; - insertAfter.m_Next = &newNode; + insertAfter.m_Next = &newNode; m_Count++; } - void InsertBefore(TNode& insertBefore, TNode& newNode) + void InsertBefore(TNode &insertBefore, TNode &newNode) { TASSERT(!newNode.IsLinked()); newNode.SetList(this); - newNode.m_Next = &insertBefore; - newNode.m_Prev = insertBefore.m_Prev; + newNode.m_Next = &insertBefore; + newNode.m_Prev = insertBefore.m_Prev; insertBefore.m_Prev->m_Next = &newNode; - insertBefore.m_Prev = &newNode; + insertBefore.m_Prev = &newNode; m_Count++; } - TNode* Remove(TNode& rNode) + TNode *Remove(TNode &rNode) { TASSERT(rNode.GetList() == this); rNode.SetList(TNULL); rNode.m_Prev->m_Next = rNode.m_Next; rNode.m_Next->m_Prev = rNode.m_Prev; - rNode.m_Next = &rNode; - rNode.m_Prev = &rNode; + rNode.m_Next = &rNode; + rNode.m_Prev = &rNode; m_Count--; TASSERT(rNode.IsLinked() == TFALSE); return &rNode; @@ -627,7 +643,7 @@ class TNodeList } } - T* RemoveHead() + T *RemoveHead() { if (!IsEmpty()) { @@ -637,7 +653,7 @@ class TNodeList return TNULL; } - T* RemoveTail() + T *RemoveTail() { if (!IsEmpty()) { @@ -649,12 +665,12 @@ class TNodeList void DeleteHead() { - Delete(Head()); + Delete(*Head()); } void DeleteTail() { - Delete(Tail()); + Delete(*Tail()); } void DeleteAll() @@ -665,19 +681,19 @@ class TNodeList } } - void Delete(T& node) + void Delete(T &node) { Remove(node); - delete& node; + delete &node; } - void InsertHead(T& node) + void InsertHead(T &node) { InsertAfter(m_Head, node); } - void InsertTail(T& node) + void InsertTail(T &node) { InsertBefore(m_Head, node); } @@ -687,7 +703,7 @@ class TNodeList return m_Head.Next() == End(); } - TBOOL IsValid(const T* node) const + TBOOL IsValid(const T *node) const { return node != TNULL && node->m_List == this; } @@ -719,7 +735,7 @@ class TNodeList protected: mutable TNode m_Head; - size_t m_Count; + size_t m_Count; }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TNodeTree.h b/Toshi/Include/TKernel/TNodeTree.h index 51f998e..b618edb 100644 --- a/Toshi/Include/TKernel/TNodeTree.h +++ b/Toshi/Include/TKernel/TNodeTree.h @@ -18,33 +18,33 @@ class TNodeTree protected: TNode() { - m_Tree = TNULL; - m_Next = (T*)this; - m_Prev = (T*)this; + m_Tree = TNULL; + m_Next = (T *)this; + m_Prev = (T *)this; m_Parent = TNULL; - m_Child = TNULL; + m_Child = TNULL; } public: TBOOL IsChildOfDefaultRoot() const { TASSERT(IsLinked() == TTRUE); - return m_Parent == (T*)(&GetTree()->m_Root); + return m_Parent == (T *)(&GetTree()->m_Root); } - TBOOL IsLinked() const { return m_Tree != TNULL; } - T* Parent() const { return m_Parent; } - T* Next() const { return m_Next; } - T* Prev() const { return m_Prev; } - TNodeTree* GetTree() const { return m_Tree; } - T* Child() const { return m_Child; } + TBOOL IsLinked() const { return m_Tree != TNULL; } + T *Parent() const { return m_Parent; } + T *Next() const { return m_Next; } + T *Prev() const { return m_Prev; } + TNodeTree *GetTree() const { return m_Tree; } + T *Child() const { return m_Child; } protected: - TNodeTree* m_Tree; - T* m_Next; - T* m_Prev; - T* m_Parent; - T* m_Child; + TNodeTree *m_Tree; + T *m_Next; + T *m_Prev; + T *m_Parent; + T *m_Child; }; public: @@ -65,7 +65,7 @@ class TNodeTree * @param parentNode Reference to the parent node. * @param a_rSourceNode Reference to the node you want to insert. */ - void Insert(T* parentNode, T* a_rSourceNode) + void Insert(T *parentNode, T *a_rSourceNode) { // Toshi::TNodeTree::Insert - 00691aa0 TASSERT(a_rSourceNode->IsLinked() == TFALSE); @@ -74,14 +74,14 @@ class TNodeTree Remove(*a_rSourceNode, TFALSE); // Get the first attached to parent node - T* firstAttached = parentNode->Child(); + T *firstAttached = parentNode->Child(); if (firstAttached != TNULL) { // Attach node to other attached nodes - T* lastAttached = firstAttached->Prev(); + T *lastAttached = firstAttached->Prev(); - lastAttached->m_Next = a_rSourceNode; + lastAttached->m_Next = a_rSourceNode; firstAttached->m_Prev = a_rSourceNode; a_rSourceNode->m_Next = firstAttached; @@ -93,7 +93,7 @@ class TNodeTree parentNode->m_Child = a_rSourceNode; } - a_rSourceNode->m_Tree = this; + a_rSourceNode->m_Tree = this; a_rSourceNode->m_Parent = parentNode; m_Count++; } @@ -103,7 +103,7 @@ class TNodeTree * * @param a_rSourceNode Pointer to the node you want to insert. */ - void InsertAtRoot(T* sourceNode) + void InsertAtRoot(T *sourceNode) { Insert(GetRoot(), sourceNode); } @@ -111,7 +111,7 @@ class TNodeTree /** * Tries to remove a_rSourceNode from the tree and inserts it to the parentNode or to the root */ - void ReInsert(T* parentNode, T* sourceNode) + void ReInsert(T *parentNode, T *sourceNode) { Remove(sourceNode, TFALSE); @@ -127,12 +127,12 @@ class TNodeTree Insert(parentNode, sourceNode); } - T* Remove(T& node, TBOOL flag = TFALSE) + T *Remove(T &node, TBOOL flag = TFALSE) { // Toshi::TNodeTree::Remove - 00691e70 - TNodeTree* nodeRoot = node.GetTree(); - T* nodeParent = node.Parent(); - + TNodeTree *nodeRoot = node.GetTree(); + T *nodeParent = node.Parent(); + if (nodeRoot) { // Check if the node belongs to the current tree if (nodeRoot != this) { @@ -143,11 +143,11 @@ class TNodeTree } if (flag) { - T* attachedNode = node.Child(); + T *attachedNode = node.Child(); while (attachedNode) { - TNodeTree* nodeRoot = node.GetTree(); + TNodeTree *nodeRoot = node.GetTree(); Remove(*attachedNode, TFALSE); Insert(node.Parent(), attachedNode); @@ -170,22 +170,22 @@ class TNodeTree node.m_Prev->m_Next = node.m_Next; node.m_Next->m_Prev = node.m_Prev; - node.m_Next = &node; - node.m_Prev = &node; - node.m_Tree = TNULL; + node.m_Next = &node; + node.m_Prev = &node; + node.m_Tree = TNULL; return &node; } - T* Remove(T* node, TBOOL flag = TFALSE) + T *Remove(T *node, TBOOL flag = TFALSE) { return Remove(*node, flag); } - void DeleteRecurse(T* node) + void DeleteRecurse(T *node) { while (node != TNULL) { - T* next = (node->Next() != node) ? node->Next() : TNULL; + T *next = (node->Next() != node) ? node->Next() : TNULL; if (node->Child() != TNULL) { @@ -199,7 +199,7 @@ class TNodeTree if (node->GetTree() == TNULL || node->GetTree() == this) { - T* nodeParent = node->Parent(); + T *nodeParent = node->Parent(); if (nodeParent != TNULL) { @@ -213,10 +213,10 @@ class TNodeTree } node->m_Prev->m_Parent = node->m_Next; - node->m_Next->m_Child = node->m_Prev; - node->m_Next = node; - node->m_Prev = node; - node->m_Tree = TNULL; + node->m_Next->m_Child = node->m_Prev; + node->m_Next = node; + node->m_Prev = node; + node->m_Tree = TNULL; } delete node; @@ -226,7 +226,7 @@ class TNodeTree void DeleteAll() { - T* node = GetRoot()->Child(); + T *node = GetRoot()->Child(); while (node != TNULL) { @@ -238,12 +238,12 @@ class TNodeTree TASSERT(Count() == 0); } - T* GetRoot() + T *GetRoot() { - return TSTATICCAST(T*, &m_Root); + return TSTATICCAST(T *, &m_Root); } - T* ChildOfRoot() + T *ChildOfRoot() { return m_Root.Child(); } @@ -259,8 +259,8 @@ class TNodeTree } protected: - TNode m_Root; // 0x0 + TNode m_Root; // 0x0 size_t m_Count; // 0x14 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TObject.h b/Toshi/Include/TKernel/TObject.h index b8fa71b..595b167 100644 --- a/Toshi/Include/TKernel/TObject.h +++ b/Toshi/Include/TKernel/TObject.h @@ -7,52 +7,52 @@ TOSHI_NAMESPACE_BEGIN // TClassProps definitions -typedef class TObject* (TOSHI_API*t_CreateTObject)(); -typedef class TObject* (TOSHI_API*t_CreateTObjectInPlace)(TPVOID); -typedef void (TOSHI_API*t_InitializeStatic)(); -typedef void (TOSHI_API*t_UninitializeStatic)(); +typedef class TObject *(TOSHI_API *t_CreateTObject)(); +typedef class TObject *(TOSHI_API *t_CreateTObjectInPlace)(TPVOID); +typedef void(TOSHI_API *t_InitializeStatic)(); +typedef void(TOSHI_API *t_UninitializeStatic)(); // RecurseTree definitions -typedef TBOOL (*t_RecurceTreeCheck)(class TClass*, TPCVOID); -typedef TBOOL (*t_RecurceTreeBaseBeginCb)(class TClass*, TPCVOID); -typedef TBOOL (*t_RecurceTreeBaseEndCb)(class TClass*, TPCVOID); +typedef TBOOL (*t_RecurceTreeCheck)(class TClass *, TPCVOID); +typedef TBOOL (*t_RecurceTreeBaseBeginCb)(class TClass *, TPCVOID); +typedef TBOOL (*t_RecurceTreeBaseEndCb)(class TClass *, TPCVOID); -#define TGetClass(X) X::m_sClass +#define TGetClass(X) X::m_sClass #define TFindClass(X, Y) Toshi::TClass::Find(#X, Y) class TKERNELINTERFACE_EXPORTS TClass { public: - TClass(TPCCHAR a_pcName, TClass* a_pParent, t_CreateTObject a_Create, t_CreateTObjectInPlace a_CreateInPlace, t_InitializeStatic a_Init, t_UninitializeStatic a_Uninit, TUINT a_uiVersion); + TClass(TPCCHAR a_pcName, TClass *a_pParent, t_CreateTObject a_Create, t_CreateTObjectInPlace a_CreateInPlace, t_InitializeStatic a_Init, t_UninitializeStatic a_Uninit, TUINT a_uiVersion); ~TClass(); - TObject* CreateObject() const + TObject *CreateObject() const { return m_Create ? m_Create() : TNULL; } - TObject* CreateObjectInPlace(TPVOID a_pMem) const + TObject *CreateObjectInPlace(TPVOID a_pMem) const { return m_CreateInPlace ? m_CreateInPlace(a_pMem) : TNULL; } - void DeinitialiseStatic(); - TBOOL DetachClassFromParent() { return TTRUE; } - static void TOSHI_API DumpObjectClassTree(); - static const TClass* TOSHI_API Find(TPCCHAR a_pcClassName, const TClass* a_pClass); - static const TClass* TOSHI_API FindCommonBaseClass(const TClass& a_rClass, const TClass& a_rBaseClass); - static const TClass* TOSHI_API FindRecurse(TPCCHAR a_pcClassName, const TClass* a_pClass, TBOOL a_bHasPrevious); + void DeinitialiseStatic(); + TBOOL DetachClassFromParent() { return TTRUE; } + static void TOSHI_API DumpObjectClassTree(); + static const TClass *TOSHI_API Find(TPCCHAR a_pcClassName, const TClass *a_pClass); + static const TClass *TOSHI_API FindCommonBaseClass(const TClass &a_rClass, const TClass &a_rBaseClass); + static const TClass *TOSHI_API FindRecurse(TPCCHAR a_pcClassName, const TClass *a_pClass, TBOOL a_bHasPrevious); - TPCCHAR GetName() const { return m_pcName; } - const TClass* GetParent() const { return m_pParent; } - TUINT GetVersion() const { return m_uiVersion; } - TUSHORT GetVersionMajor() const { return m_uiVersion >> 16; } - TUSHORT GetVersionMinor() const { return m_uiVersion & 0xFFFF; } + TPCCHAR GetName() const { return m_pcName; } + const TClass *GetParent() const { return m_pParent; } + TUINT GetVersion() const { return m_uiVersion; } + TUSHORT GetVersionMajor() const { return m_uiVersion >> 16; } + TUSHORT GetVersionMinor() const { return m_uiVersion & 0xFFFF; } - void InitialiseStatic(); + void InitialiseStatic(); TBOOL IsA(const TClass &a_rClass) const; TBOOL IsAttached() const; - TBOOL IsExactly(const TClass& a_rClass) const + TBOOL IsExactly(const TClass &a_rClass) const { return *this == a_rClass; } @@ -61,21 +61,21 @@ class TKERNELINTERFACE_EXPORTS TClass return m_bInitialised; } - TClass& operator=(const TClass& a_rClass) + TClass &operator=(const TClass &a_rClass) { - m_pcName = a_rClass.m_pcName; - m_Create = a_rClass.m_Create; + m_pcName = a_rClass.m_pcName; + m_Create = a_rClass.m_Create; m_CreateInPlace = a_rClass.m_CreateInPlace; - m_Initialize = a_rClass.m_Initialize; - m_Uninitialize = a_rClass.m_Uninitialize; - m_pParent = a_rClass.m_pParent; - m_pPrevious = a_rClass.m_pPrevious; + m_Initialize = a_rClass.m_Initialize; + m_Uninitialize = a_rClass.m_Uninitialize; + m_pParent = a_rClass.m_pParent; + m_pPrevious = a_rClass.m_pPrevious; m_pLastAttached = a_rClass.m_pLastAttached; - m_uiVersion = a_rClass.m_uiVersion; - m_bInitialised = TFALSE; + m_uiVersion = a_rClass.m_uiVersion; + m_bInitialised = TFALSE; return *this; } - TBOOL operator==(const TClass& a_rClass) const + TBOOL operator==(const TClass &a_rClass) const { return m_pcName == a_rClass.m_pcName; } @@ -86,80 +86,93 @@ class TKERNELINTERFACE_EXPORTS TClass TBOOL AttachClassToParent(); private: - TPCCHAR m_pcName; // 0x00 - t_CreateTObject m_Create; // 0x04 + TPCCHAR m_pcName; // 0x00 + t_CreateTObject m_Create; // 0x04 t_CreateTObjectInPlace m_CreateInPlace; // 0x08 - t_InitializeStatic m_Initialize; // 0x0C - t_UninitializeStatic m_Uninitialize; // 0x10 - TClass* m_pParent; // 0x14 - TClass* m_pPrevious; // 0x18 - TClass* m_pLastAttached; // 0x1C - TUINT m_uiVersion; // 0x20 - TBOOL m_bInitialised; // 0x24 + t_InitializeStatic m_Initialize; // 0x0C + t_UninitializeStatic m_Uninitialize; // 0x10 + TClass *m_pParent; // 0x14 + TClass *m_pPrevious; // 0x18 + TClass *m_pLastAttached; // 0x1C + TUINT m_uiVersion; // 0x20 + TBOOL m_bInitialised; // 0x24 }; -#define DECLARE_DYNAMIC(class_name) \ -public: \ - virtual Toshi::TClass& GetClass() const; \ - static Toshi::TClass m_sClass; \ -private: \ - static Toshi::TObject* TOSHI_API CreateObject(); \ - static Toshi::TObject* TOSHI_API CreateObjectInPlace(TPVOID a_pMem); \ - static void TOSHI_API DeinitialiseStatic(); \ - static void TOSHI_API InitialiseStatic(); +#define DECLARE_DYNAMIC(class_name) \ +public: \ + virtual Toshi::TClass &GetClass() const; \ + static Toshi::TClass m_sClass; \ + \ +private: \ + static Toshi::TObject *TOSHI_API CreateObject(); \ + static Toshi::TObject *TOSHI_API CreateObjectInPlace(TPVOID a_pMem); \ + static void TOSHI_API DeinitialiseStatic(); \ + static void TOSHI_API InitialiseStatic(); #define IMPLEMENT_RUNTIMECLASS(class_name, base_class_name, pfnCreateObject, pfnCreateObjectInPlace, version) \ - Toshi::TClass& class_name::GetClass() const \ - { return class_name::m_sClass; } \ - void TOSHI_API class_name::DeinitialiseStatic() \ - { } \ - void TOSHI_API class_name::InitialiseStatic() \ - { } \ - Toshi::TClass class_name::m_sClass = { \ - #class_name, &TGetClass(base_class_name), pfnCreateObject, pfnCreateObjectInPlace, \ - class_name::InitialiseStatic, class_name::DeinitialiseStatic, version }; \ - -#define IMPLEMENT_DYNCREATE(class_name, base_class_name) \ - Toshi::TObject* TOSHI_API class_name::CreateObject() \ - { return new class_name; } \ - Toshi::TObject* TOSHI_API class_name::CreateObjectInPlace(TPVOID a_pMem) \ - { return new (a_pMem) class_name; } \ + Toshi::TClass &class_name::GetClass() const \ + { \ + return class_name::m_sClass; \ + } \ + void TOSHI_API class_name::DeinitialiseStatic() \ + {} \ + void TOSHI_API class_name::InitialiseStatic() \ + {} \ + Toshi::TClass class_name::m_sClass = { \ + #class_name, &TGetClass(base_class_name), pfnCreateObject, pfnCreateObjectInPlace, \ + class_name::InitialiseStatic, class_name::DeinitialiseStatic, version \ + }; + +#define IMPLEMENT_DYNCREATE(class_name, base_class_name) \ + Toshi::TObject *TOSHI_API class_name::CreateObject() \ + { \ + return new class_name; \ + } \ + Toshi::TObject *TOSHI_API class_name::CreateObjectInPlace(TPVOID a_pMem) \ + { \ + return new (a_pMem) class_name; \ + } \ IMPLEMENT_RUNTIMECLASS(class_name, base_class_name, class_name::CreateObject, class_name::CreateObjectInPlace, 1) -#define IMPLEMENT_DYNAMIC(class_name, base_class_name) \ - Toshi::TObject* TOSHI_API class_name::CreateObject() \ - { TASSERT(!"This class does not support dynamic creation!"); return TNULL; } \ - Toshi::TObject* TOSHI_API class_name::CreateObjectInPlace(TPVOID a_pMem) \ - { TASSERT(!"This class does not support dynamic creation!"); return TNULL; } \ +#define IMPLEMENT_DYNAMIC(class_name, base_class_name) \ + Toshi::TObject *TOSHI_API class_name::CreateObject() \ + { \ + TASSERT(!"This class does not support dynamic creation!"); \ + return TNULL; \ + } \ + Toshi::TObject *TOSHI_API class_name::CreateObjectInPlace(TPVOID a_pMem) \ + { \ + TASSERT(!"This class does not support dynamic creation!"); \ + return TNULL; \ + } \ IMPLEMENT_RUNTIMECLASS(class_name, base_class_name, class_name::CreateObject, class_name::CreateObjectInPlace, 1) class TKERNELINTERFACE_EXPORTS TObject -{ -private: - static TObject* TOSHI_API CreateObject() +{ +private: + static TObject *TOSHI_API CreateObject() { return new TObject; } - static TObject* TOSHI_API CreateObjectInPlace(TPVOID a_pMem) + static TObject *TOSHI_API CreateObjectInPlace(TPVOID a_pMem) { return new (a_pMem) TObject; } static void TOSHI_API DeinitialiseStatic() {} static void TOSHI_API InitialiseStatic() {} - + public: virtual void Delete() { delete this; } - TBOOL IsA(const TClass& a_rClass) const { return GetClass().IsA(a_rClass); } - TBOOL IsExactly(const TClass& a_rClass) const { return GetClass().IsExactly(a_rClass); } + TBOOL IsA(const TClass &a_rClass) const { return GetClass().IsA(a_rClass); } + TBOOL IsExactly(const TClass &a_rClass) const { return GetClass().IsExactly(a_rClass); } - virtual TClass& GetClass() const { return m_sClass; } + virtual TClass &GetClass() const { return m_sClass; } inline static TClass m_sClass = TClass("TObject", TNULL, TObject::CreateObject, TObject::CreateObjectInPlace, TObject::InitialiseStatic, TObject::DeinitialiseStatic, 1); protected: TObject() {} virtual ~TObject() = default; - }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TPCString.h b/Toshi/Include/TKernel/TPCString.h index 53f6d5e..432e913 100644 --- a/Toshi/Include/TKernel/TPCString.h +++ b/Toshi/Include/TKernel/TPCString.h @@ -20,16 +20,16 @@ class TKERNELINTERFACE_EXPORTS TPooledCString : public TRefCounted private: TPooledCString(); - TPooledCString(TPCCHAR a_szString, TCStringPool* a_pStringPool); - + TPooledCString(TPCCHAR a_szString, TCStringPool *a_pStringPool); + void Delete(); ~TPooledCString(); private: // 0x0 base (m_iRefCount) - TCString m_oString; // 0x4 - TCStringPool* m_pCStringPool; // 0xC + TCString m_oString; // 0x4 + TCStringPool *m_pCStringPool; // 0xC }; class TKERNELINTERFACE_EXPORTS TPCString @@ -43,7 +43,8 @@ class TKERNELINTERFACE_EXPORTS TPCString m_pPCS = TNULL; } - TPCString(const TPCString& a_rPCS) : TPCString() + TPCString(const TPCString &a_rPCS) + : TPCString() { if (a_rPCS.m_pPCS) { m_pPCS = a_rPCS.m_pPCS; @@ -61,7 +62,7 @@ class TKERNELINTERFACE_EXPORTS TPCString } } - TINT Compare(const TPCString& a_rString) const + TINT Compare(const TPCString &a_rString) const { if (!GetPtr() && a_rString.GetPtr()) { return -1; @@ -83,32 +84,32 @@ class TKERNELINTERFACE_EXPORTS TPCString return GetCString().IsEmpty(); } - TBOOL operator!=(const TPCString& a_rString) const + TBOOL operator!=(const TPCString &a_rString) const { return GetPtr() != a_rString.GetPtr(); } - const TCString& operator*() const + const TCString &operator*() const { return m_pPCS ? m_pPCS->m_oString : ms_sEmpty; } - const TCString* operator->() const + const TCString *operator->() const { return m_pPCS ? &m_pPCS->m_oString : &ms_sEmpty; } - TBOOL operator<(const TPCString& a_rString) const + TBOOL operator<(const TPCString &a_rString) const { return Compare(a_rString) == 0; } - TBOOL operator==(const TPCString& a_rString) const + TBOOL operator==(const TPCString &a_rString) const { return GetPtr() == a_rString.GetPtr(); } - TPCString& operator=(const TPCString& a_rString) + TPCString &operator=(const TPCString &a_rString) { if (GetPtr() != a_rString.GetPtr()) { if (GetPtr() && GetPtr()->DecRefCount() == 0) { @@ -120,27 +121,27 @@ class TKERNELINTERFACE_EXPORTS TPCString return *this; } - operator const TCString* () const + operator const TCString *() const { return GetPtr() ? &GetPtr()->m_oString : &ms_sEmpty; } - TPooledCString* GetPtr() const + TPooledCString *GetPtr() const { return m_pPCS; } - const TCString& GetCString() const + const TCString &GetCString() const { return GetPtr() ? GetPtr()->m_oString : ms_sEmpty; } - TCStringPool* GetStringPool() const + TCStringPool *GetStringPool() const { return GetPtr()->m_pCStringPool; } - TCString& GetVolatileCString() const + TCString &GetVolatileCString() const { TASSERT(GetPtr() != TNULL); TASSERT(GetPtr()->m_pCStringPool == TNULL); @@ -148,35 +149,36 @@ class TKERNELINTERFACE_EXPORTS TPCString } private: - - TPCString(TPooledCString* a_pPCS) + TPCString(TPooledCString *a_pPCS) { m_pPCS = a_pPCS; if (a_pPCS) { a_pPCS->IncRefCount(); } } - - TPooledCString* m_pPCS; + + TPooledCString *m_pPCS; }; class TKERNELINTERFACE_EXPORTS TCStringPool { friend class TPooledCString; -public: - TCStringPool() : TCStringPool(0x400, 0) {} +public: + TCStringPool() + : TCStringPool(0x400, 0) {} TCStringPool(TINT a_iMaxSize, TINT a_iInitialSize); TPCString Get(TPCCHAR a_szString); TPCString Get(TINT a_iInt); + protected: - void Remove(TPooledCString& a_rPooledCString); + void Remove(TPooledCString &a_rPooledCString); private: - TINT m_iMaxSize; // 0x0 + TINT m_iMaxSize; // 0x0 TArray m_oPooledCStrings; // 0x4 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TPile.h b/Toshi/Include/TKernel/TPile.h index 1bff346..6702262 100644 --- a/Toshi/Include/TKernel/TPile.h +++ b/Toshi/Include/TKernel/TPile.h @@ -6,7 +6,6 @@ TOSHI_NAMESPACE_BEGIN class TKERNELINTERFACE_EXPORTS TPile { public: - enum PileFlags { PILEFLAG_MALLOC = BITFIELD(0) @@ -14,8 +13,8 @@ class TKERNELINTERFACE_EXPORTS TPile TPile(TINT a_iPileSize, TINT a_iBlockSize, TUINT a_iFlags); - void* RawAlloc(TINT a_iSize, TINT a_iAlignment); - TBOOL RawIsInside(void* a_pRaw); + void *RawAlloc(TINT a_iSize, TINT a_iAlignment); + TBOOL RawIsInside(void *a_pRaw); void Free(); @@ -33,14 +32,14 @@ class TKERNELINTERFACE_EXPORTS TPile } private: - TINT m_iPileSize; // 0x0 - TINT m_iBlockSize; // 0x4 - TUINT m_iFlags; // 0x8 - TINT m_iNumBlocks; // 0xC - TINT* m_pNextBlock; // 0x14 - void** m_ppBlocks; // 0x1C - TINT m_iNumAllocs; // 0x24 - TINT m_iWastedSpace; // 0x28 + TINT m_iPileSize; // 0x0 + TINT m_iBlockSize; // 0x4 + TUINT m_iFlags; // 0x8 + TINT m_iNumBlocks; // 0xC + TINT *m_pNextBlock; // 0x14 + void **m_ppBlocks; // 0x1C + TINT m_iNumAllocs; // 0x24 + TINT m_iWastedSpace; // 0x28 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TProfiler.h b/Toshi/Include/TKernel/TProfiler.h index de529b3..6694003 100644 --- a/Toshi/Include/TKernel/TProfiler.h +++ b/Toshi/Include/TKernel/TProfiler.h @@ -19,4 +19,4 @@ class TKERNELINTERFACE_EXPORTS TProfiler LARGE_INTEGER m_iStartTime; }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TQList.h b/Toshi/Include/TKernel/TQList.h index 81c2ab8..9d51762 100644 --- a/Toshi/Include/TKernel/TQList.h +++ b/Toshi/Include/TKernel/TQList.h @@ -16,16 +16,16 @@ class TQList public: TNode() { - m_pNext = TSTATICCAST(T*, this); - m_pPrev = TSTATICCAST(T*, this); + m_pNext = TSTATICCAST(T *, this); + m_pPrev = TSTATICCAST(T *, this); } ~TNode() { m_pPrev->m_pNext = m_pNext; m_pNext->m_pPrev = m_pPrev; - m_pNext = TSTATICCAST(T*, this); - m_pPrev = TSTATICCAST(T*, this); + m_pNext = TSTATICCAST(T *, this); + m_pPrev = TSTATICCAST(T *, this); } TBOOL IsLinked() const @@ -33,63 +33,62 @@ class TQList return this != m_pNext; } - T* Next() const + T *Next() const { return m_pNext; } - T* Prev() const + T *Prev() const { return m_pPrev; } private: - void InsertAfter(TNode* a_pNode) + void InsertAfter(TNode *a_pNode) { TASSERT(TFALSE == IsLinked()); - m_pPrev = TSTATICCAST(T*, a_pNode); - m_pNext = a_pNode->m_pNext; - a_pNode->m_pNext = TSTATICCAST(T*, this); - m_pNext->m_pPrev = TSTATICCAST(T*, this); + m_pPrev = TSTATICCAST(T *, a_pNode); + m_pNext = a_pNode->m_pNext; + a_pNode->m_pNext = TSTATICCAST(T *, this); + m_pNext->m_pPrev = TSTATICCAST(T *, this); } - void InsertBefore(TNode* a_pNode) + void InsertBefore(TNode *a_pNode) { TASSERT(TFALSE == IsLinked()); - m_pNext = TSTATICCAST(T*, a_pNode); - m_pPrev = a_pNode->m_pPrev; - a_pNode->m_pPrev = TSTATICCAST(T*, this); - m_pPrev->m_pNext = TSTATICCAST(T*, this); + m_pNext = TSTATICCAST(T *, a_pNode); + m_pPrev = a_pNode->m_pPrev; + a_pNode->m_pPrev = TSTATICCAST(T *, this); + m_pPrev->m_pNext = TSTATICCAST(T *, this); } void Remove() { m_pPrev->m_pNext = m_pNext; m_pNext->m_pPrev = m_pPrev; - m_pNext = TSTATICCAST(T*, this); - m_pPrev = TSTATICCAST(T*, this); + m_pNext = TSTATICCAST(T *, this); + m_pPrev = TSTATICCAST(T *, this); } private: - T* m_pNext; - T* m_pPrev; + T *m_pNext; + T *m_pPrev; }; class Iterator { public: - Iterator() { m_pPtr = TNULL; } - Iterator(TNode* pPtr) + Iterator(TNode *pPtr) { - m_pPtr = static_cast(pPtr); + m_pPtr = static_cast(pPtr); } - Iterator(T* pPtr) + Iterator(T *pPtr) { m_pPtr = pPtr; } @@ -104,33 +103,33 @@ class TQList return m_pNode != ptr; }*/ - void operator=(const Iterator& other) + void operator=(const Iterator &other) { m_pPtr = other.m_pPtr; } - void operator=(T* pPtr) + void operator=(T *pPtr) { m_pPtr = pPtr; } - T* operator->() const + T *operator->() const { TASSERT(m_pPtr != TNULL); return m_pPtr; } - operator T* () const + operator T *() const { TASSERT(m_pPtr != TNULL); - return static_cast(m_pPtr); + return static_cast(m_pPtr); } Iterator operator++(int) { TASSERT(m_pPtr != TNULL); Iterator old = m_pPtr; - m_pPtr = static_cast(m_pPtr->Next()); + m_pPtr = static_cast(m_pPtr->Next()); return old; } @@ -138,26 +137,26 @@ class TQList { TASSERT(m_pPtr != TNULL); Iterator old = m_pPtr; - m_pPtr = static_cast(m_pPtr->Prev()); + m_pPtr = static_cast(m_pPtr->Prev()); return old; } Iterator operator++() { TASSERT(m_pPtr != TNULL); - m_pPtr = static_cast(m_pPtr->Next()); + m_pPtr = static_cast(m_pPtr->Next()); return Iterator{ m_pPtr }; } Iterator operator--() { TASSERT(m_pPtr != TNULL); - m_pPtr = static_cast(m_pPtr->Prev()); + m_pPtr = static_cast(m_pPtr->Prev()); return Iterator{ m_pPtr }; } private: - T* m_pPtr; + T *m_pPtr; }; public: @@ -165,17 +164,17 @@ class TQList ~TQList() { TASSERT(IsEmpty()); } - void PushFront(T* a_pNode) + void PushFront(T *a_pNode) { a_pNode->InsertAfter(&m_oRoot); } - void Push(T* a_pNode) + void Push(T *a_pNode) { a_pNode->InsertBefore(&m_oRoot); } - T* Pop() + T *Pop() { auto pFirstElement = m_oRoot.m_pNext; pFirstElement->Remove(); @@ -192,7 +191,7 @@ class TQList return m_oRoot.m_pNext; } - const TNode* End() const + const TNode *End() const { return &m_oRoot; } @@ -205,7 +204,7 @@ class TQList } } - void Remove(T* a_pNode) + void Remove(T *a_pNode) { a_pNode->Remove(); } @@ -219,4 +218,4 @@ class TQList TNode m_oRoot; }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TQuaternion.h b/Toshi/Include/TKernel/TQuaternion.h index 9640eab..07eba0f 100644 --- a/Toshi/Include/TKernel/TQuaternion.h +++ b/Toshi/Include/TKernel/TQuaternion.h @@ -13,4 +13,4 @@ class TKERNELINTERFACE_EXPORTS TQuaternion TFLOAT m_fW; // 0xC }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TRefCounted.h b/Toshi/Include/TKernel/TRefCounted.h index 9fbed3f..5d59f14 100644 --- a/Toshi/Include/TKernel/TRefCounted.h +++ b/Toshi/Include/TKernel/TRefCounted.h @@ -6,7 +6,6 @@ TOSHI_NAMESPACE_BEGIN class TKERNELINTERFACE_EXPORTS TRefCounted { public: - TINT DecRefCount(TPVOID a_pData = TNULL) { return --m_iRefCount; @@ -23,19 +22,17 @@ class TKERNELINTERFACE_EXPORTS TRefCounted } private: - - TRefCounted& operator=(const TRefCounted& a_rRefCounted) + TRefCounted &operator=(const TRefCounted &a_rRefCounted) { return *this; } - TRefCounted(const TRefCounted& a_rRefCounted) + TRefCounted(const TRefCounted &a_rRefCounted) { m_iRefCount = 0; } public: - TRefCounted() { m_iRefCount = 0; @@ -45,4 +42,4 @@ class TKERNELINTERFACE_EXPORTS TRefCounted TINT m_iRefCount; }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TScheduler.h b/Toshi/Include/TKernel/TScheduler.h index c8c3eb3..bd10fb8 100644 --- a/Toshi/Include/TKernel/TScheduler.h +++ b/Toshi/Include/TKernel/TScheduler.h @@ -9,14 +9,14 @@ TOSHI_NAMESPACE_BEGIN class TKernelInterface; -#define ApplicationCreateTask(taskclass, parenttask) (taskclass*)g_oTheApp.GetKernel()->GetScheduler()->CreateTask(TGetClass(taskclass), parenttask) +#define ApplicationCreateTask(taskclass, parenttask) (taskclass *)g_oTheApp.GetKernel()->GetScheduler()->CreateTask(TGetClass(taskclass), parenttask) class TKERNELINTERFACE_EXPORTS TScheduler : public TObject { DECLARE_DYNAMIC(TScheduler); -public: - TScheduler(TKernelInterface* a_pKernel); +public: + TScheduler(TKernelInterface *a_pKernel); virtual ~TScheduler() { @@ -24,16 +24,16 @@ class TKERNELINTERFACE_EXPORTS TScheduler : public TObject DestroyAllTasks(); } - TTask* CreateTask(TClass const& a_rTaskClass, TTask* a_pTask); - void Update(); - void DestroyDyingTasks(TTask *a_pTask); - void DestroyAllTasks(); - void DestroyTask(TTask &a_rTask); + TTask *CreateTask(TClass const &a_rTaskClass, TTask *a_pTask); + void Update(); + void DestroyDyingTasks(TTask *a_pTask); + void DestroyAllTasks(); + void DestroyTask(TTask &a_rTask); void SetDebugSlowTime(TBOOL a_bEnable) { m_fDebugSlowTime = a_bEnable ? 0.01f : 1.0f; } // $TKernelInterface: FUNCTION 1002d690 - TKernelInterface* GetKernelInterface() + TKernelInterface *GetKernelInterface() { return m_pKernel; } @@ -44,14 +44,15 @@ class TKERNELINTERFACE_EXPORTS TScheduler : public TObject void DeleteTask(TTask *a_pTask); void DeleteTaskRecurse(TTask *a_pTask); void DeleteTaskAtomic(TTask *a_pTask); + private: - TTask *m_pCurrentTask; // 0x4 - TKernelInterface *m_pKernel; // 0x8 - TNodeTree m_oTaskTree; // 0xC - TFLOAT m_fCurrentTimeDelta; // 0x24 - TFLOAT m_fTotalTime; // 0x28 - TFLOAT m_fDebugSlowTime; // 0x2C - TFLOAT m_iFrameCount; // 0x30 + TTask *m_pCurrentTask; // 0x4 + TKernelInterface *m_pKernel; // 0x8 + TNodeTree m_oTaskTree; // 0xC + TFLOAT m_fCurrentTimeDelta; // 0x24 + TFLOAT m_fTotalTime; // 0x28 + TFLOAT m_fDebugSlowTime; // 0x2C + TFLOAT m_iFrameCount; // 0x30 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TSphere.h b/Toshi/Include/TKernel/TSphere.h index 559ed7b..a27dfc8 100644 --- a/Toshi/Include/TKernel/TSphere.h +++ b/Toshi/Include/TKernel/TSphere.h @@ -7,7 +7,7 @@ class TKERNELINTERFACE_EXPORTS TSphere { private: TVector3 m_Origin; - TFLOAT m_fRadius; + TFLOAT m_fRadius; }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TSystemTools.h b/Toshi/Include/TKernel/TSystemTools.h index 30b9e11..53156a2 100644 --- a/Toshi/Include/TKernel/TSystemTools.h +++ b/Toshi/Include/TKernel/TSystemTools.h @@ -8,24 +8,25 @@ class TCStringPool; class TKERNELINTERFACE_EXPORTS TSystem { public: - static TPCCHAR TOSHI_API StringUnicodeToChar(TPCHAR a_CharString, TPCWCHAR a_UnicodeString, TINT a_iLength); - static TPCWCHAR TOSHI_API StringCharToUnicode(TPWCHAR a_UnicodeString, TPCCHAR a_CharString, TINT a_iLength); - static TPCCHAR TOSHI_API StringIntToString(TINT a_iInt, TPCHAR a_szString, TINT a_iRadix); - static TINT TOSHI_API StringLength(TPCCHAR a_String); - static TINT TOSHI_API StringLength(TPCWCHAR a_String); - static TINT TOSHI_API StringCompareNoCase(TPCCHAR a_String1, TPCCHAR a_String2, TINT a_uiSize); - static TCHAR const* TOSHI_API StringCopy(TPCHAR a_DestinationString, TCHAR const* a_SourceString, TINT a_iCount); - static TPCWCHAR TOSHI_API StringCopy(TPWCHAR a_DestinationString, TPCWCHAR a_SourceString, TINT a_iCount); - static TPVOID TOSHI_API MemCopy(TPVOID a_dest, TPCVOID a_src, TUINT a_iSize); - static TPVOID TOSHI_API MemSet(TPVOID a_dest, TINT a_iValue, TINT m_iSize); + static TPCCHAR TOSHI_API StringUnicodeToChar(TPCHAR a_CharString, TPCWCHAR a_UnicodeString, TINT a_iLength); + static TPCWCHAR TOSHI_API StringCharToUnicode(TPWCHAR a_UnicodeString, TPCCHAR a_CharString, TINT a_iLength); + static TPCCHAR TOSHI_API StringIntToString(TINT a_iInt, TPCHAR a_szString, TINT a_iRadix); + static TINT TOSHI_API StringLength(TPCCHAR a_String); + static TINT TOSHI_API StringLength(TPCWCHAR a_String); + static TINT TOSHI_API StringCompareNoCase(TPCCHAR a_String1, TPCCHAR a_String2, TINT a_uiSize); + static TCHAR const *TOSHI_API StringCopy(TPCHAR a_DestinationString, TCHAR const *a_SourceString, TINT a_iCount); + static TPCWCHAR TOSHI_API StringCopy(TPWCHAR a_DestinationString, TPCWCHAR a_SourceString, TINT a_iCount); + static TPVOID TOSHI_API MemCopy(TPVOID a_dest, TPCVOID a_src, TUINT a_iSize); + static TPVOID TOSHI_API MemSet(TPVOID a_dest, TINT a_iValue, TINT m_iSize); + + static TCStringPool *TOSHI_API GetCStringPool(); + static TPBYTE GetScratchMem() { return ms_aScratchMem; } + static TPCWCHAR GetTempWString() { return (TPCWCHAR)ms_aScratchMem; } + static TPCHAR GetTempCString() { return (TPCHAR)ms_aScratchMem; } - static TCStringPool* TOSHI_API GetCStringPool(); - static TPBYTE GetScratchMem() { return ms_aScratchMem; } - static TPCWCHAR GetTempWString() { return (TPCWCHAR)ms_aScratchMem; } - static TPCHAR GetTempCString() { return (TPCHAR)ms_aScratchMem; } private: - inline static TBYTE ms_aScratchMem[1024] = {}; - inline static TCStringPool* ms_poTCStringPool = TNULL; + inline static TBYTE ms_aScratchMem[1024] = {}; + inline static TCStringPool *ms_poTCStringPool = TNULL; }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TTask.h b/Toshi/Include/TKernel/TTask.h index 25f3f31..14d72eb 100644 --- a/Toshi/Include/TKernel/TTask.h +++ b/Toshi/Include/TKernel/TTask.h @@ -7,25 +7,25 @@ TOSHI_NAMESPACE_BEGIN //class TScheduler; -class TKERNELINTERFACE_EXPORTS TTask : public TObject, public TNodeTree::TNode +class TKERNELINTERFACE_EXPORTS TTask : public TObject + , public TNodeTree::TNode { DECLARE_DYNAMIC(TTask); enum State { State_Created = BITFIELD(0), - State_Active = BITFIELD(1), - State_Dying = BITFIELD(2), + State_Active = BITFIELD(1), + State_Dying = BITFIELD(2), }; friend class TScheduler; public: - // $TKernelInterface: FUNCTION 1002e7a0 INCOMPLETE TTask() { - m_Flags = 0; + m_Flags = 0; m_pScheduler = TNULL; } @@ -33,11 +33,11 @@ class TKERNELINTERFACE_EXPORTS TTask : public TObject, public TNodeTree:: virtual TBOOL CreateFailed(); virtual TBOOL OnCreate() { return TTRUE; } virtual TBOOL OnUpdate(TFLOAT a_fDeltaTime) { return TTRUE; } - virtual void OnDestroy() {} - virtual TBOOL OnChildDying(TTask* child) { return TTRUE; } - virtual void OnChildDied(TClass* a_pClass, TTask* a_pDeletedTask) {} - virtual void OnActivate() {} - virtual void OnDeactivate() {} + virtual void OnDestroy() {} + virtual TBOOL OnChildDying(TTask *child) { return TTRUE; } + virtual void OnChildDied(TClass *a_pClass, TTask *a_pDeletedTask) {} + virtual void OnActivate() {} + virtual void OnDeactivate() {} void Activate(TBOOL a_bActivate); void DestroyTask(); @@ -46,11 +46,11 @@ class TKERNELINTERFACE_EXPORTS TTask : public TObject, public TNodeTree:: TBOOL IsActive() const { return HASFLAG(m_Flags & State_Active); } TBOOL IsDying() const { return HASFLAG(m_Flags & State_Dying); } - TScheduler* GetScheduler(); + TScheduler *GetScheduler(); private: - TINT m_Flags; - TScheduler* m_pScheduler; // 0x20 + TINT m_Flags; + TScheduler *m_pScheduler; // 0x20 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TThread.h b/Toshi/Include/TKernel/TThread.h index b57d414..a01df44 100644 --- a/Toshi/Include/TKernel/TThread.h +++ b/Toshi/Include/TKernel/TThread.h @@ -1,13 +1,15 @@ #pragma once #include "TDebug.h" -#include TOSHI_MULTIPLATFORM(TThread) + +#ifdef TOSHI_SKU_WINDOWS +# include "Win/TThreadWin.h" +#endif // TOSHI_SKU_WINDOWS TOSHI_NAMESPACE_BEGIN class TKERNELINTERFACE_EXPORTS TMutexLock { public: - TMutexLock() { m_pMutex = TNULL; @@ -27,7 +29,7 @@ class TKERNELINTERFACE_EXPORTS TMutexLock void Destroy(); private: - TMutex* m_pMutex; // 0x0 + TMutex *m_pMutex; // 0x0 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TUser.h b/Toshi/Include/TKernel/TUser.h index d15b6f2..6b1df4d 100644 --- a/Toshi/Include/TKernel/TUser.h +++ b/Toshi/Include/TKernel/TUser.h @@ -9,21 +9,22 @@ TOSHI_NAMESPACE_BEGIN class TKERNELINTERFACE_EXPORTS TUser { friend class TUserHandler; + public: - TUser(TCHAR const* a_sName); + TUser(TCHAR const *a_sName); - TBOOL IsRegistered() { return m_iUserID != -1; } + TBOOL IsRegistered() { return m_iUserID != -1; } TSHORT Register(); - void Deregister(); + void Deregister(); - TSHORT GetUserID() { return m_iUserID; } - TSHORT GetNameLength() { return m_iNameLen; } - TCHAR const* GetName() { return m_sName; } + TSHORT GetUserID() { return m_iUserID; } + TSHORT GetNameLength() { return m_iNameLen; } + TCHAR const *GetName() { return m_sName; } private: - TCHAR const* m_sName; // 0x0 - TSHORT m_iNameLen; // 0x4 - TSHORT m_iUserID; // 0x6 + TCHAR const *m_sName; // 0x0 + TSHORT m_iNameLen; // 0x4 + TSHORT m_iUserID; // 0x6 }; class TKERNELINTERFACE_EXPORTS TUserHandler @@ -31,20 +32,21 @@ class TKERNELINTERFACE_EXPORTS TUserHandler protected: TUserHandler(); ~TUserHandler() = default; + public: TSHORT RegisterUser(TUser &a_rUser); - void DeregisterUser(TUser &a_rUser); - TUser* FindUser(TCHAR const* a_sName); + void DeregisterUser(TUser &a_rUser); + TUser *FindUser(TCHAR const *a_sName); - TINT GetUserCount() { return m_iUserCount; } - TUser* GetUser(TINT a_iUserID) { return m_pUsers[a_iUserID]; } - static TUserHandler& TOSHI_API GetSingleton(); + TINT GetUserCount() { return m_iUserCount; } + TUser *GetUser(TINT a_iUserID) { return m_pUsers[a_iUserID]; } + static TUserHandler &TOSHI_API GetSingleton(); private: static TUserHandler ms_oSingleton; - TINT m_iUserCount; // 0x0 - TUser* m_pUsers[MAX_USERS]; // 0x4 + TINT m_iUserCount; // 0x0 + TUser *m_pUsers[MAX_USERS]; // 0x4 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TVector2.h b/Toshi/Include/TKernel/TVector2.h index 25e9352..43f8930 100644 --- a/Toshi/Include/TKernel/TVector2.h +++ b/Toshi/Include/TKernel/TVector2.h @@ -7,10 +7,8 @@ TOSHI_NAMESPACE_BEGIN class TKERNELINTERFACE_EXPORTS TVector2 { public: - TVector2() { - } TVector2(TFLOAT a_fX, TFLOAT a_fY) @@ -50,9 +48,10 @@ class TKERNELINTERFACE_EXPORTS TVector2 static const TVector2 VEC_POSY; static const TVector2 VEC_NEGX; static const TVector2 VEC_NEGY; + private: TFLOAT m_fX; // 0x0 TFLOAT m_fY; // 0x4 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TVector3.h b/Toshi/Include/TKernel/TVector3.h index 1b74c3c..5920cb1 100644 --- a/Toshi/Include/TKernel/TVector3.h +++ b/Toshi/Include/TKernel/TVector3.h @@ -23,4 +23,4 @@ class TKERNELINTERFACE_EXPORTS TVector3 TFLOAT m_fZ; // 0x8 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TVector4.h b/Toshi/Include/TKernel/TVector4.h index 955324a..b35e53f 100644 --- a/Toshi/Include/TKernel/TVector4.h +++ b/Toshi/Include/TKernel/TVector4.h @@ -8,18 +8,16 @@ TOSHI_NAMESPACE_BEGIN class TKERNELINTERFACE_EXPORTS TVector4 { public: - - void Set(const TVector3& a_rVec3) + void Set(const TVector3 &a_rVec3) { - } - TFLOAT const& operator()(TUINT a_iIndex) const + TFLOAT const &operator()(TUINT a_iIndex) const { return (&m_fX)[a_iIndex]; } - TFLOAT& operator()(TUINT a_iIndex) + TFLOAT &operator()(TUINT a_iIndex) { return (&m_fX)[a_iIndex]; } @@ -31,4 +29,4 @@ class TKERNELINTERFACE_EXPORTS TVector4 TFLOAT m_fW; // 0xC }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/TWString.h b/Toshi/Include/TKernel/TWString.h index 00c5bd4..87311ba 100644 --- a/Toshi/Include/TKernel/TWString.h +++ b/Toshi/Include/TKernel/TWString.h @@ -11,7 +11,6 @@ TOSHI_NAMESPACE_BEGIN class TKERNELINTERFACE_EXPORTS TWString { public: - TWString() { Reset(); @@ -24,7 +23,7 @@ class TKERNELINTERFACE_EXPORTS TWString AllocBuffer(a_iLength); } - TWString(const TWString& a_rOther) + TWString(const TWString &a_rOther) { Reset(); Copy(a_rOther); @@ -47,16 +46,16 @@ class TKERNELINTERFACE_EXPORTS TWString FreeBuffer(); } - TWString& Concat(TWString const& a_rString, TINT a_iLength = -1); - TWString& Concat(TPCWCHAR a_String, TINT a_iLength = -1); - TINT Compare(TPCWCHAR a_pcString, int a_iLength = -1) const; + TWString &Concat(TWString const &a_rString, TINT a_iLength = -1); + TWString &Concat(TPCWCHAR a_String, TINT a_iLength = -1); + TINT Compare(TPCWCHAR a_pcString, int a_iLength = -1) const; - void Copy(const TWString& a_rOther, TINT a_iLength = -1); + void Copy(const TWString &a_rOther, TINT a_iLength = -1); void Copy(TPCWCHAR a_pcString, TINT a_iLength = -1); void Copy(TPCCHAR a_pcString, TINT a_iLength = -1); - TWString& TOSHI_CALLBACKAPI Format(TPCWCHAR a_pcFormat, ...); - TINT Find(TWCHAR a_cFind, TINT a_iIndex = 0) const; + TWString &TOSHI_CALLBACKAPI Format(TPCWCHAR a_pcFormat, ...); + TINT Find(TWCHAR a_cFind, TINT a_iIndex = 0) const; void Truncate(TINT a_iLength); @@ -75,7 +74,7 @@ class TKERNELINTERFACE_EXPORTS TWString return Compare(a_pcString) != 0; } - bool operator!=(const TWString& a_rOther) const + bool operator!=(const TWString &a_rOther) const { return Compare(a_rOther.m_pBuffer) != 0; } @@ -85,18 +84,18 @@ class TKERNELINTERFACE_EXPORTS TWString return Compare(a_pcString) == 0; } - bool operator==(const TWString& a_rOther) const + bool operator==(const TWString &a_rOther) const { return Compare(a_rOther.m_pBuffer) == 0; } - TWString& operator=(TPCWCHAR a_pcString) + TWString &operator=(TPCWCHAR a_pcString) { Copy(a_pcString); return *this; } - TWString& operator=(TWString& a_rOther) + TWString &operator=(TWString &a_rOther) { Copy(a_rOther); return *this; @@ -107,31 +106,31 @@ class TKERNELINTERFACE_EXPORTS TWString return m_pBuffer; } - TWString& operator+=(TPCWCHAR a_pcString) + TWString &operator+=(TPCWCHAR a_pcString) { Concat(a_pcString); return *this; } - TWString& operator+=(TWString const& a_rString) + TWString &operator+=(TWString const &a_rString) { Concat(a_rString); return *this; } - TWCHAR& operator[](TINT a_iIndex) const + TWCHAR &operator[](TINT a_iIndex) const { - TASSERT(a_iIndex <= (int) m_iStrLen); + TASSERT(a_iIndex <= (int)m_iStrLen); return m_pBuffer[a_iIndex]; } - TWCHAR& operator[](TINT a_iIndex) + TWCHAR &operator[](TINT a_iIndex) { TASSERT(a_iIndex <= (int)m_iStrLen); return m_pBuffer[a_iIndex]; } - const TWString& Print() const + const TWString &Print() const { TASSERT(GetString() != TNULL); TDPRINTF("%s", TSystem::StringUnicodeToChar(TSystem::GetTempCString(), GetString(), 0x400)); @@ -142,7 +141,6 @@ class TKERNELINTERFACE_EXPORTS TWString TINT Length() const { return m_iStrLen; } private: - TBOOL AllocBuffer(TINT a_iLength, TBOOL a_bClear = TTRUE); void FreeBuffer() @@ -156,18 +154,17 @@ class TKERNELINTERFACE_EXPORTS TWString void Reset() { - m_pBuffer = m_aNull; + m_pBuffer = m_aNull; m_iExcessLen = 0; - m_iStrLen = 0; + m_iStrLen = 0; } private: - inline static TWCHAR m_aNull[4] = { 0, 0, 0, 0 }; - TPWCHAR m_pBuffer; // 0x0 - TINT m_iExcessLen : 8 = 0; // 0x4 - TINT m_iStrLen : 24 = 0; // 0x5 + TPWCHAR m_pBuffer; // 0x0 + TINT m_iExcessLen : 8 = 0; // 0x4 + TINT m_iStrLen : 24 = 0; // 0x5 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/Win/TNativeFileWin.h b/Toshi/Include/TKernel/Win/TNativeFileWin.h index 9420400..c9b138a 100644 --- a/Toshi/Include/TKernel/Win/TNativeFileWin.h +++ b/Toshi/Include/TKernel/Win/TNativeFileWin.h @@ -10,10 +10,10 @@ class TKERNELINTERFACE_EXPORTS TNativeFileSystem : public TFileSystem public: TNativeFileSystem(TPCCHAR a_pcName); - virtual TFile* CreateFile(Toshi::TCString const& a_rFilename, TUINT a_uiMode) override; - virtual void DestroyFile(TFile* a_pFile) override; - virtual TBOOL RemoveFile(TCString const& a_rFilename) override; - virtual TCString MakeInternalPath(TCString const& a_rsPath) override; + virtual TFile *CreateFile(Toshi::TCString const &a_rFilename, TUINT a_uiMode) override; + virtual void DestroyFile(TFile *a_pFile) override; + virtual TBOOL RemoveFile(TCString const &a_rFilename) override; + virtual TCString MakeInternalPath(TCString const &a_rsPath) override; private: HANDLE m_hFileSystem; // 0x1C @@ -21,49 +21,48 @@ class TKERNELINTERFACE_EXPORTS TNativeFileSystem : public TFileSystem class TKERNELINTERFACE_EXPORTS TNativeFileManager : public TFileManager { - }; class TKERNELINTERFACE_EXPORTS TNativeFile : public TFile { friend class TNativeFileSystem; -public: - virtual TINT Read(TPVOID a_pBuffer, TINT a_iSize) override; - virtual TINT Write(void const* a_pBuffer, TINT a_iSize) override; - virtual TBOOL Seek(TINT a_iOffset, TSEEK a_eSeek) override; - virtual TINT Tell() override { return m_iPosition; } - virtual TINT GetSize() override; +public: + virtual TINT Read(TPVOID a_pBuffer, TINT a_iSize) override; + virtual TINT Write(void const *a_pBuffer, TINT a_iSize) override; + virtual TBOOL Seek(TINT a_iOffset, TSEEK a_eSeek) override; + virtual TINT Tell() override { return m_iPosition; } + virtual TINT GetSize() override; virtual TUINT64 GetDate() override; - virtual TINT GetCChar() override; - virtual TINT GetWChar() override; - virtual TINT PutCChar(TCHAR a_cChar) override; - virtual TINT PutWChar(TWCHAR a_wcChar) override; - virtual TINT VCPrintf(TCHAR const* a_pFormat, va_list a_args) override; - virtual TINT VWPrintf(TWCHAR const* a_pFormat, va_list a_args) override; + virtual TINT GetCChar() override; + virtual TINT GetWChar() override; + virtual TINT PutCChar(TCHAR a_cChar) override; + virtual TINT PutWChar(TWCHAR a_wcChar) override; + virtual TINT VCPrintf(TCHAR const *a_pFormat, va_list a_args) override; + virtual TINT VWPrintf(TWCHAR const *a_pFormat, va_list a_args) override; protected: TNativeFile(TNativeFileSystem *a_pFileManager); virtual ~TNativeFile() = default; TBOOL Open(const TCString &a_rFileName, TUINT a_uiMode); - void Close(); + void Close(); private: - TINT ReadUnbuffered(TPVOID a_pBuffer, TINT a_iSize); + TINT ReadUnbuffered(TPVOID a_pBuffer, TINT a_iSize); TBOOL LoadBuffer(TINT a_iBufferPos); - TINT FlushWriteBuffer(); + TINT FlushWriteBuffer(); private: - HANDLE m_hFile; // 0x8 - TINT m_iPosition; // 0xC - TINT m_iBufferPosition; // 0x10 - TINT m_iPrevBufferPos; // 0x14 - TINT m_iLastBufferSize; // 0x18 - TPVOID m_pBuffer; // 0x1C - TPVOID m_pWriteBuffer; // 0x20 - TINT m_iWriteBufferUsed; // 0x24 - TBOOL m_bWriteBuffered; // 0x28 + HANDLE m_hFile; // 0x8 + TINT m_iPosition; // 0xC + TINT m_iBufferPosition; // 0x10 + TINT m_iPrevBufferPos; // 0x14 + TINT m_iLastBufferSize; // 0x18 + TPVOID m_pBuffer; // 0x1C + TPVOID m_pWriteBuffer; // 0x20 + TINT m_iWriteBufferUsed; // 0x24 + TBOOL m_bWriteBuffered; // 0x28 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TKernel/Win/TThreadWin.h b/Toshi/Include/TKernel/Win/TThreadWin.h index 258dbb4..ed2a351 100644 --- a/Toshi/Include/TKernel/Win/TThreadWin.h +++ b/Toshi/Include/TKernel/Win/TThreadWin.h @@ -26,13 +26,14 @@ class TKERNELINTERFACE_EXPORTS TMutex TBOOL Lock(TUINT a_uiFlags); TBOOL Unlock(); - TMutex& operator=(const TMutex& a_rOther) + TMutex &operator=(const TMutex &a_rOther) { m_hMutexHnd = a_rOther.m_hMutexHnd; return *this; } + private: HANDLE m_hMutexHnd; }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TRender/Defines.h b/Toshi/Include/TRender/Defines.h index 32debc2..fd2a862 100644 --- a/Toshi/Include/TRender/Defines.h +++ b/Toshi/Include/TRender/Defines.h @@ -3,14 +3,14 @@ #ifndef TRENDERINTERFACE_STATIC_LINKING -#ifdef TRENDERINTERFACE -#define TRENDERINTERFACE_EXPORTS DLL_CLASS_EXPORT -#else -#define TRENDERINTERFACE_EXPORTS DLL_CLASS_IMPORT -#endif +# ifdef TRENDERINTERFACE +# define TRENDERINTERFACE_EXPORTS DLL_CLASS_EXPORT +# else +# define TRENDERINTERFACE_EXPORTS DLL_CLASS_IMPORT +# endif -#else // !TRENDERINTERFACE_STATIC_LINKING +#else // !TRENDERINTERFACE_STATIC_LINKING -#define TRENDERINTERFACE_EXPORTS +# define TRENDERINTERFACE_EXPORTS -#endif // TRENDERINTERFACE_STATIC_LINKING \ No newline at end of file +#endif // TRENDERINTERFACE_STATIC_LINKING diff --git a/Toshi/Include/TRender/TDBase.h b/Toshi/Include/TRender/TDBase.h index 8750b7a..d1ac2de 100644 --- a/Toshi/Include/TRender/TDBase.h +++ b/Toshi/Include/TRender/TDBase.h @@ -6,11 +6,10 @@ TOSHI_NAMESPACE_BEGIN class TRENDERINTERFACE_EXPORTS TDBase { public: - class TRENDERINTERFACE_EXPORTS TKeyFrame { public: - void Get(TFLOAT& a_rTime); + void Get(TFLOAT &a_rTime); }; TFLOAT GetTransDeviation() { return s_fDeltaTransDeviation; } @@ -20,7 +19,7 @@ class TRENDERINTERFACE_EXPORTS TDBase TFLOAT SetTransEpsilon(TFLOAT a_fDeltaTransEpsilon) { s_fDeltaTransEpsilon = a_fDeltaTransEpsilon; } static inline TFLOAT s_fDeltaTransDeviation = 0.05f; - static inline TFLOAT s_fDeltaTransEpsilon = 0.05f / 5.0f; + static inline TFLOAT s_fDeltaTransEpsilon = 0.05f / 5.0f; }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TRender/TMaterialLibrary.h b/Toshi/Include/TRender/TMaterialLibrary.h index 3dc05dd..1a69d12 100644 --- a/Toshi/Include/TRender/TMaterialLibrary.h +++ b/Toshi/Include/TRender/TMaterialLibrary.h @@ -8,10 +8,11 @@ TOSHI_NAMESPACE_BEGIN class TRENDERINTERFACE_EXPORTS TMaterialLibrary : public TNodeList::TNode { friend class TMaterialLibraryManager; + protected: - TMaterial* GetMaterial(TPCCHAR a_szMaterial); -private: + TMaterial *GetMaterial(TPCCHAR a_szMaterial); +private: }; class TRENDERINTERFACE_EXPORTS TMaterialLibraryManager @@ -22,16 +23,16 @@ class TRENDERINTERFACE_EXPORTS TMaterialLibraryManager // $TRenderInterface: FUNCTION 100110a0 void Destroy(); // $TRenderInterface: FUNCTION 1000b0d0 - TMaterial* GetInvalidMaterial() + TMaterial *GetInvalidMaterial() { return m_pInvalidMaterial; } // $TRenderInterface: FUNCTION 10011290 - TMaterial* GetMaterial(TPCCHAR a_szMaterial); + TMaterial *GetMaterial(TPCCHAR a_szMaterial); private: - TNodeList m_oLibraries; // 0x0 - TMaterial* m_pInvalidMaterial; // 0x10 + TNodeList m_oLibraries; // 0x0 + TMaterial *m_pInvalidMaterial; // 0x10 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TRender/TModel.h b/Toshi/Include/TRender/TModel.h index 1386fc1..cc5c2f3 100644 --- a/Toshi/Include/TRender/TModel.h +++ b/Toshi/Include/TRender/TModel.h @@ -6,28 +6,26 @@ TOSHI_NAMESPACE_BEGIN class TRENDERINTERFACE_EXPORTS TModelLOD { - }; class TRENDERINTERFACE_EXPORTS TModel { - #define MAX_NUM_LODS 5 +#define MAX_NUM_LODS 5 enum Flags { - Flags_None = 0, + Flags_None = 0, Flags_Created = BITFIELD(0), - Flags_Loaded = BITFIELD(1), + Flags_Loaded = BITFIELD(1), }; public: - TUINT GetFlags() { return m_uiFlags; } - TModelLOD& GetLOD(TINT a_iLODLevel) + TModelLOD &GetLOD(TINT a_iLODLevel) { TASSERT(a_iLODLevel < m_iLODCount); return m_LODs[a_iLODLevel]; @@ -39,10 +37,10 @@ class TRENDERINTERFACE_EXPORTS TModel } private: - TUINT m_uiFlags; // 0x4 - TINT m_iInstanceCount; // 0x8 - TINT m_iLODCount; // 0xC + TUINT m_uiFlags; // 0x4 + TINT m_iInstanceCount; // 0x8 + TINT m_iLODCount; // 0xC TModelLOD m_LODs[MAX_NUM_LODS]; }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TRender/TNullResource.h b/Toshi/Include/TRender/TNullResource.h index 9999437..d0dc6c3 100644 --- a/Toshi/Include/TRender/TNullResource.h +++ b/Toshi/Include/TRender/TNullResource.h @@ -10,4 +10,4 @@ class TRENDERINTERFACE_EXPORTS TNullResource : public TResource DECLARE_DYNAMIC(TNullResource) }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TRender/TRenderAdapter.h b/Toshi/Include/TRender/TRenderAdapter.h index bc67297..c8fad36 100644 --- a/Toshi/Include/TRender/TRenderAdapter.h +++ b/Toshi/Include/TRender/TRenderAdapter.h @@ -16,16 +16,16 @@ class TRENDERINTERFACE_EXPORTS TRenderAdapter : public TNodeList class TRENDERINTERFACE_EXPORTS Device : public TNodeList::TNode { public: - Device() = default; + Device() = default; virtual ~Device() = default; - virtual Mode* GetMode() const = 0; - virtual TUINT GetDeviceIndex() const = 0; - virtual TPCCHAR GetTypeString() const = 0; - virtual TBOOL IsSoftware() const = 0; - virtual TBOOL CanRenderWindowed() const = 0; - virtual TBOOL SupportsHardwareTransfomations() const = 0; - virtual TBOOL IsDepthStencilFormatSupported(TUINT a_iIndex) const = 0; + virtual Mode *GetMode() const = 0; + virtual TUINT GetDeviceIndex() const = 0; + virtual TPCCHAR GetTypeString() const = 0; + virtual TBOOL IsSoftware() const = 0; + virtual TBOOL CanRenderWindowed() const = 0; + virtual TBOOL SupportsHardwareTransfomations() const = 0; + virtual TBOOL IsDepthStencilFormatSupported(TUINT a_iIndex) const = 0; }; public: @@ -33,35 +33,35 @@ class TRENDERINTERFACE_EXPORTS TRenderAdapter : public TNodeList virtual ~Mode() = default; - virtual TRenderAdapter* GetAdapter() const = 0; - virtual TUINT GetModeIndex() const = 0; - virtual TUINT GetWidth() const = 0; - virtual TUINT GetHeight() const = 0; - virtual TBOOL Is32Bit() const = 0; - virtual TBOOL Is16Bit() const = 0; - virtual TUINT GetRefreshRate() const = 0; - virtual TRenderAdapter::Mode::Device* GetDevice(TUINT a_iDevice) = 0; + virtual TRenderAdapter *GetAdapter() const = 0; + virtual TUINT GetModeIndex() const = 0; + virtual TUINT GetWidth() const = 0; + virtual TUINT GetHeight() const = 0; + virtual TBOOL Is32Bit() const = 0; + virtual TBOOL Is16Bit() const = 0; + virtual TUINT GetRefreshRate() const = 0; + virtual TRenderAdapter::Mode::Device *GetDevice(TUINT a_iDevice) = 0; }; public: - TRenderAdapter() = default; + TRenderAdapter() = default; virtual ~TRenderAdapter() = default; // TODO: complete vftable - virtual TUINT GetAdapterIndex() const = 0; - virtual const TCString& GetDriver() const = 0; - virtual const TCString& GetDriverDescription() const = 0; - virtual TUSHORT GetProductID() const = 0; - virtual TUSHORT GetVersion() const = 0; - virtual TUSHORT GetSubVersion() const = 0; - virtual TUSHORT GetBuild() const = 0; - virtual const GUID& GetDeviceIdentifier() const = 0; - virtual TUINT GetNumSupportedDevices() const = 0; + virtual TUINT GetAdapterIndex() const = 0; + virtual const TCString &GetDriver() const = 0; + virtual const TCString &GetDriverDescription() const = 0; + virtual TUSHORT GetProductID() const = 0; + virtual TUSHORT GetVersion() const = 0; + virtual TUSHORT GetSubVersion() const = 0; + virtual TUSHORT GetBuild() const = 0; + virtual const GUID &GetDeviceIdentifier() const = 0; + virtual TUINT GetNumSupportedDevices() const = 0; - TNodeList* GetModeList() { return &m_Modes; } + TNodeList *GetModeList() { return &m_Modes; } private: TNodeList m_Modes; // 0x10 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TRender/TRenderCapture.h b/Toshi/Include/TRender/TRenderCapture.h index 6eb16bc..4274374 100644 --- a/Toshi/Include/TRender/TRenderCapture.h +++ b/Toshi/Include/TRender/TRenderCapture.h @@ -7,7 +7,6 @@ TOSHI_NAMESPACE_BEGIN class TRENDERINTERFACE_EXPORTS TRenderCapture { public: - enum FORMAT { FORMAT_RGBA32, @@ -16,14 +15,14 @@ class TRENDERINTERFACE_EXPORTS TRenderCapture TRenderCapture() = default; - virtual ~TRenderCapture() = default; - virtual TBOOL Create(FORMAT a_eFormat, TINT a_iWidth, TINT a_iHeight) = 0; - virtual void Destroy() = 0; - virtual TBOOL Request() = 0; - virtual TBOOL Wait() = 0; - virtual TBOOL Poll() = 0; - virtual TPVOID ObtainBuffer() = 0; - virtual void ReleaseBuffer() = 0; + virtual ~TRenderCapture() = default; + virtual TBOOL Create(FORMAT a_eFormat, TINT a_iWidth, TINT a_iHeight) = 0; + virtual void Destroy() = 0; + virtual TBOOL Request() = 0; + virtual TBOOL Wait() = 0; + virtual TBOOL Poll() = 0; + virtual TPVOID ObtainBuffer() = 0; + virtual void ReleaseBuffer() = 0; }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TRender/TRenderContext.h b/Toshi/Include/TRender/TRenderContext.h index f824179..6f80064 100644 --- a/Toshi/Include/TRender/TRenderContext.h +++ b/Toshi/Include/TRender/TRenderContext.h @@ -10,7 +10,7 @@ class TRenderInterface; class TRENDERINTERFACE_EXPORTS TRenderContext { private: - TRenderInterface* m_pRenderInterface; // 0x4 + TRenderInterface *m_pRenderInterface; // 0x4 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TRender/TRenderInterface.h b/Toshi/Include/TRender/TRenderInterface.h index 3b239cf..6d377e6 100644 --- a/Toshi/Include/TRender/TRenderInterface.h +++ b/Toshi/Include/TRender/TRenderInterface.h @@ -2,7 +2,7 @@ #include "TKernel/TObject.h" #include "TKernel/TKernelInterface.h" -#include "TRenderContext.h" +#include "TRenderContext.h" #include "TResource.h" #include "TRenderAdapter.h" #include "TTextureFactory.h" @@ -19,19 +19,18 @@ class TRENDERINTERFACE_EXPORTS TRenderInterface : public TObject DECLARE_DYNAMIC(TRenderInterface) public: - enum FLAG { - FLAG_DIRTY = BITFIELD(0), - FLAG_FOG = BITFIELD(1), - FLAG_HAS_MODELWORLDMATRIX = BITFIELD(2), - FLAG_HAS_VIEWWORLDMATRIX = BITFIELD(3), - FLAG_UNK3 = BITFIELD(4), - FLAG_UNK4 = BITFIELD(5), - FLAG_HAS_WORLDPLANES = BITFIELD(6), - FLAG_UNK6 = BITFIELD(7), + FLAG_DIRTY = BITFIELD(0), + FLAG_FOG = BITFIELD(1), + FLAG_HAS_MODELWORLDMATRIX = BITFIELD(2), + FLAG_HAS_VIEWWORLDMATRIX = BITFIELD(3), + FLAG_UNK3 = BITFIELD(4), + FLAG_UNK4 = BITFIELD(5), + FLAG_HAS_WORLDPLANES = BITFIELD(6), + FLAG_UNK6 = BITFIELD(7), FLAG_DIRTY_WORLDMODELMATRIX = BITFIELD(8), - FLAG_DIRTY_VIEWMODELMATRIX = BITFIELD(9), + FLAG_DIRTY_VIEWMODELMATRIX = BITFIELD(9), }; enum SYSRESOURCES @@ -64,94 +63,92 @@ class TRENDERINTERFACE_EXPORTS TRenderInterface : public TObject TUINT32 uiHeight; TUINT32 uiColourDepth; TUINT32 eDepthStencilFormat; - TBOOL bWindowed; + TBOOL bWindowed; }; public: - TRenderInterface(); public: - virtual TBOOL CreateDisplay(const DisplayParams& a_rParams) = 0; - virtual TBOOL DestroyDisplay() = 0; - virtual TBOOL Update(float a_fDeltaTime) = 0; - virtual TBOOL BeginScene() = 0; - virtual TBOOL EndScene() = 0; - virtual TRenderAdapter::Mode::Device* GetCurrentDevice() = 0; - virtual DisplayParams* GetCurrentDisplayParams() = 0; - virtual TBOOL Create(TKernelInterface* pKernelInterface); - virtual TBOOL Destroy(); - virtual void RenderIndexPrimitive(int param_2, int param_3, int param_4, int param_5, int param_6, int param_7); - virtual void DumpStats(); - virtual void GetScreenOffset(TVector2& a_rVec); - virtual void SetScreenOffset(const TVector2& a_rVec); - virtual float GetScreenAspectRatio(); - virtual float GetPixelAspectRatio(); - virtual TBOOL SetPixelAspectRatio(float a_fPixelAspectRatio); - virtual TBOOL IsTextureFormatSupported(TTEXTURERESOURCEFORMAT a_eTextureFormat) { return TTRUE; } - virtual TBOOL Supports32BitTextures() { return TFALSE; } - virtual TRenderContext* CreateRenderContext() = 0; - virtual TRenderCapture* CreateCapture() = 0; - virtual void DestroyCapture(TRenderCapture* a_pRenderCapture) = 0; - virtual void SetLightDirectionMatrix(const TMatrix44& a_rMatrix); - virtual void SetLightColourMatrix(const TMatrix44& a_rMatrix); - virtual void ConnectDefaultViewportHandelrs(TViewport& a_pViewport); - virtual TModel* CreateModel(TPCCHAR a_szName, TINT a_iUnk1); - virtual TBOOL CreateSystemResources(); - virtual void DestroySystemResources(); + virtual TBOOL CreateDisplay(const DisplayParams &a_rParams) = 0; + virtual TBOOL DestroyDisplay() = 0; + virtual TBOOL Update(float a_fDeltaTime) = 0; + virtual TBOOL BeginScene() = 0; + virtual TBOOL EndScene() = 0; + virtual TRenderAdapter::Mode::Device *GetCurrentDevice() = 0; + virtual DisplayParams *GetCurrentDisplayParams() = 0; + virtual TBOOL Create(TKernelInterface *pKernelInterface); + virtual TBOOL Destroy(); + virtual void RenderIndexPrimitive(int param_2, int param_3, int param_4, int param_5, int param_6, int param_7); + virtual void DumpStats(); + virtual void GetScreenOffset(TVector2 &a_rVec); + virtual void SetScreenOffset(const TVector2 &a_rVec); + virtual float GetScreenAspectRatio(); + virtual float GetPixelAspectRatio(); + virtual TBOOL SetPixelAspectRatio(float a_fPixelAspectRatio); + virtual TBOOL IsTextureFormatSupported(TTEXTURERESOURCEFORMAT a_eTextureFormat) { return TTRUE; } + virtual TBOOL Supports32BitTextures() { return TFALSE; } + virtual TRenderContext *CreateRenderContext() = 0; + virtual TRenderCapture *CreateCapture() = 0; + virtual void DestroyCapture(TRenderCapture *a_pRenderCapture) = 0; + virtual void SetLightDirectionMatrix(const TMatrix44 &a_rMatrix); + virtual void SetLightColourMatrix(const TMatrix44 &a_rMatrix); + virtual void ConnectDefaultViewportHandelrs(TViewport &a_pViewport); + virtual TModel *CreateModel(TPCCHAR a_szName, TINT a_iUnk1); + virtual TBOOL CreateSystemResources(); + virtual void DestroySystemResources(); public: - TResource* CreateResource(const TClass* a_pClass, TPCCHAR a_szResName, TResource* a_pResource); + TResource *CreateResource(const TClass *a_pClass, TPCCHAR a_szResName, TResource *a_pResource); - const TRenderAdapter::Mode::Device* FindDevice(const DisplayParams* a_pDisplayParams); + const TRenderAdapter::Mode::Device *FindDevice(const DisplayParams *a_pDisplayParams); void FlushDyingResources(); - TResource* GetSystemResource(SYSRESOURCES a_SystemResource) + TResource *GetSystemResource(SYSRESOURCES a_SystemResource) { TASSERT(a_SystemResource < TRenderInterface::SYSRESOURCES_NUMOF); - TASSERT(m_aSysResources[a_SystemResource]!=TNULL); + TASSERT(m_aSysResources[a_SystemResource] != TNULL); return m_aSysResources[a_SystemResource]; } - TRenderContext* SetCurrentRenderContext(TRenderContext* a_pRenderContext) + TRenderContext *SetCurrentRenderContext(TRenderContext *a_pRenderContext) { - TRenderContext* pLastRenderContext = m_pCurrentRenderContext; - m_pCurrentRenderContext = a_pRenderContext; + TRenderContext *pLastRenderContext = m_pCurrentRenderContext; + m_pCurrentRenderContext = a_pRenderContext; return pLastRenderContext; } TBOOL IsCreated() { return m_bIsCreated; } TBOOL IsDisplayCreated() { return m_bIsDiplayCreated; } // $TRenderInterface: FUNCTION 1000f230 - TBOOL IsInScene() { return m_bInScene; } - TNodeList* GetAdapterList() { return &m_pAdapterList; }; + TBOOL IsInScene() { return m_bInScene; } + TNodeList *GetAdapterList() { return &m_pAdapterList; }; - static TRenderInterface* TOSHI_API GetRenderer() { return s_Interface; } + static TRenderInterface *TOSHI_API GetRenderer() { return s_Interface; } private: + void DestroyDyingResources(TResource *a_pResource); + void DeleteResource(TResource *a_pResource); + void DeleteResourceRecurse(TResource *a_pResource); + void DeleteResourceAtomic(TResource *a_pResource); - void DestroyDyingResources(TResource* a_pResource); - void DeleteResource(TResource* a_pResource); - void DeleteResourceRecurse(TResource* a_pResource); - void DeleteResourceAtomic(TResource* a_pResource); + static TRenderInterface *s_Interface; - static TRenderInterface* s_Interface; protected: - - TBOOL m_bInScene; // 0x8 - TBOOL m_bIsCreated; // 0x9 - TBOOL m_bIsDiplayCreated; // 0xA - TRenderContext* m_pCurrentRenderContext; // 0x1C - TRenderContext* m_pDefaultRenderContext; // 0x20 - TKernelInterface* m_pKernel; // 0x24 - TResource* m_aSysResources[SYSRESOURCES_NUMOF]; // 0x28 - TNodeList m_pAdapterList; // 0xFC - TINT m_iResourceCount; // 0x124 - TNodeTree m_Resources; // 0x128??? - TINT m_iSceneCount; // 0x128 - TBOOL m_bHasDyingResources; // 0x12C + TBOOL m_bInScene; // 0x8 + TBOOL m_bIsCreated; // 0x9 + TBOOL m_bIsDiplayCreated; // 0xA + TRenderContext *m_pCurrentRenderContext; // 0x1C + TRenderContext *m_pDefaultRenderContext; // 0x20 + TKernelInterface *m_pKernel; // 0x24 + TResource *m_aSysResources[SYSRESOURCES_NUMOF]; // 0x28 + TNodeList m_pAdapterList; // 0xFC + TINT m_iResourceCount; // 0x124 + TNodeTree m_Resources; // 0x128??? + TINT m_iSceneCount; // 0x128 + TBOOL m_bHasDyingResources; // 0x12C }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TRender/TResource.h b/Toshi/Include/TRender/TResource.h index a791198..cbfbc33 100644 --- a/Toshi/Include/TRender/TResource.h +++ b/Toshi/Include/TRender/TResource.h @@ -9,38 +9,39 @@ TOSHI_NAMESPACE_BEGIN class TRenderInterface; -class TRENDERINTERFACE_EXPORTS TResource : public TObject, public TNodeTree::TNode +class TRENDERINTERFACE_EXPORTS TResource + : public TObject + , public TNodeTree::TNode { DECLARE_DYNAMIC(TResource) public: - using t_RecurseCb = TBOOL(*)(TResource* a_pResource, void* a_pUserData); + using t_RecurseCb = TBOOL (*)(TResource *a_pResource, void *a_pUserData); enum FLAGS { - FLAGS_VALID = BITFIELD(0), - FLAGS_CREATED = BITFIELD(1), - FLAGS_DYING = BITFIELD(2), - FLAGS_EXTERNAL = BITFIELD(3), - FLAGS_DEAD = BITFIELD(4), + FLAGS_VALID = BITFIELD(0), + FLAGS_CREATED = BITFIELD(1), + FLAGS_DYING = BITFIELD(2), + FLAGS_EXTERNAL = BITFIELD(3), + FLAGS_DEAD = BITFIELD(4), FLAGS_SCENEOBJECT = BITFIELD(5), }; public: - TResource(); - + virtual ~TResource(); virtual TBOOL Create(); virtual TBOOL Validate(); - virtual void Invalidate(); - virtual void DestroyResource(); - virtual void OnDestroy(); + virtual void Invalidate(); + virtual void DestroyResource(); + virtual void OnDestroy(); void SetParent(TResource *a_pParent); void SetName(TPCCHAR a_strName); - void RecurseSimple(t_RecurseCb a_pfnCallback, TResource* a_pResource, TPVOID a_pUserData); + void RecurseSimple(t_RecurseCb a_pfnCallback, TResource *a_pResource, TPVOID a_pUserData); TBOOL IsCreated() const { return m_Flags & FLAGS_CREATED; } TBOOL IsDying() const { return m_Flags & FLAGS_DYING; } @@ -48,15 +49,15 @@ class TRENDERINTERFACE_EXPORTS TResource : public TObject, public TNodeTree::TNode { public: - NameEntry(TPCCHAR a_szName, TTextureResource* a_pTexture) + NameEntry(TPCCHAR a_szName, TTextureResource *a_pTexture) { m_pTexture = a_pTexture; @@ -43,43 +43,39 @@ class TRENDERINTERFACE_EXPORTS TTextureFactory : public TResource } ~NameEntry() { - TASSERT(IsLinked()==TFALSE); + TASSERT(IsLinked() == TFALSE); } - TPCCHAR GetName() const { return m_szName; } - TTextureResource* GetTexture() { return m_pTexture; } + TPCCHAR GetName() const { return m_szName; } + TTextureResource *GetTexture() { return m_pTexture; } private: - static constexpr TUINT32 MAX_TEXTURENAMELEN = 50; - TCHAR m_szName[MAX_TEXTURENAMELEN]; - TTextureResource* m_pTexture; + TCHAR m_szName[MAX_TEXTURENAMELEN]; + TTextureResource *m_pTexture; }; public: + virtual TTextureResource *CreateTextureFromFile(TPCCHAR a_szFileName, TUINT a_eTextureFlags) = 0; + virtual TTextureResource *CreateTextureFromMemory(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels) = 0; + virtual TTextureResource *CreateEx(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels, TTEXTURERESOURCEFORMAT a_eFormat, TUINT a_uiFormatBits) = 0; - virtual TTextureResource* CreateTextureFromFile(TPCCHAR a_szFileName, TUINT a_eTextureFlags) = 0; - virtual TTextureResource* CreateTextureFromMemory(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels) = 0; - virtual TTextureResource* CreateEx(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels, TTEXTURERESOURCEFORMAT a_eFormat, TUINT a_uiFormatBits) = 0; - - static TTextureFactory* TOSHI_API CreateHAL(TRenderInterface* a_pRenderer, TPCCHAR a_szName, TResource* a_pResource); + static TTextureFactory *TOSHI_API CreateHAL(TRenderInterface *a_pRenderer, TPCCHAR a_szName, TResource *a_pResource); - TTextureResource* FindTexture(TPCCHAR a_szName); + TTextureResource *FindTexture(TPCCHAR a_szName); - void DeregisterTexture(TTextureResource* a_pTexture); + void DeregisterTexture(TTextureResource *a_pTexture); protected: - TUINT HashName(TPCCHAR a_szName); - TTextureFactory::NameEntry* RegisterTexture(TPCCHAR a_szName, TTextureResource* a_pResource); + TTextureFactory::NameEntry *RegisterTexture(TPCCHAR a_szName, TTextureResource *a_pResource); private: - static constexpr TUINT32 NUM_LISTS = 1024; TNodeList m_aLists[NUM_LISTS]; }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TRender/TTextureResource.h b/Toshi/Include/TRender/TTextureResource.h index 4b53e34..175b4d6 100644 --- a/Toshi/Include/TRender/TTextureResource.h +++ b/Toshi/Include/TRender/TTextureResource.h @@ -14,7 +14,6 @@ class TRENDERINTERFACE_EXPORTS TTextureResource : public TResource friend class TTextureFactoryHAL; public: - enum ADDRESSMODE { ADDRESSMODE_UNKNOWN, @@ -24,7 +23,7 @@ class TRENDERINTERFACE_EXPORTS TTextureResource : public TResource struct LOCKSTATE { - TINT Pitch; + TINT Pitch; TPVOID pBits; }; @@ -32,21 +31,20 @@ class TRENDERINTERFACE_EXPORTS TTextureResource : public TResource virtual ~TTextureResource(); - virtual TUINT GetWidth() = 0; + virtual TUINT GetWidth() = 0; virtual TUINT GetHeight() = 0; - virtual TBOOL Lock(LOCKSTATE& a_rLockState); - virtual void Unlock(); + virtual TBOOL Lock(LOCKSTATE &a_rLockState); + virtual void Unlock(); virtual TBOOL Create(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_eTextureFlags, TUINT a_uiWidth, TUINT a_uiHeight) = 0; - virtual TBOOL Create(TPCCHAR a_szFileName, TUINT a_eTextureFlags) = 0; + virtual TBOOL Create(TPCCHAR a_szFileName, TUINT a_eTextureFlags) = 0; virtual TBOOL CreateEx(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels, TTEXTURERESOURCEFORMAT a_eFormat, TUINT a_uiMipmapFlags); - static TTextureResource* TOSHI_API CreateHAL(TRenderInterface* a_pRenderer, TPCCHAR a_szName, TResource* a_pResource); + static TTextureResource *TOSHI_API CreateHAL(TRenderInterface *a_pRenderer, TPCCHAR a_szName, TResource *a_pResource); public: + TTextureFactory::NameEntry *GetNameEntry() { return m_pNameEntry; } + TUINT GetCreateFlags() { return m_CreateFlags; } - TTextureFactory::NameEntry* GetNameEntry() { return m_pNameEntry; } - TUINT GetCreateFlags() { return m_CreateFlags; } - ADDRESSMODE GetAddressMode() { return m_eAddressMode; @@ -59,9 +57,9 @@ class TRENDERINTERFACE_EXPORTS TTextureResource : public TResource } private: - ADDRESSMODE m_eAddressMode; // 0x30 - TUINT m_CreateFlags; // 0x34 - TTextureFactory::NameEntry* m_pNameEntry; // 0x38 + ADDRESSMODE m_eAddressMode; // 0x30 + TUINT m_CreateFlags; // 0x34 + TTextureFactory::NameEntry *m_pNameEntry; // 0x38 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TRender/TVertexFactoryResourceInterface.h b/Toshi/Include/TRender/TVertexFactoryResourceInterface.h index e18d730..4fad367 100644 --- a/Toshi/Include/TRender/TVertexFactoryResourceInterface.h +++ b/Toshi/Include/TRender/TVertexFactoryResourceInterface.h @@ -5,9 +5,9 @@ TOSHI_NAMESPACE_BEGIN struct TRENDERINTERFACE_EXPORTS TVertexStreamFormat { - TUSHORT m_uiUnk = 0; + TUSHORT m_uiUnk = 0; TUSHORT m_uiVertexSize = 0; - TUINT m_Unk = 0; + TUINT m_Unk = 0; }; class TRENDERINTERFACE_EXPORTS TVertexFactoryFormat @@ -15,7 +15,7 @@ class TRENDERINTERFACE_EXPORTS TVertexFactoryFormat public: static constexpr TUINT MAX_NUM_STREAMS = 8; - TUINT m_uiNumStreams = 0; + TUINT m_uiNumStreams = 0; TVertexStreamFormat m_aStreamFormats[MAX_NUM_STREAMS]; TUINT GetNumStreams() const { return m_uiNumStreams; } @@ -28,21 +28,22 @@ class TRENDERINTERFACE_EXPORTS TVertexFactoryResourceInterface : public TResourc DECLARE_DYNAMIC(TVertexFactoryResourceInterface) friend TVertexPoolResourceInterface; + public: TVertexFactoryResourceInterface(); - virtual TBOOL Create(TVertexFactoryFormat* a_pVertexFormat, TUSHORT a_uiMaxStaticVertices, TUINT a_uiFlags); - virtual TVertexPoolResourceInterface* CreatePool(TUSHORT a_usMaxStaticVertices, TUINT a_uiFlags); + virtual TBOOL Create(TVertexFactoryFormat *a_pVertexFormat, TUSHORT a_uiMaxStaticVertices, TUINT a_uiFlags); + virtual TVertexPoolResourceInterface *CreatePool(TUSHORT a_usMaxStaticVertices, TUINT a_uiFlags); - TVertexFactoryFormat* GetVertexFormat() { return &m_oVertexFormat; } - TUSHORT GetMaxStaticVertices() { return m_usMaxStaticVertices; } - TUINT GetFlags() { return m_uiFlags; } + TVertexFactoryFormat *GetVertexFormat() { return &m_oVertexFormat; } + TUSHORT GetMaxStaticVertices() { return m_usMaxStaticVertices; } + TUINT GetFlags() { return m_uiFlags; } private: - TUINT m_uiNumCreatedVertexPools; // 0x30 - TVertexFactoryFormat m_oVertexFormat; // 0x34 - TUINT m_usMaxStaticVertices; // 0x78 - TUINT m_uiFlags; // 0x7C + TUINT m_uiNumCreatedVertexPools; // 0x30 + TVertexFactoryFormat m_oVertexFormat; // 0x34 + TUINT m_usMaxStaticVertices; // 0x78 + TUINT m_uiFlags; // 0x7C }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TRender/TVertexPoolResourceInterface.h b/Toshi/Include/TRender/TVertexPoolResourceInterface.h index 180d326..3a8f9bb 100644 --- a/Toshi/Include/TRender/TVertexPoolResourceInterface.h +++ b/Toshi/Include/TRender/TVertexPoolResourceInterface.h @@ -8,39 +8,37 @@ class TRENDERINTERFACE_EXPORTS TVertexPoolResourceInterface : public TResource DECLARE_DYNAMIC(TVertexPoolResourceInterface) public: - class TRENDERINTERFACE_EXPORTS LockBuffer { LockBuffer(); - TUINT uiNumStreams; - TUINT32 uiOffset; - unsigned char* apStreams[TVertexFactoryFormat::MAX_NUM_STREAMS]; + TUINT uiNumStreams; + TUINT32 uiOffset; + unsigned char *apStreams[TVertexFactoryFormat::MAX_NUM_STREAMS]; }; TVertexPoolResourceInterface(); protected: - virtual void OnDestroy() override; - virtual TBOOL Lock(LockBuffer* a_pLockBuffer) = 0; - virtual void Unlock(TUSHORT a_uiNewNumVertices) = 0; - virtual TBOOL Create(TVertexFactoryResourceInterface* a_pFactory, TUINT a_uiMaxVertices, TUINT a_uiFlags); - -public: + virtual void OnDestroy() override; + virtual TBOOL Lock(LockBuffer *a_pLockBuffer) = 0; + virtual void Unlock(TUSHORT a_uiNewNumVertices) = 0; + virtual TBOOL Create(TVertexFactoryResourceInterface *a_pFactory, TUINT a_uiMaxVertices, TUINT a_uiFlags); - TVertexFactoryResourceInterface* GetFactory() { return m_pFactory; } - TUINT GetFlags() const { return m_usFlags; } - TUINT GetMaxVertices() const { return m_usMaxVertices; } - TUINT GetNumVertices() const { return m_usNumVertices; } - TBOOL IsLocked() const { return m_uiLockCount != 0; } +public: + TVertexFactoryResourceInterface *GetFactory() { return m_pFactory; } + TUINT GetFlags() const { return m_usFlags; } + TUINT GetMaxVertices() const { return m_usMaxVertices; } + TUINT GetNumVertices() const { return m_usNumVertices; } + TBOOL IsLocked() const { return m_uiLockCount != 0; } private: - // TResource base 0x0 -> 0x30 - TVertexFactoryResourceInterface* m_pFactory; // 0x30 - TUSHORT m_usFlags; // 0x34 - TUSHORT m_usMaxVertices; // 0x36 - TUSHORT m_usNumVertices; // 0x38 - TUINT m_uiLockCount; // 0x3A + // TResource base 0x0 -> 0x30 + TVertexFactoryResourceInterface *m_pFactory; // 0x30 + TUSHORT m_usFlags; // 0x34 + TUSHORT m_usMaxVertices; // 0x36 + TUSHORT m_usNumVertices; // 0x38 + TUINT m_uiLockCount; // 0x3A }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TRender/TViewport.h b/Toshi/Include/TRender/TViewport.h index 2b24048..9366870 100644 --- a/Toshi/Include/TRender/TViewport.h +++ b/Toshi/Include/TRender/TViewport.h @@ -9,4 +9,4 @@ class TRENDERINTERFACE_EXPORTS TViewport : public TSceneObject DECLARE_DYNAMIC(TViewport) }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TRenderD3D/Defines.h b/Toshi/Include/TRenderD3D/Defines.h index ee27efb..6f22ce2 100644 --- a/Toshi/Include/TRenderD3D/Defines.h +++ b/Toshi/Include/TRenderD3D/Defines.h @@ -3,14 +3,14 @@ #ifndef TRENDERINTERFACED3D_STATIC_LINKING -#ifdef TRENDERINTERFACED3D -#define TRENDERINTERFACED3D_EXPORTS DLL_CLASS_EXPORT -#else -#define TRENDERINTERFACED3D_EXPORTS DLL_CLASS_IMPORT -#endif +# ifdef TRENDERINTERFACED3D +# define TRENDERINTERFACED3D_EXPORTS DLL_CLASS_EXPORT +# else +# define TRENDERINTERFACED3D_EXPORTS DLL_CLASS_IMPORT +# endif -#else // !TRENDERINTERFACED3D_STATIC_LINKING +#else // !TRENDERINTERFACED3D_STATIC_LINKING -#define TRENDERINTERFACED3D_EXPORTS +# define TRENDERINTERFACED3D_EXPORTS -#endif // TRENDERINTERFACED3D_STATIC_LINKING \ No newline at end of file +#endif // TRENDERINTERFACED3D_STATIC_LINKING diff --git a/Toshi/Include/TRenderD3D/TD3DVertexBlockResource.h b/Toshi/Include/TRenderD3D/TD3DVertexBlockResource.h index 768d477..bb98f91 100644 --- a/Toshi/Include/TRenderD3D/TD3DVertexBlockResource.h +++ b/Toshi/Include/TRenderD3D/TD3DVertexBlockResource.h @@ -16,36 +16,34 @@ class TRENDERINTERFACED3D_EXPORTS TVertexBlockResource : public TResource DECLARE_FREELIST(TVertexBlockResource) public: - struct TRENDERINTERFACED3D_EXPORTS HALBuffer { HALBuffer() { - } - TUINT uiNumStreams; - TUSHORT uiVertexOffset; - IDirect3DVertexBuffer8* apVertexBuffers[TVertexFactoryFormat::MAX_NUM_STREAMS]; + TUINT uiNumStreams; + TUSHORT uiVertexOffset; + IDirect3DVertexBuffer8 *apVertexBuffers[TVertexFactoryFormat::MAX_NUM_STREAMS]; }; - TBOOL Create(TVertexFactoryResource* a_pFactory, TUSHORT a_uiMaxVertices, TUINT a_uiFlags); + TBOOL Create(TVertexFactoryResource *a_pFactory, TUSHORT a_uiMaxVertices, TUINT a_uiFlags); - TBOOL AttachPool(TVertexPoolResource* a_pPool); - TBOOL CanFit(TVertexPoolResource* a_pPoolResource); + TBOOL AttachPool(TVertexPoolResource *a_pPool); + TBOOL CanFit(TVertexPoolResource *a_pPoolResource); - TVertexFactoryResourceInterface* GetFactory() { return m_pFactory; } - TUINT GetFlags() { return m_uiFlags; } + TVertexFactoryResourceInterface *GetFactory() { return m_pFactory; } + TUINT GetFlags() { return m_uiFlags; } private: - TVertexFactoryResourceInterface* m_pFactory; // 0x30 - TUINT m_uiFlags; // 0x34 - TUSHORT m_uiMaxVertices; - TUINT m_uiOffset; - TUINT m_uiVerticesUsed; - TUINT m_uiLockCount; - TUINT m_Unk1; - HALBuffer m_HALBuffer; + TVertexFactoryResourceInterface *m_pFactory; // 0x30 + TUINT m_uiFlags; // 0x34 + TUSHORT m_uiMaxVertices; + TUINT m_uiOffset; + TUINT m_uiVerticesUsed; + TUINT m_uiLockCount; + TUINT m_Unk1; + HALBuffer m_HALBuffer; }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TRenderD3D/TD3DVertexFactoryResource.h b/Toshi/Include/TRenderD3D/TD3DVertexFactoryResource.h index ad17a92..686c4d3 100644 --- a/Toshi/Include/TRenderD3D/TD3DVertexFactoryResource.h +++ b/Toshi/Include/TRenderD3D/TD3DVertexFactoryResource.h @@ -12,10 +12,10 @@ class TRENDERINTERFACED3D_EXPORTS TVertexFactoryResource : public TVertexFactory DECLARE_DYNAMIC(TVertexFactoryResource) public: - virtual TVertexPoolResourceInterface* CreatePoolResource(TUSHORT a_uiMaxStaticVertices, TUINT a_uiFlags); + virtual TVertexPoolResourceInterface *CreatePoolResource(TUSHORT a_uiMaxStaticVertices, TUINT a_uiFlags); - TVertexBlockResource* FindBlockResource(TVertexPoolResource* a_pResource); - TVertexBlockResource* CreateBlockResource(TUSHORT a_uiMaxVertices, TUINT a_uiFlags); + TVertexBlockResource *FindBlockResource(TVertexPoolResource *a_pResource); + TVertexBlockResource *CreateBlockResource(TUSHORT a_uiMaxVertices, TUINT a_uiFlags); }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TRenderD3D/TD3DVertexPoolResource.h b/Toshi/Include/TRenderD3D/TD3DVertexPoolResource.h index 1b5c22c..feccf7d 100644 --- a/Toshi/Include/TRenderD3D/TD3DVertexPoolResource.h +++ b/Toshi/Include/TRenderD3D/TD3DVertexPoolResource.h @@ -13,11 +13,11 @@ class TRENDERINTERFACED3D_EXPORTS TVertexPoolResource : public TVertexPoolResour protected: virtual TBOOL Validate() override; - virtual void Invalidate() override; - virtual void OnDestroy() override; - virtual TBOOL Lock(LockBuffer* a_pLockBuffer) override; - virtual void Unlock(TUSHORT a_uiNewNumVertices) override; - virtual TBOOL Create(TVertexFactoryResourceInterface* a_pFactory, TUINT a_uiMaxVertices, TUINT a_uiFlags) override; + virtual void Invalidate() override; + virtual void OnDestroy() override; + virtual TBOOL Lock(LockBuffer *a_pLockBuffer) override; + virtual void Unlock(TUSHORT a_uiNewNumVertices) override; + virtual TBOOL Create(TVertexFactoryResourceInterface *a_pFactory, TUINT a_uiMaxVertices, TUINT a_uiFlags) override; }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TRenderD3D/TMSWindow.h b/Toshi/Include/TRenderD3D/TMSWindow.h index 9e4f4d2..69bd90e 100644 --- a/Toshi/Include/TRenderD3D/TMSWindow.h +++ b/Toshi/Include/TRenderD3D/TMSWindow.h @@ -11,28 +11,27 @@ class TRENDERINTERFACED3D_EXPORTS TMSWindow : public TObject { DECLARE_DYNAMIC(TMSWindow) public: - TMSWindow(); ~TMSWindow(); - TBOOL Create(TRenderD3DInterface* a_pRenderer, TPCCHAR a_szName); - void Destroy(); - void Disable(); - void Enable(); - void Position(TINT X, TINT Y, TINT cx, TINT cy); - void SetFullscreen(); - void SetWindowed(); + TBOOL Create(TRenderD3DInterface *a_pRenderer, TPCCHAR a_szName); + void Destroy(); + void Disable(); + void Enable(); + void Position(TINT X, TINT Y, TINT cx, TINT cy); + void SetFullscreen(); + void SetWindowed(); operator HWND() const { return m_hWnd; } - HWND GetHWND() const { return m_hWnd; } - TRenderD3DInterface* GetD3DInterface() const { return m_pD3DInterface; } + HWND GetHWND() const { return m_hWnd; } + TRenderD3DInterface *GetD3DInterface() const { return m_pD3DInterface; } private: - HWND m_hWnd; // 0x4 + HWND m_hWnd; // 0x4 TRenderD3DInterface *m_pD3DInterface; // 0x8 - TBOOL m_bIsEnabled; // 0xC - TBOOL m_bIsWindowed; // 0xD + TBOOL m_bIsEnabled; // 0xC + TBOOL m_bIsWindowed; // 0xD }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TRenderD3D/TRenderCaptureD3D.h b/Toshi/Include/TRenderD3D/TRenderCaptureD3D.h index 7c1e138..147092e 100644 --- a/Toshi/Include/TRenderD3D/TRenderCaptureD3D.h +++ b/Toshi/Include/TRenderD3D/TRenderCaptureD3D.h @@ -34,8 +34,8 @@ class TRENDERINTERFACED3D_EXPORTS TRenderCaptureD3D : public TRenderCapture private: TPVOID m_pBuffer; // 0x4 FORMAT m_eFormat; // 0x8 - TINT m_iWidth; // 0xC - TINT m_iHeight; // 0x10 + TINT m_iWidth; // 0xC + TINT m_iHeight; // 0x10 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TRenderD3D/TRenderContextD3D.h b/Toshi/Include/TRenderD3D/TRenderContextD3D.h index bc1b02f..d7fd51d 100644 --- a/Toshi/Include/TRenderD3D/TRenderContextD3D.h +++ b/Toshi/Include/TRenderD3D/TRenderContextD3D.h @@ -6,7 +6,6 @@ TOSHI_NAMESPACE_BEGIN class TRENDERINTERFACED3D_EXPORTS TRenderContextD3D : public TRenderContext { - }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TRenderD3D/TRenderD3DAdapter.h b/Toshi/Include/TRenderD3D/TRenderD3DAdapter.h index ba3a21e..ce133ef 100644 --- a/Toshi/Include/TRenderD3D/TRenderD3DAdapter.h +++ b/Toshi/Include/TRenderD3D/TRenderD3DAdapter.h @@ -26,7 +26,7 @@ class TRENDERINTERFACED3D_EXPORTS TD3DAdapter : public TRenderAdapter D3DDEVTYPE_REF }; - static constexpr const char* DEVICETYPESSTRINGS[NUMSUPPORTEDDEVICES] = { + static constexpr const char *DEVICETYPESSTRINGS[NUMSUPPORTEDDEVICES] = { "HAL", "REF" }; @@ -42,105 +42,105 @@ class TRENDERINTERFACED3D_EXPORTS TD3DAdapter : public TRenderAdapter static constexpr TUINT32 NUMDEPTHSTENCILFORMATS = sizeof(DEPTHSTENCILFORMATS) / sizeof(*DEPTHSTENCILFORMATS); public: - virtual TRenderAdapter::Mode* GetMode() const override; - virtual TUINT GetDeviceIndex() const override; - virtual TPCCHAR GetTypeString() const override; - virtual TBOOL IsSoftware() const override; - virtual TBOOL CanRenderWindowed() const override; - virtual TBOOL SupportsHardwareTransfomations() const override; - virtual TBOOL IsDepthStencilFormatSupported(TUINT a_iIndex) const override; - virtual TBOOL SupportsPureDevice() const; - - void SetD3DCaps(const D3DCAPS8& a_rCaps) { m_Caps = a_rCaps; } - void SetOwnerMode(Mode* a_pMode) { m_pOwnerMode = a_pMode; } + virtual TRenderAdapter::Mode *GetMode() const override; + virtual TUINT GetDeviceIndex() const override; + virtual TPCCHAR GetTypeString() const override; + virtual TBOOL IsSoftware() const override; + virtual TBOOL CanRenderWindowed() const override; + virtual TBOOL SupportsHardwareTransfomations() const override; + virtual TBOOL IsDepthStencilFormatSupported(TUINT a_iIndex) const override; + virtual TBOOL SupportsPureDevice() const; + + void SetD3DCaps(const D3DCAPS8 &a_rCaps) { m_Caps = a_rCaps; } + void SetOwnerMode(Mode *a_pMode) { m_pOwnerMode = a_pMode; } void SetDeviceIndex(TUINT32 a_uiIndex) { m_uiDeviceIndex = a_uiIndex; } TUINT32 GetD3DDeviceFlags() const { return m_eFlags; } - D3DCAPS8& GetD3DCaps() { return m_Caps; } - const D3DCAPS8& GetD3DCaps() const { return m_Caps; } + D3DCAPS8 &GetD3DCaps() { return m_Caps; } + const D3DCAPS8 &GetD3DCaps() const { return m_Caps; } private: D3DCAPS8 m_Caps; - TUINT32 m_eFlags; - Mode* m_pOwnerMode; - TUINT32 m_uiDeviceIndex; - TBOOL m_bIsSoftware; - TBOOL m_bCanRenderWindowed; - TBOOL m_bSupportsTransformation; - TBOOL m_bSupportsPureDevice; - TBOOL m_bSupportsNPatches; - TBOOL m_aSupportedDSFormats[NUMDEPTHSTENCILFORMATS]; + TUINT32 m_eFlags; + Mode *m_pOwnerMode; + TUINT32 m_uiDeviceIndex; + TBOOL m_bIsSoftware; + TBOOL m_bCanRenderWindowed; + TBOOL m_bSupportsTransformation; + TBOOL m_bSupportsPureDevice; + TBOOL m_bSupportsNPatches; + TBOOL m_aSupportedDSFormats[NUMDEPTHSTENCILFORMATS]; }; public: - virtual TRenderAdapter* GetAdapter() const override; - virtual TUINT GetModeIndex() const override; - virtual TUINT GetWidth() const override; - virtual TUINT GetHeight() const override; - virtual TBOOL Is32Bit() const override; - virtual TBOOL Is16Bit() const override; - virtual TUINT GetRefreshRate() const override; - virtual TRenderAdapter::Mode::Device* GetDevice(TUINT a_iDevice) override; + virtual TRenderAdapter *GetAdapter() const override; + virtual TUINT GetModeIndex() const override; + virtual TUINT GetWidth() const override; + virtual TUINT GetHeight() const override; + virtual TBOOL Is32Bit() const override; + virtual TBOOL Is16Bit() const override; + virtual TUINT GetRefreshRate() const override; + virtual TRenderAdapter::Mode::Device *GetDevice(TUINT a_iDevice) override; D3DFORMAT GetBackBufferFormat(TUINT a_uiColourDepth); - void SetOwnerAdapter(TD3DAdapter* a_pOwnerAdapter) { m_pOwnerAdapter = a_pOwnerAdapter; } + void SetOwnerAdapter(TD3DAdapter *a_pOwnerAdapter) { m_pOwnerAdapter = a_pOwnerAdapter; } void SetModeIndex(TUINT a_uiModeIndex) { m_uiModeIndex = a_uiModeIndex; } - void SetD3DDisplayMode(const D3DDISPLAYMODE& a_rDisplayMode) { m_DisplayMode = a_rDisplayMode; } - D3DDISPLAYMODE& GetD3DDisplayMode() { return m_DisplayMode; } + void SetD3DDisplayMode(const D3DDISPLAYMODE &a_rDisplayMode) { m_DisplayMode = a_rDisplayMode; } + D3DDISPLAYMODE &GetD3DDisplayMode() { return m_DisplayMode; } private: - TD3DAdapter* m_pOwnerAdapter; + TD3DAdapter *m_pOwnerAdapter; D3DDISPLAYMODE m_DisplayMode; - TUINT32 m_uiModeIndex; - Device m_aDevices[NUMSUPPORTEDDEVICES]; + TUINT32 m_uiModeIndex; + Device m_aDevices[NUMSUPPORTEDDEVICES]; }; public: - virtual TUINT GetAdapterIndex() const override; - virtual const TCString& GetDriver() const override; - virtual const TCString& GetDriverDescription() const override; - virtual TUSHORT GetProductID() const override; - virtual TUSHORT GetVersion() const override; - virtual TUSHORT GetSubVersion() const override; - virtual TUSHORT GetBuild() const override; - virtual const GUID& GetDeviceIdentifier() const override; - virtual TUINT GetNumSupportedDevices() const override; + virtual TUINT GetAdapterIndex() const override; + virtual const TCString &GetDriver() const override; + virtual const TCString &GetDriverDescription() const override; + virtual TUSHORT GetProductID() const override; + virtual TUSHORT GetVersion() const override; + virtual TUSHORT GetSubVersion() const override; + virtual TUSHORT GetBuild() const override; + virtual const GUID &GetDeviceIdentifier() const override; + virtual TUINT GetNumSupportedDevices() const override; void SetAdapterIndex(TUINT a_uiAdapterIndex) { m_uiAdapterIndex = a_uiAdapterIndex; } - void SetDriver(const TCString& a_rDriver) { m_Driver = a_rDriver; } - void SetDescription(const TCString& a_rDescription) { m_Description = a_rDescription; } + void SetDriver(const TCString &a_rDriver) { m_Driver = a_rDriver; } + void SetDescription(const TCString &a_rDescription) { m_Description = a_rDescription; } void SetDriverVersionLowPart(DWORD a_uiDriverVersionLowPart) { m_DriverVersionLowPart = a_uiDriverVersionLowPart; } void SetDriverVersionHighPart(DWORD a_uiDriverVersionHighPart) { m_DriverVersionHighPart = a_uiDriverVersionHighPart; } void SetVendorId(DWORD a_uiVendorId) { m_VendorId = a_uiVendorId; } void SetDeviceId(DWORD a_uiDeviceId) { m_DeviceId = a_uiDeviceId; } void SetSubSysId(DWORD a_uiSubSysId) { m_SubSysId = a_uiSubSysId; } void SetRevision(DWORD a_uiRevision) { m_Revision = a_uiRevision; } - void SetDeviceIdentifier(const GUID& a_rDeviceIdentifier) { m_DeviceIdentifier = a_rDeviceIdentifier; } + void SetDeviceIdentifier(const GUID &a_rDeviceIdentifier) { m_DeviceIdentifier = a_rDeviceIdentifier; } - Mode& GetMode() { return m_Mode; } - const Mode& GetMode() const { return m_Mode; } + Mode &GetMode() { return m_Mode; } + const Mode &GetMode() const { return m_Mode; } - D3DADAPTER_IDENTIFIER8* GetD3DIdentifier8() { return &m_Identifier; } - const D3DADAPTER_IDENTIFIER8* GetD3DIdentifier8() const { return &m_Identifier; } + D3DADAPTER_IDENTIFIER8 *GetD3DIdentifier8() { return &m_Identifier; } + const D3DADAPTER_IDENTIFIER8 *GetD3DIdentifier8() const { return &m_Identifier; } - void EnumerateOutputs(TRenderInterface* a_pRenderer); + void EnumerateOutputs(TRenderInterface *a_pRenderer); private: D3DADAPTER_IDENTIFIER8 m_Identifier; - Mode m_Mode; - TUINT32 m_uiAdapterIndex; - TCString m_Driver; - TCString m_Description; - DWORD m_DriverVersionLowPart; - DWORD m_DriverVersionHighPart; - DWORD m_VendorId; - DWORD m_DeviceId; - DWORD m_SubSysId; - DWORD m_Revision; - GUID m_DeviceIdentifier; + Mode m_Mode; + TUINT32 m_uiAdapterIndex; + TCString m_Driver; + TCString m_Description; + DWORD m_DriverVersionLowPart; + DWORD m_DriverVersionHighPart; + DWORD m_VendorId; + DWORD m_DeviceId; + DWORD m_SubSysId; + DWORD m_Revision; + GUID m_DeviceIdentifier; }; diff --git a/Toshi/Include/TRenderD3D/TRenderD3DInterface.h b/Toshi/Include/TRenderD3D/TRenderD3DInterface.h index b5d7872..30b5e28 100644 --- a/Toshi/Include/TRenderD3D/TRenderD3DInterface.h +++ b/Toshi/Include/TRenderD3D/TRenderD3DInterface.h @@ -11,14 +11,14 @@ TOSHI_NAMESPACE_BEGIN class TMSWindow; -#define TD3DRELEASE(d3d) \ - if (d3d) { \ - d3d->Release(); \ - } \ - else { \ - TASSERT(!"Release called on NULL interface ptr\n"); \ - } \ - d3d = NULL +#define TD3DRELEASE(d3d) \ + if (d3d) { \ + d3d->Release(); \ + } \ + else { \ + TASSERT(!"Release called on NULL interface ptr\n"); \ + } \ + d3d = NULL class TRENDERINTERFACED3D_EXPORTS TRenderD3DInterface : public TRenderInterface { @@ -26,72 +26,68 @@ class TRENDERINTERFACED3D_EXPORTS TRenderD3DInterface : public TRenderInterface DECLARE_DYNAMIC(TRenderD3DInterface) public: - TRenderD3DInterface(); static void TOSHI_API TD3DAssert(HRESULT a_hr, TPCCHAR a_pError); virtual ~TRenderD3DInterface() override; - virtual TBOOL CreateDisplay(const TRenderInterface::DisplayParams& a_rParams) override; - virtual TBOOL DestroyDisplay() override; - virtual TBOOL Update(float a_fDeltaTime) override; - virtual TBOOL BeginScene() override; - virtual TBOOL EndScene() override; - virtual TRenderAdapter::Mode::Device* GetCurrentDevice() override; - virtual TRenderInterface::DisplayParams* GetCurrentDisplayParams() override; - virtual TBOOL Create(TKernelInterface* pKernelInterface) override; - virtual TBOOL Destroy() override; - virtual void RenderIndexPrimitive(int param_2, int param_3, int param_4, int param_5, int param_6, int param_7) override; - virtual TFLOAT GetPixelAspectRatio() override; - virtual TBOOL SetPixelAspectRatio(float a_fPixelAspectRatio) override; - virtual TBOOL IsTextureFormatSupported(TTEXTURERESOURCEFORMAT a_eTextureFormat) override; - virtual TBOOL Supports32BitTextures() override; - virtual TRenderContext* CreateRenderContext() override; - virtual TRenderCapture* CreateCapture() override; - virtual void DestroyCapture(TRenderCapture* a_pRenderCapture) override; - virtual void ConnectDefaultViewportHandelrs(TViewport& a_pViewport) override; - virtual TModel* CreateModel(TPCCHAR a_szName, TINT a_iUnk1) override; + virtual TBOOL CreateDisplay(const TRenderInterface::DisplayParams &a_rParams) override; + virtual TBOOL DestroyDisplay() override; + virtual TBOOL Update(float a_fDeltaTime) override; + virtual TBOOL BeginScene() override; + virtual TBOOL EndScene() override; + virtual TRenderAdapter::Mode::Device *GetCurrentDevice() override; + virtual TRenderInterface::DisplayParams *GetCurrentDisplayParams() override; + virtual TBOOL Create(TKernelInterface *pKernelInterface) override; + virtual TBOOL Destroy() override; + virtual void RenderIndexPrimitive(int param_2, int param_3, int param_4, int param_5, int param_6, int param_7) override; + virtual TFLOAT GetPixelAspectRatio() override; + virtual TBOOL SetPixelAspectRatio(float a_fPixelAspectRatio) override; + virtual TBOOL IsTextureFormatSupported(TTEXTURERESOURCEFORMAT a_eTextureFormat) override; + virtual TBOOL Supports32BitTextures() override; + virtual TRenderContext *CreateRenderContext() override; + virtual TRenderCapture *CreateCapture() override; + virtual void DestroyCapture(TRenderCapture *a_pRenderCapture) override; + virtual void ConnectDefaultViewportHandelrs(TViewport &a_pViewport) override; + virtual TModel *CreateModel(TPCCHAR a_szName, TINT a_iUnk1) override; virtual TBOOL IsCapableColourCorrection(); - virtual void EnableColourCorrection(TBOOL a_bEnable); + virtual void EnableColourCorrection(TBOOL a_bEnable); TBOOL IsTextureFormatSupported(D3DFORMAT a_eFormat); - void Exit() { m_bIsExited = TTRUE; } + void Exit() { m_bIsExited = TTRUE; } private: - void BuildAdapterDatabase(); void CreateAcceleratorTableA(); void DestroyAcceleratorTable(); protected: - TBOOL LoadShaders(); - void SetDefaultRenderStates(); + void SetDefaultRenderStates(); public: - - IDirect3DDevice8* GetD3DDevice() { return m_pD3DDevice; } - IDirect3D8* GetD3DInterface() { return m_pD3DInterface; } - TMSWindow* GetMSWindow() { return &m_pMSWindow; } - HACCEL GetAcceleratorTable() { return m_hAccel; } + IDirect3DDevice8 *GetD3DDevice() { return m_pD3DDevice; } + IDirect3D8 *GetD3DInterface() { return m_pD3DInterface; } + TMSWindow *GetMSWindow() { return &m_pMSWindow; } + HACCEL GetAcceleratorTable() { return m_hAccel; } private: - TTextureResource* m_pInvalidTexture; // 0xF8 - IDirect3D8* m_pD3DInterface; // 0x17C - IDirect3DDevice8* m_pD3DDevice; // 0x180 - D3DPRESENT_PARAMETERS m_oPresentParams; // 0x18C - D3DSURFACE_DESC m_oSurfaceDesk; // 0x1B8 - HACCEL m_hAccel; // 0x1DC - TD3DAdapter::Mode::Device* m_pCurrentDevice; // 0x1E0 - TRenderInterface::DisplayParams m_oDisplayParams; // 0x1E4 - TMSWindow m_pMSWindow; // 0x1F8 - TBOOL m_bIsExited; // 0x208 - TBOOL m_bUsingColorCorrection; // 0x21C - TBOOL m_bCheckedCapableColourCorrection; // 0x21D - TBOOL m_bCapableColourCorrection; // 0x21E - TBOOL m_bEnableColourCorrection; // 0x21F + TTextureResource *m_pInvalidTexture; // 0xF8 + IDirect3D8 *m_pD3DInterface; // 0x17C + IDirect3DDevice8 *m_pD3DDevice; // 0x180 + D3DPRESENT_PARAMETERS m_oPresentParams; // 0x18C + D3DSURFACE_DESC m_oSurfaceDesk; // 0x1B8 + HACCEL m_hAccel; // 0x1DC + TD3DAdapter::Mode::Device *m_pCurrentDevice; // 0x1E0 + TRenderInterface::DisplayParams m_oDisplayParams; // 0x1E4 + TMSWindow m_pMSWindow; // 0x1F8 + TBOOL m_bIsExited; // 0x208 + TBOOL m_bUsingColorCorrection; // 0x21C + TBOOL m_bCheckedCapableColourCorrection; // 0x21D + TBOOL m_bCapableColourCorrection; // 0x21E + TBOOL m_bEnableColourCorrection; // 0x21F }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TRenderD3D/TTextureFactoryD3D.h b/Toshi/Include/TRenderD3D/TTextureFactoryD3D.h index 8bc4da2..b339be4 100644 --- a/Toshi/Include/TRenderD3D/TTextureFactoryD3D.h +++ b/Toshi/Include/TRenderD3D/TTextureFactoryD3D.h @@ -10,11 +10,9 @@ class TRENDERINTERFACED3D_EXPORTS TTextureFactoryHAL : public TTextureFactory DECLARE_DYNAMIC(TTextureFactoryHAL) public: - - virtual TTextureResource* CreateTextureFromFile(TPCCHAR a_szFileName, TUINT a_eTextureFlags) override; - virtual TTextureResource* CreateTextureFromMemory(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels) override; - virtual TTextureResource* CreateEx(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels, TTEXTURERESOURCEFORMAT a_eFormat, TUINT a_uiFormatBits) override; - + virtual TTextureResource *CreateTextureFromFile(TPCCHAR a_szFileName, TUINT a_eTextureFlags) override; + virtual TTextureResource *CreateTextureFromMemory(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels) override; + virtual TTextureResource *CreateEx(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels, TTEXTURERESOURCEFORMAT a_eFormat, TUINT a_uiFormatBits) override; }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TRenderD3D/TTextureResourceD3D.h b/Toshi/Include/TRenderD3D/TTextureResourceD3D.h index 192cf86..c0b1adc 100644 --- a/Toshi/Include/TRenderD3D/TTextureResourceD3D.h +++ b/Toshi/Include/TRenderD3D/TTextureResourceD3D.h @@ -17,23 +17,26 @@ class TRENDERINTERFACED3D_EXPORTS TTextureResourceHAL : public TTextureResource }; public: - virtual ~TTextureResourceHAL() = default; virtual TBOOL Validate() override; - virtual void Invalidate() override; + virtual void Invalidate() override; virtual TUINT GetWidth() override; virtual TUINT GetHeight() override; - virtual TBOOL Lock(TTextureResource::LOCKSTATE& a_rLockState) override; - virtual void Unlock() override; + virtual TBOOL Lock(TTextureResource::LOCKSTATE &a_rLockState) override; + virtual void Unlock() override; virtual TBOOL Create(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_eTextureFlags, TUINT a_uiWidth, TUINT a_uiHeight) override; virtual TBOOL Create(TPCCHAR a_szFileName, TUINT a_eTextureFlags) override; virtual TBOOL CreateEx(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels, TTEXTURERESOURCEFORMAT a_eFormat, TUINT a_uiMipmapFlags) override; private: - TBOOL CreateFromFormat(); - TBOOL CreateFromPPM(TPCCHAR) { TASSERT(!"SLS: Yet to do!\n"); return TFALSE; } + TBOOL CreateFromFormat(); + TBOOL CreateFromPPM(TPCCHAR) + { + TASSERT(!"SLS: Yet to do!\n"); + return TFALSE; + } TBOOL CreateFromMemory8888(TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiLevels, TPVOID a_pData); TBOOL CreateFromMemory888(TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiLevels, TPVOID a_pData); TBOOL CreateFromMemory5551(TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiLevels, TPVOID a_pData); @@ -41,26 +44,24 @@ class TRENDERINTERFACED3D_EXPORTS TTextureResourceHAL : public TTextureResource TBOOL CreateFromMemory4444(TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiLevels, TPVOID a_pData); protected: - TBOOL IsPPM(TPCCHAR a_pFileName); public: - - IDirect3DTexture8* GetD3DTexture() { return m_pD3DTexture; } + IDirect3DTexture8 *GetD3DTexture() { return m_pD3DTexture; } private: - TUINT m_eTextureFlags; // 0x34 - TUINT m_uiLockCount; // 0x3C - TINT m_iLoadFromMemory; // 0x40 - TPVOID m_pData; // 0x44 - TUINT m_uiDataSize; // 0x48 - TUINT m_uiWidth; // 0x4C - TUINT m_uiHeight; // 0x50 - TINT m_uiMipLevels; // 0x54 - TUINT m_uiMipmapFlags; // 0x58 + TUINT m_eTextureFlags; // 0x34 + TUINT m_uiLockCount; // 0x3C + TINT m_iLoadFromMemory; // 0x40 + TPVOID m_pData; // 0x44 + TUINT m_uiDataSize; // 0x48 + TUINT m_uiWidth; // 0x4C + TUINT m_uiHeight; // 0x50 + TINT m_uiMipLevels; // 0x54 + TUINT m_uiMipmapFlags; // 0x58 TTEXTURERESOURCEFORMAT m_eResourceFormat; // 0x5C - IDirect3DTexture8* m_pD3DTexture; // 0x60 - D3DXIMAGE_INFO m_oImageInfo; // 0x64 + IDirect3DTexture8 *m_pD3DTexture; // 0x60 + D3DXIMAGE_INFO m_oImageInfo; // 0x64 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/TTerrain/Defines.h b/Toshi/Include/TTerrain/Defines.h index 38c5253..c3ad02e 100644 --- a/Toshi/Include/TTerrain/Defines.h +++ b/Toshi/Include/TTerrain/Defines.h @@ -3,14 +3,14 @@ #ifndef TTERRAININTERFACE_STATIC_LINKING -#ifdef TTERRAININTERFACE -#define TTERRAININTERFACE_EXPORTS DLL_CLASS_EXPORT -#else -#define TTERRAININTERFACE_EXPORTS DLL_CLASS_IMPORT -#endif +# ifdef TTERRAININTERFACE +# define TTERRAININTERFACE_EXPORTS DLL_CLASS_EXPORT +# else +# define TTERRAININTERFACE_EXPORTS DLL_CLASS_IMPORT +# endif -#else // !TTERRAININTERFACE_STATIC_LINKING +#else // !TTERRAININTERFACE_STATIC_LINKING -#define TTERRAININTERFACE_EXPORTS +# define TTERRAININTERFACE_EXPORTS -#endif // TTERRAININTERFACE_STATIC_LINKING \ No newline at end of file +#endif // TTERRAININTERFACE_STATIC_LINKING diff --git a/Toshi/Include/TTerrain/TTerrainInterface.h b/Toshi/Include/TTerrain/TTerrainInterface.h index 24d8e47..0182bb7 100644 --- a/Toshi/Include/TTerrain/TTerrainInterface.h +++ b/Toshi/Include/TTerrain/TTerrainInterface.h @@ -26,11 +26,11 @@ class TTERRAININTERFACE_EXPORTS TTerrainInterface : public TObject static TFLOAT sm_fLev1MountLODDist; static TFLOAT sm_fMountainBounds; static TFLOAT sm_fWaterHeight; + private: - static TUINT s_ui32TStamp; + static TUINT s_ui32TStamp; static TTerrainInterface *ms_pTerrainInterface; - static TERRAINLOD sm_eLOD; + static TERRAINLOD sm_eLOD; }; TOSHI_NAMESPACE_END - diff --git a/Toshi/Include/TTerrain/TTerrainSection.h b/Toshi/Include/TTerrain/TTerrainSection.h index 1da0fb1..c6b3dd4 100644 --- a/Toshi/Include/TTerrain/TTerrainSection.h +++ b/Toshi/Include/TTerrain/TTerrainSection.h @@ -9,11 +9,10 @@ class TTERRAININTERFACE_EXPORTS TTerrainSection { public: - - #define CLIPFLAG_GRASS 0x100 - #define CLIPFLAG_DIRTY 0x200 - #define CLIPFLAG_UNK 0x400 - #define USERBITSFLAGMASK -(0x400) +#define CLIPFLAG_GRASS 0x100 +#define CLIPFLAG_DIRTY 0x200 +#define CLIPFLAG_UNK 0x400 +#define USERBITSFLAGMASK -(0x400) void ComputeBounds(); @@ -50,13 +49,13 @@ class TTERRAININTERFACE_EXPORTS TTerrainSection void SetSystemFlags(TUINT a_ui32ClipFlags); private: - TTerrainSection* m_pNextSection; // 0x14 - TUINT m_ui32ClipFlags; // 0x1C - TUINT m_uiTimeStamp; // 0x20 - TCHAR m_cBoundX; // 0x30 - TCHAR m_cBoundY; // 0x31 - TCHAR m_cPosX; // 0x32 - TCHAR m_cPosY; // 0x33 + TTerrainSection *m_pNextSection; // 0x14 + TUINT m_ui32ClipFlags; // 0x1C + TUINT m_uiTimeStamp; // 0x20 + TCHAR m_cBoundX; // 0x30 + TCHAR m_cBoundY; // 0x31 + TCHAR m_cPosX; // 0x32 + TCHAR m_cPosY; // 0x33 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Include/Toshi/Defines.h b/Toshi/Include/Toshi/Defines.h index 12ee7ec..321063f 100644 --- a/Toshi/Include/Toshi/Defines.h +++ b/Toshi/Include/Toshi/Defines.h @@ -1,64 +1,66 @@ #pragma once -#define TNULL nullptr -#define TFALSE false -#define TTRUE true +#define TNULL nullptr +#define TFALSE false +#define TTRUE true #define BITFIELD(x) (1 << (x)) #if defined(TOSHI_RELEASE) || defined(TOSHI_DEBUG) - #define TOSHI_NOTFINAL +# define TOSHI_NOTFINAL #endif // TOSHI_RELEASE || TOSHI_DEBUG #define STRINGIFY2(X) #X -#define STRINGIFY(X) STRINGIFY2(X) +#define STRINGIFY(X) STRINGIFY2(X) -#define STRCAT2(X, Y) X##Y -#define STRCAT(X, Y) STRCAT2(X, Y) -#define STRCAT_2 CAT -#define STRCAT_3(X, Y, Z) STRCAT(X, STRCAT(Y, Z)) +#define STRCAT2(X, Y) X##Y +#define STRCAT(X, Y) STRCAT2(X, Y) +#define STRCAT_2 CAT +#define STRCAT_3(X, Y, Z) STRCAT(X, STRCAT(Y, Z)) #define STRCAT_4(A, X, Y, Z) STRCAT(A, STRCAT_3(X, Y, Z)) #define HASFLAG(flag) ((flag) != 0) #ifdef TOSHI_SKU_WINDOWS - // [7/8/2024 InfiniteC0re] - // Note: such includes aren't supported by other compilers so - // perhaps it's better to get rid of this macro +// [7/8/2024 InfiniteC0re] +// Note: such includes aren't supported by other compilers so +// perhaps it's better to get rid of this macro - #define TOSHI_MULTIPLATFORM(FILENAME) STRINGIFY(STRCAT_3(Win/, FILENAME, Win.h)) +//# define TOSHI_MULTIPLATFORM(FILENAME) STRINGIFY(STRCAT_3(Win/, FILENAME, Win.h)) #endif // TOSHI_SKU_WINDOWS // Move these to platform.h? [7/8/2024 InfiniteC0re] #define TOSHI_API __stdcall #define TOSHI_CALLBACKAPI __cdecl -#define TOSHI_NAMESPACE_BEGIN namespace Toshi { -#define TOSHI_NAMESPACE_END } +#define TOSHI_NAMESPACE_BEGIN \ + namespace Toshi \ + { +#define TOSHI_NAMESPACE_END } #define TOSHI_NAMESPACE_USING using namespace Toshi; #define TSTATICCAST(type, value) static_cast(value) #define _TS8(str) #str -typedef bool TBOOL; -typedef int TINT; -typedef unsigned int TUINT; -typedef unsigned int TUINT32; -typedef unsigned __int64 TUINT64; -typedef short TSHORT; -typedef unsigned short TUSHORT; -typedef wchar_t TWCHAR; -typedef wchar_t* TPWCHAR; -typedef const wchar_t* TPCWCHAR; -typedef const char* TPCCHAR; -typedef char* TPCHAR; -typedef char TCHAR; -typedef const char TCCHAR; -typedef char TINT8; -typedef unsigned char TUINT8; -typedef unsigned char TBYTE; -typedef unsigned char* TPBYTE; -typedef void* TPVOID; -typedef const void* TPCVOID; -typedef float TFLOAT; -typedef const float TCFLOAT; \ No newline at end of file +typedef bool TBOOL; +typedef int TINT; +typedef unsigned int TUINT; +typedef unsigned int TUINT32; +typedef unsigned __int64 TUINT64; +typedef short TSHORT; +typedef unsigned short TUSHORT; +typedef wchar_t TWCHAR; +typedef wchar_t *TPWCHAR; +typedef const wchar_t *TPCWCHAR; +typedef const char *TPCCHAR; +typedef char *TPCHAR; +typedef char TCHAR; +typedef const char TCCHAR; +typedef char TINT8; +typedef unsigned char TUINT8; +typedef unsigned char TBYTE; +typedef unsigned char *TPBYTE; +typedef void *TPVOID; +typedef const void *TPCVOID; +typedef float TFLOAT; +typedef const float TCFLOAT; diff --git a/Toshi/Include/Toshi/Platform.h b/Toshi/Include/Toshi/Platform.h index c7cd0f9..bb87f34 100644 --- a/Toshi/Include/Toshi/Platform.h +++ b/Toshi/Include/Toshi/Platform.h @@ -1,23 +1,23 @@ #pragma once #if defined(_MSC_VER) -#define COMPILER_MSVC +# define COMPILER_MSVC #endif #if defined(TOSHI_SKU_WINDOWS) && defined(COMPILER_MSVC) -#define DLL_EXPORT extern "c" __declspec(dllexport) -#define DLL_IMPORT extern "c" __declspec(dllimport) -#define DLL_CLASS_EXPORT __declspec(dllexport) -#define DLL_CLASS_IMPORT __declspec(dllimport) -#define FORCEINLINE __forceinline +# define DLL_EXPORT extern "c" __declspec(dllexport) +# define DLL_IMPORT extern "c" __declspec(dllimport) +# define DLL_CLASS_EXPORT __declspec(dllexport) +# define DLL_CLASS_IMPORT __declspec(dllimport) +# define FORCEINLINE __forceinline #else // TOSHI_SKU_WINDOWS && _MSC_VER -#define DLL_EXPORT -#define DLL_IMPORT -#define DLL_CLASS_EXPORT -#define DLL_CLASS_IMPORT -#define FORCEINLINE +# define DLL_EXPORT +# define DLL_IMPORT +# define DLL_CLASS_EXPORT +# define DLL_CLASS_IMPORT +# define FORCEINLINE #endif // !TOSHI_SKU_WINDOWS || !_MSC_VER diff --git a/Toshi/Plugins/Include/Defines.h b/Toshi/Plugins/Include/Defines.h index 0fe5671..f69fa1e 100644 --- a/Toshi/Plugins/Include/Defines.h +++ b/Toshi/Plugins/Include/Defines.h @@ -3,14 +3,14 @@ #ifndef PPROPERTYPARSER_STATIC_LINKING -#ifdef PPROPERTYPARSER -#define PPROPERTYPARSER_EXPORTS DLL_CLASS_EXPORT -#else -#define PPROPERTYPARSER_EXPORTS DLL_CLASS_IMPORT -#endif +# ifdef PPROPERTYPARSER +# define PPROPERTYPARSER_EXPORTS DLL_CLASS_EXPORT +# else +# define PPROPERTYPARSER_EXPORTS DLL_CLASS_IMPORT +# endif -#else // !PPROPERTYPARSER_STATIC_LINKING +#else // !PPROPERTYPARSER_STATIC_LINKING -#define PPROPERTYPARSER_EXPORTS +# define PPROPERTYPARSER_EXPORTS -#endif // PPROPERTYPARSER_STATIC_LINKING \ No newline at end of file +#endif // PPROPERTYPARSER_STATIC_LINKING diff --git a/Toshi/Plugins/Include/PPropertyParser/PProperties.h b/Toshi/Plugins/Include/PPropertyParser/PProperties.h index 971f202..0753a7b 100644 --- a/Toshi/Plugins/Include/PPropertyParser/PProperties.h +++ b/Toshi/Plugins/Include/PPropertyParser/PProperties.h @@ -16,12 +16,12 @@ class PPROPERTYPARSER_EXPORTS PProperties : Toshi::TObject class PPROPERTYPARSER_EXPORTS PProperty : public Toshi::TQList::TNode { DECLARE_FREELIST(PProperty) - + public: // $PPropertyParser: FUNCTION 10001e30 COMPLETED PProperty(const PPropertyName &a_rName, const PPropertyValue &a_rValue) { - m_oName = PPropertyName(a_rName); + m_oName = PPropertyName(a_rName); m_oValue = PPropertyValue(a_rValue); } // $PPropertyParser: FUNCTION 10001e70 COMPLETED @@ -33,7 +33,6 @@ class PPROPERTYPARSER_EXPORTS PProperties : Toshi::TObject // $PPropertyParser: FUNCTION 10002910 COMPLETED ~PProperty() { - } // $PPropertyParser: FUNCTION 100029b0 COMPLETED void SetComment(const Toshi::TPCString &a_rComment) @@ -41,9 +40,9 @@ class PPROPERTYPARSER_EXPORTS PProperties : Toshi::TObject m_sComment = a_rComment; } // $PPropertyParser: FUNCTION 10002a20 COMPLETED - void SetLine(TINT a_iLine) - { - m_iLine = a_iLine; + void SetLine(TINT a_iLine) + { + m_iLine = a_iLine; } // $PPropertyParser: FUNCTION 10002a30 COMPLETED void SetValue(const PPropertyValue &a_rValue) @@ -51,32 +50,32 @@ class PPROPERTYPARSER_EXPORTS PProperties : Toshi::TObject m_oValue = a_rValue; } // $PPropertyParser: FUNCTION 100029f0 COMPLETED - Toshi::TPCString GetComment() const - { - return m_sComment; + Toshi::TPCString GetComment() const + { + return m_sComment; } // $PPropertyParser: FUNCTION 10002a10 COMPLETED - TINT GetLine() const - { - return m_iLine; + TINT GetLine() const + { + return m_iLine; } // $PPropertyParser: FUNCTION 10002a60 COMPLETED - const PPropertyName &GetName() const - { - return m_oName; + const PPropertyName &GetName() const + { + return m_oName; } // $PPropertyParser: FUNCTION 10002a50 COMPLETED - const PPropertyValue &GetValue() const - { - return m_oValue; + const PPropertyValue &GetValue() const + { + return m_oValue; } private: // 0x0 m_pNext // 0x4 m_pPrev - PPropertyName m_oName; // 0x8 - PPropertyValue m_oValue; // 0x10 - TINT m_iLine; // 0x18 + PPropertyName m_oName; // 0x8 + PPropertyValue m_oValue; // 0x10 + TINT m_iLine; // 0x18 Toshi::TPCString m_sComment; // 0x1C }; @@ -84,13 +83,13 @@ class PPROPERTYPARSER_EXPORTS PProperties : Toshi::TObject PProperties() { m_pParentProps = TNULL; - m_iPropCount = 0; + m_iPropCount = 0; } // $PPropertyParser: FUNCTION 100010c0 PProperties(PProperties *a_pParentProps) { m_pParentProps = a_pParentProps; - m_iPropCount = 0; + m_iPropCount = 0; } // $PPropertyParser: FUNCTION 10002b50 @@ -150,7 +149,7 @@ class PPROPERTYPARSER_EXPORTS PProperties : Toshi::TObject const PProperty *FindProperty(const Toshi::TPCString &a_szProperty, Toshi::TQList::Iterator &a_oProperties); - PProperties *m_pParentProps; // 0x8 - Toshi::TQList m_oPropSet; // 0xC - TINT m_iPropCount; // 0x14 + PProperties *m_pParentProps; // 0x8 + Toshi::TQList m_oPropSet; // 0xC + TINT m_iPropCount; // 0x14 }; diff --git a/Toshi/Plugins/Include/PPropertyParser/PPropertyBlock.h b/Toshi/Plugins/Include/PPropertyParser/PPropertyBlock.h index f915477..c24646e 100644 --- a/Toshi/Plugins/Include/PPropertyParser/PPropertyBlock.h +++ b/Toshi/Plugins/Include/PPropertyParser/PPropertyBlock.h @@ -5,34 +5,34 @@ class PPROPERTYPARSER_EXPORTS PPropertyBlock : public Toshi::TObject { - DECLARE_DYNAMIC(PPropertyBlock); + DECLARE_DYNAMIC(PPropertyBlock); public: - enum Priority - { + enum Priority + { - }; + }; - PPropertyBlock(const Toshi::TPCString &a_rName, Priority a_ePriority) - { - m_oName = a_rName; - m_ePriority = a_ePriority; - } + PPropertyBlock(const Toshi::TPCString &a_rName, Priority a_ePriority) + { + m_oName = a_rName; + m_ePriority = a_ePriority; + } - void SetName(const Toshi::TPCString &a_rName) - { - m_oName = a_rName; - } - const Toshi::TPCString &GetName() - { - return m_oName; - } - Priority GetPriority() const - { - return m_ePriority; - } + void SetName(const Toshi::TPCString &a_rName) + { + m_oName = a_rName; + } + const Toshi::TPCString &GetName() + { + return m_oName; + } + Priority GetPriority() const + { + return m_ePriority; + } private: - Toshi::TPCString m_oName; // 0x8 - Priority m_ePriority; // 0xC -}; \ No newline at end of file + Toshi::TPCString m_oName; // 0x8 + Priority m_ePriority; // 0xC +}; diff --git a/Toshi/Plugins/Include/PPropertyParser/PPropertyName.h b/Toshi/Plugins/Include/PPropertyParser/PPropertyName.h index f9bcfee..6864f19 100644 --- a/Toshi/Plugins/Include/PPropertyParser/PPropertyName.h +++ b/Toshi/Plugins/Include/PPropertyParser/PPropertyName.h @@ -5,10 +5,8 @@ class PPROPERTYPARSER_EXPORTS PPropertyName { public: - PPropertyName() { - } PPropertyName(const Toshi::TPCString &a_rName) { @@ -16,7 +14,7 @@ class PPROPERTYPARSER_EXPORTS PPropertyName } PPropertyName(const Toshi::TPCString &a_rName, const Toshi::TPCString &a_rSubName) { - m_oName = a_rName; + m_oName = a_rName; m_oSubName = a_rSubName; } @@ -52,6 +50,7 @@ class PPROPERTYPARSER_EXPORTS PPropertyName } TBOOL operator<(const PPropertyName &a_rPropName) const { + // Is this actually TBOOL? [4/14/2025 InfiniteC0re] TBOOL ret = m_oName.Compare(a_rPropName.GetName()) == 0; if (ret < 0) { return TTRUE; @@ -76,6 +75,7 @@ class PPROPERTYPARSER_EXPORTS PPropertyName } return m_oSubName.Compare(a_rPropName.GetSubName()) > 0; } + protected: void Split(const Toshi::TPCString &a_rString); diff --git a/Toshi/Plugins/Include/PPropertyParser/PPropertyReader.h b/Toshi/Plugins/Include/PPropertyParser/PPropertyReader.h index b5d915a..2b8a2ff 100644 --- a/Toshi/Plugins/Include/PPropertyParser/PPropertyReader.h +++ b/Toshi/Plugins/Include/PPropertyParser/PPropertyReader.h @@ -14,25 +14,25 @@ class PPROPERTYPARSER_EXPORTS PPropertyReader : public Toshi::TObject void Error(const Toshi::TCString &a_sMsg); void Error(const Toshi::TFileLexer::Token &a_rToken, const Toshi::TCString &a_sMsg); - TBOOL GetValue(PPropertyValue &a_rValue); + TBOOL GetValue(PPropertyValue &a_rValue); PPropertyValue Token2Value(const Toshi::TFileLexer::Token &a_rToken); - TBOOL LoadProperty(PProperties *a_pProperty); - TBOOL LoadPropertyBlock(PProperties &a_rProperty); + TBOOL LoadProperty(PProperties *a_pProperty); + TBOOL LoadPropertyBlock(PProperties &a_rProperty); PProperties *LoadPropertyBlock(); - TBOOL LoadPropertyName(Toshi::TPCString &a_rName, Toshi::TPCString &a_rSubName); + TBOOL LoadPropertyName(Toshi::TPCString &a_rName, Toshi::TPCString &a_rSubName); virtual ~PPropertyReader() { Close(); } - virtual TBOOL Open(const Toshi::TCString& a_rFileName, Toshi::TFile* a_pFile); - virtual TBOOL Open(const Toshi::TCString& a_rFileName); + virtual TBOOL Open(const Toshi::TCString &a_rFileName, Toshi::TFile *a_pFile); + virtual TBOOL Open(const Toshi::TCString &a_rFileName); - void Warning(const Toshi::TCString& a_sMsg); + void Warning(const Toshi::TCString &a_sMsg); private: - Toshi::TCString m_szFileName; // 0x4 - Toshi::TFile *m_pFile; // 0xC - Toshi::TFileLexerUTF8 *m_pLexer; // 0x10 - TBOOL m_bLoadComments; // 0x24 - TBOOL m_bAssertOnError; // 0x25 + Toshi::TCString m_szFileName; // 0x4 + Toshi::TFile *m_pFile; // 0xC + Toshi::TFileLexerUTF8 *m_pLexer; // 0x10 + TBOOL m_bLoadComments; // 0x24 + TBOOL m_bAssertOnError; // 0x25 Toshi::TArray m_oPropertyBlock; // 0x28 -}; \ No newline at end of file +}; diff --git a/Toshi/Plugins/Include/PPropertyParser/PPropertyValue.h b/Toshi/Plugins/Include/PPropertyParser/PPropertyValue.h index 2368f3d..00b20db 100644 --- a/Toshi/Plugins/Include/PPropertyParser/PPropertyValue.h +++ b/Toshi/Plugins/Include/PPropertyParser/PPropertyValue.h @@ -14,148 +14,148 @@ class PPropertyValueArray; class PPROPERTYPARSER_EXPORTS PPropertyValue { public: - PPropertyValue(); - PPropertyValue(TINT a_int); - PPropertyValue(TUINT a_uint); - PPropertyValue(TFLOAT a_float); - PPropertyValue(const Toshi::TPCString &a_rPCString); - PPropertyValue(const PPropertyName &a_rPropname); - PPropertyValue(PProperties *props); - PPropertyValue(const PPropertyValue &a_rOther); - ~PPropertyValue(); + PPropertyValue(); + PPropertyValue(TINT a_int); + PPropertyValue(TUINT a_uint); + PPropertyValue(TFLOAT a_float); + PPropertyValue(const Toshi::TPCString &a_rPCString); + PPropertyValue(const PPropertyName &a_rPropname); + PPropertyValue(PProperties *props); + PPropertyValue(const PPropertyValue &a_rOther); + ~PPropertyValue(); protected: - void Assign(const PPropertyValue &a_rValue); - TBOOL ChangeType(const Toshi::TClass *a_pType); + void Assign(const PPropertyValue &a_rValue); + TBOOL ChangeType(const Toshi::TClass *a_pType); public: - TBOOL CanBeType(const Toshi::TClass *a_type) const; - - const Toshi::TClass *GetType() const - { - return m_type; - } - void SetInteger(TINT a_valueInt) - { - ChangeType(TYPE_INT); - m_valueInt = a_valueInt; - } - TINT GetInteger() const; - TUINT GetUINT32() const; - TFLOAT GetFloat() const; - TBOOL GetBoolean() const; - Toshi::TObject *GetTObject() const; - const Toshi::TPCString &GetTPCString() const; - Toshi::TPCString &GetTPCString(); - PProperties *GetProperties() - { - if (m_type != TYPE_PROPS) { - return TNULL; - } - return m_valueProps; - } - void SetPropertyName(const PPropertyName &a_rName); - const PPropertyName &GetPropertyName() const; - PProperties *GetProperties() const - { - return m_type == TYPE_PROPS ? m_valueProps : TNULL; - } - void SetArray(PPropertyValueArray *a_pArray); - PPropertyValueArray *GetArray() const - { - TASSERT(m_type == TYPE_ARRAY); - return m_valueArray; - } - static TPCCHAR TOSHI_API ToString(const Toshi::TClass *a_pClass) - { - if (a_pClass != TYPE_UNDEF) { - return a_pClass->GetName(); - } - return _TS8(TNULL); - } - - TBOOL IsDefined() const - { - return m_type != TYPE_UNDEF; - } + TBOOL CanBeType(const Toshi::TClass *a_type) const; + + const Toshi::TClass *GetType() const + { + return m_type; + } + void SetInteger(TINT a_valueInt) + { + ChangeType(TYPE_INT); + m_valueInt = a_valueInt; + } + TINT GetInteger() const; + TUINT GetUINT32() const; + TFLOAT GetFloat() const; + TBOOL GetBoolean() const; + Toshi::TObject *GetTObject() const; + const Toshi::TPCString &GetTPCString() const; + Toshi::TPCString &GetTPCString(); + PProperties *GetProperties() + { + if (m_type != TYPE_PROPS) { + return TNULL; + } + return m_valueProps; + } + void SetPropertyName(const PPropertyName &a_rName); + const PPropertyName &GetPropertyName() const; + PProperties *GetProperties() const + { + return m_type == TYPE_PROPS ? m_valueProps : TNULL; + } + void SetArray(PPropertyValueArray *a_pArray); + PPropertyValueArray *GetArray() const + { + TASSERT(m_type == TYPE_ARRAY); + return m_valueArray; + } + static TPCCHAR TOSHI_API ToString(const Toshi::TClass *a_pClass) + { + if (a_pClass != TYPE_UNDEF) { + return a_pClass->GetName(); + } + return _TS8(TNULL); + } + + TBOOL IsDefined() const + { + return m_type != TYPE_UNDEF; + } protected: - // Toshi::TManagedPtr - PProperties *GetPropertiesMP() - { - TASSERT(TYPE_PROPS == m_type); - //Toshi::TManagedPtr value(m_valueProps); - return m_valueProps; - } - // Toshi::TManagedPtr - PPropertyValueArray *GetPropArrayMP() - { - TASSERT(TYPE_ARRAY == m_type); - //Toshi::TManagedPtr &value(*m_valueArray); - return m_valueArray; - } + // Toshi::TManagedPtr + PProperties *GetPropertiesMP() + { + TASSERT(TYPE_PROPS == m_type); + //Toshi::TManagedPtr value(m_valueProps); + return m_valueProps; + } + // Toshi::TManagedPtr + PPropertyValueArray *GetPropArrayMP() + { + TASSERT(TYPE_ARRAY == m_type); + //Toshi::TManagedPtr &value(*m_valueArray); + return m_valueArray; + } public: - PPropertyValue &operator=(const PPropertyValue &a_rValue) - { - Assign(a_rValue); - return *this; - } - - PPropertyValue &operator=(PPropertyValueArray *a_pValue) - { - SetArray(a_pValue); - return *this; - } + PPropertyValue &operator=(const PPropertyValue &a_rValue) + { + Assign(a_rValue); + return *this; + } + + PPropertyValue &operator=(PPropertyValueArray *a_pValue) + { + SetArray(a_pValue); + return *this; + } public: - static const Toshi::TClass *TYPE_INT; - static const Toshi::TClass *TYPE_UINT32; - static const Toshi::TClass *TYPE_FLOAT; - static const Toshi::TClass *TYPE_BOOL; - static const Toshi::TClass *TYPE_TPCSTRING; - static const Toshi::TClass *TYPE_TPWSTRING; - static const Toshi::TClass *TYPE_TLSTRING; - static const Toshi::TClass *TYPE_PROPNAME; - static const Toshi::TClass *TYPE_ARRAY; - static const Toshi::TClass *TYPE_PROPS; - static const Toshi::TClass *TYPE_UNDEF; + static const Toshi::TClass *TYPE_INT; + static const Toshi::TClass *TYPE_UINT32; + static const Toshi::TClass *TYPE_FLOAT; + static const Toshi::TClass *TYPE_BOOL; + static const Toshi::TClass *TYPE_TPCSTRING; + static const Toshi::TClass *TYPE_TPWSTRING; + static const Toshi::TClass *TYPE_TLSTRING; + static const Toshi::TClass *TYPE_PROPNAME; + static const Toshi::TClass *TYPE_ARRAY; + static const Toshi::TClass *TYPE_PROPS; + static const Toshi::TClass *TYPE_UNDEF; private: - const Toshi::TClass *m_type; // 0x0 - union - { - PProperties *m_valueProps; - PPropertyName *m_valueName; - PPropertyValueArray *m_valueArray; - Toshi::TPCString m_PCString; - Toshi::TObject *m_pObject; - TINT m_valueInt; - TUINT m_valueUInt; - TFLOAT m_valueFloat; - BOOL m_valueBool; - }; // 0x4 + const Toshi::TClass *m_type; // 0x0 + union + { + PProperties *m_valueProps; + PPropertyName *m_valueName; + PPropertyValueArray *m_valueArray; + Toshi::TPCString m_PCString; + Toshi::TObject *m_pObject; + TINT m_valueInt; + TUINT m_valueUInt; + TFLOAT m_valueFloat; + BOOL m_valueBool; + }; // 0x4 }; class PPROPERTYPARSER_EXPORTS PPropertyValueArray { public: + PPropertyValueArray(); + PPropertyValueArray(TINT a_iCount); + PPropertyValueArray(PPropertyValue *a_pValues, TINT a_iCount); - PPropertyValueArray(); - PPropertyValueArray(TINT a_iCount); - PPropertyValueArray(PPropertyValue *a_pValues, TINT a_iCount); + TBOOL CanBeTypeArray(const Toshi::TClass *a_type, TINT a_iIndex) const; - TBOOL CanBeTypeArray(const Toshi::TClass *a_type, TINT a_iIndex) const; + TBOOL GetTQuaternion(Toshi::TQuaternion &a_rQuat) const; + TBOOL GetTVector2(Toshi::TVector2 &a_rVec2) const; + TBOOL GetTVector3(Toshi::TVector3 &a_rVec3) const; - TBOOL GetTQuaternion(Toshi::TQuaternion &a_rQuat) const; - TBOOL GetTVector2(Toshi::TVector2 &a_rVec2) const; - TBOOL GetTVector3(Toshi::TVector3 &a_rVec3) const; + void Delete() + { + delete this; + } - void Delete() - { - delete this; - } public: - TINT m_iReferenceCount; // 0x0 - Toshi::TArray m_oValues; // 0x4 -}; \ No newline at end of file + TINT m_iReferenceCount; // 0x0 + Toshi::TArray m_oValues; // 0x4 +}; diff --git a/Toshi/Plugins/Source/PPropertyParser/PProperties.cpp b/Toshi/Plugins/Source/PPropertyParser/PProperties.cpp index 2682ce3..2a33caf 100644 --- a/Toshi/Plugins/Source/PPropertyParser/PProperties.cpp +++ b/Toshi/Plugins/Source/PPropertyParser/PProperties.cpp @@ -182,4 +182,4 @@ const PPropertyValue *PProperties::GetProperty(const TPCString &a_rPropertyName, const PPropertyValue *PProperties::GetProperty(const TPCString &a_rPropertyName) const { return GetProperty(PPropertyName(a_rPropertyName)); -} \ No newline at end of file +} diff --git a/Toshi/Plugins/Source/PPropertyParser/PPropertyBlock.cpp b/Toshi/Plugins/Source/PPropertyParser/PPropertyBlock.cpp index e35e0e1..ab3e831 100644 --- a/Toshi/Plugins/Source/PPropertyParser/PPropertyBlock.cpp +++ b/Toshi/Plugins/Source/PPropertyParser/PPropertyBlock.cpp @@ -3,4 +3,3 @@ TOSHI_NAMESPACE_USING IMPLEMENT_DYNAMIC(PPropertyBlock, TObject); - diff --git a/Toshi/Plugins/Source/PPropertyParser/PPropertyName.cpp b/Toshi/Plugins/Source/PPropertyParser/PPropertyName.cpp index 4212e61..b82d4c0 100644 --- a/Toshi/Plugins/Source/PPropertyParser/PPropertyName.cpp +++ b/Toshi/Plugins/Source/PPropertyParser/PPropertyName.cpp @@ -5,24 +5,24 @@ TOSHI_NAMESPACE_USING Toshi::TPCString PPropertyName::GetString() const { - TWString string(m_oName->GetString()); - if (!m_oSubName->IsEmpty()) { - string += TWString("[" + m_oSubName + "]"); - } - return Toshi::TSystem::GetCStringPool()->Get(TCString(string)); + TWString string(m_oName->GetString()); + if (!m_oSubName->IsEmpty()) { + string += TWString("[" + m_oSubName + "]"); + } + return Toshi::TSystem::GetCStringPool()->Get(TCString(string)); } // Example: a_rString = Name[SubName] void PPropertyName::Split(const Toshi::TPCString &a_rString) { - TINT indexOpenSQR = a_rString->Find('['); - if (indexOpenSQR == -1) { - return; - } - m_oName = Toshi::TSystem::GetCStringPool()->Get(a_rString->Mid(0, indexOpenSQR)); - TINT indexCloseSQR = a_rString->Find(']'); - if (indexCloseSQR == -1) { - return; - } - m_oSubName = Toshi::TSystem::GetCStringPool()->Get(a_rString->Mid(indexOpenSQR + 1, (indexCloseSQR - indexOpenSQR) - 1)); + TINT indexOpenSQR = a_rString->Find('['); + if (indexOpenSQR == -1) { + return; + } + m_oName = Toshi::TSystem::GetCStringPool()->Get(a_rString->Mid(0, indexOpenSQR)); + TINT indexCloseSQR = a_rString->Find(']'); + if (indexCloseSQR == -1) { + return; + } + m_oSubName = Toshi::TSystem::GetCStringPool()->Get(a_rString->Mid(indexOpenSQR + 1, (indexCloseSQR - indexOpenSQR) - 1)); } diff --git a/Toshi/Plugins/Source/PPropertyParser/PPropertyReader.cpp b/Toshi/Plugins/Source/PPropertyParser/PPropertyReader.cpp index b71c30c..9a4dc32 100644 --- a/Toshi/Plugins/Source/PPropertyParser/PPropertyReader.cpp +++ b/Toshi/Plugins/Source/PPropertyParser/PPropertyReader.cpp @@ -2,9 +2,9 @@ PPropertyReader::PPropertyReader() { - m_pFile = TNULL; - m_pLexer = TNULL; - m_bLoadComments = TFALSE; + m_pFile = TNULL; + m_pLexer = TNULL; + m_bLoadComments = TFALSE; m_bAssertOnError = TTRUE; } @@ -20,7 +20,7 @@ void PPropertyReader::Close() } } -void PPropertyReader::Error(const Toshi::TCString& a_sMsg) +void PPropertyReader::Error(const Toshi::TCString &a_sMsg) { TDPRINTF("%s : error: %s\n", m_szFileName.GetString(), a_sMsg.GetString()); if (m_bAssertOnError) { @@ -99,7 +99,7 @@ TBOOL PPropertyReader::GetValue(PPropertyValue &a_rValue) PPropertyValue PPropertyReader::Token2Value(const Toshi::TFileLexer::Token &a_rToken) { - static TINT s_boolFlags = 0; + static TINT s_boolFlags = 0; static Toshi::TPCString s_true; static Toshi::TPCString s_false; // PENDING: true and false is unicode @@ -139,8 +139,8 @@ TBOOL PPropertyReader::LoadProperty(PProperties *a_pProperty) { TASSERT(m_pLexer != TNULL); do { - Toshi::TFileLexer::Token token = m_pLexer->PeekNextToken(0); - Toshi::TFileLexer::TokenType type = token.GetType(); + Toshi::TFileLexer::Token token = m_pLexer->PeekNextToken(0); + Toshi::TFileLexer::TokenType type = token.GetType(); if (type == Toshi::TFileLexer::TOKEN_CLOSEBRACE) { if (m_oPropertyBlock.GetNumElements() > 0) { m_oPropertyBlock.Pop(); @@ -156,13 +156,13 @@ TBOOL PPropertyReader::LoadProperty(PProperties *a_pProperty) } return TFALSE; } - if (type != Toshi::TFileLexer::TOKEN_IDENT && - type != Toshi::TFileLexer::TOKEN_STRING && - type != Toshi::TFileLexer::TOKEN_COMMENT) { + if (type != Toshi::TFileLexer::TOKEN_IDENT && + type != Toshi::TFileLexer::TOKEN_STRING && + type != Toshi::TFileLexer::TOKEN_COMMENT) { return TTRUE; } Toshi::TFileLexer::Token commentToken = token; - Toshi::TPCString comment; + Toshi::TPCString comment; while (commentToken.GetType() == Toshi::TFileLexer::TOKEN_COMMENT) { comment = commentToken.GetString(); m_pLexer->GetNextToken(); @@ -173,8 +173,8 @@ TBOOL PPropertyReader::LoadProperty(PProperties *a_pProperty) if (!LoadPropertyName(name, subName)) { return TFALSE; } - PPropertyName propertyName = PPropertyName(name, subName); - Toshi::TFileLexer::Token nextToken = m_pLexer->GetNextToken(); + PPropertyName propertyName = PPropertyName(name, subName); + Toshi::TFileLexer::Token nextToken = m_pLexer->GetNextToken(); if (nextToken.GetType() == Toshi::TFileLexer::TOKEN_OPENBRACE) { m_oPropertyBlock.Push(a_pProperty); PProperties *prop = new PProperties(a_pProperty); @@ -239,9 +239,9 @@ TBOOL PPropertyReader::LoadPropertyName(Toshi::TPCString &a_rName, Toshi::TPCStr { TASSERT(m_pLexer != TNULL); Toshi::TFileLexer::Token nextToken = m_pLexer->GetNextToken(); - Toshi::TFileLexer::Token curToken = m_pLexer->PeekNextToken(0); + Toshi::TFileLexer::Token curToken = m_pLexer->PeekNextToken(0); if (nextToken.GetType() != Toshi::TFileLexer::TOKEN_IDENT && - nextToken.GetType() != Toshi::TFileLexer::TOKEN_STRING) { + nextToken.GetType() != Toshi::TFileLexer::TOKEN_STRING) { Error("Expecting property name to be identifer"); return TFALSE; } @@ -255,7 +255,7 @@ TBOOL PPropertyReader::LoadPropertyName(Toshi::TPCString &a_rName, Toshi::TPCStr return TFALSE; } if (tokenSubName.GetType() == Toshi::TFileLexer::TOKEN_IDENT || - tokenSubName.GetType() == Toshi::TFileLexer::TOKEN_STRING) { + tokenSubName.GetType() == Toshi::TFileLexer::TOKEN_STRING) { a_rSubName = tokenSubName.GetString(); } else { @@ -269,17 +269,17 @@ TBOOL PPropertyReader::LoadPropertyName(Toshi::TPCString &a_rName, Toshi::TPCStr return TTRUE; } -TBOOL PPropertyReader::Open(const Toshi::TCString& a_rFileName, Toshi::TFile* a_pFile) +TBOOL PPropertyReader::Open(const Toshi::TCString &a_rFileName, Toshi::TFile *a_pFile) { m_szFileName = a_rFileName; Close(); - m_pFile = a_pFile; + m_pFile = a_pFile; m_pLexer = new Toshi::TFileLexerUTF8(m_pFile, 2); m_pLexer->SetOutputComments(m_bLoadComments); return TTRUE; } -TBOOL PPropertyReader::Open(const Toshi::TCString& a_rFileName) +TBOOL PPropertyReader::Open(const Toshi::TCString &a_rFileName) { m_szFileName = a_rFileName; Close(); @@ -293,7 +293,7 @@ TBOOL PPropertyReader::Open(const Toshi::TCString& a_rFileName) return TTRUE; } -void PPropertyReader::Warning(const Toshi::TCString& a_sMsg) +void PPropertyReader::Warning(const Toshi::TCString &a_sMsg) { TDPRINTF("%s : warning: %s\n", m_szFileName.GetString(), a_sMsg.GetString()); } diff --git a/Toshi/Plugins/Source/PPropertyParser/PPropertyValue.cpp b/Toshi/Plugins/Source/PPropertyParser/PPropertyValue.cpp index db3e72c..053a360 100644 --- a/Toshi/Plugins/Source/PPropertyParser/PPropertyValue.cpp +++ b/Toshi/Plugins/Source/PPropertyParser/PPropertyValue.cpp @@ -17,433 +17,433 @@ const TClass *PPropertyValue::TYPE_UNDEF = TNULL; PPropertyValue::PPropertyValue() { - m_type = TYPE_UNDEF; + m_type = TYPE_UNDEF; } PPropertyValue::PPropertyValue(TINT a_int) { - m_type = TYPE_INT; - m_valueInt = a_int; + m_type = TYPE_INT; + m_valueInt = a_int; } PPropertyValue::PPropertyValue(TUINT a_uint) { - m_type = TYPE_UINT32; - m_valueUInt = a_uint; + m_type = TYPE_UINT32; + m_valueUInt = a_uint; } PPropertyValue::PPropertyValue(TFLOAT a_float) { - m_type = TYPE_FLOAT; - m_valueFloat = a_float; + m_type = TYPE_FLOAT; + m_valueFloat = a_float; } PPropertyValue::PPropertyValue(const Toshi::TPCString &a_rPCString) { - m_type = TYPE_TPCSTRING; - m_valueInt = 0; - GetTPCString() = a_rPCString; + m_type = TYPE_TPCSTRING; + m_valueInt = 0; + GetTPCString() = a_rPCString; } PPropertyValue::PPropertyValue(const PPropertyName &a_rPropname) { - m_type = TYPE_PROPNAME; - m_valueName = new PPropertyName(a_rPropname); + m_type = TYPE_PROPNAME; + m_valueName = new PPropertyName(a_rPropname); } PPropertyValue::PPropertyValue(PProperties *props) { - m_type = TYPE_PROPS; - m_valueProps = TNULL; - m_valueProps = props; + m_type = TYPE_PROPS; + m_valueProps = TNULL; + m_valueProps = props; } PPropertyValue::PPropertyValue(const PPropertyValue &a_rOther) { - m_type = TYPE_UNDEF; - Assign(a_rOther); + m_type = TYPE_UNDEF; + Assign(a_rOther); } PPropertyValue::~PPropertyValue() { - if (m_type == TYPE_TPCSTRING) { - GetTPCString().~TPCString(); - } - else if (m_type == TYPE_PROPS) { - delete GetPropertiesMP(); - } + if (m_type == TYPE_TPCSTRING) { + GetTPCString().~TPCString(); + } + else if (m_type == TYPE_PROPS) { + delete GetPropertiesMP(); + } } void PPropertyValue::Assign(const PPropertyValue &a_rValue) { - ChangeType(a_rValue.m_type); - if (m_type == TYPE_TPCSTRING) { - GetTPCString() = a_rValue.GetTPCString(); - } - else if (m_type == TYPE_INT) { - m_valueInt = a_rValue.GetInteger(); - } - else if (m_type == TYPE_UINT32) { - m_valueUInt = a_rValue.GetUINT32(); - } - else if (m_type == TYPE_FLOAT) { - m_valueFloat = a_rValue.GetFloat(); - } - else if (m_type == TYPE_BOOL) { - m_valueBool = a_rValue.GetBoolean(); - } - else if (m_type == TYPE_PROPS) { - PProperties *props = GetPropertiesMP(); - PProperties *otherProps = a_rValue.m_type == TYPE_PROPS ? a_rValue.m_valueProps : TNULL; - if (props != otherProps) { - if (props) { - delete props; - } - props = otherProps; - if (otherProps) { - //otherProps->m_iPropCount++; - } - } - } - else if (m_type == TYPE_PROPNAME) { - m_valueName = new PPropertyName(a_rValue.GetPropertyName()); - } - else if (m_type == TYPE_ARRAY) { - PPropertyValueArray *arr = GetPropArrayMP(); - PPropertyValueArray *otherArr = a_rValue.GetArray(); - if (arr != otherArr) { - if (arr) { - arr->Delete(); - } - arr = otherArr; - if (otherArr) { - otherArr->m_iReferenceCount++; - } - } - } + ChangeType(a_rValue.m_type); + if (m_type == TYPE_TPCSTRING) { + GetTPCString() = a_rValue.GetTPCString(); + } + else if (m_type == TYPE_INT) { + m_valueInt = a_rValue.GetInteger(); + } + else if (m_type == TYPE_UINT32) { + m_valueUInt = a_rValue.GetUINT32(); + } + else if (m_type == TYPE_FLOAT) { + m_valueFloat = a_rValue.GetFloat(); + } + else if (m_type == TYPE_BOOL) { + m_valueBool = a_rValue.GetBoolean(); + } + else if (m_type == TYPE_PROPS) { + PProperties *props = GetPropertiesMP(); + PProperties *otherProps = a_rValue.m_type == TYPE_PROPS ? a_rValue.m_valueProps : TNULL; + if (props != otherProps) { + if (props) { + delete props; + } + props = otherProps; + if (otherProps) { + //otherProps->m_iPropCount++; + } + } + } + else if (m_type == TYPE_PROPNAME) { + m_valueName = new PPropertyName(a_rValue.GetPropertyName()); + } + else if (m_type == TYPE_ARRAY) { + PPropertyValueArray *arr = GetPropArrayMP(); + PPropertyValueArray *otherArr = a_rValue.GetArray(); + if (arr != otherArr) { + if (arr) { + arr->Delete(); + } + arr = otherArr; + if (otherArr) { + otherArr->m_iReferenceCount++; + } + } + } } TBOOL PPropertyValue::ChangeType(const TClass *a_pType) { - if (m_type == a_pType) { - return TFALSE; - } - if (m_type == TYPE_TPCSTRING) { - GetTPCString().~TPCString(); - } - else if (m_type == TYPE_PROPS) { - delete GetPropertiesMP(); - } - else if (m_type == TYPE_ARRAY) { - delete GetPropArrayMP(); - } - else if (m_type == TYPE_PROPNAME) { - delete m_valueName; - } - if (a_pType == TYPE_TPCSTRING) { - m_valueInt = 0; - } - else if (a_pType == TYPE_PROPS) { - m_valueProps = TNULL; - } - else if (a_pType == TYPE_ARRAY) { - m_valueArray = TNULL; - } - else if (a_pType == TYPE_PROPNAME) { - m_valueName = TNULL; - } - // TODO implement all types - m_type = a_pType; - return TTRUE; + if (m_type == a_pType) { + return TFALSE; + } + if (m_type == TYPE_TPCSTRING) { + GetTPCString().~TPCString(); + } + else if (m_type == TYPE_PROPS) { + delete GetPropertiesMP(); + } + else if (m_type == TYPE_ARRAY) { + delete GetPropArrayMP(); + } + else if (m_type == TYPE_PROPNAME) { + delete m_valueName; + } + if (a_pType == TYPE_TPCSTRING) { + m_valueInt = 0; + } + else if (a_pType == TYPE_PROPS) { + m_valueProps = TNULL; + } + else if (a_pType == TYPE_ARRAY) { + m_valueArray = TNULL; + } + else if (a_pType == TYPE_PROPNAME) { + m_valueName = TNULL; + } + // TODO implement all types + m_type = a_pType; + return TTRUE; } TBOOL PPropertyValue::CanBeType(const TClass *a_type) const { - return TBOOL(); + return TBOOL(); } TINT PPropertyValue::GetInteger() const { - if (m_type == TYPE_INT) { - return m_valueInt; - } - if (m_type != TYPE_UINT32) { - if (m_type != TYPE_FLOAT) { - return 0; - } - return m_valueFloat; - } - return m_valueInt; + if (m_type == TYPE_INT) { + return m_valueInt; + } + if (m_type != TYPE_UINT32) { + if (m_type != TYPE_FLOAT) { + return 0; + } + return m_valueFloat; + } + return m_valueInt; } TUINT PPropertyValue::GetUINT32() const { - if (m_type == TYPE_INT) { - return m_valueInt; - } - if (m_type != TYPE_UINT32) { - if (m_type != TYPE_FLOAT) { - return 0; - } - return m_valueFloat; - } - return m_valueUInt; + if (m_type == TYPE_INT) { + return m_valueInt; + } + if (m_type != TYPE_UINT32) { + if (m_type != TYPE_FLOAT) { + return 0; + } + return m_valueFloat; + } + return m_valueUInt; } TFLOAT PPropertyValue::GetFloat() const { - if (m_type == TYPE_INT) { - return m_valueInt; - } - if (m_type != TYPE_UINT32) { - if (m_type != TYPE_FLOAT) { - return 0.0f; - } - return m_valueFloat; - } - return TMAX(m_valueFloat, 0.0f); + if (m_type == TYPE_INT) { + return m_valueInt; + } + if (m_type != TYPE_UINT32) { + if (m_type != TYPE_FLOAT) { + return 0.0f; + } + return m_valueFloat; + } + return TMAX(m_valueFloat, 0.0f); } TBOOL PPropertyValue::GetBoolean() const { - if (m_type == TYPE_INT) { - return m_valueInt != 0; - } - if (m_type == TYPE_UINT32) { - return m_valueUInt != 0; - } - if (m_type == TYPE_FLOAT) { - return m_valueFloat != 0.0f; - } - if (m_type != TYPE_BOOL) { - return TFALSE; - } - return m_valueBool; + if (m_type == TYPE_INT) { + return m_valueInt != 0; + } + if (m_type == TYPE_UINT32) { + return m_valueUInt != 0; + } + if (m_type == TYPE_FLOAT) { + return m_valueFloat != 0.0f; + } + if (m_type != TYPE_BOOL) { + return TFALSE; + } + return m_valueBool; } Toshi::TObject *PPropertyValue::GetTObject() const { - TASSERT(m_type != TYPE_INT && m_type != TYPE_UINT32 && - m_type != TYPE_FLOAT && m_type != TYPE_BOOL && - m_type != TYPE_TPCSTRING && m_type != TYPE_TPWSTRING && - m_type != TYPE_TLSTRING && m_type != TYPE_PROPS && - m_type != TYPE_PROPNAME && m_type != TYPE_ARRAY); - if (m_type != TYPE_UNDEF) { - return m_pObject; - } - return TNULL; + TASSERT(m_type != TYPE_INT && m_type != TYPE_UINT32 && + m_type != TYPE_FLOAT && m_type != TYPE_BOOL && + m_type != TYPE_TPCSTRING && m_type != TYPE_TPWSTRING && + m_type != TYPE_TLSTRING && m_type != TYPE_PROPS && + m_type != TYPE_PROPNAME && m_type != TYPE_ARRAY); + if (m_type != TYPE_UNDEF) { + return m_pObject; + } + return TNULL; } const Toshi::TPCString &PPropertyValue::GetTPCString() const { - static TBYTE s_firstTime = 0; - static TPCString s_pEmptyString; - if ((s_firstTime & 1) == 0) { - s_firstTime |= 1; - s_pEmptyString = TPCString(); - } - if (m_type != TYPE_TPCSTRING) { - return s_pEmptyString; - } - return m_PCString; + static TBYTE s_firstTime = 0; + static TPCString s_pEmptyString; + if ((s_firstTime & 1) == 0) { + s_firstTime |= 1; + s_pEmptyString = TPCString(); + } + if (m_type != TYPE_TPCSTRING) { + return s_pEmptyString; + } + return m_PCString; } Toshi::TPCString &PPropertyValue::GetTPCString() { - static TBYTE s_firstTime = 0; - static TPCString s_pEmptyString; - if ((s_firstTime & 1) == 0) { - s_firstTime |= 1; - s_pEmptyString = TPCString(); - } - if (m_type != TYPE_TPCSTRING) { - return s_pEmptyString; - } - return m_PCString; + static TBYTE s_firstTime = 0; + static TPCString s_pEmptyString; + if ((s_firstTime & 1) == 0) { + s_firstTime |= 1; + s_pEmptyString = TPCString(); + } + if (m_type != TYPE_TPCSTRING) { + return s_pEmptyString; + } + return m_PCString; } void PPropertyValue::SetPropertyName(const PPropertyName &a_rName) { - ChangeType(TYPE_PROPNAME); - m_valueName = new PPropertyName(a_rName); + ChangeType(TYPE_PROPNAME); + m_valueName = new PPropertyName(a_rName); } const PPropertyName &PPropertyValue::GetPropertyName() const { - TASSERT(m_type == TYPE_PROPNAME); - return *m_valueName; + TASSERT(m_type == TYPE_PROPNAME); + return *m_valueName; } void PPropertyValue::SetArray(PPropertyValueArray *a_pArray) { - ChangeType(TYPE_ARRAY); - m_valueArray = a_pArray; + ChangeType(TYPE_ARRAY); + m_valueArray = a_pArray; } PPropertyValueArray::PPropertyValueArray() { - m_iReferenceCount = 0; + m_iReferenceCount = 0; } PPropertyValueArray::PPropertyValueArray(TINT a_iCount) { - m_iReferenceCount = 0; - m_oValues = TArray(a_iCount, a_iCount); + m_iReferenceCount = 0; + m_oValues = TArray(a_iCount, a_iCount); } PPropertyValueArray::PPropertyValueArray(PPropertyValue *a_pValues, TINT a_iCount) { - m_iReferenceCount = 0; - m_oValues = TArray(a_iCount, 0); - for (int i = 0; i < a_iCount; i++) { - m_oValues.Push(a_pValues[i]); - } + m_iReferenceCount = 0; + m_oValues = TArray(a_iCount, 0); + for (int i = 0; i < a_iCount; i++) { + m_oValues.Push(a_pValues[i]); + } } TBOOL PPropertyValueArray::CanBeTypeArray(const TClass *a_type, TINT a_iCount) const { - if (a_iCount != -1 && m_oValues.GetNumAllocElements() != a_iCount) { - return TFALSE; - } - for (TINT i = 0; i < m_oValues.GetNumAllocElements(); i++) { - if (!m_oValues[i].CanBeType(a_type)) { - return TFALSE; - } - } - return TTRUE; + if (a_iCount != -1 && m_oValues.GetNumAllocElements() != a_iCount) { + return TFALSE; + } + for (TINT i = 0; i < m_oValues.GetNumAllocElements(); i++) { + if (!m_oValues[i].CanBeType(a_type)) { + return TFALSE; + } + } + return TTRUE; } TBOOL PPropertyValueArray::GetTQuaternion(TQuaternion &a_rQuat) const { - if (!CanBeTypeArray(PPropertyValue::TYPE_FLOAT, 4)) { - return TFALSE; - } - const TClass *type = m_oValues[0].GetType(); - TFLOAT fValue = 0.0f; - if (type == PPropertyValue::TYPE_INT) { - fValue = m_oValues[0].GetInteger(); - } - if (type == PPropertyValue::TYPE_UINT32) { - fValue = m_oValues[0].GetUINT32(); - } - if (type == PPropertyValue::TYPE_FLOAT) { - fValue = m_oValues[0].GetFloat(); - } - //a_rQuat[0] = fValue; - type = m_oValues[1].GetType(); - fValue = 0.0f; - if (type == PPropertyValue::TYPE_INT) { - fValue = m_oValues[1].GetInteger(); - } - if (type == PPropertyValue::TYPE_UINT32) { - fValue = m_oValues[1].GetUINT32(); - } - if (type == PPropertyValue::TYPE_FLOAT) { - fValue = m_oValues[1].GetFloat(); - } - //a_rQuat[1] = fValue; - type = m_oValues[2].GetType(); - fValue = 0.0f; - if (type == PPropertyValue::TYPE_INT) { - fValue = m_oValues[2].GetInteger(); - } - if (type == PPropertyValue::TYPE_UINT32) { - fValue = m_oValues[2].GetUINT32(); - } - if (type == PPropertyValue::TYPE_FLOAT) { - fValue = m_oValues[2].GetFloat(); - } - //a_rQuat[2] = fValue; - type = m_oValues[3].GetType(); - fValue = 0.0f; - if (type == PPropertyValue::TYPE_INT) { - fValue = m_oValues[3].GetInteger(); - } - else if (type == PPropertyValue::TYPE_UINT32) { - fValue = m_oValues[3].GetUINT32(); - } - else if (type == PPropertyValue::TYPE_FLOAT) { - fValue = m_oValues[3].GetFloat(); - } - else { - fValue = 0.0f; - } - //a_rQuat[3] = fValue; - return TTRUE; + if (!CanBeTypeArray(PPropertyValue::TYPE_FLOAT, 4)) { + return TFALSE; + } + const TClass *type = m_oValues[0].GetType(); + TFLOAT fValue = 0.0f; + if (type == PPropertyValue::TYPE_INT) { + fValue = TFLOAT(m_oValues[0].GetInteger()); + } + if (type == PPropertyValue::TYPE_UINT32) { + fValue = TFLOAT(m_oValues[0].GetUINT32()); + } + if (type == PPropertyValue::TYPE_FLOAT) { + fValue = m_oValues[0].GetFloat(); + } + //a_rQuat[0] = fValue; + type = m_oValues[1].GetType(); + fValue = 0.0f; + if (type == PPropertyValue::TYPE_INT) { + fValue = TFLOAT(m_oValues[1].GetInteger()); + } + if (type == PPropertyValue::TYPE_UINT32) { + fValue = TFLOAT(m_oValues[1].GetUINT32()); + } + if (type == PPropertyValue::TYPE_FLOAT) { + fValue = m_oValues[1].GetFloat(); + } + //a_rQuat[1] = fValue; + type = m_oValues[2].GetType(); + fValue = 0.0f; + if (type == PPropertyValue::TYPE_INT) { + fValue = TFLOAT(m_oValues[2].GetInteger()); + } + if (type == PPropertyValue::TYPE_UINT32) { + fValue = TFLOAT(m_oValues[2].GetUINT32()); + } + if (type == PPropertyValue::TYPE_FLOAT) { + fValue = m_oValues[2].GetFloat(); + } + //a_rQuat[2] = fValue; + type = m_oValues[3].GetType(); + fValue = 0.0f; + if (type == PPropertyValue::TYPE_INT) { + fValue = TFLOAT(m_oValues[3].GetInteger()); + } + else if (type == PPropertyValue::TYPE_UINT32) { + fValue = TFLOAT(m_oValues[3].GetUINT32()); + } + else if (type == PPropertyValue::TYPE_FLOAT) { + fValue = m_oValues[3].GetFloat(); + } + else { + fValue = 0.0f; + } + //a_rQuat[3] = fValue; + return TTRUE; } TBOOL PPropertyValueArray::GetTVector2(Toshi::TVector2 &a_rVec2) const { - if (!CanBeTypeArray(PPropertyValue::TYPE_FLOAT, 2)) { - return TFALSE; - } - const TClass *type = m_oValues[0].GetType(); - TFLOAT fValue = 0.0f; - if (type == PPropertyValue::TYPE_INT) { - fValue = m_oValues[0].GetInteger(); - } - if (type == PPropertyValue::TYPE_UINT32) { - fValue = m_oValues[0].GetUINT32(); - } - if (type == PPropertyValue::TYPE_FLOAT) { - fValue = m_oValues[0].GetFloat(); - } - a_rVec2(0) = fValue; - type = m_oValues[1].GetType(); - fValue = 0.0f; - if (type == PPropertyValue::TYPE_INT) { - fValue = m_oValues[1].GetInteger(); - } - if (type == PPropertyValue::TYPE_UINT32) { - fValue = m_oValues[1].GetUINT32(); - } - if (type == PPropertyValue::TYPE_FLOAT) { - fValue = m_oValues[1].GetFloat(); - } - a_rVec2(1) = fValue; - return TTRUE; + if (!CanBeTypeArray(PPropertyValue::TYPE_FLOAT, 2)) { + return TFALSE; + } + const TClass *type = m_oValues[0].GetType(); + TFLOAT fValue = 0.0f; + if (type == PPropertyValue::TYPE_INT) { + fValue = TFLOAT(m_oValues[0].GetInteger()); + } + if (type == PPropertyValue::TYPE_UINT32) { + fValue = TFLOAT(m_oValues[0].GetUINT32()); + } + if (type == PPropertyValue::TYPE_FLOAT) { + fValue = m_oValues[0].GetFloat(); + } + a_rVec2(0) = fValue; + type = m_oValues[1].GetType(); + fValue = 0.0f; + if (type == PPropertyValue::TYPE_INT) { + fValue = TFLOAT(m_oValues[1].GetInteger()); + } + if (type == PPropertyValue::TYPE_UINT32) { + fValue = TFLOAT(m_oValues[1].GetUINT32()); + } + if (type == PPropertyValue::TYPE_FLOAT) { + fValue = m_oValues[1].GetFloat(); + } + a_rVec2(1) = fValue; + return TTRUE; } TBOOL PPropertyValueArray::GetTVector3(Toshi::TVector3 &a_rVec3) const { - if (!CanBeTypeArray(PPropertyValue::TYPE_FLOAT, 3)) { - return TFALSE; - } - const TClass *type = m_oValues[0].GetType(); - TFLOAT fValue = 0.0f; - if (type == PPropertyValue::TYPE_INT) { - fValue = m_oValues[0].GetInteger(); - } - if (type == PPropertyValue::TYPE_UINT32) { - fValue = m_oValues[0].GetUINT32(); - } - if (type == PPropertyValue::TYPE_FLOAT) { - fValue = m_oValues[0].GetFloat(); - } - a_rVec3(0) = fValue; - type = m_oValues[1].GetType(); - fValue = 0.0f; - if (type == PPropertyValue::TYPE_INT) { - fValue = m_oValues[1].GetInteger(); - } - if (type == PPropertyValue::TYPE_UINT32) { - fValue = m_oValues[1].GetUINT32(); - } - if (type == PPropertyValue::TYPE_FLOAT) { - fValue = m_oValues[1].GetFloat(); - } - a_rVec3(1) = fValue; - type = m_oValues[2].GetType(); - fValue = 0.0f; - if (type == PPropertyValue::TYPE_INT) { - fValue = m_oValues[2].GetInteger(); - } - if (type == PPropertyValue::TYPE_UINT32) { - fValue = m_oValues[2].GetUINT32(); - } - if (type == PPropertyValue::TYPE_FLOAT) { - fValue = m_oValues[2].GetFloat(); - } - a_rVec3(2) = fValue; - return TTRUE; + if (!CanBeTypeArray(PPropertyValue::TYPE_FLOAT, 3)) { + return TFALSE; + } + const TClass *type = m_oValues[0].GetType(); + TFLOAT fValue = 0.0f; + if (type == PPropertyValue::TYPE_INT) { + fValue = TFLOAT(m_oValues[0].GetInteger()); + } + if (type == PPropertyValue::TYPE_UINT32) { + fValue = TFLOAT(m_oValues[0].GetUINT32()); + } + if (type == PPropertyValue::TYPE_FLOAT) { + fValue = m_oValues[0].GetFloat(); + } + a_rVec3(0) = fValue; + type = m_oValues[1].GetType(); + fValue = 0.0f; + if (type == PPropertyValue::TYPE_INT) { + fValue = TFLOAT(m_oValues[1].GetInteger()); + } + if (type == PPropertyValue::TYPE_UINT32) { + fValue = TFLOAT(m_oValues[1].GetUINT32()); + } + if (type == PPropertyValue::TYPE_FLOAT) { + fValue = m_oValues[1].GetFloat(); + } + a_rVec3(1) = fValue; + type = m_oValues[2].GetType(); + fValue = 0.0f; + if (type == PPropertyValue::TYPE_INT) { + fValue = TFLOAT(m_oValues[2].GetInteger()); + } + if (type == PPropertyValue::TYPE_UINT32) { + fValue = TFLOAT(m_oValues[2].GetUINT32()); + } + if (type == PPropertyValue::TYPE_FLOAT) { + fValue = m_oValues[2].GetFloat(); + } + a_rVec3(2) = fValue; + return TTRUE; } diff --git a/Toshi/Source/TApplication/TApplication.cpp b/Toshi/Source/TApplication/TApplication.cpp index a102cbc..7fbb2e2 100644 --- a/Toshi/Source/TApplication/TApplication.cpp +++ b/Toshi/Source/TApplication/TApplication.cpp @@ -5,9 +5,9 @@ TOSHI_NAMESPACE_USING HWND GetConsoleHandle() { - HWND hwnd; - TCHAR pszWindowTitle[512]; - TCHAR time[24]; + HWND hwnd; + TCHAR pszWindowTitle[512]; + TCHAR time[24]; TCString szWindowTitle("{1B5D8052-529A-4c88-9DDE-EE523D440B00}"); _ultoa(timeGetTime(), time, 16); szWindowTitle += time; @@ -21,12 +21,12 @@ HWND GetConsoleHandle() TApplication::TApplication() { - m_pKernel = TNULL; - m_uiState = 0; - m_bVerbose = TTRUE; + m_pKernel = TNULL; + m_uiState = 0; + m_bVerbose = TTRUE; m_bShowConsole = TTRUE; - m_hConsole = new HWND(); - *m_hConsole = GetConsoleHandle(); + m_hConsole = new HWND(); + *m_hConsole = GetConsoleHandle(); } TApplication::~TApplication() @@ -38,7 +38,7 @@ TApplication::~TApplication() #endif } -TBOOL TApplication::Create(TPCCHAR a_pcName, TINT argc, TPCHAR* const argv) +TBOOL TApplication::Create(TPCCHAR a_pcName, TINT argc, TPCHAR *const argv) { m_pcName = a_pcName; #ifdef TOSHI_NOTFINAL @@ -50,7 +50,7 @@ TBOOL TApplication::Create(TPCCHAR a_pcName, TINT argc, TPCHAR* const argv) TDPRINTF("Command line parameters: %d.\n", argc); for (TINT i = 0; i < argc; i++) { - TDPRINTF(" Arg[%d]: \"%s\"\n", i, argv[i+1]); + TDPRINTF(" Arg[%d]: \"%s\"\n", i, argv[i + 1]); } } } @@ -61,7 +61,7 @@ TBOOL TApplication::Create(TPCCHAR a_pcName, TINT argc, TPCHAR* const argv) TBOOL TApplication::Execute() { - TASSERT(TTRUE==TApplication::IsCreated()); + TASSERT(TTRUE == TApplication::IsCreated()); while (m_pKernel->Update()) { if (!OnUpdate(m_pKernel->GetSystemTimer()->GetDelta()) || HASFLAG(m_uiState & TApplicationFlag_Destroyed)) break; @@ -73,7 +73,7 @@ TBOOL TApplication::ShowConsole(TBOOL a_bShowConsole) { ShowWindow(*m_hConsole, a_bShowConsole); UpdateWindow(*m_hConsole); - TBOOL show = m_bShowConsole; + TBOOL show = m_bShowConsole; m_bShowConsole = a_bShowConsole; return show; } diff --git a/Toshi/Source/TGui/TGUIActionMap.cpp b/Toshi/Source/TGui/TGUIActionMap.cpp index 559b2bc..dd94c54 100644 --- a/Toshi/Source/TGui/TGUIActionMap.cpp +++ b/Toshi/Source/TGui/TGUIActionMap.cpp @@ -12,4 +12,4 @@ void TGUIActionMap::AddActionMapping(TINT a_iDoodad, TUINT a_uiAction) { } -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Source/TGui/TGUIDeserialisable.cpp b/Toshi/Source/TGui/TGUIDeserialisable.cpp index 2d3b1f5..db7e547 100644 --- a/Toshi/Source/TGui/TGUIDeserialisable.cpp +++ b/Toshi/Source/TGui/TGUIDeserialisable.cpp @@ -6,4 +6,4 @@ IMPLEMENT_DYNAMIC(TGUIDeserialisable, TObject); -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Source/TGui/TGUIInterface.cpp b/Toshi/Source/TGui/TGUIInterface.cpp index e51b49f..7e31e96 100644 --- a/Toshi/Source/TGui/TGUIInterface.cpp +++ b/Toshi/Source/TGui/TGUIInterface.cpp @@ -36,4 +36,4 @@ void TGUIInterface::Create() m_oActionMap.AddActionMapping(0x20005, 2); } -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Source/TGui/TGUIMemory.cpp b/Toshi/Source/TGui/TGUIMemory.cpp index 1412090..7ee4a33 100644 --- a/Toshi/Source/TGui/TGUIMemory.cpp +++ b/Toshi/Source/TGui/TGUIMemory.cpp @@ -4,16 +4,16 @@ TOSHI_NAMESPACE_BEGIN TBOOL TGUIMemory::ms_bAllocUsePile = TTRUE; -TPile TGUIMemory::ms_oMemoryPile = TPile(0x8000, 0x100000, 0); +TPile TGUIMemory::ms_oMemoryPile = TPile(0x8000, 0x100000, 0); -void* TOSHI_API TGUINew(TUINT a_uiSize) +void *TOSHI_API TGUINew(TUINT a_uiSize) { if (TGUIMemory::ms_bAllocUsePile) { } return tmalloc(a_uiSize, TNULL, -1); } -void* TOSHI_API TGUIDelete(void* a_pMemory) +void *TOSHI_API TGUIDelete(void *a_pMemory) { return TNULL; } @@ -23,4 +23,4 @@ void TOSHI_API TGUISetUseMemoryPile(TBOOL a_bEnable) TGUIMemory::ms_bAllocUsePile = a_bEnable; } -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Source/TGui/TGUIScreen.cpp b/Toshi/Source/TGui/TGUIScreen.cpp index 01a7b04..16c4567 100644 --- a/Toshi/Source/TGui/TGUIScreen.cpp +++ b/Toshi/Source/TGui/TGUIScreen.cpp @@ -6,4 +6,4 @@ IMPLEMENT_DYNAMIC(TGUIScreen, TGUIWidget); -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Source/TGui/TGuiWidget.cpp b/Toshi/Source/TGui/TGuiWidget.cpp index c78a449..643cb5b 100644 --- a/Toshi/Source/TGui/TGuiWidget.cpp +++ b/Toshi/Source/TGui/TGuiWidget.cpp @@ -6,4 +6,4 @@ IMPLEMENT_DYNAMIC(TGUIWidget, TGUIDeserialisable); -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Source/TKernel/TCString.cpp b/Toshi/Source/TKernel/TCString.cpp index 17523a9..b24c4f7 100644 --- a/Toshi/Source/TKernel/TCString.cpp +++ b/Toshi/Source/TKernel/TCString.cpp @@ -17,8 +17,8 @@ TBOOL TCString::AllocBuffer(TINT a_iLength, TBOOL a_bClear) if (a_iLength == 0) { if (a_bClear) tfree(m_pBuffer); - m_pBuffer = m_aNull; - hasChanged = TTRUE; + m_pBuffer = m_aNull; + hasChanged = TTRUE; m_iExcessLen = 0; } else { @@ -26,15 +26,15 @@ TBOOL TCString::AllocBuffer(TINT a_iLength, TBOOL a_bClear) if (newExcessLen < 0 || newExcessLen > 0xFF) { if (m_iStrLen != 0 && a_bClear) tfree(m_pBuffer); - - m_pBuffer = (TPCHAR)tmalloc(a_iLength + 1, TNULL, -1); + + m_pBuffer = (TPCHAR)tmalloc(a_iLength + 1, TNULL, -1); m_iExcessLen = 0; - TASSERT(m_pBuffer!=TNULL); + TASSERT(m_pBuffer != TNULL); hasChanged = TTRUE; } else { m_iExcessLen = newExcessLen; - hasChanged = TFALSE; + hasChanged = TFALSE; } } m_iStrLen = a_iLength; @@ -43,15 +43,15 @@ TBOOL TCString::AllocBuffer(TINT a_iLength, TBOOL a_bClear) return hasChanged; } -TCString& TCString::Concat(TCString const& a_rString, TINT a_iLength) +TCString &TCString::Concat(TCString const &a_rString, TINT a_iLength) { TINT len = a_rString.Length(); if (len < a_iLength || a_iLength == -1) { a_iLength = len; } TPCHAR pBuffer = m_pBuffer; - len = Length(); - TBOOL ret = AllocBuffer(len + a_iLength, TFALSE); + len = Length(); + TBOOL ret = AllocBuffer(len + a_iLength, TFALSE); if (ret) { TSystem::StringCopy(m_pBuffer, pBuffer, -1); } @@ -63,15 +63,15 @@ TCString& TCString::Concat(TCString const& a_rString, TINT a_iLength) return *this; } -TCString& TCString::Concat(TPCCHAR a_String, TINT a_iLength) +TCString &TCString::Concat(TPCCHAR a_String, TINT a_iLength) { TINT len = TSystem::StringLength(a_String); if (len < a_iLength || a_iLength == -1) { a_iLength = len; } TPCHAR pBuffer = m_pBuffer; - len = Length(); - TBOOL ret = AllocBuffer(len + a_iLength, TFALSE); + len = Length(); + TBOOL ret = AllocBuffer(len + a_iLength, TFALSE); if (ret) { TSystem::StringCopy(m_pBuffer, pBuffer, -1); } @@ -85,8 +85,8 @@ TCString& TCString::Concat(TPCCHAR a_String, TINT a_iLength) TINT TCString::Compare(TPCCHAR a_pcString, int a_iLength) const { - TASSERT(a_pcString!=TNULL); - TASSERT(GetString()!=TNULL); + TASSERT(a_pcString != TNULL); + TASSERT(GetString() != TNULL); if (a_iLength != -1) { return strncmp(GetString(), a_pcString, a_iLength); @@ -94,7 +94,7 @@ TINT TCString::Compare(TPCCHAR a_pcString, int a_iLength) const return strcmp(GetString(), a_pcString); } -void TCString::Copy(const TCString& a_rOther, TINT a_iLength) +void TCString::Copy(const TCString &a_rOther, TINT a_iLength) { if (*this != a_rOther) { if (a_rOther.m_iStrLen < a_iLength || a_iLength == -1) a_iLength = a_rOther.m_iStrLen; @@ -123,9 +123,9 @@ void TCString::Copy(TPCCHAR a_pcString, TINT a_iLength) } } -TCString& TOSHI_CALLBACKAPI TCString::Format(TPCCHAR a_pcFormat, ...) +TCString &TOSHI_CALLBACKAPI TCString::Format(TPCCHAR a_pcFormat, ...) { - char buffer[0x400]; + char buffer[0x400]; va_list vargs; va_start(vargs, a_pcFormat); _vsnprintf(buffer, sizeof(buffer), a_pcFormat, vargs); @@ -150,7 +150,7 @@ void TCString::Truncate(TINT a_iLength) a_iLength = len; } TPCHAR pBuffer = m_pBuffer; - TBOOL ret = AllocBuffer(a_iLength, TFALSE); + TBOOL ret = AllocBuffer(a_iLength, TFALSE); if (ret) { TSystem::StringCopy(m_pBuffer, pBuffer, a_iLength); } @@ -168,28 +168,28 @@ TINT TCString::FindReverse(TCHAR a_cFind, TINT a_iIndex /*= -1*/) const else if (!IsIndexValid(a_iIndex)) { return -1; } - + if (a_iIndex < 0) { return -1; } - TINT iBytesLeft = a_iIndex; - const TCHAR* pchString = GetString(0); + TINT iBytesLeft = a_iIndex; + const TCHAR *pchString = GetString(0); // Look for the character by checking 5 bytes sequences for (; iBytesLeft > 5; iBytesLeft -= 5) { - if ( pchString[iBytesLeft - 0] == a_cFind ) return iBytesLeft - 0; - if ( pchString[iBytesLeft - 1] == a_cFind ) return iBytesLeft - 1; - if ( pchString[iBytesLeft - 2] == a_cFind ) return iBytesLeft - 2; - if ( pchString[iBytesLeft - 3] == a_cFind ) return iBytesLeft - 3; - if ( pchString[iBytesLeft - 4] == a_cFind ) return iBytesLeft - 4; + if (pchString[iBytesLeft - 0] == a_cFind) return iBytesLeft - 0; + if (pchString[iBytesLeft - 1] == a_cFind) return iBytesLeft - 1; + if (pchString[iBytesLeft - 2] == a_cFind) return iBytesLeft - 2; + if (pchString[iBytesLeft - 3] == a_cFind) return iBytesLeft - 3; + if (pchString[iBytesLeft - 4] == a_cFind) return iBytesLeft - 4; } // Check the left bytes for (; iBytesLeft > 0; iBytesLeft--) { - if ( pchString[iBytesLeft] == a_cFind ) + if (pchString[iBytesLeft] == a_cFind) return iBytesLeft; } @@ -217,16 +217,16 @@ TCString TCString::Mid(TINT a_iFirst, TINT a_iCount) const return strResult; } -TCString TOSHI_API operator+(TPCCHAR a_pLHS, const TCString& a_rRHS) +TCString TOSHI_API operator+(TPCCHAR a_pLHS, const TCString &a_rRHS) { TCString str(a_pLHS); TASSERT(a_pLHS); return str.Concat(a_rRHS); } -TCString TOSHI_API operator+(const TCString& a_rLHS, const TPCString& a_rRHS) +TCString TOSHI_API operator+(const TCString &a_rLHS, const TPCString &a_rRHS) { return TCString(a_rLHS) += a_rRHS.GetCString(); } -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Source/TKernel/TDLL.cpp b/Toshi/Source/TKernel/TDLL.cpp index f4c0deb..1950ab6 100644 --- a/Toshi/Source/TKernel/TDLL.cpp +++ b/Toshi/Source/TKernel/TDLL.cpp @@ -2,18 +2,18 @@ TOSHI_NAMESPACE_USING -TPVOID TDLL::GetAddress(const TCString& a_rProcName) +TPVOID TDLL::GetAddress(const TCString &a_rProcName) { FARPROC pAddress = GetProcAddress(m_pDLL, a_rProcName); - TASSERT(pAddress!=TNULL); + TASSERT(pAddress != TNULL); return pAddress; } -TBOOL TDLL::Load(const TCString& a_rFileName) +TBOOL TDLL::Load(const TCString &a_rFileName) { m_szFilename = a_rFileName; - m_pDLL = LoadLibrary(a_rFileName.GetString()); - TASSERT(m_pDLL!=TNULL); + m_pDLL = LoadLibrary(a_rFileName.GetString()); + TASSERT(m_pDLL != TNULL); return m_pDLL != TNULL; } @@ -22,6 +22,6 @@ void TDLL::Unload() if (m_pDLL != TNULL) { FreeLibrary(m_pDLL); m_szFilename = ""; - m_pDLL = TNULL; + m_pDLL = TNULL; } } diff --git a/Toshi/Source/TKernel/TDList.cpp b/Toshi/Source/TKernel/TDList.cpp index c1d2d86..d4910dc 100644 --- a/Toshi/Source/TKernel/TDList.cpp +++ b/Toshi/Source/TKernel/TDList.cpp @@ -1 +1 @@ -#include "TDList.h" \ No newline at end of file +#include "TDList.h" diff --git a/Toshi/Source/TKernel/TDebug.cpp b/Toshi/Source/TKernel/TDebug.cpp index 3fb6e96..d2b5439 100644 --- a/Toshi/Source/TKernel/TDebug.cpp +++ b/Toshi/Source/TKernel/TDebug.cpp @@ -5,7 +5,7 @@ #ifdef TOSHI_NOTFINAL -#include "../resource.h" +# include "../resource.h" TOSHI_NAMESPACE_BEGIN @@ -131,77 +131,76 @@ void TOSHI_CALLBACKAPI TDebug_PrintWarning(TPCCHAR a_pcFormat, ...) static TPCCHAR g_szAssertIgnored = ""; static TPCCHAR g_szAssertFilename; -static TINT g_uiAssertLineNumber; +static TINT g_uiAssertLineNumber; static TPCCHAR g_szAssertExpression; INT_PTR CALLBACK AssertionDlgProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) { switch (Message) { - case WM_INITDIALOG: - { - if (!g_szAssertFilename) - g_szAssertFilename = "***INVALID***"; + case WM_INITDIALOG: { + if (!g_szAssertFilename) + g_szAssertFilename = "***INVALID***"; - if (!g_szAssertExpression) - g_szAssertExpression = "***INVALID***"; + if (!g_szAssertExpression) + g_szAssertExpression = "***INVALID***"; - SetDlgItemTextA(hwnd, IDC_FILE, g_szAssertFilename); - SetDlgItemInt(hwnd, IDC_LINE, g_uiAssertLineNumber, TRUE); - SetDlgItemTextA(hwnd, IDC_EXPRESSION, g_szAssertExpression); - return TRUE; - } - case WM_COMMAND: - switch (LOWORD(wParam)) - { - case IDC_QUIT: // Quit - case IDC_DEBUG: // Debug - case IDC_IGNORE: // Ignore - case IDC_IGNOREALL: // IgnoreAll - EndDialog(hwnd, wParam); - break; + SetDlgItemTextA(hwnd, IDC_FILE, g_szAssertFilename); + SetDlgItemInt(hwnd, IDC_LINE, g_uiAssertLineNumber, TRUE); + SetDlgItemTextA(hwnd, IDC_EXPRESSION, g_szAssertExpression); + return TRUE; } - break; - default: - return FALSE; + case WM_COMMAND: + switch (LOWORD(wParam)) + { + case IDC_QUIT: // Quit + case IDC_DEBUG: // Debug + case IDC_IGNORE: // Ignore + case IDC_IGNOREALL: // IgnoreAll + EndDialog(hwnd, wParam); + break; + } + break; + default: + return FALSE; } return TRUE; } -TBOOL TDebug::AssertHandler(TPCHAR a_pcExpression, TPCHAR a_pcFile, TINT a_iLine, TBOOL& a_bIgnoreAll) +TBOOL TDebug::AssertHandler(TPCHAR a_pcExpression, TPCHAR a_pcFile, TINT a_iLine, TBOOL &a_bIgnoreAll) { TPCCHAR str = a_bIgnoreAll ? "(IGNORED)" : g_szAssertIgnored; TDebug_Printf("TASSERT \"%s\" failed: file \"%s\", line %d %s\n", a_pcExpression, a_pcFile, a_iLine, str); if (a_bIgnoreAll) return TFALSE; g_szAssertExpression = a_pcExpression; - g_szAssertFilename = a_pcFile; + g_szAssertFilename = a_pcFile; g_uiAssertLineNumber = a_iLine; - HWND hWnd = GetActiveWindow(); + HWND hWnd = GetActiveWindow(); if (hWnd) hWnd = GetLastActivePopup(hWnd); - INT_PTR res = DialogBoxParamA(GetModuleHandleA("TKernelInterface"), MAKEINTRESOURCE(IDD_ASSERT), hWnd, AssertionDlgProc, 0); + INT_PTR res = DialogBoxParamA(GetModuleHandleA("TKernelInterface"), MAKEINTRESOURCE(IDD_ASSERT), hWnd, AssertionDlgProc, 0); g_szAssertExpression = TNULL; - g_szAssertFilename = TNULL; + g_szAssertFilename = TNULL; g_uiAssertLineNumber = -1; - TBOOL bRes = TTRUE; + TBOOL bRes = TTRUE; if (res != -1) { switch (LOWORD(res)) { - case IDC_QUIT: // Quit - ExitProcess(1); - break; - case IDC_DEBUG: // Debug - bRes = TTRUE; - break; - case IDC_IGNORE: // Ignore - bRes = TFALSE; - break; - case IDC_IGNOREALL: // Ignore All - bRes = TFALSE; - a_bIgnoreAll = TTRUE; - break; + case IDC_QUIT: // Quit + ExitProcess(1); + break; + case IDC_DEBUG: // Debug + bRes = TTRUE; + break; + case IDC_IGNORE: // Ignore + bRes = TFALSE; + break; + case IDC_IGNOREALL: // Ignore All + bRes = TFALSE; + a_bIgnoreAll = TTRUE; + break; } } return bRes; @@ -210,18 +209,17 @@ TBOOL TDebug::AssertHandler(TPCHAR a_pcExpression, TPCHAR a_pcFile, TINT a_iLine void TOSHI_API TDebug::PrintIndent() { TINT i; - for (i = s_iLogIndent * 2; i >= 16; i-=16) { + for (i = s_iLogIndent * 2; i >= 16; i -= 16) { DebugFilePrintString(s_sSixteenSpace); } if (i > 0) { - DebugFilePrintString(&s_sSixteenSpace[16-i]); + DebugFilePrintString(&s_sSixteenSpace[16 - i]); } } void TOSHI_API TDebug::DebugFilePrintString(TPCHAR a_pcString) { if (m_pDebugFile && m_bEnableDebugFile) { - } else { printf("%s", a_pcString); @@ -247,7 +245,6 @@ void TOSHI_CALLBACKAPI TDebug_Message(TDebug::MSGLEVEL a_eMsgLevel, TPCCHAR a_pc void TOSHI_API TDebug::DebugFilePrintString(TPCHAR a_pcString) { if (m_pDebugFile && m_bEnableDebugFile) { - } else { printf("%s", a_pcString); @@ -257,4 +254,3 @@ void TOSHI_API TDebug::DebugFilePrintString(TPCHAR a_pcString) TOSHI_NAMESPACE_END #endif - diff --git a/Toshi/Source/TKernel/TEvent.cpp b/Toshi/Source/TKernel/TEvent.cpp index 05a6252..8652e91 100644 --- a/Toshi/Source/TKernel/TEvent.cpp +++ b/Toshi/Source/TKernel/TEvent.cpp @@ -2,10 +2,10 @@ TOSHI_NAMESPACE_BEGIN -void TGenericListener::Connect(TGenericEmitter* a_pEmitter, void* a_pCaller, t_Callback a_pCallback, int a_iPriority) +void TGenericListener::Connect(TGenericEmitter *a_pEmitter, void *a_pCaller, t_Callback a_pCallback, int a_iPriority) { TASSERT(IsLinked() == TFALSE); - m_pCaller = a_pCaller; + m_pCaller = a_pCaller; m_pCallback = a_pCallback; SetPriority(a_iPriority); a_pEmitter->m_Listeners.Insert(this); @@ -14,8 +14,8 @@ void TGenericListener::Connect(TGenericEmitter* a_pEmitter, void* a_pCaller, t_C void TGenericListener::Disconnect() { Remove(); - m_pCaller = TNULL; + m_pCaller = TNULL; m_pCallback = TNULL; } -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Source/TKernel/TFile.cpp b/Toshi/Source/TKernel/TFile.cpp index a492c3b..7e923bd 100644 --- a/Toshi/Source/TKernel/TFile.cpp +++ b/Toshi/Source/TKernel/TFile.cpp @@ -2,14 +2,14 @@ TOSHI_NAMESPACE_USING -TFile* TOSHI_API TFile::Create(const TCString& a_sName, TUINT a_uiMode) +TFile *TOSHI_API TFile::Create(const TCString &a_sName, TUINT a_uiMode) { TFileManager *pFileManager = TFileManager::GetFileManager(); TVALIDADDRESS(pFileManager); return pFileManager->CreateFile(a_sName, a_uiMode); } -void TOSHI_API TFile::Destroy(TFile* a_pFile) +void TOSHI_API TFile::Destroy(TFile *a_pFile) { TFileManager *pFileManager = TFileManager::GetFileManager(); TVALIDADDRESS(pFileManager); @@ -18,7 +18,7 @@ void TOSHI_API TFile::Destroy(TFile* a_pFile) } } -TCString TOSHI_API TFile::ConcatPath(TCString const& a_rcPath1, TCString const& a_rcPath2) +TCString TOSHI_API TFile::ConcatPath(TCString const &a_rcPath1, TCString const &a_rcPath2) { TCString strResult; @@ -27,94 +27,94 @@ TCString TOSHI_API TFile::ConcatPath(TCString const& a_rcPath1, TCString const& // Copy filesystem/volume name from a_rcPath1 or a_rcPath2 // prioritizing the one in a_rcPath2 - TINT iColonPos = a_rcPath2.FindReverse( ':' ); + TINT iColonPos = a_rcPath2.FindReverse(':'); - if ( iColonPos == -1 ) + if (iColonPos == -1) { - iColonPos = a_rcPath1.FindReverse( ':' ); + iColonPos = a_rcPath1.FindReverse(':'); - if ( iColonPos > -1 ) + if (iColonPos > -1) { // Copy volume/filesystem name from the first path iPath1StartPos = iColonPos + 1; - strResult.Concat( a_rcPath1, iPath1StartPos ); + strResult.Concat(a_rcPath1, iPath1StartPos); } } else { // Copy volume/filesystem name from the second path iPath2StartPos = iColonPos + 1; - strResult.Concat( a_rcPath2, iPath2StartPos ); + strResult.Concat(a_rcPath2, iPath2StartPos); // Ignore everything before the ':' character in the first path - iPath1StartPos = a_rcPath1.FindReverse( ':' ) + 1; + iPath1StartPos = a_rcPath1.FindReverse(':') + 1; } TINT iPath1Length = a_rcPath1.Length(); TINT iPath2Length = a_rcPath2.Length(); - if ( iPath2StartPos < iPath2Length && - ( a_rcPath2[ iPath2StartPos ] == '/' || a_rcPath2[ iPath2StartPos ] == '\\' ) ) + if (iPath2StartPos < iPath2Length && + (a_rcPath2[iPath2StartPos] == '/' || a_rcPath2[iPath2StartPos] == '\\')) { // The second path starts from a filesystem/volume root so ignore the first path - strResult += a_rcPath2.GetString( iPath2StartPos ); + strResult += a_rcPath2.GetString(iPath2StartPos); } else { // Concat the first path with the second one trimming parts like 'C:' or 'native:' and etc. - strResult += a_rcPath1.GetString( iPath1StartPos ); - if ( iPath1StartPos < iPath1Length && iPath2StartPos < iPath2Length && - a_rcPath1[ iPath1Length - 1 ] != '/' && a_rcPath1[ iPath1Length - 1 ] != '\\' ) + strResult += a_rcPath1.GetString(iPath1StartPos); + if (iPath1StartPos < iPath1Length && iPath2StartPos < iPath2Length && + a_rcPath1[iPath1Length - 1] != '/' && a_rcPath1[iPath1Length - 1] != '\\') { strResult += "/"; } - strResult += a_rcPath2.GetString( iPath2StartPos ); + strResult += a_rcPath2.GetString(iPath2StartPos); } - return SimplifyPath( strResult ); + return SimplifyPath(strResult); } -TCString TOSHI_API TFile::SimplifyPath( const TCString& a_rcPath ) +TCString TOSHI_API TFile::SimplifyPath(const TCString &a_rcPath) { TCString strPath = a_rcPath; // Fix path slashes to make it easier to read the path - for ( TUINT i = 0; i < strPath.Length(); i++ ) + for (TINT i = 0; i < strPath.Length(); i++) { - if ( strPath[ i ] == '\\' ) - strPath[ i ] = '/'; + if (strPath[i] == '\\') + strPath[i] = '/'; } - TINT iPos = 0; + TINT iPos = 0; TCString strResult; // Keep filesystem/volume/protocol name in the simplified path and leave it as it is - TINT iColonPos = strPath.FindReverse( ':' ); - if ( iColonPos > -1 ) + TINT iColonPos = strPath.FindReverse(':'); + if (iColonPos > -1) { iPos = iColonPos + 1; - strResult.Concat( strPath, iPos ); + strResult.Concat(strPath, iPos); } - if ( strPath[ iPos ] == '/' ) + if (strPath[iPos] == '/') { iPos += 1; strResult += "/"; } TINT iInitialResultLength = strResult.Length(); - TINT iResultLength = iInitialResultLength; + TINT iResultLength = iInitialResultLength; strPath += "/"; - TINT iSlashPos = strPath.Find( '/', iPos ); + TINT iSlashPos = strPath.Find('/', iPos); - while ( iSlashPos >= 0 ) + while (iSlashPos >= 0) { - if ( !strncmp( strPath.GetString( iPos ), "../", 3 ) ) + if (!strncmp(strPath.GetString(iPos), "../", 3)) { - if ( iResultLength == strResult.Length() ) + if (iResultLength == strResult.Length()) { // Can't go back to a previous dir since it's the only one strResult += "../"; @@ -125,29 +125,29 @@ TCString TOSHI_API TFile::SimplifyPath( const TCString& a_rcPath ) // Truncate the path removing the current dir TINT iTruncateTo; - if ( strResult.Length() > 1 && ( iTruncateTo = strResult.FindReverse( '/', strResult.Length() - 2 ), iResultLength <= iTruncateTo ) ) + if (strResult.Length() > 1 && (iTruncateTo = strResult.FindReverse('/', strResult.Length() - 2), iResultLength <= iTruncateTo)) { - strResult.Truncate( iTruncateTo + 1 ); + strResult.Truncate(iTruncateTo + 1); } else { - strResult.Truncate( iResultLength ); + strResult.Truncate(iResultLength); } } } // Add anything except './' - else if ( strncmp( strPath.GetString( iPos ), "./", 2 ) != 0 ) + else if (strncmp(strPath.GetString(iPos), "./", 2) != 0) { - strResult.Concat( strPath.GetString( iPos ), ( iSlashPos - iPos ) + 1 ); + strResult.Concat(strPath.GetString(iPos), (iSlashPos - iPos) + 1); } - iPos = iSlashPos + 1; - iSlashPos = strPath.Find( '/', iPos ); + iPos = iSlashPos + 1; + iSlashPos = strPath.Find('/', iPos); } - if ( iInitialResultLength < strResult.Length() ) + if (iInitialResultLength < strResult.Length()) { - strResult.Truncate( strResult.Length() - 1 ); + strResult.Truncate(strResult.Length() - 1); } return strResult; @@ -158,7 +158,8 @@ void TFile::Destroy() Destroy(this); } -TFileManager::TFileManager() : m_pcWorkingDirectory("/") +TFileManager::TFileManager() + : m_pcWorkingDirectory("/") { m_bValidated = false; TASSERT(s_pFileManager == TNULL); @@ -168,11 +169,11 @@ TFileManager::TFileManager() : m_pcWorkingDirectory("/") TFileManager::~TFileManager() { - TASSERT(s_pFileManager!=TNULL); + TASSERT(s_pFileManager != TNULL); s_pFileManager = TNULL; } -TFile* TFileManager::CreateFile(TCString const& a_sName, TUINT a_uiMode) +TFile *TFileManager::CreateFile(TCString const &a_sName, TUINT a_uiMode) { TASSERT(a_sName.Length() > 0); ValidateSystemPath(); @@ -184,7 +185,7 @@ TFile* TFileManager::CreateFile(TCString const& a_sName, TUINT a_uiMode) str1.Copy(a_sName, pos); str2.Copy(a_sName.GetString(pos + 1)); - TFileSystem* fs = FindFileSystem(str1); + TFileSystem *fs = FindFileSystem(str1); if (fs != TNULL) { return fs->CreateFile(str2, a_uiMode); @@ -192,16 +193,16 @@ TFile* TFileManager::CreateFile(TCString const& a_sName, TUINT a_uiMode) } for (auto pNode = m_aValidated.Begin(); pNode != m_aValidated.End(); pNode++) { - TFile* pFile = pNode->CreateFile(a_sName, a_uiMode); + TFile *pFile = pNode->CreateFile(a_sName, a_uiMode); if (pFile != TNULL) return pFile; } return TNULL; } -TFileSystem* TFileManager::FindFileSystem(const TCString& a_rFileSysName) +TFileSystem *TFileManager::FindFileSystem(const TCString &a_rFileSysName) { - TFileSystem* pFileSystem = TFileManager::FindFileSystem(m_aValidated, a_rFileSysName); + TFileSystem *pFileSystem = TFileManager::FindFileSystem(m_aValidated, a_rFileSysName); if (!pFileSystem) { pFileSystem = TFileManager::FindFileSystem(m_aInvalidated, a_rFileSysName); @@ -210,26 +211,26 @@ TFileSystem* TFileManager::FindFileSystem(const TCString& a_rFileSysName) return pFileSystem; } -void TFileManager::MountFileSystem(TFileSystem* a_pFileSystem) +void TFileManager::MountFileSystem(TFileSystem *a_pFileSystem) { TASSERT(FindFileSystem(a_pFileSystem->GetName()) == TNULL); m_aInvalidated.InsertTail(a_pFileSystem); InvalidateSystemPath(); } -void TFileManager::UnmountFileSystem(TFileSystem* a_pFileSystem) +void TFileManager::UnmountFileSystem(TFileSystem *a_pFileSystem) { TASSERT(FindFileSystem(a_pFileSystem->GetName()) == TNULL); a_pFileSystem->Remove(); InvalidateSystemPath(); } -TCString TFileManager::MakeAbsolutePath(TCString const& a_rPath) +TCString TFileManager::MakeAbsolutePath(TCString const &a_rPath) { return TFile::ConcatPath(a_rPath, GetWorkingDirectory()); } -TFileSystem* TOSHI_API TFileManager::FindFileSystem(TDList& a_rFileSystems, const TCString& a_rFileSysName) +TFileSystem *TOSHI_API TFileManager::FindFileSystem(TDList &a_rFileSystems, const TCString &a_rFileSysName) { for (auto pNode = a_rFileSystems.Begin(); pNode != a_rFileSystems.End(); pNode++) { if (pNode->GetName() == a_rFileSysName) return pNode; @@ -246,11 +247,11 @@ void TFileManager::ValidateSystemPath() m_aInvalidated.InsertHead(pNode); } - TCString fsName; + TCString fsName; TSysPathIter pathIter(m_pcSystemPath); for (TBOOL hasPath = pathIter.First(fsName); hasPath; hasPath = pathIter.Next(fsName)) { - TFileSystem* pFS = FindFileSystem(m_aInvalidated, fsName); + TFileSystem *pFS = FindFileSystem(m_aInvalidated, fsName); if (pFS) { pFS->Remove(); m_aValidated.InsertTail(pFS); @@ -261,7 +262,7 @@ void TFileManager::ValidateSystemPath() } } -void TFileSystem::SetPrefix(const TCString& a_rPrefix) +void TFileSystem::SetPrefix(const TCString &a_rPrefix) { m_sPrefix = a_rPrefix; diff --git a/Toshi/Source/TKernel/TFileLexer.cpp b/Toshi/Source/TKernel/TFileLexer.cpp index 970c45d..75b7c3f 100644 --- a/Toshi/Source/TKernel/TFileLexer.cpp +++ b/Toshi/Source/TKernel/TFileLexer.cpp @@ -3,28 +3,28 @@ TOSHI_NAMESPACE_USING -void TFileLexer::Token::assign(const Token& a_rToken) +void TFileLexer::Token::assign(const Token &a_rToken) { this->~Token(); m_iValue = 0; - m_type = a_rToken.GetType(); - m_iLine = a_rToken.m_iLine; + m_type = a_rToken.GetType(); + m_iLine = a_rToken.m_iLine; switch (a_rToken.GetType()) { - case Toshi::TFileLexer::TOKEN_IDENT: - case Toshi::TFileLexer::TOKEN_STRING: - case Toshi::TFileLexer::TOKEN_COMMENT: - m_szValue = a_rToken.GetString(); - break; - case Toshi::TFileLexer::TOKEN_INTEGER: - m_iValue = a_rToken.GetInteger(); - break; - case Toshi::TFileLexer::TOKEN_UINTEGER: - m_uiValue = a_rToken.GetUInteger(); - break; - case Toshi::TFileLexer::TOKEN_FLOAT: - m_fValue = a_rToken.GetFloat(); - break; + case Toshi::TFileLexer::TOKEN_IDENT: + case Toshi::TFileLexer::TOKEN_STRING: + case Toshi::TFileLexer::TOKEN_COMMENT: + m_szValue = a_rToken.GetString(); + break; + case Toshi::TFileLexer::TOKEN_INTEGER: + m_iValue = a_rToken.GetInteger(); + break; + case Toshi::TFileLexer::TOKEN_UINTEGER: + m_uiValue = a_rToken.GetUInteger(); + break; + case Toshi::TFileLexer::TOKEN_FLOAT: + m_fValue = a_rToken.GetFloat(); + break; } } @@ -33,47 +33,47 @@ TCString TFileLexer::Token::tostring() const TCString tokenType; switch (GetType()) { - case Toshi::TFileLexer::TOKEN_IDENT: - tokenType = "IDENT:" + GetString(); - break; - case Toshi::TFileLexer::TOKEN_STRING: - tokenType += "STRING:" + GetString(); - break; - case Toshi::TFileLexer::TOKEN_INTEGER: - tokenType.Format("%sINTEGER:%d", tokenType.GetString(), m_iValue); - break; - case Toshi::TFileLexer::TOKEN_UINTEGER: - tokenType.Format("%sUINTEGER:%d", tokenType.GetString(), m_uiValue); - break; - case Toshi::TFileLexer::TOKEN_FLOAT: - tokenType.Format("%sFLOAT:%f", tokenType.GetString(), m_fValue); - break; - default: - tokenType = TFileLexer::tostring(GetType()); - break; + case Toshi::TFileLexer::TOKEN_IDENT: + tokenType = "IDENT:" + GetString(); + break; + case Toshi::TFileLexer::TOKEN_STRING: + tokenType += "STRING:" + GetString(); + break; + case Toshi::TFileLexer::TOKEN_INTEGER: + tokenType.Format("%sINTEGER:%d", tokenType.GetString(), m_iValue); + break; + case Toshi::TFileLexer::TOKEN_UINTEGER: + tokenType.Format("%sUINTEGER:%d", tokenType.GetString(), m_uiValue); + break; + case Toshi::TFileLexer::TOKEN_FLOAT: + tokenType.Format("%sFLOAT:%f", tokenType.GetString(), m_fValue); + break; + default: + tokenType = TFileLexer::tostring(GetType()); + break; } return TCString().Format("Token[Line: %d, %s]", GetLine(), tokenType.GetString()); } TFileLexer::TFileLexer() { - m_pFile = TNULL; - m_bOutputComments = TFALSE; - m_iCharLookaheadSize = 0; - m_iCharLookaheadMask = 0; - m_piCharLookahead = TNULL; - m_iCharLookaheadBack = 0; - m_iCharLookaheadFront = 0; - m_iLine = 0; - m_iTokenLookaheadSize = 1; - m_iTokenLookaheadMask = 1; - m_pLookaheadTokens = new Token(); + m_pFile = TNULL; + m_bOutputComments = TFALSE; + m_iCharLookaheadSize = 0; + m_iCharLookaheadMask = 0; + m_piCharLookahead = TNULL; + m_iCharLookaheadBack = 0; + m_iCharLookaheadFront = 0; + m_iLine = 0; + m_iTokenLookaheadSize = 1; + m_iTokenLookaheadMask = 1; + m_pLookaheadTokens = new Token(); m_iTokenLookaheadBuffered = 0; - m_iTokenLookaheadFront = 0; - m_iTokenLookaheadBack = 0; - m_iSomeNum = 0; - m_bAllowPreprocessor = TTRUE; - m_bEOF = TFALSE; + m_iTokenLookaheadFront = 0; + m_iTokenLookaheadBack = 0; + m_iSomeNum = 0; + m_bAllowPreprocessor = TTRUE; + m_bEOF = TFALSE; //m_oEmitter = TEmitter(this); #if defined(TOSHI_SKU_WINDOWS) Define("TOSHI_SKU_WINDOWS"); @@ -84,25 +84,25 @@ TFileLexer::TFileLexer() #endif } -TFileLexer::TFileLexer(TFile* a_pFile, TINT a_iTokenLookaheadSize) +TFileLexer::TFileLexer(TFile *a_pFile, TINT a_iTokenLookaheadSize) { - m_pFile = a_pFile; - m_bOutputComments = TFALSE; - m_iCharLookaheadSize = 0; - m_iCharLookaheadMask = 0; - m_piCharLookahead = TNULL; - m_iCharLookaheadBack = 0; - m_iCharLookaheadFront = 0; - m_iLine = 0; - m_iTokenLookaheadSize = 1; - m_iTokenLookaheadMask = 1; - m_pLookaheadTokens = new Token[a_iTokenLookaheadSize]; + m_pFile = a_pFile; + m_bOutputComments = TFALSE; + m_iCharLookaheadSize = 0; + m_iCharLookaheadMask = 0; + m_piCharLookahead = TNULL; + m_iCharLookaheadBack = 0; + m_iCharLookaheadFront = 0; + m_iLine = 0; + m_iTokenLookaheadSize = 1; + m_iTokenLookaheadMask = 1; + m_pLookaheadTokens = new Token[a_iTokenLookaheadSize]; m_iTokenLookaheadBuffered = 0; - m_iTokenLookaheadFront = 0; - m_iTokenLookaheadBack = 0; - m_iTokenLookaheadSize = TGETLOOKAHEADSIZE(a_iTokenLookaheadSize); - m_iTokenLookaheadMask = TMAX(1, m_iTokenLookaheadSize - 1); - m_bEOF = TFALSE; + m_iTokenLookaheadFront = 0; + m_iTokenLookaheadBack = 0; + m_iTokenLookaheadSize = TGETLOOKAHEADSIZE(a_iTokenLookaheadSize); + m_iTokenLookaheadMask = TMAX(1, m_iTokenLookaheadSize - 1); + m_bEOF = TFALSE; TASSERT(a_pFile != TNULL); SetInputStream(a_pFile); //m_oEmitter = TEmitter(this); @@ -120,7 +120,7 @@ TBOOL TFileLexer::Expect(TFileLexer::TokenType a_type) return a_type == GetNextToken().GetType(); } -TBOOL TFileLexer::Expect(TFileLexer::TokenType a_type, TFileLexer::Token& a_rToken) +TBOOL TFileLexer::Expect(TFileLexer::TokenType a_type, TFileLexer::Token &a_rToken) { a_rToken.assign(GetNextToken()); return a_type == a_rToken.GetType(); @@ -203,23 +203,23 @@ void TFileLexer::SetCharacterLookaheadSize(TINT a_iCharLookaheadSize) TASSERT(m_pFile != TNULL); TASSERT(m_piCharLookahead == TNULL); - m_iCharLookaheadSize = TGETLOOKAHEADSIZE(a_iCharLookaheadSize); - m_iCharLookaheadMask = m_iCharLookaheadSize - 1; - m_iCharLookaheadBack = 0; + m_iCharLookaheadSize = TGETLOOKAHEADSIZE(a_iCharLookaheadSize); + m_iCharLookaheadMask = m_iCharLookaheadSize - 1; + m_iCharLookaheadBack = 0; m_iCharLookaheadFront = 0; - m_piCharLookahead = new int[m_iCharLookaheadSize]; + m_piCharLookahead = new int[m_iCharLookaheadSize]; for (TINT i = 0; i < m_iCharLookaheadSize; i++) { m_piCharLookahead[i] = TLEXERGETCHAR(); } } -void TFileLexer::SetInputStream(TFile* a_pFile) +void TFileLexer::SetInputStream(TFile *a_pFile) { - m_pFile = a_pFile; - m_iLine = 1; - m_iSomeNum = 0; - m_bFlags[0] = TTRUE; + m_pFile = a_pFile; + m_iLine = 1; + m_iSomeNum = 0; + m_bFlags[0] = TTRUE; m_bAllowPreprocessor = ComputePreprocessorAllow(); SetCharacterLookaheadSize(3); } @@ -228,38 +228,38 @@ TPCCHAR TOSHI_API TFileLexer::tostring(TokenType a_type) { switch (a_type) { - case Toshi::TFileLexer::TOKEN_EOF: - return "EOF"; - case Toshi::TFileLexer::TOKEN_SEMI: - return "SEMI"; - case Toshi::TFileLexer::TOKEN_COLON: - return "COLON"; - case Toshi::TFileLexer::TOKEN_COMMA: - return "COMMA"; - case Toshi::TFileLexer::TOKEN_DOT: - return "DOT"; - case Toshi::TFileLexer::TOKEN_DOLLAR: - return "DOLLAR"; - case Toshi::TFileLexer::TOKEN_OPENSQR: - return "OPENSQR"; - case Toshi::TFileLexer::TOKEN_CLOSESQR: - return "CLOSESQR"; - case Toshi::TFileLexer::TOKEN_OPENBRACE: - return "OPENBRACE"; - case Toshi::TFileLexer::TOKEN_CLOSEBRACE: - return "CLOSEBRACE"; - case Toshi::TFileLexer::TOKEN_OPENPAREN: - return "OPENPAREN"; - case Toshi::TFileLexer::TOKEN_CLOSEPAREN: - return "CLOSEPAREN"; - case Toshi::TFileLexer::TOKEN_LESSTHAN: - return "LESSTHAN"; - case Toshi::TFileLexer::TOKEN_GREATERTHAN: - return "GREATERTHAN"; - case Toshi::TFileLexer::TOKEN_EQUAL: - return "EQUAL"; - default: - return "?????"; + case Toshi::TFileLexer::TOKEN_EOF: + return "EOF"; + case Toshi::TFileLexer::TOKEN_SEMI: + return "SEMI"; + case Toshi::TFileLexer::TOKEN_COLON: + return "COLON"; + case Toshi::TFileLexer::TOKEN_COMMA: + return "COMMA"; + case Toshi::TFileLexer::TOKEN_DOT: + return "DOT"; + case Toshi::TFileLexer::TOKEN_DOLLAR: + return "DOLLAR"; + case Toshi::TFileLexer::TOKEN_OPENSQR: + return "OPENSQR"; + case Toshi::TFileLexer::TOKEN_CLOSESQR: + return "CLOSESQR"; + case Toshi::TFileLexer::TOKEN_OPENBRACE: + return "OPENBRACE"; + case Toshi::TFileLexer::TOKEN_CLOSEBRACE: + return "CLOSEBRACE"; + case Toshi::TFileLexer::TOKEN_OPENPAREN: + return "OPENPAREN"; + case Toshi::TFileLexer::TOKEN_CLOSEPAREN: + return "CLOSEPAREN"; + case Toshi::TFileLexer::TOKEN_LESSTHAN: + return "LESSTHAN"; + case Toshi::TFileLexer::TOKEN_GREATERTHAN: + return "GREATERTHAN"; + case Toshi::TFileLexer::TOKEN_EQUAL: + return "EQUAL"; + default: + return "?????"; } } @@ -330,7 +330,7 @@ TFileLexer::Token TFileLexer::get_next_token() } else if (peek() == '"') { // Handle strings - TINT len = 0; + TINT len = 0; TINT prev = peek(); advance(); do { @@ -363,64 +363,64 @@ TFileLexer::Token TFileLexer::get_next_token() } // Handle special characters switch (peek()) { - case '$': - advance(); - return Token(TOKEN_DOLLAR, m_iLine); - case '(': - advance(); - return Token(TOKEN_OPENPAREN, m_iLine); - case ')': - advance(); - return Token(TOKEN_CLOSEPAREN, m_iLine); - case '*': - advance(); - return Token(TOKEN_ASTERISK, m_iLine); - case ',': - advance(); - return Token(TOKEN_COMMA, m_iLine); - case '.': - advance(); - return Token(TOKEN_DOT, m_iLine); - case ':': - advance(); - return Token(TOKEN_COLON, m_iLine); - case ';': - advance(); - return Token(TOKEN_SEMI, m_iLine); - case '<': - advance(); - return Token(TOKEN_LESSTHAN, m_iLine); - case '=': - advance(); - return Token(TOKEN_EQUAL, m_iLine); - case '>': - advance(); - return Token(TOKEN_GREATERTHAN, m_iLine); - case '[': - advance(); - return Token(TOKEN_OPENSQR, m_iLine); - case ']': - advance(); - return Token(TOKEN_CLOSESQR, m_iLine); - case '{': - advance(); - return Token(TOKEN_OPENBRACE, m_iLine); - case '}': - advance(); - return Token(TOKEN_CLOSEBRACE, m_iLine); - default: - ThrowError("Invalid character"); - return Token(); + case '$': + advance(); + return Token(TOKEN_DOLLAR, m_iLine); + case '(': + advance(); + return Token(TOKEN_OPENPAREN, m_iLine); + case ')': + advance(); + return Token(TOKEN_CLOSEPAREN, m_iLine); + case '*': + advance(); + return Token(TOKEN_ASTERISK, m_iLine); + case ',': + advance(); + return Token(TOKEN_COMMA, m_iLine); + case '.': + advance(); + return Token(TOKEN_DOT, m_iLine); + case ':': + advance(); + return Token(TOKEN_COLON, m_iLine); + case ';': + advance(); + return Token(TOKEN_SEMI, m_iLine); + case '<': + advance(); + return Token(TOKEN_LESSTHAN, m_iLine); + case '=': + advance(); + return Token(TOKEN_EQUAL, m_iLine); + case '>': + advance(); + return Token(TOKEN_GREATERTHAN, m_iLine); + case '[': + advance(); + return Token(TOKEN_OPENSQR, m_iLine); + case ']': + advance(); + return Token(TOKEN_CLOSESQR, m_iLine); + case '{': + advance(); + return Token(TOKEN_OPENBRACE, m_iLine); + case '}': + advance(); + return Token(TOKEN_CLOSEBRACE, m_iLine); + default: + ThrowError("Invalid character"); + return Token(); } } HandleNumerics: - TINT len = 0; - TBOOL isFloat = TFALSE; + TINT len = 0; + TBOOL isFloat = TFALSE; TBOOL isUnsigned = TFALSE; - TBOOL isHex = TFALSE; + TBOOL isHex = TFALSE; if (peek() == '.') { - isFloat = TTRUE; + isFloat = TTRUE; s_Buffer[len++] = '0'; } s_Buffer[len++] = peek(); @@ -517,9 +517,9 @@ TFileLexer::Token TFileLexer::get_next_token() } // This is basically atoi without hex support - TBOOL isNegative = TFALSE; - TINT value = 0; - TPCCHAR num = s_Buffer; + TBOOL isNegative = TFALSE; + TINT value = 0; + TPCCHAR num = s_Buffer; if (num[0] == '-') { isNegative = TTRUE; num++; @@ -624,9 +624,9 @@ void TFileLexer::skipWhiteSpace() void TFileLexer::advance() { - m_iCharLookaheadBack = (m_iCharLookaheadBack + 1) & m_iCharLookaheadMask; + m_iCharLookaheadBack = (m_iCharLookaheadBack + 1) & m_iCharLookaheadMask; m_piCharLookahead[m_iCharLookaheadFront] = TLEXERGETCHAR(); - m_iCharLookaheadFront = m_iCharLookaheadBack; + m_iCharLookaheadFront = m_iCharLookaheadBack; } void TFileLexer::advance(TINT a_dist) @@ -640,7 +640,7 @@ void TFileLexer::fillLookAhead() { while (m_iCharLookaheadFront != m_iCharLookaheadBack) { m_piCharLookahead[m_iCharLookaheadFront] = TLEXERGETCHAR(); - m_iCharLookaheadFront = (m_iCharLookaheadFront + 1) & m_iCharLookaheadMask; + m_iCharLookaheadFront = (m_iCharLookaheadFront + 1) & m_iCharLookaheadMask; } } diff --git a/Toshi/Source/TKernel/TFileLexerUTF8.cpp b/Toshi/Source/TKernel/TFileLexerUTF8.cpp index a7ac0c1..261aa5a 100644 --- a/Toshi/Source/TKernel/TFileLexerUTF8.cpp +++ b/Toshi/Source/TKernel/TFileLexerUTF8.cpp @@ -2,4 +2,4 @@ TOSHI_NAMESPACE_USING -IMPLEMENT_DYNCREATE(TFileLexerUTF8, TObject) \ No newline at end of file +IMPLEMENT_DYNCREATE(TFileLexerUTF8, TObject) diff --git a/Toshi/Source/TKernel/TFreeList.cpp b/Toshi/Source/TKernel/TFreeList.cpp index b5cc7c5..2717cb9 100644 --- a/Toshi/Source/TKernel/TFreeList.cpp +++ b/Toshi/Source/TKernel/TFreeList.cpp @@ -4,11 +4,11 @@ TOSHI_NAMESPACE_USING TFreeList::TFreeList(TUINT a_uiItemSize, TINT a_iInitialSize, TINT a_iGrowSize, TPCHAR a_pcName) { - m_iFreeCount = 0; + m_iFreeCount = 0; m_iMaxFreeCount = 0; - m_pcName = a_pcName; - m_iCapacity = 0; - m_uiItemSize = a_uiItemSize; + m_pcName = a_pcName; + m_iCapacity = 0; + m_uiItemSize = a_uiItemSize; //m_oLastNode = TNULL; //m_oRootNode = TNULL; TASSERT(m_iGrowSize >= 0); @@ -19,32 +19,32 @@ TFreeList::TFreeList(TUINT a_uiItemSize, TINT a_iInitialSize, TINT a_iGrowSize, TFreeList::~TFreeList() { - for (Node* pNode = m_oRootNode.m_pNext; pNode != TNULL; pNode = m_oRootNode.m_pNext) { + for (Node *pNode = m_oRootNode.m_pNext; pNode != TNULL; pNode = m_oRootNode.m_pNext) { m_oRootNode.m_pNext = pNode->m_pNext; delete[] pNode; } } -TFreeList::Node* TFreeList::Allocate(TINT a_iNumber, TUINT a_uiSize) +TFreeList::Node *TFreeList::Allocate(TINT a_iNumber, TUINT a_uiSize) { m_iCapacity += a_iNumber; m_iFreeCount += a_iNumber; m_iMaxFreeCount = m_iMaxFreeCount <= m_iFreeCount ? m_iFreeCount : m_iMaxFreeCount; - const int len = a_uiSize * a_iNumber + sizeof(Node); - Node* pNewNode = (Node*)tmalloc(len, TNULL, -1); + const int len = a_uiSize * a_iNumber + sizeof(Node); + Node *pNewNode = (Node *)tmalloc(len, TNULL, -1); - pNewNode->m_pNext = m_oRootNode.m_pNext; + pNewNode->m_pNext = m_oRootNode.m_pNext; m_oRootNode.m_pNext = pNewNode; - Node* pData = pNewNode + 1; - Node* pNext = TNULL; + Node *pData = pNewNode + 1; + Node *pNext = TNULL; for (TINT i = a_iNumber - 1; i != 0; i--) { pData->m_pNext = pNext; - pNext = pData; - - pData = (Node*)((TBYTE*)pData + a_uiSize); + pNext = pData; + + pData = (Node *)((TBYTE *)pData + a_uiSize); } m_oLastNode.m_pNext = pNext; @@ -54,10 +54,10 @@ TFreeList::Node* TFreeList::Allocate(TINT a_iNumber, TUINT a_uiSize) TPVOID TFreeList::New(TUINT a_uiSize) { if (a_uiSize != m_uiItemSize) { - return operator new (a_uiSize); + return operator new(a_uiSize); } - Node* pLastNode = m_oLastNode.m_pNext; + Node *pLastNode = m_oLastNode.m_pNext; if (pLastNode != TNULL) { m_iFreeCount--; @@ -72,15 +72,15 @@ TPVOID TFreeList::New(TUINT a_uiSize) void TFreeList::Delete(TPVOID a_pData) { - Node* pNode = (Node*)a_pData; + Node *pNode = (Node *)a_pData; if (m_oLastNode.m_pNext != TNULL) { - pNode->m_pNext = m_oLastNode.m_pNext; + pNode->m_pNext = m_oLastNode.m_pNext; m_oLastNode.m_pNext = pNode; } else { m_oLastNode.m_pNext = pNode; - pNode->m_pNext = TNULL; + pNode->m_pNext = TNULL; } m_iFreeCount++; @@ -90,8 +90,8 @@ void TFreeList::Delete(TPVOID a_pData) void TFreeList::SetCapacity(TINT a_iCapacity) { if (a_iCapacity <= m_iCapacity) return; - Node* pNode = Allocate(a_iCapacity - m_iCapacity, m_uiItemSize); - pNode->m_pNext = m_oLastNode.m_pNext; + Node *pNode = Allocate(a_iCapacity - m_iCapacity, m_uiItemSize); + pNode->m_pNext = m_oLastNode.m_pNext; m_oLastNode.m_pNext = pNode; } diff --git a/Toshi/Source/TKernel/THPTimer.cpp b/Toshi/Source/TKernel/THPTimer.cpp index eb8ff9d..0e4c330 100644 --- a/Toshi/Source/TKernel/THPTimer.cpp +++ b/Toshi/Source/TKernel/THPTimer.cpp @@ -16,7 +16,7 @@ void THPTimer::Reset() QueryPerformanceCounter(&m_iCurrentTime); QueryPerformanceFrequency(&m_iFrequency); m_iOldTime = m_iCurrentTime; - m_fDelta = 0; + m_fDelta = 0; } void THPTimer::Update() @@ -25,8 +25,8 @@ void THPTimer::Update() QueryPerformanceCounter(&m_iCurrentTime); TCFLOAT ratio = 1.0f / m_iFrequency.QuadPart; - m_fDelta = (m_iCurrentTime.QuadPart - m_iOldTime.QuadPart) * ratio; - m_fCurrent = m_iCurrentTime.QuadPart * ratio; + m_fDelta = (m_iCurrentTime.QuadPart - m_iOldTime.QuadPart) * ratio; + m_fCurrent = m_iCurrentTime.QuadPart * ratio; } TUINT THPTimer::GetRaw32() diff --git a/Toshi/Source/TKernel/TKernelInterface.cpp b/Toshi/Source/TKernel/TKernelInterface.cpp index 6791f11..2940151 100644 --- a/Toshi/Source/TKernel/TKernelInterface.cpp +++ b/Toshi/Source/TKernel/TKernelInterface.cpp @@ -1,29 +1,33 @@ #include "TKernelInterface.h" +#include "TUser.h" + +#ifdef TOSHI_SKU_WINDOWS +# include "Win/TNativeFileWin.h" +#endif // TOSHI_SKU_WINDOWS + #include #include // _getcwd #include -#include TOSHI_MULTIPLATFORM(TNativeFile) -#include "TUser.h" TOSHI_NAMESPACE_USING IMPLEMENT_DYNAMIC(TKernelInterface, TObject); -static TUINT s_iFlagUser = 0; -static TKernelInterface* s_pKernel; +static TUINT s_iFlagUser = 0; +static TKernelInterface *s_pKernel; -TKernelInterface::TKernelInterface(TINT argc, TPCHAR* const argv, TBOOL a_bVerbose) +TKernelInterface::TKernelInterface(TINT argc, TPCHAR *const argv, TBOOL a_bVerbose) { TWARNING("TKernelInterface::TKernelInterface() not implemented\n"); m_pScheduler = TNULL; m_fDeltaTime = 0.0f; - m_fAvgFPS = 0.0f; - m_bVerbose = a_bVerbose; + m_fAvgFPS = 0.0f; + m_bVerbose = a_bVerbose; if (!HASFLAG(s_iFlagUser & 1)) { s_iFlagUser |= 1; static TUser s_oUser = TUser("Toshi"); - s_pKernel = TNULL; + s_pKernel = TNULL; s_oUser.Register(); } s_pKernel = this; @@ -32,7 +36,7 @@ TKernelInterface::TKernelInterface(TINT argc, TPCHAR* const argv, TBOOL a_bVerbo TDPRINTF("Creating TKernelInterface\n"); } - TCHAR pPath[260]; + TCHAR pPath[260]; TPCHAR pBuffer = _getcwd(pPath, sizeof(pPath)); TVALIDADDRESS(pBuffer); TFileManager *pFileManager = new TFileManager(); @@ -71,7 +75,7 @@ TBOOL TKernelInterface::Update() static int GetProcessorSpeed() { LARGE_INTEGER qwFreq, qwStart, qwStop; - BOOL bSuccess = QueryPerformanceFrequency(&qwFreq); + BOOL bSuccess = QueryPerformanceFrequency(&qwFreq); if (bSuccess == FALSE) return 0; QueryPerformanceCounter(&qwStart); unsigned __int64 Start = __rdtsc(); @@ -93,7 +97,7 @@ void TKernelInterface::DumpInfo() if (!bSuccess) { osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - bSuccess = GetVersionExA((LPOSVERSIONINFO)&osvi); + bSuccess = GetVersionExA((LPOSVERSIONINFO)&osvi); if (!bSuccess) goto skipPlatform; } TPCCHAR system; @@ -111,12 +115,12 @@ void TKernelInterface::DumpInfo() } if (!bSuccess) { TDPRINTF("Windows version: %s version %d.%d (Build %d)\n", system, osvi.dwMajorVersion, - osvi.dwMinorVersion, osvi.dwBuildNumber); + osvi.dwMinorVersion, osvi.dwBuildNumber); } else { TDPRINTF("Windows version: %s version %d.%d (Build %d) Service Pack %d.%d\n", system, osvi.dwMajorVersion, - osvi.dwMinorVersion, osvi.dwBuildNumber, - osvi.wServicePackMajor, osvi.wServicePackMinor); + osvi.dwMinorVersion, osvi.dwBuildNumber, + osvi.wServicePackMajor, osvi.wServicePackMinor); } skipPlatform: @@ -143,7 +147,7 @@ void TKernelInterface::DumpInfo() TDPRINTF("<\n"); } -TKernelInterfaceDLL* TKernelInterface::FindInterface(const TCString& a_rszInterface) +TKernelInterfaceDLL *TKernelInterface::FindInterface(const TCString &a_rszInterface) { for (auto i = m_Interfaces.Begin(); i != m_Interfaces.End(); i++) { if (i->GetFilename() == a_rszInterface) { @@ -153,9 +157,9 @@ TKernelInterfaceDLL* TKernelInterface::FindInterface(const TCString& a_rszInterf return TNULL; } -TKernelInterfaceDLL* TKernelInterface::LoadInterface(const TCString& a_rszInterface) +TKernelInterfaceDLL *TKernelInterface::LoadInterface(const TCString &a_rszInterface) { - TKernelInterfaceDLL* pInterface = FindInterface(a_rszInterface); + TKernelInterfaceDLL *pInterface = FindInterface(a_rszInterface); if (pInterface) { return pInterface; } @@ -167,15 +171,15 @@ TKernelInterfaceDLL* TKernelInterface::LoadInterface(const TCString& a_rszInterf return pInterface; } -void TKernelInterface::UnloadInterface(TKernelInterfaceDLL& a_rInterface) +void TKernelInterface::UnloadInterface(TKernelInterfaceDLL &a_rInterface) { a_rInterface.Unload(); m_Interfaces.Delete(a_rInterface); } -void TKernelInterface::UnloadInterface(const TCString& a_rszInterface) +void TKernelInterface::UnloadInterface(const TCString &a_rszInterface) { - TKernelInterfaceDLL* pInterface = FindInterface(a_rszInterface); + TKernelInterfaceDLL *pInterface = FindInterface(a_rszInterface); if (pInterface) { UnloadInterface(*pInterface); } diff --git a/Toshi/Source/TKernel/TLString.cpp b/Toshi/Source/TKernel/TLString.cpp index c4dffd3..642a11a 100644 --- a/Toshi/Source/TKernel/TLString.cpp +++ b/Toshi/Source/TKernel/TLString.cpp @@ -2,4 +2,4 @@ TOSHI_NAMESPACE_USING -TFreeList TLocalisedString::m_oFreelist = TFreeList(sizeof(TLocalisedString), 0, 2000, (char*)""); \ No newline at end of file +TFreeList TLocalisedString::m_oFreelist = TFreeList(sizeof(TLocalisedString), 0, 2000, (char *)""); diff --git a/Toshi/Source/TKernel/TMatrix44.cpp b/Toshi/Source/TKernel/TMatrix44.cpp index 53a6b1a..ec9f163 100644 --- a/Toshi/Source/TKernel/TMatrix44.cpp +++ b/Toshi/Source/TKernel/TMatrix44.cpp @@ -1 +1 @@ -#include "TMatrix44.h" \ No newline at end of file +#include "TMatrix44.h" diff --git a/Toshi/Source/TKernel/TMemory.cpp b/Toshi/Source/TKernel/TMemory.cpp index 3ed15ee..e99331b 100644 --- a/Toshi/Source/TKernel/TMemory.cpp +++ b/Toshi/Source/TKernel/TMemory.cpp @@ -1,47 +1,47 @@ #include "TMemory.h" #include -void* __CRTDECL operator new(size_t size) +void *__CRTDECL operator new(size_t size) { return tmalloc(size, TNULL, -1); } -void* __CRTDECL operator new(size_t size, ::std::nothrow_t const&) noexcept +void *__CRTDECL operator new(size_t size, ::std::nothrow_t const &) noexcept { return tmalloc(size, TNULL, -1); } -void* __CRTDECL operator new[](size_t size) +void *__CRTDECL operator new[](size_t size) { return tmalloc(size, TNULL, -1); } -void* __CRTDECL operator new[](size_t size, ::std::nothrow_t const&) noexcept +void *__CRTDECL operator new[](size_t size, ::std::nothrow_t const &) noexcept { return tmalloc(size, TNULL, -1); } -void __CRTDECL operator delete(void* ptr) noexcept +void __CRTDECL operator delete(void *ptr) noexcept { tfree(ptr); } -void __CRTDECL operator delete(void* ptr, ::std::nothrow_t const&) noexcept +void __CRTDECL operator delete(void *ptr, ::std::nothrow_t const &) noexcept { tfree(ptr); } -void __CRTDECL operator delete[](void* ptr) noexcept +void __CRTDECL operator delete[](void *ptr) noexcept { tfree(ptr); } -void __CRTDECL operator delete[](void* ptr, ::std::nothrow_t const&) noexcept +void __CRTDECL operator delete[](void *ptr, ::std::nothrow_t const &) noexcept { tfree(ptr); } -void __CRTDECL operator delete[](void* ptr, size_t _Size) noexcept +void __CRTDECL operator delete[](void *ptr, size_t _Size) noexcept { tfree(ptr); } @@ -56,34 +56,33 @@ TBOOL TOSHI_API TMemory::Initialise() #endif // TOSHI_NOTFINAL if (!m_bInitialised) { - } TWARNING("Implement TMemory::Initialise()"); return TTRUE; } -TMemory& TOSHI_API TMemory::GetMemMangager() +TMemory &TOSHI_API TMemory::GetMemMangager() { - Initialise(); + Initialise(); return g_oMemManager; } -TMemory::MemBlock* TOSHI_API TMemory::GetGlobalBlock() +TMemory::MemBlock *TOSHI_API TMemory::GetGlobalBlock() { - Initialise(); + Initialise(); return g_oMemManager.m_pMemBlock; } -TMemory::MemNode* TOSHI_API TMemory::GetMemNodeFromAddress(TPVOID a_pAddr) +TMemory::MemNode *TOSHI_API TMemory::GetMemNodeFromAddress(TPVOID a_pAddr) { return TNULL; } -void TOSHI_API TMemory::ExtendNodeSize(MemNode* a_pMemNode, TUINT a_uiSize) +void TOSHI_API TMemory::ExtendNodeSize(MemNode *a_pMemNode, TUINT a_uiSize) { } -TPVOID TMemory::Alloc(TUINT a_uiSize, TUINT a_uiAlignment, MemBlock* a_pMemBlock, TPCHAR a_pBuffer, TINT a_iUnk3) +TPVOID TMemory::Alloc(TUINT a_uiSize, TUINT a_uiAlignment, MemBlock *a_pMemBlock, TPCHAR a_pBuffer, TINT a_iUnk3) { // Let's just use malloc until i implemented this return malloc(a_uiSize); @@ -92,14 +91,13 @@ TPVOID TMemory::Alloc(TUINT a_uiSize, TUINT a_uiAlignment, MemBlock* a_pMemBlock lock.Create(g_pMutex); if (a_uiSize < 8) a_uiSize = 8; if (a_uiAlignment < TMEMORY_ROUNDUP) { - TASSERT(a_uiAlignment>=TMEMORY_ROUNDUP); + TASSERT(a_uiAlignment >= TMEMORY_ROUNDUP); TDPRINTF("MEMORY ERROR: CANT ALLOC Alignment(%d)RecurseTree(DumpObjectClassTree_BaseBegin, DumpObjectClassTree_BaseEnd, DumpObjectClassTree_Check, TNULL); } -const TClass* TOSHI_API TClass::Find(TPCCHAR a_pcClassName, const TClass* a_pClass) +const TClass *TOSHI_API TClass::Find(TPCCHAR a_pcClassName, const TClass *a_pClass) { - TASSERT(a_pcClassName[1]!=0); + TASSERT(a_pcClassName[1] != 0); if (a_pClass == TNULL) a_pClass = &TGetClass(TObject); return FindRecurse(a_pcClassName, a_pClass, TFALSE); } -const TClass* TOSHI_API TClass::FindCommonBaseClass(const TClass& a_rClass, const TClass& a_rBaseClass) +const TClass *TOSHI_API TClass::FindCommonBaseClass(const TClass &a_rClass, const TClass &a_rBaseClass) { return nullptr; } -const TClass* TOSHI_API TClass::FindRecurse(TPCCHAR a_pcClassName, const TClass* a_pClass, TBOOL a_bHasPrevious) +const TClass *TOSHI_API TClass::FindRecurse(TPCCHAR a_pcClassName, const TClass *a_pClass, TBOOL a_bHasPrevious) { while (a_pClass) { - TClass* pPrevious = a_bHasPrevious ? a_pClass->m_pPrevious : TNULL; - int difference = TSystem::StringCompareNoCase(a_pClass->GetName(), a_pcClassName, -1); + TClass *pPrevious = a_bHasPrevious ? a_pClass->m_pPrevious : TNULL; + int difference = TSystem::StringCompareNoCase(a_pClass->GetName(), a_pcClassName, -1); if (difference == 0) return a_pClass; if (a_pClass->m_pLastAttached) { - const TClass* result = FindRecurse(a_pcClassName, a_pClass->m_pLastAttached, TTRUE); + const TClass *result = FindRecurse(a_pcClassName, a_pClass->m_pLastAttached, TTRUE); if (result) return result; } a_pClass = pPrevious; @@ -108,9 +108,9 @@ void TClass::InitialiseStatic() } } -TBOOL TClass::IsA(const TClass& a_rClass) const +TBOOL TClass::IsA(const TClass &a_rClass) const { - for (const TClass* pClass = this; pClass != TNULL; pClass = pClass->m_pParent) { + for (const TClass *pClass = this; pClass != TNULL; pClass = pClass->m_pParent) { if (pClass->IsExactly(a_rClass)) return TTRUE; } return TFALSE; @@ -128,7 +128,7 @@ void TClass::RecurseTree(t_RecurceTreeBaseBeginCb a_BaseBegin, t_RecurceTreeBase void TClass::RecurseTree2(t_RecurceTreeBaseBeginCb a_BaseBegin, t_RecurceTreeBaseEndCb a_BaseEnd, t_RecurceTreeCheck a_Check, TPCVOID a_pMem) { - for (TClass* pClass = m_pLastAttached; pClass != TNULL; pClass = pClass->m_pPrevious) { + for (TClass *pClass = m_pLastAttached; pClass != TNULL; pClass = pClass->m_pPrevious) { if (a_Check) a_Check(pClass, a_pMem); if (pClass->m_pLastAttached) { if (a_BaseBegin) a_BaseBegin(pClass, a_pMem); @@ -141,7 +141,7 @@ void TClass::RecurseTree2(t_RecurceTreeBaseBeginCb a_BaseBegin, t_RecurceTreeBas TBOOL TClass::AttachClassToParent() { if (m_pParent && !IsAttached()) { - m_pPrevious = m_pParent->m_pLastAttached; + m_pPrevious = m_pParent->m_pLastAttached; m_pParent->m_pLastAttached = this; return TTRUE; } @@ -151,7 +151,7 @@ TBOOL TClass::AttachClassToParent() TBOOL TClass::IsAttached() const { if (m_pParent) { - for (TClass* i = m_pParent->m_pLastAttached; i!=TNULL; i = i->m_pPrevious) { + for (TClass *i = m_pParent->m_pLastAttached; i != TNULL; i = i->m_pPrevious) { if (i == this) return TTRUE; } } diff --git a/Toshi/Source/TKernel/TPCString.cpp b/Toshi/Source/TKernel/TPCString.cpp index 245b677..b92ee13 100644 --- a/Toshi/Source/TKernel/TPCString.cpp +++ b/Toshi/Source/TKernel/TPCString.cpp @@ -6,7 +6,7 @@ IMPLEMENT_FREELIST(TPooledCString, 0, 8) TCStringPool::TCStringPool(TINT a_iMaxSize, TINT a_iInitialSize) { - m_iMaxSize = a_iMaxSize; + m_iMaxSize = a_iMaxSize; m_oPooledCStrings = TArray(a_iMaxSize, a_iInitialSize); } @@ -22,7 +22,7 @@ TPCString TCStringPool::Get(TPCCHAR a_szString) return TPCString(&m_oPooledCStrings[i]); } } - TPooledCString* string = new TPooledCString(a_szString, this); + TPooledCString *string = new TPooledCString(a_szString, this); m_oPooledCStrings.Push(*string); return TPCString(string); } @@ -32,7 +32,7 @@ TPCString TCStringPool::Get(TINT a_iInt) return Get(TCString().Format("%d", a_iInt)); } -void TCStringPool::Remove(TPooledCString& a_rPooledCString) +void TCStringPool::Remove(TPooledCString &a_rPooledCString) { TASSERT(a_rPooledCString.GetRefCount() == 0); //auto iter = TArray::Iterator(-1, a_rPooledCString); @@ -45,9 +45,9 @@ TPooledCString::TPooledCString() m_pCStringPool = TNULL; } -TPooledCString::TPooledCString(TPCCHAR a_szString, TCStringPool* a_pStringPool) +TPooledCString::TPooledCString(TPCCHAR a_szString, TCStringPool *a_pStringPool) { - m_oString = TCString(a_szString); + m_oString = TCString(a_szString); m_pCStringPool = a_pStringPool; } diff --git a/Toshi/Source/TKernel/TPile.cpp b/Toshi/Source/TKernel/TPile.cpp index 5c7782c..9a246ad 100644 --- a/Toshi/Source/TKernel/TPile.cpp +++ b/Toshi/Source/TKernel/TPile.cpp @@ -4,31 +4,30 @@ TOSHI_NAMESPACE_BEGIN TPile::TPile(TINT a_iPileSize, TINT a_iSize, TUINT a_iFlags) { - m_iPileSize = a_iPileSize; - m_iBlockSize = a_iSize / a_iPileSize; - m_iFlags = a_iFlags; - m_iNumBlocks = 0; - m_iNumAllocs = 0; + m_iPileSize = a_iPileSize; + m_iBlockSize = a_iSize / a_iPileSize; + m_iFlags = a_iFlags; + m_iNumBlocks = 0; + m_iNumAllocs = 0; m_iWastedSpace = 0; } -void* TPile::RawAlloc(TINT a_iSize, TINT a_iAlignment) +void *TPile::RawAlloc(TINT a_iSize, TINT a_iAlignment) { m_iNumAllocs++; return nullptr; } -TBOOL TPile::RawIsInside(void* a_pRaw) +TBOOL TPile::RawIsInside(void *a_pRaw) { return TBOOL(); } void TPile::Free() { - for (void* it = m_ppBlocks[0]; it != TNULL; it) + for (void *it = m_ppBlocks[0]; it != TNULL; it) { - } } -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Source/TKernel/TProfiler.cpp b/Toshi/Source/TKernel/TProfiler.cpp index 5b6221a..709f820 100644 --- a/Toshi/Source/TKernel/TProfiler.cpp +++ b/Toshi/Source/TKernel/TProfiler.cpp @@ -11,7 +11,6 @@ void TProfiler::Start() void TProfiler::Stop() { m_sProfilerStopped = TTRUE; - } void TProfiler::PrintSummary() diff --git a/Toshi/Source/TKernel/TQList.cpp b/Toshi/Source/TKernel/TQList.cpp index 4ad1ae2..72e9f91 100644 --- a/Toshi/Source/TKernel/TQList.cpp +++ b/Toshi/Source/TKernel/TQList.cpp @@ -1 +1 @@ -#include "TQList.h" \ No newline at end of file +#include "TQList.h" diff --git a/Toshi/Source/TKernel/TScheduler.cpp b/Toshi/Source/TKernel/TScheduler.cpp index fdeb1cd..17f604b 100644 --- a/Toshi/Source/TKernel/TScheduler.cpp +++ b/Toshi/Source/TKernel/TScheduler.cpp @@ -5,25 +5,25 @@ TOSHI_NAMESPACE_USING IMPLEMENT_DYNAMIC(TScheduler, TObject); -TBOOL Profiler_Control_ParentStart = TFALSE; -TBOOL Profiler_Control_ParentStop = TFALSE; +TBOOL Profiler_Control_ParentStart = TFALSE; +TBOOL Profiler_Control_ParentStop = TFALSE; TProfiler Profiler_Program; -TScheduler::TScheduler(TKernelInterface* a_pKernel) +TScheduler::TScheduler(TKernelInterface *a_pKernel) { - m_pCurrentTask = TNULL; - m_pKernel = a_pKernel; + m_pCurrentTask = TNULL; + m_pKernel = a_pKernel; m_fCurrentTimeDelta = 0.0f; - m_fTotalTime = 0.0f; - m_fDebugSlowTime = 1.0f; - m_iFrameCount = 0; + m_fTotalTime = 0.0f; + m_fDebugSlowTime = 1.0f; + m_iFrameCount = 0; TDPRINTF("Creating TScheduler.\n"); } -TTask* TScheduler::CreateTask(TClass const& a_rTaskClass, TTask* a_pTask) +TTask *TScheduler::CreateTask(TClass const &a_rTaskClass, TTask *a_pTask) { TASSERT(a_rTaskClass.IsA(TGetClass(TTask)) == TTRUE); - TTask *pTask = static_cast(a_rTaskClass.CreateObject()); + TTask *pTask = static_cast(a_rTaskClass.CreateObject()); TASSERT(pTask != TNULL); m_oTaskTree.InsertAtRoot(pTask); if (a_pTask) { @@ -65,15 +65,15 @@ void TScheduler::Update() UpdateActiveTasks(m_oTaskTree.ChildOfRoot()); } -void TScheduler::DestroyDyingTasks(TTask* a_pTask) +void TScheduler::DestroyDyingTasks(TTask *a_pTask) { if (a_pTask != TNULL) { - TTask* currentTask = a_pTask->Prev(); + TTask *currentTask = a_pTask->Prev(); while (currentTask != TNULL) { - TTask* nextTask = (currentTask->Prev() != a_pTask) ? currentTask->Prev() : TNULL; + TTask *nextTask = (currentTask->Prev() != a_pTask) ? currentTask->Prev() : TNULL; if (!currentTask->IsDying()) { @@ -104,9 +104,9 @@ void TScheduler::DestroyDyingTasks(TTask* a_pTask) }*/ } -void TScheduler::DestroyTaskRecurse(TTask* a_pTask) +void TScheduler::DestroyTaskRecurse(TTask *a_pTask) { - for (TTask* pTask = a_pTask; pTask != TNULL; pTask = (pTask->Next() != a_pTask) ? a_pTask->Next() : TNULL) { + for (TTask *pTask = a_pTask; pTask != TNULL; pTask = (pTask->Next() != a_pTask) ? a_pTask->Next() : TNULL) { pTask->m_Flags |= TTask::State_Dying; if (pTask->Child() != TNULL) { @@ -115,13 +115,13 @@ void TScheduler::DestroyTaskRecurse(TTask* a_pTask) } } -void TScheduler::UpdateActiveTasks(TTask* a_pTask) +void TScheduler::UpdateActiveTasks(TTask *a_pTask) { - TTask* currentTask = a_pTask; + TTask *currentTask = a_pTask; while (currentTask != TNULL) { - TTask* nextTask = (currentTask->Next() != a_pTask) ? currentTask->Next() : TNULL; + TTask *nextTask = (currentTask->Next() != a_pTask) ? currentTask->Next() : TNULL; TBOOL recurse = TTRUE; if (a_pTask->IsCreated() && a_pTask->IsActive()) @@ -150,14 +150,14 @@ void TScheduler::UpdateActiveTasks(TTask* a_pTask) void TScheduler::DestroyAllTasks() { - TTask* pAttached = m_oTaskTree.ChildOfRoot(); + TTask *pAttached = m_oTaskTree.ChildOfRoot(); if (pAttached) { DestroyTask(*pAttached); DeleteTaskAtomic(pAttached); } } -void TScheduler::DestroyTask(TTask& a_rTask) +void TScheduler::DestroyTask(TTask &a_rTask) { if (!a_rTask.IsDying()) { a_rTask.m_Flags |= TTask::State_Dying; @@ -165,24 +165,24 @@ void TScheduler::DestroyTask(TTask& a_rTask) } } -void TScheduler::DeleteTask(TTask* a_pTask) +void TScheduler::DeleteTask(TTask *a_pTask) { DeleteTaskRecurse(a_pTask->Child()); DeleteTaskAtomic(a_pTask); } -void TScheduler::DeleteTaskRecurse(TTask* a_pTask) +void TScheduler::DeleteTaskRecurse(TTask *a_pTask) { if (!a_pTask) return; - for (TTask* pTask = a_pTask->Prev(); pTask != TNULL; pTask = (pTask->Prev() != a_pTask) ? a_pTask->Prev() : TNULL) { + for (TTask *pTask = a_pTask->Prev(); pTask != TNULL; pTask = (pTask->Prev() != a_pTask) ? a_pTask->Prev() : TNULL) { DeleteTaskAtomic(pTask); } } -void TScheduler::DeleteTaskAtomic(TTask* a_pTask) +void TScheduler::DeleteTaskAtomic(TTask *a_pTask) { if (!a_pTask) return; - TTask* taskParent = TNULL; + TTask *taskParent = TNULL; if (a_pTask->IsChildOfDefaultRoot() == TFALSE) { taskParent = a_pTask->Parent(); @@ -197,7 +197,7 @@ void TScheduler::DeleteTaskAtomic(TTask* a_pTask) DeleteTaskRecurse(a_pTask->Child()); } - TClass* pClass = &a_pTask->GetClass(); + TClass *pClass = &a_pTask->GetClass(); a_pTask->OnDestroy(); m_oTaskTree.Remove(a_pTask, TFALSE); a_pTask->Delete(); diff --git a/Toshi/Source/TKernel/TSystemTools.cpp b/Toshi/Source/TKernel/TSystemTools.cpp index 90eb021..358caaa 100644 --- a/Toshi/Source/TKernel/TSystemTools.cpp +++ b/Toshi/Source/TKernel/TSystemTools.cpp @@ -8,12 +8,12 @@ TOSHI_NAMESPACE_USING TPCCHAR TOSHI_API TSystem::StringUnicodeToChar(TPCHAR a_CharString, TPCWCHAR a_UnicodeString, TINT a_iLength) { - TASSERT((a_UnicodeString!=TNULL) && (a_CharString!=TNULL)); + TASSERT((a_UnicodeString != TNULL) && (a_CharString != TNULL)); TINT iUnicodeStringLength = StringLength(a_UnicodeString); if (iUnicodeStringLength < a_iLength || a_iLength == -1) { a_iLength = iUnicodeStringLength; } - for (size_t i = 0; i < a_iLength; i++) { + for (TINT i = 0; i < a_iLength; i++) { a_CharString[i] = TSTATICCAST(TCHAR, a_UnicodeString[i]); } a_CharString[a_iLength] = '\0'; @@ -38,7 +38,7 @@ TPCCHAR TOSHI_API TSystem::StringIntToString(TINT a_iInt, TPCHAR a_szString, TIN { if (a_iRadix == 8) { sprintf(a_szString, "%o", a_iInt); - } + } else if (a_iRadix == 10) { sprintf(a_szString, "%d", a_iInt); } @@ -53,7 +53,7 @@ TPCCHAR TOSHI_API TSystem::StringIntToString(TINT a_iInt, TPCHAR a_szString, TIN TINT TOSHI_API TSystem::StringLength(TPCCHAR a_String) { - TASSERT(a_String!=TNULL); + TASSERT(a_String != TNULL); TINT iLength = 0; while (a_String[iLength] != 0) iLength++; return iLength; @@ -67,18 +67,18 @@ TINT TOSHI_API TSystem::StringLength(TPCWCHAR a_String) TINT TOSHI_API TSystem::StringCompareNoCase(TPCCHAR a_String1, TPCCHAR a_String2, TINT a_uiSize) { - TASSERT((a_String1!=TNULL) && (a_String2!=TNULL)); + TASSERT((a_String1 != TNULL) && (a_String2 != TNULL)); return a_uiSize != -1 ? _strnicmp(a_String1, a_String2, a_uiSize) : _stricmp(a_String1, a_String2); } -TCHAR const* TOSHI_API TSystem::StringCopy(TPCHAR a_DestinationString, TCHAR const* a_SourceString, TINT a_iCount) +TCHAR const *TOSHI_API TSystem::StringCopy(TPCHAR a_DestinationString, TCHAR const *a_SourceString, TINT a_iCount) { - TASSERT((a_DestinationString!=TNULL) && (a_SourceString!=TNULL)); + TASSERT((a_DestinationString != TNULL) && (a_SourceString != TNULL)); if (a_iCount != -1) { return strncpy(a_DestinationString, a_SourceString, a_iCount); } - TPCHAR d = a_DestinationString; - TCHAR const* s = a_SourceString; + TPCHAR d = a_DestinationString; + TCHAR const *s = a_SourceString; while (*s != '\0') { *d++ = *s++; } @@ -98,7 +98,7 @@ TPCWCHAR TOSHI_API TSystem::StringCopy(TPWCHAR a_DestinationString, TPCWCHAR a_S TPVOID TOSHI_API TSystem::MemCopy(TPVOID a_dest, TPCVOID a_src, TUINT a_iSize) { // Note: Idk if they used gcclib's memcpy() or their own - TPCHAR d = (TPCHAR)a_dest; + TPCHAR d = (TPCHAR)a_dest; TPCCHAR s = (TPCCHAR)a_src; while (a_iSize--) *d++ = *s++; @@ -113,7 +113,7 @@ TPVOID TOSHI_API TSystem::MemSet(TPVOID a_dest, TINT a_iValue, TINT m_iSize) return a_dest; } -TCStringPool* TOSHI_API TSystem::GetCStringPool() +TCStringPool *TOSHI_API TSystem::GetCStringPool() { if (!ms_poTCStringPool) { ms_poTCStringPool = new TCStringPool(); diff --git a/Toshi/Source/TKernel/TTask.cpp b/Toshi/Source/TKernel/TTask.cpp index 8d1c97f..0423e6b 100644 --- a/Toshi/Source/TKernel/TTask.cpp +++ b/Toshi/Source/TKernel/TTask.cpp @@ -7,7 +7,7 @@ IMPLEMENT_DYNAMIC(TTask, TObject); TBOOL TTask::Create() { - TASSERT(IsCreated()==TFALSE); + TASSERT(IsCreated() == TFALSE); if (!IsCreated()) { if (!OnCreate()) { OnDestroy(); @@ -40,7 +40,7 @@ void TTask::Activate(TBOOL a_bActivate) { TUINT8 oldState = m_Flags; TUINT8 newFlags = a_bActivate ? State_Active : 0; - m_Flags = (m_Flags & ~State_Active) | newFlags; + m_Flags = (m_Flags & ~State_Active) | newFlags; if (oldState != m_Flags) { if (a_bActivate) { @@ -57,7 +57,7 @@ void TTask::DestroyTask() m_pScheduler->DestroyTask(*this); } -TScheduler* TTask::GetScheduler() +TScheduler *TTask::GetScheduler() { return m_pScheduler; } diff --git a/Toshi/Source/TKernel/TThread.cpp b/Toshi/Source/TKernel/TThread.cpp index dc0f4b9..7f4f1a9 100644 --- a/Toshi/Source/TKernel/TThread.cpp +++ b/Toshi/Source/TKernel/TThread.cpp @@ -2,7 +2,7 @@ TOSHI_NAMESPACE_USING -void TMutexLock::Create(TMutex* a_pMutex) +void TMutexLock::Create(TMutex *a_pMutex) { TVALIDADDRESS(a_pMutex); m_pMutex = a_pMutex; diff --git a/Toshi/Source/TKernel/TUser.cpp b/Toshi/Source/TKernel/TUser.cpp index 7f068d2..9e1c761 100644 --- a/Toshi/Source/TKernel/TUser.cpp +++ b/Toshi/Source/TKernel/TUser.cpp @@ -5,9 +5,9 @@ TOSHI_NAMESPACE_USING TUserHandler TUserHandler::ms_oSingleton = TUserHandler(); -TUser::TUser(TCHAR const* a_sName) +TUser::TUser(TCHAR const *a_sName) { - m_sName = a_sName; + m_sName = a_sName; m_iUserID = -1; TVALIDADDRESS(m_sName); m_iNameLen = TSystem::StringLength(m_sName); @@ -19,13 +19,13 @@ TUserHandler::TUserHandler() TSystem::MemSet(m_pUsers, 0, sizeof(m_pUsers)); } -TSHORT TUserHandler::RegisterUser(TUser& a_rUser) +TSHORT TUserHandler::RegisterUser(TUser &a_rUser) { - TASSERT(TFALSE==a_rUser.IsRegistered()); + TASSERT(TFALSE == a_rUser.IsRegistered()); TINT curUserCount = GetUserCount(); if (curUserCount < MAX_USERS) { m_iUserCount++; - a_rUser.m_iUserID = curUserCount; + a_rUser.m_iUserID = curUserCount; m_pUsers[curUserCount] = &a_rUser; return a_rUser.GetUserID(); } @@ -33,7 +33,7 @@ TSHORT TUserHandler::RegisterUser(TUser& a_rUser) return -1; } -void TUserHandler::DeregisterUser(TUser& a_rUser) +void TUserHandler::DeregisterUser(TUser &a_rUser) { if (a_rUser.GetUserID() != -1) { m_pUsers[a_rUser.GetUserID()] = TNULL; @@ -41,20 +41,20 @@ void TUserHandler::DeregisterUser(TUser& a_rUser) a_rUser.m_iUserID = -1; } -TUser* TUserHandler::FindUser(TCHAR const* a_sName) +TUser *TUserHandler::FindUser(TCHAR const *a_sName) { TINT iNameLength = TSystem::StringLength(a_sName); for (TINT i = 0; i < MAX_USERS; i++) { - if (m_pUsers[i] && - m_pUsers[i]->GetNameLength() == iNameLength && - TSystem::StringCompareNoCase(m_pUsers[i]->GetName(), a_sName, -1) == 0) { + if (m_pUsers[i] && + m_pUsers[i]->GetNameLength() == iNameLength && + TSystem::StringCompareNoCase(m_pUsers[i]->GetName(), a_sName, -1) == 0) { return m_pUsers[i]; } } return TNULL; } -TUserHandler& TUserHandler::GetSingleton() +TUserHandler &TUserHandler::GetSingleton() { return ms_oSingleton; } diff --git a/Toshi/Source/TKernel/TVector2.cpp b/Toshi/Source/TKernel/TVector2.cpp index a793a15..8a3b3de 100644 --- a/Toshi/Source/TKernel/TVector2.cpp +++ b/Toshi/Source/TKernel/TVector2.cpp @@ -8,4 +8,4 @@ const TVector2 TVector2::VEC_POSY = { 0, 1 }; const TVector2 TVector2::VEC_NEGX = { -1, 0 }; const TVector2 TVector2::VEC_NEGY = { 0, -1 }; -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Source/TKernel/TVector3.cpp b/Toshi/Source/TKernel/TVector3.cpp index 9b28616..2e46c51 100644 --- a/Toshi/Source/TKernel/TVector3.cpp +++ b/Toshi/Source/TKernel/TVector3.cpp @@ -1 +1 @@ -#include "TVector3.h" \ No newline at end of file +#include "TVector3.h" diff --git a/Toshi/Source/TKernel/TWString.cpp b/Toshi/Source/TKernel/TWString.cpp index b16b582..4fb3181 100644 --- a/Toshi/Source/TKernel/TWString.cpp +++ b/Toshi/Source/TKernel/TWString.cpp @@ -14,8 +14,8 @@ TBOOL TWString::AllocBuffer(TINT a_iLength, TBOOL a_bClear) if (a_iLength == 0) { if (a_bClear) tfree(m_pBuffer); - m_pBuffer = m_aNull; - hasChanged = TTRUE; + m_pBuffer = m_aNull; + hasChanged = TTRUE; m_iExcessLen = 0; } else { @@ -24,14 +24,14 @@ TBOOL TWString::AllocBuffer(TINT a_iLength, TBOOL a_bClear) if (newExcessLen < 0 || newExcessLen > 0xFF) { if (m_iStrLen != 0 && a_bClear) tfree(m_pBuffer); - m_pBuffer = (TPWCHAR)tmalloc((a_iLength + 1) * 2, TNULL, -1); + m_pBuffer = (TPWCHAR)tmalloc((a_iLength + 1) * 2, TNULL, -1); m_iExcessLen = 0; TASSERT(m_pBuffer != TNULL); hasChanged = TTRUE; } else { m_iExcessLen = newExcessLen; - hasChanged = TFALSE; + hasChanged = TFALSE; } } m_iStrLen = a_iLength; @@ -40,15 +40,15 @@ TBOOL TWString::AllocBuffer(TINT a_iLength, TBOOL a_bClear) return hasChanged; } -TWString& TWString::Concat(TWString const& a_rString, TINT a_iLength) +TWString &TWString::Concat(TWString const &a_rString, TINT a_iLength) { TINT len = a_rString.Length(); if (len < a_iLength || a_iLength == -1) { a_iLength = len; } TPWCHAR pBuffer = m_pBuffer; - len = Length(); - TBOOL ret = AllocBuffer(len + a_iLength, TFALSE); + len = Length(); + TBOOL ret = AllocBuffer(len + a_iLength, TFALSE); if (ret) { TSystem::StringCopy(m_pBuffer, pBuffer, -1); } @@ -60,15 +60,15 @@ TWString& TWString::Concat(TWString const& a_rString, TINT a_iLength) return *this; } -TWString& TWString::Concat(TPCWCHAR a_String, TINT a_iLength) +TWString &TWString::Concat(TPCWCHAR a_String, TINT a_iLength) { TINT len = TSystem::StringLength(a_String); if (len < a_iLength || a_iLength == -1) { a_iLength = len; } TPWCHAR pBuffer = m_pBuffer; - len = Length(); - TBOOL ret = AllocBuffer(len + a_iLength, TFALSE); + len = Length(); + TBOOL ret = AllocBuffer(len + a_iLength, TFALSE); if (ret) { TSystem::StringCopy(m_pBuffer, pBuffer, -1); } @@ -91,7 +91,7 @@ TINT TWString::Compare(TPCWCHAR a_pcString, int a_iLength) const return wcscmp(GetString(), a_pcString); } -void TWString::Copy(const TWString& a_rOther, TINT a_iLength) +void TWString::Copy(const TWString &a_rOther, TINT a_iLength) { if (*this != a_rOther) { if (a_rOther.m_iStrLen < a_iLength || a_iLength == -1) a_iLength = a_rOther.m_iStrLen; @@ -123,9 +123,9 @@ void TWString::Copy(TPCCHAR a_pcString, TINT a_iLength) m_pBuffer[a_iLength] = L'\0'; } -TWString& TOSHI_CALLBACKAPI TWString::Format(TPCWCHAR a_pcFormat, ...) +TWString &TOSHI_CALLBACKAPI TWString::Format(TPCWCHAR a_pcFormat, ...) { - TWCHAR buffer[0x400]; + TWCHAR buffer[0x400]; va_list vargs; va_start(vargs, a_pcFormat); _vsnwprintf(buffer, sizeof(buffer), a_pcFormat, vargs); @@ -150,7 +150,7 @@ void TWString::Truncate(TINT a_iLength) a_iLength = len; } TPWCHAR pBuffer = m_pBuffer; - TBOOL ret = AllocBuffer(a_iLength, TFALSE); + TBOOL ret = AllocBuffer(a_iLength, TFALSE); if (ret) { TSystem::StringCopy(m_pBuffer, pBuffer, a_iLength); } @@ -159,4 +159,3 @@ void TWString::Truncate(TINT a_iLength) tfree(pBuffer); } } - diff --git a/Toshi/Source/TKernel/Win/TNativeFileWin.cpp b/Toshi/Source/TKernel/Win/TNativeFileWin.cpp index 088623a..e063385 100644 --- a/Toshi/Source/TKernel/Win/TNativeFileWin.cpp +++ b/Toshi/Source/TKernel/Win/TNativeFileWin.cpp @@ -4,321 +4,323 @@ TOSHI_NAMESPACE_USING -TNativeFileSystem::TNativeFileSystem(TPCCHAR a_pcName) : TFileSystem(a_pcName) +TNativeFileSystem::TNativeFileSystem(TPCCHAR a_pcName) + : TFileSystem(a_pcName) { - m_hFileSystem = INVALID_HANDLE_VALUE; - TFileManager* pFileManager = TFileManager::GetFileManager(); - TVALIDADDRESS(pFileManager); - pFileManager->MountFileSystem(this); + m_hFileSystem = INVALID_HANDLE_VALUE; + TFileManager *pFileManager = TFileManager::GetFileManager(); + TVALIDADDRESS(pFileManager); + pFileManager->MountFileSystem(this); } -TFile* TNativeFileSystem::CreateFile(Toshi::TCString const& a_rFilename, TUINT a_uiMode) +TFile *TNativeFileSystem::CreateFile(Toshi::TCString const &a_rFilename, TUINT a_uiMode) { - TNativeFile* pFile = new TNativeFile(this); + TNativeFile *pFile = new TNativeFile(this); - if (!pFile->Open(a_rFilename, a_uiMode)) { - delete pFile; - return TNULL; - } + if (!pFile->Open(a_rFilename, a_uiMode)) { + delete pFile; + return TNULL; + } - return pFile; + return pFile; } -void TNativeFileSystem::DestroyFile(TFile* a_pFile) +void TNativeFileSystem::DestroyFile(TFile *a_pFile) { - TNativeFile* pFile = static_cast(a_pFile); - if (pFile) { - pFile->Close(); - delete pFile; - } + TNativeFile *pFile = static_cast(a_pFile); + if (pFile) { + pFile->Close(); + delete pFile; + } } -TBOOL TNativeFileSystem::RemoveFile(TCString const& a_rFilename) +TBOOL TNativeFileSystem::RemoveFile(TCString const &a_rFilename) { - return DeleteFile(a_rFilename.GetString()); + return DeleteFile(a_rFilename.GetString()); } -TCString TNativeFileSystem::MakeInternalPath(TCString const& a_rsPath) +TCString TNativeFileSystem::MakeInternalPath(TCString const &a_rsPath) { - TCString prefix = GetPrefix(); - if (prefix.Length() > 0) { - if (prefix[prefix.Length() - 1] == '/' || prefix[prefix.Length() - 1] == '\\') { - prefix.Truncate(prefix.Length() - 1); - } - } - TFileManager *pFileManager = TFileManager::GetFileManager(); - TVALIDADDRESS(pFileManager); - { - TCString empty; - pFileManager->MakeAbsolutePath(empty); - prefix += empty; - } - return TCString(); + TCString prefix = GetPrefix(); + if (prefix.Length() > 0) { + if (prefix[prefix.Length() - 1] == '/' || prefix[prefix.Length() - 1] == '\\') { + prefix.Truncate(prefix.Length() - 1); + } + } + TFileManager *pFileManager = TFileManager::GetFileManager(); + TVALIDADDRESS(pFileManager); + { + TCString empty; + pFileManager->MakeAbsolutePath(empty); + prefix += empty; + } + return TCString(); } TINT TNativeFile::Read(TPVOID a_pBuffer, TINT a_iSize) { - if (a_iSize < 1) { - return 0; - } - if (m_pBuffer == TNULL) { - return ReadUnbuffered(a_pBuffer, a_iSize); - } - - TINT readedCount = 0; - TINT startPos = m_iPosition; - TINT curBufferPos = startPos / BUFFER_SIZE * BUFFER_SIZE; - TINT newBufferPos = curBufferPos + a_iSize; - TPVOID curPosBuffer = a_pBuffer; - - if (curBufferPos != newBufferPos) { - if (curBufferPos == m_iPrevBufferPos) { - TINT readCount = m_iLastBufferSize - (startPos - curBufferPos); - - if (readCount > 0) { - memcpy(a_pBuffer, (TPCHAR)m_pBuffer + startPos - curBufferPos, readCount); - - curPosBuffer = (TPCHAR)m_pBuffer + readCount; - m_iPosition += readCount; - readedCount = readCount; - } - } - TINT toReadCount = newBufferPos - m_iPosition; - curBufferPos = newBufferPos; - - if (toReadCount > 0) { - TINT readed = ReadUnbuffered(curPosBuffer, toReadCount); - curPosBuffer = (TPCHAR)curPosBuffer + readed; - readedCount += readed; - - if (readed != toReadCount) { - // end of file? - return readedCount; - } - } - } - - if (readedCount != a_iSize && LoadBuffer(curBufferPos)) { - a_iSize -= readedCount; - TINT bufferLeftSize = m_iPosition - curBufferPos; - TINT readCount = m_iLastBufferSize - bufferLeftSize; - readCount = TMIN(readCount, a_iSize); - - if (readCount > 0) { - memcpy(curPosBuffer, (TPCHAR)m_pBuffer + bufferLeftSize, readCount); - m_iPosition += readCount; - readedCount += readCount; - } - } - - return readedCount; + if (a_iSize < 1) { + return 0; + } + if (m_pBuffer == TNULL) { + return ReadUnbuffered(a_pBuffer, a_iSize); + } + + TINT readedCount = 0; + TINT startPos = m_iPosition; + TINT curBufferPos = startPos / BUFFER_SIZE * BUFFER_SIZE; + TINT newBufferPos = curBufferPos + a_iSize; + TPVOID curPosBuffer = a_pBuffer; + + if (curBufferPos != newBufferPos) { + if (curBufferPos == m_iPrevBufferPos) { + TINT readCount = m_iLastBufferSize - (startPos - curBufferPos); + + if (readCount > 0) { + memcpy(a_pBuffer, (TPCHAR)m_pBuffer + startPos - curBufferPos, readCount); + + curPosBuffer = (TPCHAR)m_pBuffer + readCount; + m_iPosition += readCount; + readedCount = readCount; + } + } + TINT toReadCount = newBufferPos - m_iPosition; + curBufferPos = newBufferPos; + + if (toReadCount > 0) { + TINT readed = ReadUnbuffered(curPosBuffer, toReadCount); + curPosBuffer = (TPCHAR)curPosBuffer + readed; + readedCount += readed; + + if (readed != toReadCount) { + // end of file? + return readedCount; + } + } + } + + if (readedCount != a_iSize && LoadBuffer(curBufferPos)) { + a_iSize -= readedCount; + TINT bufferLeftSize = m_iPosition - curBufferPos; + TINT readCount = m_iLastBufferSize - bufferLeftSize; + readCount = TMIN(readCount, a_iSize); + + if (readCount > 0) { + memcpy(curPosBuffer, (TPCHAR)m_pBuffer + bufferLeftSize, readCount); + m_iPosition += readCount; + readedCount += readCount; + } + } + + return readedCount; } -TINT TNativeFile::Write(void const* a_pBuffer, TINT a_iSize) +TINT TNativeFile::Write(void const *a_pBuffer, TINT a_iSize) { - if (m_iBufferPosition != m_iPosition) { - m_iBufferPosition = SetFilePointer(m_hFile, m_iPosition, NULL, FILE_BEGIN); - - if (m_iBufferPosition == INVALID_SET_FILE_POINTER && GetLastError() != NO_ERROR) { - return 0; - } - - m_iPosition = m_iBufferPosition; - } - - if (!m_bWriteBuffered) { - DWORD written; - BOOL bRes = WriteFile(m_hFile, a_pBuffer, a_iSize, &written, NULL); - - if (!bRes) { - return 0; - } - - m_iBufferPosition += written; - m_iPosition = m_iBufferPosition; - return written; - } - - // Flush write buffer if data doesn't fit it - if (m_iWriteBufferUsed + a_iSize >= BUFFER_SIZE) { - FlushWriteBuffer(); - } - - if (a_iSize < BUFFER_SIZE) { - // Data fits the write buffer so append it to it - memcpy((TPCHAR)m_pWriteBuffer + m_iWriteBufferUsed, a_pBuffer, a_iSize); - m_iWriteBufferUsed += a_iSize; - return a_iSize; - } - else { - // Data doesn't fit the write buffer at all so write it right now - DWORD written; - BOOL bRes = WriteFile(m_hFile, a_pBuffer, a_iSize, &written, NULL); - - if (bRes) { - m_iBufferPosition += a_iSize; - m_iPosition = m_iBufferPosition; - return written; - } - } - - return 0; + if (m_iBufferPosition != m_iPosition) { + m_iBufferPosition = SetFilePointer(m_hFile, m_iPosition, NULL, FILE_BEGIN); + + if (m_iBufferPosition == INVALID_SET_FILE_POINTER && GetLastError() != NO_ERROR) { + return 0; + } + + m_iPosition = m_iBufferPosition; + } + + if (!m_bWriteBuffered) { + DWORD written; + BOOL bRes = WriteFile(m_hFile, a_pBuffer, a_iSize, &written, NULL); + + if (!bRes) { + return 0; + } + + m_iBufferPosition += written; + m_iPosition = m_iBufferPosition; + return written; + } + + // Flush write buffer if data doesn't fit it + if (m_iWriteBufferUsed + a_iSize >= BUFFER_SIZE) { + FlushWriteBuffer(); + } + + if (a_iSize < BUFFER_SIZE) { + // Data fits the write buffer so append it to it + memcpy((TPCHAR)m_pWriteBuffer + m_iWriteBufferUsed, a_pBuffer, a_iSize); + m_iWriteBufferUsed += a_iSize; + return a_iSize; + } + else { + // Data doesn't fit the write buffer at all so write it right now + DWORD written; + BOOL bRes = WriteFile(m_hFile, a_pBuffer, a_iSize, &written, NULL); + + if (bRes) { + m_iBufferPosition += a_iSize; + m_iPosition = m_iBufferPosition; + return written; + } + } + + return 0; } TBOOL TNativeFile::Seek(TINT a_iOffset, TSEEK a_eSeek) { - if (a_eSeek == TFile::TSEEK_SET) { - m_iPosition = a_iOffset < 0 ? 0 : a_iOffset; - } - else if (a_eSeek == TFile::TSEEK_CUR) { - m_iPosition += a_iOffset < 0 ? 0 : a_iOffset; - } - else if (a_eSeek == TFile::TSEEK_END) { - m_iBufferPosition = SetFilePointer(m_hFile, a_iOffset, TNULL, FILE_END); - if (m_iBufferPosition == INVALID_SET_FILE_POINTER && GetLastError() != NO_ERROR) { - return TFALSE; - } - m_iPosition = m_iBufferPosition; - } + if (a_eSeek == TFile::TSEEK_SET) { + m_iPosition = a_iOffset < 0 ? 0 : a_iOffset; + } + else if (a_eSeek == TFile::TSEEK_CUR) { + m_iPosition += a_iOffset < 0 ? 0 : a_iOffset; + } + else if (a_eSeek == TFile::TSEEK_END) { + m_iBufferPosition = SetFilePointer(m_hFile, a_iOffset, TNULL, FILE_END); + if (m_iBufferPosition == INVALID_SET_FILE_POINTER && GetLastError() != NO_ERROR) { + return TFALSE; + } + m_iPosition = m_iBufferPosition; + } return TTRUE; } TINT TNativeFile::GetSize() { - m_iBufferPosition = SetFilePointer(m_hFile, 0, TNULL, TSEEK_END); - if (m_iBufferPosition == INVALID_SET_FILE_POINTER && GetLastError() != NO_ERROR) { - return 0; - } - return m_iBufferPosition; + m_iBufferPosition = SetFilePointer(m_hFile, 0, TNULL, TSEEK_END); + if (m_iBufferPosition == INVALID_SET_FILE_POINTER && GetLastError() != NO_ERROR) { + return 0; + } + return m_iBufferPosition; } TUINT64 TNativeFile::GetDate() { - _FILETIME fLastWriteTime; - ULARGE_INTEGER lv_Large; + _FILETIME fLastWriteTime; + ULARGE_INTEGER lv_Large; - lv_Large.LowPart = 0; - lv_Large.HighPart = 0; + lv_Large.LowPart = 0; + lv_Large.HighPart = 0; - if (m_hFile != TNULL) { - GetFileTime(m_hFile, NULL, NULL, &fLastWriteTime); - lv_Large.LowPart = fLastWriteTime.dwLowDateTime; - lv_Large.HighPart = fLastWriteTime.dwHighDateTime; - } + if (m_hFile != TNULL) { + GetFileTime(m_hFile, NULL, NULL, &fLastWriteTime); + lv_Large.LowPart = fLastWriteTime.dwLowDateTime; + lv_Large.HighPart = fLastWriteTime.dwHighDateTime; + } - return lv_Large.QuadPart; + return lv_Large.QuadPart; } TINT TNativeFile::GetCChar() { - TCHAR result; - - if (m_pBuffer != TNULL) { - TINT curBufferPos = m_iPosition / BUFFER_SIZE * BUFFER_SIZE; - if ((curBufferPos == m_iPrevBufferPos) && (m_iPosition - curBufferPos <= m_iLastBufferSize - 1)) { - result = ((TPCHAR)m_pBuffer)[m_iPosition - curBufferPos]; - m_iPosition += sizeof(result); - return result; - } - } - - return Read(&result, sizeof(result)) == sizeof(result) ? result : -1; + TCHAR result; + + if (m_pBuffer != TNULL) { + TINT curBufferPos = m_iPosition / BUFFER_SIZE * BUFFER_SIZE; + if ((curBufferPos == m_iPrevBufferPos) && (m_iPosition - curBufferPos <= m_iLastBufferSize - 1)) { + result = ((TPCHAR)m_pBuffer)[m_iPosition - curBufferPos]; + m_iPosition += sizeof(result); + return result; + } + } + + return Read(&result, sizeof(result)) == sizeof(result) ? result : -1; } TINT TNativeFile::GetWChar() { - TWCHAR result; - - if (m_pBuffer != TNULL) { - TINT curBufferPos = m_iPosition / BUFFER_SIZE * BUFFER_SIZE; - if ((curBufferPos == m_iPrevBufferPos) && (m_iPosition - curBufferPos <= m_iLastBufferSize - 2)) { - result = ((TPWCHAR)m_pBuffer)[m_iPosition - curBufferPos]; - m_iPosition += sizeof(result); - return result; - } - } - - return Read(&result, sizeof(result)) == sizeof(result) ? result : -1; + TWCHAR result; + + if (m_pBuffer != TNULL) { + TINT curBufferPos = m_iPosition / BUFFER_SIZE * BUFFER_SIZE; + if ((curBufferPos == m_iPrevBufferPos) && (m_iPosition - curBufferPos <= m_iLastBufferSize - 2)) { + result = ((TPWCHAR)m_pBuffer)[m_iPosition - curBufferPos]; + m_iPosition += sizeof(result); + return result; + } + } + + return Read(&result, sizeof(result)) == sizeof(result) ? result : -1; } TINT TNativeFile::PutCChar(TCHAR a_cChar) { - return Write(&a_cChar, sizeof(a_cChar)) == sizeof(a_cChar) ? sizeof(a_cChar) : -1; + return Write(&a_cChar, sizeof(a_cChar)) == sizeof(a_cChar) ? sizeof(a_cChar) : -1; } TINT TNativeFile::PutWChar(TWCHAR a_wcChar) { - return Write(&a_wcChar, sizeof(a_wcChar)) == sizeof(a_wcChar) ? sizeof(a_wcChar) : -1; + return Write(&a_wcChar, sizeof(a_wcChar)) == sizeof(a_wcChar) ? sizeof(a_wcChar) : -1; } -TINT TNativeFile::VCPrintf(TCHAR const* a_pFormat, va_list a_args) +TINT TNativeFile::VCPrintf(TCHAR const *a_pFormat, va_list a_args) { - va_list args; + va_list args; - va_start(args, a_pFormat); - TCHAR str[0x200]; - TINT iResult = _vsnprintf(str, sizeof(str), a_pFormat, args); - va_end(args); + va_start(args, a_pFormat); + TCHAR str[0x200]; + TINT iResult = _vsnprintf(str, sizeof(str), a_pFormat, args); + va_end(args); - return Write(str, iResult); + return Write(str, iResult); } -TINT TNativeFile::VWPrintf(TWCHAR const* a_pFormat, va_list a_args) +TINT TNativeFile::VWPrintf(TWCHAR const *a_pFormat, va_list a_args) { - va_list args; + va_list args; - va_start(args, a_pFormat); - TWCHAR str[0x200]; - TINT iResult = _vsnwprintf(str, sizeof(str), a_pFormat, args); - va_end(args); + va_start(args, a_pFormat); + TWCHAR str[0x200]; + TINT iResult = _vsnwprintf(str, sizeof(str), a_pFormat, args); + va_end(args); - return Write(str, iResult * 2) > -1 ? iResult * 2 : iResult; + return Write(str, iResult * 2) > -1 ? iResult * 2 : iResult; } -TNativeFile::TNativeFile(TNativeFileSystem* a_pFileManager) : TFile(a_pFileManager) +TNativeFile::TNativeFile(TNativeFileSystem *a_pFileManager) + : TFile(a_pFileManager) { - m_hFile = INVALID_HANDLE_VALUE; - m_iPosition = -1; - m_iBufferPosition = -1; - m_iPrevBufferPos = -1; - m_iLastBufferSize = 0; - m_pBuffer = TNULL; - m_pWriteBuffer = TNULL; - m_iWriteBufferUsed = 0; - m_bWriteBuffered = TTRUE; + m_hFile = INVALID_HANDLE_VALUE; + m_iPosition = -1; + m_iBufferPosition = -1; + m_iPrevBufferPos = -1; + m_iLastBufferSize = 0; + m_pBuffer = TNULL; + m_pWriteBuffer = TNULL; + m_iWriteBufferUsed = 0; + m_bWriteBuffered = TTRUE; } -TBOOL TNativeFile::Open(const TCString& a_rFileName, TUINT a_uiMode) +TBOOL TNativeFile::Open(const TCString &a_rFileName, TUINT a_uiMode) { - m_pFileSystem->MakeInternalPath(a_rFileName); + m_pFileSystem->MakeInternalPath(a_rFileName); - DWORD dwCreationDisposition = 0; - DWORD dwDesiredAccess = 0; + DWORD dwCreationDisposition = 0; + DWORD dwDesiredAccess = 0; - dwDesiredAccess |= HASFLAG(a_uiMode & TMODE_READONLY) ? GENERIC_READ : dwDesiredAccess; - dwDesiredAccess |= HASFLAG(a_uiMode & TMODE_WRITEONLY) ? GENERIC_WRITE : dwDesiredAccess; - dwDesiredAccess |= HASFLAG(a_uiMode & TMODE_READWRITE) ? (GENERIC_READ | GENERIC_WRITE) : dwDesiredAccess; + dwDesiredAccess |= HASFLAG(a_uiMode & TMODE_READONLY) ? GENERIC_READ : dwDesiredAccess; + dwDesiredAccess |= HASFLAG(a_uiMode & TMODE_WRITEONLY) ? GENERIC_WRITE : dwDesiredAccess; + dwDesiredAccess |= HASFLAG(a_uiMode & TMODE_READWRITE) ? (GENERIC_READ | GENERIC_WRITE) : dwDesiredAccess; - if (HASFLAG(a_uiMode & TMODE_CREATE)) { - dwCreationDisposition = CREATE_ALWAYS; - if (dwDesiredAccess == 0) { - TDPRINTF("WARNING: File created with no access mode, assuming WRITEONLY\n"); - dwDesiredAccess = GENERIC_WRITE; - } - } - else { - dwCreationDisposition = OPEN_EXISTING; - } + if (HASFLAG(a_uiMode & TMODE_CREATE)) { + dwCreationDisposition = CREATE_ALWAYS; + if (dwDesiredAccess == 0) { + TDPRINTF("WARNING: File created with no access mode, assuming WRITEONLY\n"); + dwDesiredAccess = GENERIC_WRITE; + } + } + else { + dwCreationDisposition = OPEN_EXISTING; + } - m_hFile = CreateFileA(a_rFileName.GetString(), dwDesiredAccess, 0, NULL, dwCreationDisposition, NULL, NULL); + m_hFile = CreateFileA(a_rFileName.GetString(), dwDesiredAccess, 0, NULL, dwCreationDisposition, NULL, NULL); - if (m_hFile == INVALID_HANDLE_VALUE) { - return TFALSE; - } + if (m_hFile == INVALID_HANDLE_VALUE) { + return TFALSE; + } - m_iPosition = 0; + m_iPosition = 0; m_iBufferPosition = 0; - m_iPrevBufferPos = -1; + m_iPrevBufferPos = -1; m_iLastBufferSize = 0; if (HASFLAG(a_uiMode & TMODE_NOBUFFER)) { @@ -326,103 +328,103 @@ TBOOL TNativeFile::Open(const TCString& a_rFileName, TUINT a_uiMode) } else { m_pBuffer = tmalloc(BUFFER_SIZE, TNULL, -1); - TVALIDADDRESS(m_pBuffer); + TVALIDADDRESS(m_pBuffer); m_bWriteBuffered = TFALSE; } - return TTRUE; + return TTRUE; } void TNativeFile::Close() { - FlushWriteBuffer(); - CloseHandle(m_hFile); - m_hFile = INVALID_HANDLE_VALUE; - m_iPosition = -1; - m_iBufferPosition = -1; - m_iPrevBufferPos = -1; - m_iLastBufferSize = -1; - - if (m_pBuffer != TNULL) { - delete m_pBuffer; - m_pBuffer = TNULL; - } - - if (m_pWriteBuffer != TNULL) { - delete m_pWriteBuffer; - m_pWriteBuffer = TNULL; - } + FlushWriteBuffer(); + CloseHandle(m_hFile); + m_hFile = INVALID_HANDLE_VALUE; + m_iPosition = -1; + m_iBufferPosition = -1; + m_iPrevBufferPos = -1; + m_iLastBufferSize = -1; + + if (m_pBuffer != TNULL) { + delete m_pBuffer; + m_pBuffer = TNULL; + } + + if (m_pWriteBuffer != TNULL) { + delete m_pWriteBuffer; + m_pWriteBuffer = TNULL; + } } TINT TNativeFile::ReadUnbuffered(TPVOID a_pBuffer, TINT a_iSize) { - DWORD lpNumberOfBytesRead; + DWORD lpNumberOfBytesRead; - if (m_iPosition != m_iBufferPosition) { - m_iBufferPosition = SetFilePointer(m_hFile, m_iPosition, TNULL, FILE_BEGIN); + if (m_iPosition != m_iBufferPosition) { + m_iBufferPosition = SetFilePointer(m_hFile, m_iPosition, TNULL, FILE_BEGIN); - if (m_iBufferPosition == INVALID_SET_FILE_POINTER && GetLastError() != NO_ERROR) { - return 0; - } + if (m_iBufferPosition == INVALID_SET_FILE_POINTER && GetLastError() != NO_ERROR) { + return 0; + } - m_iPosition = m_iBufferPosition; - } + m_iPosition = m_iBufferPosition; + } - if (!ReadFile(m_hFile, a_pBuffer, a_iSize, &lpNumberOfBytesRead, TNULL)) { - return 0; - } + if (!ReadFile(m_hFile, a_pBuffer, a_iSize, &lpNumberOfBytesRead, TNULL)) { + return 0; + } - m_iBufferPosition += lpNumberOfBytesRead; - m_iPosition = m_iBufferPosition; + m_iBufferPosition += lpNumberOfBytesRead; + m_iPosition = m_iBufferPosition; - return lpNumberOfBytesRead; + return lpNumberOfBytesRead; } TBOOL TNativeFile::LoadBuffer(TINT a_iBufferPos) { - DWORD lpNumberOfBytesRead; + DWORD lpNumberOfBytesRead; - if (m_iPrevBufferPos != a_iBufferPos) { + if (m_iPrevBufferPos != a_iBufferPos) { - if (m_iBufferPosition != a_iBufferPos) { - m_iBufferPosition = SetFilePointer(m_hFile, a_iBufferPos, TNULL, FILE_BEGIN); - if (m_iBufferPosition != a_iBufferPos) { - return TFALSE; - } - } + if (m_iBufferPosition != a_iBufferPos) { + m_iBufferPosition = SetFilePointer(m_hFile, a_iBufferPos, TNULL, FILE_BEGIN); + if (m_iBufferPosition != a_iBufferPos) { + return TFALSE; + } + } - if (!ReadFile(m_hFile, m_pBuffer, BUFFER_SIZE, &lpNumberOfBytesRead, TNULL)) { - return TFALSE; - } + if (!ReadFile(m_hFile, m_pBuffer, BUFFER_SIZE, &lpNumberOfBytesRead, TNULL)) { + return TFALSE; + } - m_iBufferPosition += lpNumberOfBytesRead; - m_iLastBufferSize = lpNumberOfBytesRead; - m_iPrevBufferPos = a_iBufferPos; - } + m_iBufferPosition += lpNumberOfBytesRead; + m_iLastBufferSize = lpNumberOfBytesRead; + m_iPrevBufferPos = a_iBufferPos; + } - return TTRUE; + return TTRUE; } TINT TNativeFile::FlushWriteBuffer() { - DWORD lpNumberOfBytesWritten; + DWORD lpNumberOfBytesWritten; - if (m_iPosition != m_iBufferPosition) { - m_iBufferPosition = SetFilePointer(m_hFile, m_iPosition, NULL, FILE_BEGIN); + if (m_iPosition != m_iBufferPosition) { + m_iBufferPosition = SetFilePointer(m_hFile, m_iPosition, NULL, FILE_BEGIN); - if (m_iBufferPosition == INVALID_SET_FILE_POINTER && GetLastError() != NO_ERROR) { - return 0; - } + if (m_iBufferPosition == INVALID_SET_FILE_POINTER && GetLastError() != NO_ERROR) { + return 0; + } - m_iPosition = m_iBufferPosition; - } + m_iPosition = m_iBufferPosition; + } - if (!WriteFile(m_hFile, m_pBuffer, m_iWriteBufferUsed, &lpNumberOfBytesWritten, TNULL)) { - return 0; - } + if (!WriteFile(m_hFile, m_pBuffer, m_iWriteBufferUsed, &lpNumberOfBytesWritten, TNULL)) { + return 0; + } - m_iBufferPosition += lpNumberOfBytesWritten; - m_iPosition = m_iBufferPosition; - m_iWriteBufferUsed = 0; - return lpNumberOfBytesWritten; + m_iBufferPosition += lpNumberOfBytesWritten; + m_iPosition = m_iBufferPosition; + m_iWriteBufferUsed = 0; + return lpNumberOfBytesWritten; } diff --git a/Toshi/Source/TKernel/Win/TThreadWin.cpp b/Toshi/Source/TKernel/Win/TThreadWin.cpp index c542bec..4bd45b5 100644 --- a/Toshi/Source/TKernel/Win/TThreadWin.cpp +++ b/Toshi/Source/TKernel/Win/TThreadWin.cpp @@ -5,14 +5,14 @@ TOSHI_NAMESPACE_USING TBOOL TMutex::Create() { m_hMutexHnd = CreateMutex(NULL, FALSE, NULL); - TASSERT(m_hMutexHnd!=NULL); + TASSERT(m_hMutexHnd != NULL); return TTRUE; } TBOOL TMutex::Destroy() { TASSERT(m_hMutexHnd != NULL); - BOOL bRes = CloseHandle(m_hMutexHnd); + BOOL bRes = CloseHandle(m_hMutexHnd); m_hMutexHnd = NULL; return bRes; } @@ -21,7 +21,7 @@ TBOOL TMutex::Lock(TUINT a_uiFlags) { TASSERT(m_hMutexHnd != NULL); DWORD waitForMs = (a_uiFlags & TMutexLockFlag_DoNotWait) ? 0 : INFINITE; - DWORD result = WaitForSingleObject(m_hMutexHnd, waitForMs); + DWORD result = WaitForSingleObject(m_hMutexHnd, waitForMs); return result == WAIT_OBJECT_0; } diff --git a/Toshi/Source/TRender/TMaterialLibrary.cpp b/Toshi/Source/TRender/TMaterialLibrary.cpp index f0e378a..0bda51f 100644 --- a/Toshi/Source/TRender/TMaterialLibrary.cpp +++ b/Toshi/Source/TRender/TMaterialLibrary.cpp @@ -3,14 +3,14 @@ TOSHI_NAMESPACE_BEGIN -TMaterial* TMaterialLibrary::GetMaterial(TPCCHAR a_szMaterial) +TMaterial *TMaterialLibrary::GetMaterial(TPCCHAR a_szMaterial) { return TNULL; } void TMaterialLibraryManager::Create() { - TMaterial* pSkin = reinterpret_cast(TRenderInterface::GetRenderer()->GetSystemResource(TRenderInterface::SYSRESOURCE_SHSKIN)); + TMaterial *pSkin = reinterpret_cast(TRenderInterface::GetRenderer()->GetSystemResource(TRenderInterface::SYSRESOURCE_SHSKIN)); } void TMaterialLibraryManager::Destroy() @@ -22,14 +22,14 @@ void TMaterialLibraryManager::Destroy() } } -TMaterial* TMaterialLibraryManager::GetMaterial(TPCCHAR a_szMaterial) +TMaterial *TMaterialLibraryManager::GetMaterial(TPCCHAR a_szMaterial) { if (m_oLibraries.IsEmpty()) { TDPRINTF("******** TMaterialLibraryManager::GetMaterial(%s) FAILED!!!!!!! **********\n", a_szMaterial); return m_pInvalidMaterial; } for (auto it = m_oLibraries.Begin(); it != m_oLibraries.End(); it++) { - TMaterial* pMat = it->GetMaterial(a_szMaterial); + TMaterial *pMat = it->GetMaterial(a_szMaterial); if (pMat) { return pMat; } @@ -38,4 +38,3 @@ TMaterial* TMaterialLibraryManager::GetMaterial(TPCCHAR a_szMaterial) } TOSHI_NAMESPACE_END - diff --git a/Toshi/Source/TRender/TModel.cpp b/Toshi/Source/TRender/TModel.cpp index 7852018..2bb0b4a 100644 --- a/Toshi/Source/TRender/TModel.cpp +++ b/Toshi/Source/TRender/TModel.cpp @@ -1,4 +1,3 @@ #include "TModel.h" TOSHI_NAMESPACE_USING - diff --git a/Toshi/Source/TRender/TNullResource.cpp b/Toshi/Source/TRender/TNullResource.cpp index ef94767..7c70bf1 100644 --- a/Toshi/Source/TRender/TNullResource.cpp +++ b/Toshi/Source/TRender/TNullResource.cpp @@ -2,4 +2,4 @@ TOSHI_NAMESPACE_USING -IMPLEMENT_DYNCREATE(TNullResource, TResource) \ No newline at end of file +IMPLEMENT_DYNCREATE(TNullResource, TResource) diff --git a/Toshi/Source/TRender/TRenderAdapter.cpp b/Toshi/Source/TRender/TRenderAdapter.cpp index d7c417f..f871c7b 100644 --- a/Toshi/Source/TRender/TRenderAdapter.cpp +++ b/Toshi/Source/TRender/TRenderAdapter.cpp @@ -1 +1 @@ -#include "TRenderAdapter.h" \ No newline at end of file +#include "TRenderAdapter.h" diff --git a/Toshi/Source/TRender/TRenderCapture.cpp b/Toshi/Source/TRender/TRenderCapture.cpp index 21cc33a..5e38da9 100644 --- a/Toshi/Source/TRender/TRenderCapture.cpp +++ b/Toshi/Source/TRender/TRenderCapture.cpp @@ -1 +1 @@ -#include "TRender/TRenderCapture.h" \ No newline at end of file +#include "TRender/TRenderCapture.h" diff --git a/Toshi/Source/TRender/TRenderInterface.cpp b/Toshi/Source/TRender/TRenderInterface.cpp index 2018ade..5bcefde 100644 --- a/Toshi/Source/TRender/TRenderInterface.cpp +++ b/Toshi/Source/TRender/TRenderInterface.cpp @@ -7,16 +7,16 @@ TOSHI_NAMESPACE_USING IMPLEMENT_DYNAMIC(TRenderInterface, TObject) -TRenderInterface* TRenderInterface::s_Interface = TNULL; +TRenderInterface *TRenderInterface::s_Interface = TNULL; TRenderInterface::TRenderInterface() { - m_bIsCreated = TFALSE; - m_bIsDiplayCreated = TFALSE; + m_bIsCreated = TFALSE; + m_bIsDiplayCreated = TFALSE; m_pDefaultRenderContext = TNULL; m_pCurrentRenderContext = TNULL; - m_pKernel = TNULL; - m_iResourceCount = 1; + m_pKernel = TNULL; + m_iResourceCount = 1; TCString("Creating TRenderInterface\n").Print(); TASSERT(s_Interface == TNULL); s_Interface = this; @@ -24,7 +24,7 @@ TRenderInterface::TRenderInterface() TCString("Created TRenderInterface\n").Print(); } -TBOOL TRenderInterface::CreateDisplay(const DisplayParams& a_rParams) +TBOOL TRenderInterface::CreateDisplay(const DisplayParams &a_rParams) { TASSERT(TTRUE == IsCreated()); TASSERT(TFALSE == IsDisplayCreated()); @@ -34,7 +34,7 @@ TBOOL TRenderInterface::CreateDisplay(const DisplayParams& a_rParams) TBOOL TRenderInterface::DestroyDisplay() { - TASSERT(TTRUE==IsCreated()); + TASSERT(TTRUE == IsCreated()); m_bIsDiplayCreated = TFALSE; return TTRUE; } @@ -47,36 +47,36 @@ TBOOL TRenderInterface::Update(float a_fDeltaTime) TBOOL TRenderInterface::BeginScene() { - TASSERT(TTRUE==IsCreated()); - TASSERT(TTRUE==IsDisplayCreated()); + TASSERT(TTRUE == IsCreated()); + TASSERT(TTRUE == IsDisplayCreated()); m_iSceneCount++; return TTRUE; } TBOOL TRenderInterface::EndScene() { - TASSERT(TTRUE==IsCreated()); - TASSERT(TTRUE==IsDisplayCreated()); + TASSERT(TTRUE == IsCreated()); + TASSERT(TTRUE == IsDisplayCreated()); return TTRUE; } -TRenderAdapter::Mode::Device* TRenderInterface::GetCurrentDevice() +TRenderAdapter::Mode::Device *TRenderInterface::GetCurrentDevice() { return TNULL; } -TRenderInterface::DisplayParams* TRenderInterface::GetCurrentDisplayParams() +TRenderInterface::DisplayParams *TRenderInterface::GetCurrentDisplayParams() { return nullptr; } -TBOOL TRenderInterface::Create(TKernelInterface* pKernelInterface) +TBOOL TRenderInterface::Create(TKernelInterface *pKernelInterface) { TASSERT(TFALSE == IsCreated()); TVALIDADDRESS(pKernelInterface); m_pKernel = pKernelInterface; - + m_pDefaultRenderContext = CreateRenderContext(); TVALIDADDRESS(m_pDefaultRenderContext); @@ -92,30 +92,30 @@ TBOOL TRenderInterface::CreateSystemResources() { TCString(" Adding base resources\n").Print(); - TBOOL bRes = TFALSE; + TBOOL bRes = TFALSE; TVertexFactoryFormat vertexFormat; m_aSysResources[SYSRESOURCE_VFACTORIES] = CreateResource(&TGetClass(TNullResource), "VFactories", TNULL); m_aSysResources[SYSRESOURCE_VFSYSSVNDUV1] = CreateResource(TFindClass(TVertexFactoryResource, TNULL), "VFSYSSVNDUV1", GetSystemResource(SYSRESOURCE_VFACTORIES)); TVALIDADDRESS(m_aSysResources[SYSRESOURCE_VFSYSSVNDUV1]); - vertexFormat.m_uiNumStreams = 1; + vertexFormat.m_uiNumStreams = 1; vertexFormat.m_aStreamFormats[0].m_uiVertexSize = 24; - vertexFormat.m_aStreamFormats[0].m_uiUnk = 0; - bRes = static_cast(GetSystemResource(SYSRESOURCE_VFSYSSVNDUV1))->Create(&vertexFormat, 11000, 0); + vertexFormat.m_aStreamFormats[0].m_uiUnk = 0; + bRes = static_cast(GetSystemResource(SYSRESOURCE_VFSYSSVNDUV1))->Create(&vertexFormat, 11000, 0); TASSERT(TTRUE == bRes); m_aSysResources[SYSRESOURCE_VFSKIN] = CreateResource(TFindClass(TVertexFactoryResource, TNULL), "VFSKIN", GetSystemResource(SYSRESOURCE_VFACTORIES)); TVALIDADDRESS(m_aSysResources[SYSRESOURCE_VFSKIN]); - vertexFormat.m_uiNumStreams = 1; + vertexFormat.m_uiNumStreams = 1; vertexFormat.m_aStreamFormats[0].m_uiVertexSize = 40; - vertexFormat.m_aStreamFormats[0].m_uiUnk = 0; - bRes = static_cast(GetSystemResource(SYSRESOURCE_VFSKIN))->Create(&vertexFormat, 11000, 0); + vertexFormat.m_aStreamFormats[0].m_uiUnk = 0; + bRes = static_cast(GetSystemResource(SYSRESOURCE_VFSKIN))->Create(&vertexFormat, 11000, 0); TASSERT(TTRUE == bRes); m_aSysResources[SYSRESOURCE_TEXTUREFACTORY] = CreateResource(TFindClass(TTextureFactoryHAL, TNULL), "TextureFactory", TNULL); - bRes = m_aSysResources[SYSRESOURCE_TEXTUREFACTORY]->Create(); - TASSERT(TTRUE==bRes); + bRes = m_aSysResources[SYSRESOURCE_TEXTUREFACTORY]->Create(); + TASSERT(TTRUE == bRes); return TTRUE; } @@ -124,12 +124,12 @@ void TRenderInterface::DestroySystemResources() { } -TResource* TRenderInterface::CreateResource(const TClass* a_pClass, TPCCHAR a_szResName, TResource* a_pParent) -{ +TResource *TRenderInterface::CreateResource(const TClass *a_pClass, TPCCHAR a_szResName, TResource *a_pParent) +{ TASSERT(TNULL != a_pClass); TASSERT(a_pClass->IsA(TGetClass(TResource))); - TResource* pResource = (TResource*)a_pClass->CreateObject(); + TResource *pResource = (TResource *)a_pClass->CreateObject(); TASSERT(TNULL != pResource); if (a_pParent && a_pParent->IsDying()) { @@ -144,14 +144,14 @@ TResource* TRenderInterface::CreateResource(const TClass* a_pClass, TPCCHAR a_sz } m_Resources.Insert(a_pParent, pResource); - pResource->m_uiUId = m_iResourceCount++; + pResource->m_uiUId = m_iResourceCount++; pResource->m_pRenderer = this; pResource->SetName(a_szResName); return pResource; } -const TRenderAdapter::Mode::Device* TRenderInterface::FindDevice(const DisplayParams* a_pDisplayParams) +const TRenderAdapter::Mode::Device *TRenderInterface::FindDevice(const DisplayParams *a_pDisplayParams) { auto pAdapter = GetAdapterList()->Begin(); @@ -197,7 +197,7 @@ const TRenderAdapter::Mode::Device* TRenderInterface::FindDevice(const DisplayPa bPassedWindowed = TFALSE; } - auto uiWidth = pDevice->GetMode()->GetWidth(); + auto uiWidth = pDevice->GetMode()->GetWidth(); auto uiHeight = pDevice->GetMode()->GetHeight(); if (uiHeight < uiWidth || !a_pDisplayParams->bWindowed || a_pDisplayParams->uiWidth <= a_pDisplayParams->uiHeight) @@ -205,7 +205,7 @@ const TRenderAdapter::Mode::Device* TRenderInterface::FindDevice(const DisplayPa if (uiWidth == a_pDisplayParams->uiWidth && uiHeight == a_pDisplayParams->uiHeight) { if (pDevice->IsDepthStencilFormatSupported(a_pDisplayParams->eDepthStencilFormat) && - bPassedColourDepth && bPassedWindowed) + bPassedColourDepth && bPassedWindowed) { return pDevice; } @@ -218,7 +218,7 @@ const TRenderAdapter::Mode::Device* TRenderInterface::FindDevice(const DisplayPa if (uiHeight < a_pDisplayParams->uiHeight) continue; if (pDevice->IsDepthStencilFormatSupported(a_pDisplayParams->eDepthStencilFormat) && - bPassedColourDepth && bPassedWindowed) + bPassedColourDepth && bPassedWindowed) { return pDevice; } @@ -240,13 +240,13 @@ void TRenderInterface::FlushDyingResources() } } -void TRenderInterface::DestroyDyingResources(TResource* a_pResource) +void TRenderInterface::DestroyDyingResources(TResource *a_pResource) { // TODO: refactor - TResource* pTVar1; - TResource* next; - TResource* pRes1; - TResource* pRes2; + TResource *pTVar1; + TResource *next; + TResource *pRes1; + TResource *pRes2; pRes1 = a_pResource; pRes2 = a_pResource; @@ -254,28 +254,28 @@ void TRenderInterface::DestroyDyingResources(TResource* a_pResource) do { next = pRes2->Next(); if (next == pRes1) { - next = (TResource*)0x0; + next = (TResource *)0x0; } if ((pRes2->m_Flags & 4) == 0) { pRes2 = pRes2->Child(); - if (pRes2 != (TResource*)0x0) { + if (pRes2 != (TResource *)0x0) { DestroyDyingResources(pRes2); } } else { if (pRes2 == pRes1) { - pRes1 = next; + pRes1 = next; a_pResource = next; } pTVar1 = pRes2->Child(); - while (pTVar1 != (TResource*)0x0) { + while (pTVar1 != (TResource *)0x0) { pRes1 = pTVar1->Next(); if (pRes1 == pTVar1) { - pRes1 = (TResource*)0x0; + pRes1 = (TResource *)0x0; } DeleteResourceAtomic(pTVar1); pTVar1 = pRes1; - pRes1 = a_pResource; + pRes1 = a_pResource; } DeleteResourceAtomic(pRes2); } @@ -284,13 +284,13 @@ void TRenderInterface::DestroyDyingResources(TResource* a_pResource) } } -void TRenderInterface::DeleteResource(TResource* a_pResource) +void TRenderInterface::DeleteResource(TResource *a_pResource) { DeleteResourceRecurse(a_pResource->Child()); DeleteResourceAtomic(a_pResource); } -void TRenderInterface::DeleteResourceRecurse(TResource* a_pResource) +void TRenderInterface::DeleteResourceRecurse(TResource *a_pResource) { while (a_pResource) { @@ -302,7 +302,7 @@ void TRenderInterface::DeleteResourceRecurse(TResource* a_pResource) } } -void TRenderInterface::DeleteResourceAtomic(TResource* a_pResource) +void TRenderInterface::DeleteResourceAtomic(TResource *a_pResource) { if (a_pResource) { DeleteResourceRecurse(a_pResource->Child()); @@ -337,11 +337,11 @@ void TRenderInterface::DumpStats() { } -void TRenderInterface::GetScreenOffset(TVector2& a_rVec) +void TRenderInterface::GetScreenOffset(TVector2 &a_rVec) { } -void TRenderInterface::SetScreenOffset(const TVector2& a_rVec) +void TRenderInterface::SetScreenOffset(const TVector2 &a_rVec) { } @@ -360,33 +360,33 @@ TBOOL TRenderInterface::SetPixelAspectRatio(float a_fPixelAspectRatio) return TBOOL(); } -TRenderContext* TRenderInterface::CreateRenderContext() +TRenderContext *TRenderInterface::CreateRenderContext() { return TNULL; } -TRenderCapture* TRenderInterface::CreateCapture() +TRenderCapture *TRenderInterface::CreateCapture() { return TNULL; } -void TRenderInterface::DestroyCapture(TRenderCapture* a_pRenderCapture) +void TRenderInterface::DestroyCapture(TRenderCapture *a_pRenderCapture) { } -void TRenderInterface::SetLightDirectionMatrix(const TMatrix44& a_rMatrix) +void TRenderInterface::SetLightDirectionMatrix(const TMatrix44 &a_rMatrix) { } -void TRenderInterface::SetLightColourMatrix(const TMatrix44& a_rMatrix) +void TRenderInterface::SetLightColourMatrix(const TMatrix44 &a_rMatrix) { } -void TRenderInterface::ConnectDefaultViewportHandelrs(TViewport& a_pViewport) +void TRenderInterface::ConnectDefaultViewportHandelrs(TViewport &a_pViewport) { } -TModel* TRenderInterface::CreateModel(TPCCHAR a_szName, TINT a_iUnk1) +TModel *TRenderInterface::CreateModel(TPCCHAR a_szName, TINT a_iUnk1) { return nullptr; } diff --git a/Toshi/Source/TRender/TResource.cpp b/Toshi/Source/TRender/TResource.cpp index 7fbcf3a..29e2822 100644 --- a/Toshi/Source/TRender/TResource.cpp +++ b/Toshi/Source/TRender/TResource.cpp @@ -5,15 +5,15 @@ TOSHI_NAMESPACE_USING IMPLEMENT_DYNCREATE(TResource, TObject) -static TINT s_iResourceCount = 0; +static TINT s_iResourceCount = 0; static TINT s_iResourcesCreated = 0; TResource::TResource() { - m_Flags = 0; - m_uiUId = 0; + m_Flags = 0; + m_uiUId = 0; m_pRenderer = TNULL; - *m_szName = 0; + *m_szName = 0; s_iResourceCount++; if (s_iResourcesCreated < s_iResourceCount) { s_iResourcesCreated = s_iResourceCount; @@ -36,8 +36,8 @@ TBOOL TResource::Create() TBOOL TResource::Validate() { - TASSERT((TNULL==Parent()) || (TFALSE==Parent()->IsDying())); - TASSERT(!(m_Flags&TResource::FLAGS_DYING)); + TASSERT((TNULL == Parent()) || (TFALSE == Parent()->IsDying())); + TASSERT(!(m_Flags & TResource::FLAGS_DYING)); if (IsDying()) return TFALSE; m_Flags |= FLAGS_VALID; return TTRUE; @@ -55,7 +55,7 @@ void TResource::OnDestroy() { } -void TResource::SetParent(TResource* a_pParent) +void TResource::SetParent(TResource *a_pParent) { TASSERT((TNULL == a_pParent) || (TTRUE == IsDying()) || (TFALSE == a_pParent->IsDying())); TASSERT(TNULL != GetTree()); @@ -81,16 +81,16 @@ void TResource::SetName(TPCCHAR a_strName) szName[3] = ':'; TSystem::StringIntToString(GetUId(), &szName[4], 10); } - TASSERT(TSystem::StringLength(a_strName)<=MAXNAMELEN); + TASSERT(TSystem::StringLength(a_strName) <= MAXNAMELEN); TSystem::StringCopy(m_szName, a_strName, -1); } -TBOOL Recurse(TResource::t_RecurseCb a_pCallback, TResource* a_pResource, TBOOL a_bFlag, TPVOID a_pUserData) +TBOOL Recurse(TResource::t_RecurseCb a_pCallback, TResource *a_pResource, TBOOL a_bFlag, TPVOID a_pUserData) { - TResource* pResource = a_pResource; + TResource *pResource = a_pResource; while (pResource) { - TResource* pNext = pResource->Next(); + TResource *pNext = pResource->Next(); if (pNext == a_pResource || pNext == pResource || !a_bFlag) { pNext = TNULL; @@ -111,7 +111,7 @@ TBOOL Recurse(TResource::t_RecurseCb a_pCallback, TResource* a_pResource, TBOOL return TTRUE; } -void TResource::RecurseSimple(t_RecurseCb a_pfnCallback, TResource* a_pResource, TPVOID a_pUserData) +void TResource::RecurseSimple(t_RecurseCb a_pfnCallback, TResource *a_pResource, TPVOID a_pUserData) { TASSERT(TNULL != GetTree()); TASSERT(TNULL != a_pfnCallback); diff --git a/Toshi/Source/TRender/TSceneObject.cpp b/Toshi/Source/TRender/TSceneObject.cpp index 92dbfd0..3ad7fe0 100644 --- a/Toshi/Source/TRender/TSceneObject.cpp +++ b/Toshi/Source/TRender/TSceneObject.cpp @@ -2,4 +2,4 @@ TOSHI_NAMESPACE_USING -IMPLEMENT_DYNCREATE(TSceneObject, TResource) \ No newline at end of file +IMPLEMENT_DYNCREATE(TSceneObject, TResource) diff --git a/Toshi/Source/TRender/TShader.cpp b/Toshi/Source/TRender/TShader.cpp index f642402..12743d1 100644 --- a/Toshi/Source/TRender/TShader.cpp +++ b/Toshi/Source/TRender/TShader.cpp @@ -4,4 +4,4 @@ TOSHI_NAMESPACE_BEGIN IMPLEMENT_DYNAMIC(TMaterial, TResource) -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Source/TRender/TTextureFactory.cpp b/Toshi/Source/TRender/TTextureFactory.cpp index a8b5b4d..e136760 100644 --- a/Toshi/Source/TRender/TTextureFactory.cpp +++ b/Toshi/Source/TRender/TTextureFactory.cpp @@ -7,27 +7,27 @@ TOSHI_NAMESPACE_USING IMPLEMENT_DYNAMIC(TTextureFactory, TResource) -TTextureResource* TTextureFactory::CreateTextureFromFile(TPCCHAR a_szFileName, TUINT a_eTextureFlags) +TTextureResource *TTextureFactory::CreateTextureFromFile(TPCCHAR a_szFileName, TUINT a_eTextureFlags) { return TNULL; } -TTextureResource* TTextureFactory::CreateTextureFromMemory(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels) +TTextureResource *TTextureFactory::CreateTextureFromMemory(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels) { return TNULL; } -TTextureResource* TTextureFactory::CreateEx(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels, TTEXTURERESOURCEFORMAT a_eFormat, TUINT a_uiFormatBits) +TTextureResource *TTextureFactory::CreateEx(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels, TTEXTURERESOURCEFORMAT a_eFormat, TUINT a_uiFormatBits) { return TNULL; } -TTextureFactory* TOSHI_API TTextureFactory::CreateHAL(TRenderInterface* a_pRenderer, TPCCHAR a_szName, TResource* a_pResource) +TTextureFactory *TOSHI_API TTextureFactory::CreateHAL(TRenderInterface *a_pRenderer, TPCCHAR a_szName, TResource *a_pResource) { - return (TTextureFactory*)a_pRenderer->CreateResource(TClass::Find("TTextureFactoryHAL", TNULL), a_szName, a_pResource); + return (TTextureFactory *)a_pRenderer->CreateResource(TClass::Find("TTextureFactoryHAL", TNULL), a_szName, a_pResource); } -TTextureResource* TTextureFactory::FindTexture(TPCCHAR a_szName) +TTextureResource *TTextureFactory::FindTexture(TPCCHAR a_szName) { auto pList = &m_aLists[HashName(a_szName)]; @@ -42,11 +42,11 @@ TTextureResource* TTextureFactory::FindTexture(TPCCHAR a_szName) return TNULL; } -void TTextureFactory::DeregisterTexture(TTextureResource* a_pTexture) +void TTextureFactory::DeregisterTexture(TTextureResource *a_pTexture) { TVALIDADDRESS(a_pTexture); - TTextureFactory::NameEntry* pList = a_pTexture->m_pNameEntry; + TTextureFactory::NameEntry *pList = a_pTexture->m_pNameEntry; if (pList) { pList->Remove(); @@ -66,9 +66,9 @@ TUINT TTextureFactory::HashName(TPCCHAR a_szName) return iHash % NUM_LISTS; } -TTextureFactory::NameEntry* TTextureFactory::RegisterTexture(TPCCHAR a_szName, TTextureResource* a_pTexture) +TTextureFactory::NameEntry *TTextureFactory::RegisterTexture(TPCCHAR a_szName, TTextureResource *a_pTexture) { - auto pList = &m_aLists[HashName(a_szName)]; + auto pList = &m_aLists[HashName(a_szName)]; auto pEntry = new TTextureFactory::NameEntry(a_szName, a_pTexture); a_pTexture->m_pNameEntry = pEntry; diff --git a/Toshi/Source/TRender/TTextureResource.cpp b/Toshi/Source/TRender/TTextureResource.cpp index 8bb2776..2f62887 100644 --- a/Toshi/Source/TRender/TTextureResource.cpp +++ b/Toshi/Source/TRender/TTextureResource.cpp @@ -8,15 +8,15 @@ IMPLEMENT_DYNAMIC(TTextureResource, TResource) TTextureResource::TTextureResource() { m_eAddressMode = ADDRESSMODE_UNKNOWN; - m_CreateFlags = 0; - m_pNameEntry = TNULL; + m_CreateFlags = 0; + m_pNameEntry = TNULL; } TTextureResource::~TTextureResource() { - TRenderInterface* pRenderer = TRenderInterface::GetRenderer(); + TRenderInterface *pRenderer = TRenderInterface::GetRenderer(); TVALIDADDRESS(pRenderer); - TTextureFactory* pTextureFactory = (TTextureFactory*)pRenderer->GetSystemResource(TRenderInterface::SYSRESOURCE_TEXTUREFACTORY); + TTextureFactory *pTextureFactory = (TTextureFactory *)pRenderer->GetSystemResource(TRenderInterface::SYSRESOURCE_TEXTUREFACTORY); TVALIDADDRESS(pTextureFactory); pTextureFactory->DeregisterTexture(this); } @@ -31,7 +31,7 @@ TUINT TTextureResource::GetHeight() return 0; } -TBOOL TTextureResource::Lock(LOCKSTATE& a_rLockState) +TBOOL TTextureResource::Lock(LOCKSTATE &a_rLockState) { return TFALSE; } @@ -55,7 +55,7 @@ TBOOL TTextureResource::CreateEx(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_uiW return TResource::Create(); } -TTextureResource* TOSHI_API TTextureResource::CreateHAL(TRenderInterface* a_pRenderer, TPCCHAR a_szName, TResource* a_pResource) +TTextureResource *TOSHI_API TTextureResource::CreateHAL(TRenderInterface *a_pRenderer, TPCCHAR a_szName, TResource *a_pResource) { - return (TTextureResource*)a_pRenderer->CreateResource(TFindClass(TTextureResourceHAL, TNULL), a_szName, a_pResource); + return (TTextureResource *)a_pRenderer->CreateResource(TFindClass(TTextureResourceHAL, TNULL), a_szName, a_pResource); } diff --git a/Toshi/Source/TRender/TVertexFactoryResourceInterface.cpp b/Toshi/Source/TRender/TVertexFactoryResourceInterface.cpp index 22e6a72..756e6a0 100644 --- a/Toshi/Source/TRender/TVertexFactoryResourceInterface.cpp +++ b/Toshi/Source/TRender/TVertexFactoryResourceInterface.cpp @@ -8,21 +8,21 @@ IMPLEMENT_DYNAMIC(TVertexFactoryResourceInterface, TResource) TVertexFactoryResourceInterface::TVertexFactoryResourceInterface() { m_uiNumCreatedVertexPools = 0; - m_usMaxStaticVertices = 0; - m_uiFlags = 0; + m_usMaxStaticVertices = 0; + m_uiFlags = 0; } -TBOOL TVertexFactoryResourceInterface::Create(TVertexFactoryFormat* a_pVertexFormat, TUSHORT a_uiMaxStaticVertices, TUINT a_uiFlags) +TBOOL TVertexFactoryResourceInterface::Create(TVertexFactoryFormat *a_pVertexFormat, TUSHORT a_uiMaxStaticVertices, TUINT a_uiFlags) { TVALIDADDRESS(a_pVertexFormat); - m_oVertexFormat = *a_pVertexFormat; + m_oVertexFormat = *a_pVertexFormat; m_usMaxStaticVertices = a_uiMaxStaticVertices; - m_uiFlags = a_uiFlags; + m_uiFlags = a_uiFlags; return TResource::Create(); } -TVertexPoolResourceInterface* TVertexFactoryResourceInterface::CreatePool(TUSHORT a_usMaxStaticVertices, TUINT a_uiFlags) +TVertexPoolResourceInterface *TVertexFactoryResourceInterface::CreatePool(TUSHORT a_usMaxStaticVertices, TUINT a_uiFlags) { m_uiNumCreatedVertexPools++; return TNULL; diff --git a/Toshi/Source/TRender/TVertexPoolResourceInterface.cpp b/Toshi/Source/TRender/TVertexPoolResourceInterface.cpp index 66c34d0..ae8ccdd 100644 --- a/Toshi/Source/TRender/TVertexPoolResourceInterface.cpp +++ b/Toshi/Source/TRender/TVertexPoolResourceInterface.cpp @@ -7,7 +7,7 @@ IMPLEMENT_DYNAMIC(TVertexPoolResourceInterface, TResource) TVertexPoolResourceInterface::LockBuffer::LockBuffer() { uiNumStreams = 0; - uiOffset = 0; + uiOffset = 0; apStreams[0] = TNULL; apStreams[1] = TNULL; apStreams[2] = TNULL; @@ -20,21 +20,21 @@ TVertexPoolResourceInterface::LockBuffer::LockBuffer() TVertexPoolResourceInterface::TVertexPoolResourceInterface() { - m_pFactory = TNULL; - m_usFlags = 0; + m_pFactory = TNULL; + m_usFlags = 0; m_usMaxVertices = 0; m_usNumVertices = 0; - m_uiLockCount = 0; + m_uiLockCount = 0; } void TVertexPoolResourceInterface::OnDestroy() { - TASSERT(0==m_uiLockCount); + TASSERT(0 == m_uiLockCount); m_pFactory->m_uiNumCreatedVertexPools--; TResource::OnDestroy(); } -TBOOL TVertexPoolResourceInterface::Lock(LockBuffer* a_pLockBuffer) +TBOOL TVertexPoolResourceInterface::Lock(LockBuffer *a_pLockBuffer) { return TBOOL(); } @@ -43,12 +43,10 @@ void TVertexPoolResourceInterface::Unlock(TUSHORT a_uiNewNumVertices) { } -TBOOL TVertexPoolResourceInterface::Create(TVertexFactoryResourceInterface* a_pFactory, TUINT a_uiMaxVertices, TUINT a_uiFlags) +TBOOL TVertexPoolResourceInterface::Create(TVertexFactoryResourceInterface *a_pFactory, TUINT a_uiMaxVertices, TUINT a_uiFlags) { - m_pFactory = a_pFactory; + m_pFactory = a_pFactory; m_usMaxVertices = a_uiMaxVertices; - m_usFlags = a_uiFlags; + m_usFlags = a_uiFlags; return TResource::Create(); } - - diff --git a/Toshi/Source/TRender/TViewport.cpp b/Toshi/Source/TRender/TViewport.cpp index ad1d3c9..73f28e9 100644 --- a/Toshi/Source/TRender/TViewport.cpp +++ b/Toshi/Source/TRender/TViewport.cpp @@ -2,4 +2,4 @@ TOSHI_NAMESPACE_USING -IMPLEMENT_DYNCREATE(TViewport, TSceneObject) \ No newline at end of file +IMPLEMENT_DYNCREATE(TViewport, TSceneObject) diff --git a/Toshi/Source/TRenderD3D/TD3DVertexBlockResource.cpp b/Toshi/Source/TRenderD3D/TD3DVertexBlockResource.cpp index cbbbe6f..215152a 100644 --- a/Toshi/Source/TRenderD3D/TD3DVertexBlockResource.cpp +++ b/Toshi/Source/TRenderD3D/TD3DVertexBlockResource.cpp @@ -7,7 +7,7 @@ TOSHI_NAMESPACE_USING IMPLEMENT_DYNCREATE(TVertexBlockResource, TResource) IMPLEMENT_FREELIST(TVertexBlockResource, 0, 8) -TBOOL TVertexBlockResource::CanFit(TVertexPoolResource* a_pPoolResource) +TBOOL TVertexBlockResource::CanFit(TVertexPoolResource *a_pPoolResource) { if (GetFlags() & 1 && a_pPoolResource->GetFlags() & 1) { return m_uiMaxVertices >= a_pPoolResource->GetNumVertices() + m_uiVerticesUsed; @@ -16,7 +16,7 @@ TBOOL TVertexBlockResource::CanFit(TVertexPoolResource* a_pPoolResource) return TFALSE; } -TBOOL TVertexBlockResource::AttachPool(TVertexPoolResource* a_pPool) +TBOOL TVertexBlockResource::AttachPool(TVertexPoolResource *a_pPool) { TVALIDADDRESS(a_pPool); @@ -30,12 +30,12 @@ TBOOL TVertexBlockResource::AttachPool(TVertexPoolResource* a_pPool) return TTRUE; } -TBOOL TVertexBlockResource::Create(TVertexFactoryResource* a_pFactory, TUSHORT a_uiMaxVertices, TUINT a_uiFlags) +TBOOL TVertexBlockResource::Create(TVertexFactoryResource *a_pFactory, TUSHORT a_uiMaxVertices, TUINT a_uiFlags) { TASSERT(TFALSE == IsCreated()); TVALIDADDRESS(a_pFactory); - m_pFactory = a_pFactory; + m_pFactory = a_pFactory; m_uiMaxVertices = a_uiMaxVertices; - m_uiFlags = a_uiFlags; + m_uiFlags = a_uiFlags; return TResource::Create(); } diff --git a/Toshi/Source/TRenderD3D/TD3DVertexFactoryResource.cpp b/Toshi/Source/TRenderD3D/TD3DVertexFactoryResource.cpp index 5c37fcc..ff5c9d9 100644 --- a/Toshi/Source/TRenderD3D/TD3DVertexFactoryResource.cpp +++ b/Toshi/Source/TRenderD3D/TD3DVertexFactoryResource.cpp @@ -5,12 +5,11 @@ TOSHI_NAMESPACE_USING IMPLEMENT_DYNCREATE(TVertexFactoryResource, TVertexFactoryResourceInterface) -TVertexPoolResourceInterface* TVertexFactoryResource::CreatePoolResource(TUSHORT a_uiMaxStaticVertices, TUINT a_uiFlags) +TVertexPoolResourceInterface *TVertexFactoryResource::CreatePoolResource(TUSHORT a_uiMaxStaticVertices, TUINT a_uiFlags) { - TVertexPoolResource* pVertexPool = TSTATICCAST( - TVertexPoolResource*, - GetRenderer()->CreateResource(&TGetClass(TVertexPoolResource), TNULL, this) - ); + TVertexPoolResource *pVertexPool = TSTATICCAST( + TVertexPoolResource *, + GetRenderer()->CreateResource(&TGetClass(TVertexPoolResource), TNULL, this)); TVALIDADDRESS(pVertexPool); @@ -21,14 +20,14 @@ TVertexPoolResourceInterface* TVertexFactoryResource::CreatePoolResource(TUSHORT struct CallbackStruct { - TVertexBlockResource* m_pBlock; - TVertexPoolResource* m_pPool; + TVertexBlockResource *m_pBlock; + TVertexPoolResource *m_pPool; }; -static TBOOL CallBack(TResource* a_pResource, TPVOID a_pUserData) +static TBOOL CallBack(TResource *a_pResource, TPVOID a_pUserData) { - CallbackStruct* pStruct = TSTATICCAST(CallbackStruct*, a_pUserData); - TVertexBlockResource* pBlockResource = TSTATICCAST(TVertexBlockResource*, a_pResource); + CallbackStruct *pStruct = TSTATICCAST(CallbackStruct *, a_pUserData); + TVertexBlockResource *pBlockResource = TSTATICCAST(TVertexBlockResource *, a_pResource); if (a_pResource->IsA(TGetClass(TVertexBlockResource))) { @@ -41,7 +40,7 @@ static TBOOL CallBack(TResource* a_pResource, TPVOID a_pUserData) return TTRUE; } -TVertexBlockResource* TVertexFactoryResource::FindBlockResource(TVertexPoolResource* a_pResource) +TVertexBlockResource *TVertexFactoryResource::FindBlockResource(TVertexPoolResource *a_pResource) { CallbackStruct result = { TNULL, a_pResource }; if (a_pResource->GetFlags() & 2) { @@ -50,12 +49,11 @@ TVertexBlockResource* TVertexFactoryResource::FindBlockResource(TVertexPoolResou RecurseSimple(CallBack, this, &result); } -TVertexBlockResource* TVertexFactoryResource::CreateBlockResource(TUSHORT a_uiMaxVertices, TUINT a_uiFlags) +TVertexBlockResource *TVertexFactoryResource::CreateBlockResource(TUSHORT a_uiMaxVertices, TUINT a_uiFlags) { - TVertexBlockResource* pVertexBlock = TSTATICCAST( - TVertexBlockResource*, - GetRenderer()->CreateResource(&TGetClass(TVertexBlockResource), TNULL, this) - ); + TVertexBlockResource *pVertexBlock = TSTATICCAST( + TVertexBlockResource *, + GetRenderer()->CreateResource(&TGetClass(TVertexBlockResource), TNULL, this)); TVALIDADDRESS(pVertexBlock); diff --git a/Toshi/Source/TRenderD3D/TD3DVertexPoolResource.cpp b/Toshi/Source/TRenderD3D/TD3DVertexPoolResource.cpp index e25ba8d..c14c412 100644 --- a/Toshi/Source/TRenderD3D/TD3DVertexPoolResource.cpp +++ b/Toshi/Source/TRenderD3D/TD3DVertexPoolResource.cpp @@ -13,8 +13,8 @@ TBOOL TVertexPoolResource::Validate() return TTRUE; } - TVertexFactoryResource* pFactory = TSTATICCAST(TVertexFactoryResource*, GetFactory()); - TVertexBlockResource* pVertexBlock = pFactory->FindBlockResource(this); + TVertexFactoryResource *pFactory = TSTATICCAST(TVertexFactoryResource *, GetFactory()); + TVertexBlockResource *pVertexBlock = pFactory->FindBlockResource(this); if (!pVertexBlock) { @@ -30,7 +30,7 @@ TBOOL TVertexPoolResource::Validate() } else if (uiUnk1 == 2) { uiNumVerts = GetMaxVertices(); - uiFlags = 2; + uiFlags = 2; } else { if (uiUnk1 != 4) { @@ -38,7 +38,7 @@ TBOOL TVertexPoolResource::Validate() } uiNumVerts = GetMaxVertices(); - uiFlags = 4; + uiFlags = 4; } pVertexBlock = pFactory->CreateBlockResource(uiNumVerts, uiFlags); @@ -61,7 +61,7 @@ void TVertexPoolResource::OnDestroy() { } -TBOOL TVertexPoolResource::Lock(LockBuffer* a_pLockBuffer) +TBOOL TVertexPoolResource::Lock(LockBuffer *a_pLockBuffer) { return TBOOL(); } @@ -70,7 +70,7 @@ void TVertexPoolResource::Unlock(TUSHORT a_uiNewNumVertices) { } -TBOOL TVertexPoolResource::Create(TVertexFactoryResourceInterface* a_pFactory, TUINT a_uiMaxVertices, TUINT a_uiFlags) +TBOOL TVertexPoolResource::Create(TVertexFactoryResourceInterface *a_pFactory, TUINT a_uiMaxVertices, TUINT a_uiFlags) { return TBOOL(); } diff --git a/Toshi/Source/TRenderD3D/TMSWindow.cpp b/Toshi/Source/TRenderD3D/TMSWindow.cpp index c2bb4ae..d3d60f6 100644 --- a/Toshi/Source/TRenderD3D/TMSWindow.cpp +++ b/Toshi/Source/TRenderD3D/TMSWindow.cpp @@ -6,32 +6,32 @@ TOSHI_NAMESPACE_USING IMPLEMENT_DYNCREATE(TMSWindow, TObject) LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, - WPARAM wParam, LPARAM lParam); + WPARAM wParam, LPARAM lParam); TMSWindow::TMSWindow() { - m_hWnd = NULL; + m_hWnd = NULL; m_pD3DInterface = TNULL; - m_bIsEnabled = TFALSE; - m_bIsWindowed = TTRUE; + m_bIsEnabled = TFALSE; + m_bIsWindowed = TTRUE; TCString className = TGetClass(TRenderD3DInterface).GetName(); Destroy(); WNDCLASSEX wndClass; - wndClass.cbSize = sizeof(WNDCLASSEX); - wndClass.style = CS_CLASSDC; - wndClass.lpfnWndProc = WindowProc; - wndClass.cbClsExtra = 0; // No extra bytes after the window class - wndClass.cbWndExtra = 0; // structure or the window instance - wndClass.hInstance = 0; - wndClass.hIcon = 0; - wndClass.hCursor = 0; + wndClass.cbSize = sizeof(WNDCLASSEX); + wndClass.style = CS_CLASSDC; + wndClass.lpfnWndProc = WindowProc; + wndClass.cbClsExtra = 0; // No extra bytes after the window class + wndClass.cbWndExtra = 0; // structure or the window instance + wndClass.hInstance = 0; + wndClass.hIcon = 0; + wndClass.hCursor = 0; wndClass.hbrBackground = 0; - wndClass.lpszMenuName = 0; + wndClass.lpszMenuName = 0; wndClass.lpszClassName = 0; - wndClass.hIconSm = 0; - wndClass.hInstance = GetModuleHandle(NULL); + wndClass.hIconSm = 0; + wndClass.hInstance = GetModuleHandle(NULL); wndClass.lpszClassName = className; RegisterClassEx(&wndClass); @@ -44,11 +44,11 @@ TMSWindow::~TMSWindow() } LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, - WPARAM wParam, LPARAM lParam) + WPARAM wParam, LPARAM lParam) { - TMSWindow* pWindow; + TMSWindow *pWindow; if (message == WM_CREATE) { - SetWindowLong(hWnd, GWL_USERDATA, *(LONG*)lParam); + SetWindowLong(hWnd, GWL_USERDATA, *(LONG *)lParam); return 0; } if (message != WM_CLOSE) { @@ -65,7 +65,7 @@ LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, else if (message != WM_DESTROY) { if (message == WM_SETCURSOR) { SetCursor(NULL); - pWindow = (TMSWindow*)GetWindowLong(hWnd, GWL_USERDATA); + pWindow = (TMSWindow *)GetWindowLong(hWnd, GWL_USERDATA); pWindow->GetD3DInterface()->GetD3DDevice()->ShowCursor(TRUE); return 1; } @@ -74,26 +74,25 @@ LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, } return 0; } - pWindow = (TMSWindow*)GetWindowLong(hWnd, GWL_USERDATA); + pWindow = (TMSWindow *)GetWindowLong(hWnd, GWL_USERDATA); pWindow->GetD3DInterface()->Exit(); return 0; } -TBOOL TMSWindow::Create(TRenderD3DInterface* a_pRenderer, TPCCHAR a_szName) +TBOOL TMSWindow::Create(TRenderD3DInterface *a_pRenderer, TPCCHAR a_szName) { Destroy(); m_pD3DInterface = a_pRenderer; - m_hWnd = CreateWindowEx( - 0, - TGetClass(TRenderD3DInterface).GetName(), - a_szName, - WS_DISABLED | WS_CAPTION | WS_SYSMENU | WS_GROUP, - 0, 0, 0, 0, - GetDesktopWindow(), - NULL, - GetModuleHandle(NULL), - this - ); + m_hWnd = CreateWindowEx( + 0, + TGetClass(TRenderD3DInterface).GetName(), + a_szName, + WS_DISABLED | WS_CAPTION | WS_SYSMENU | WS_GROUP, + 0, 0, 0, 0, + GetDesktopWindow(), + NULL, + GetModuleHandle(NULL), + this); if (m_hWnd) { Disable(); diff --git a/Toshi/Source/TRenderD3D/TRenderCaptureD3D.cpp b/Toshi/Source/TRenderD3D/TRenderCaptureD3D.cpp index 924ba31..bb233ca 100644 --- a/Toshi/Source/TRenderD3D/TRenderCaptureD3D.cpp +++ b/Toshi/Source/TRenderD3D/TRenderCaptureD3D.cpp @@ -7,7 +7,7 @@ TBOOL TRenderCaptureD3D::Create(FORMAT a_eFormat, TINT a_iWidth, TINT a_iHeight) { TASSERT(a_eFormat == FORMAT_RGB24 || a_eFormat == FORMAT_RGBA32); m_eFormat = a_eFormat; - m_iWidth = a_iWidth; + m_iWidth = a_iWidth; m_iHeight = a_iHeight; return TTRUE; } @@ -20,13 +20,13 @@ void TRenderCaptureD3D::Destroy() TBOOL TRenderCaptureD3D::Request() { ReleaseBuffer(); - TRenderD3DInterface* renderer = static_cast(TRenderInterface::GetRenderer()); - auto pDevice = renderer->GetCurrentDevice(); - auto pMode = pDevice->GetMode(); - TMSWindow* window = renderer->GetMSWindow(); - RECT rect; + TRenderD3DInterface *renderer = static_cast(TRenderInterface::GetRenderer()); + auto pDevice = renderer->GetCurrentDevice(); + auto pMode = pDevice->GetMode(); + TMSWindow *window = renderer->GetMSWindow(); + RECT rect; GetWindowRect(window->GetHWND(), &rect); - TRenderInterface::DisplayParams* params = renderer->GetCurrentDisplayParams(); + TRenderInterface::DisplayParams *params = renderer->GetCurrentDisplayParams(); if (params->bWindowed) { rect.left += 10.0f; rect.top += 25.0f; @@ -35,9 +35,9 @@ TBOOL TRenderCaptureD3D::Request() // All points are floor/ceil/rounded but not sure, might just be a float addition } else { - rect.left = 0; - rect.top = 0; - rect.right = pMode->GetWidth(); + rect.left = 0; + rect.top = 0; + rect.right = pMode->GetWidth(); rect.bottom = pMode->GetHeight(); } m_pBuffer = new TCHAR[m_iHeight * m_iWidth * 4]; @@ -70,4 +70,4 @@ void TRenderCaptureD3D::ReleaseBuffer() } } -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Source/TRenderD3D/TRenderContextD3D.cpp b/Toshi/Source/TRenderD3D/TRenderContextD3D.cpp index 81fc41e..49f022d 100644 --- a/Toshi/Source/TRenderD3D/TRenderContextD3D.cpp +++ b/Toshi/Source/TRenderD3D/TRenderContextD3D.cpp @@ -1 +1 @@ -#include "TRenderD3D/TRenderContextD3D.h" \ No newline at end of file +#include "TRenderD3D/TRenderContextD3D.h" diff --git a/Toshi/Source/TRenderD3D/TRenderD3DAdapter.cpp b/Toshi/Source/TRenderD3D/TRenderD3DAdapter.cpp index c51dd1d..f3669b4 100644 --- a/Toshi/Source/TRenderD3D/TRenderD3DAdapter.cpp +++ b/Toshi/Source/TRenderD3D/TRenderD3DAdapter.cpp @@ -8,12 +8,12 @@ TUINT TD3DAdapter::GetAdapterIndex() const return m_uiAdapterIndex; } -const TCString& TD3DAdapter::GetDriver() const +const TCString &TD3DAdapter::GetDriver() const { return m_Driver; } -const TCString& TD3DAdapter::GetDriverDescription() const +const TCString &TD3DAdapter::GetDriverDescription() const { return m_Description; } @@ -38,7 +38,7 @@ TUSHORT TD3DAdapter::GetBuild() const return m_DriverVersionLowPart & 0xFFFF; } -const GUID& TD3DAdapter::GetDeviceIdentifier() const +const GUID &TD3DAdapter::GetDeviceIdentifier() const { return m_DeviceIdentifier; } @@ -48,13 +48,13 @@ TUINT TD3DAdapter::GetNumSupportedDevices() const return Mode::NUMSUPPORTEDDEVICES; } -void TD3DAdapter::EnumerateOutputs(TRenderInterface* a_pRenderer) +void TD3DAdapter::EnumerateOutputs(TRenderInterface *a_pRenderer) { - TRenderD3DInterface* pRenderer = TSTATICCAST(TRenderD3DInterface*, a_pRenderer); + TRenderD3DInterface *pRenderer = TSTATICCAST(TRenderD3DInterface *, a_pRenderer); - TUINT32 uiAdapterIndex = GetAdapterIndex(); + TUINT32 uiAdapterIndex = GetAdapterIndex(); TUINT32 uiNumSupportedDevices = GetNumSupportedDevices(); - TUINT32 uiAdapterModeCount = pRenderer->GetD3DInterface()->GetAdapterModeCount(uiAdapterIndex); + TUINT32 uiAdapterModeCount = pRenderer->GetD3DInterface()->GetAdapterModeCount(uiAdapterIndex); for (TUINT32 i = 0; i < uiAdapterModeCount; i++) { @@ -67,7 +67,7 @@ void TD3DAdapter::EnumerateOutputs(TRenderInterface* a_pRenderer) for (TUINT32 k = 0; k < uiNumSupportedDevices; k++) { - auto pDevice = TSTATICCAST(TD3DAdapter::Mode::Device*, pMode->GetDevice(k)); + auto pDevice = TSTATICCAST(TD3DAdapter::Mode::Device *, pMode->GetDevice(k)); pDevice->SetOwnerMode(pMode); pDevice->SetDeviceIndex(k); @@ -78,12 +78,11 @@ void TD3DAdapter::EnumerateOutputs(TRenderInterface* a_pRenderer) Mode::Device::DEVICETYPES[k], pMode->GetD3DDisplayMode().Format, pMode->GetD3DDisplayMode().Format, - FALSE - ); + FALSE); if (SUCCEEDED(hRes)) { - auto& caps = pDevice->GetD3DCaps(); + auto &caps = pDevice->GetD3DCaps(); if (Mode::Device::DEVICETYPES[k] == D3DDEVTYPE_REF) { @@ -98,7 +97,7 @@ void TD3DAdapter::EnumerateOutputs(TRenderInterface* a_pRenderer) if (caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT) { pDevice->m_bSupportsTransformation = TTRUE; - pDevice->m_bSupportsPureDevice = caps.DevCaps & D3DDEVCAPS_PUREDEVICE; + pDevice->m_bSupportsPureDevice = caps.DevCaps & D3DDEVCAPS_PUREDEVICE; } if (caps.DevCaps & D3DDEVCAPS_NPATCHES) @@ -132,18 +131,16 @@ void TD3DAdapter::EnumerateOutputs(TRenderInterface* a_pRenderer) pMode->GetD3DDisplayMode().Format, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_SURFACE, - Mode::Device::DEPTHSTENCILFORMATS[j] - ); + Mode::Device::DEPTHSTENCILFORMATS[j]); if (SUCCEEDED(hCheck)) { - HRESULT hMatch = pRenderer->GetD3DInterface ()->CheckDepthStencilMatch( + HRESULT hMatch = pRenderer->GetD3DInterface()->CheckDepthStencilMatch( uiAdapterIndex, Mode::Device::DEVICETYPES[k], pMode->GetD3DDisplayMode().Format, pMode->GetD3DDisplayMode().Format, - Mode::Device::DEPTHSTENCILFORMATS[j] - ); + Mode::Device::DEPTHSTENCILFORMATS[j]); if (SUCCEEDED(hMatch)) { @@ -159,7 +156,7 @@ void TD3DAdapter::EnumerateOutputs(TRenderInterface* a_pRenderer) } } -TRenderAdapter* TD3DAdapter::Mode::GetAdapter() const +TRenderAdapter *TD3DAdapter::Mode::GetAdapter() const { return m_pOwnerAdapter; } @@ -186,8 +183,7 @@ TBOOL TD3DAdapter::Mode::Is32Bit() const TBOOL TD3DAdapter::Mode::Is16Bit() const { - return - m_DisplayMode.Format == D3DFMT_R5G6B5 || + return m_DisplayMode.Format == D3DFMT_R5G6B5 || m_DisplayMode.Format == D3DFMT_X1R5G5B5 || m_DisplayMode.Format == D3DFMT_X4R4G4B4; } @@ -197,7 +193,7 @@ TUINT TD3DAdapter::Mode::GetRefreshRate() const return m_DisplayMode.RefreshRate; } -TRenderAdapter::Mode::Device* TD3DAdapter::Mode::GetDevice(TUINT a_iDevice) +TRenderAdapter::Mode::Device *TD3DAdapter::Mode::GetDevice(TUINT a_iDevice) { if (a_iDevice >= 0 && a_iDevice < NUMSUPPORTEDDEVICES) { @@ -211,13 +207,13 @@ D3DFORMAT TD3DAdapter::Mode::GetBackBufferFormat(TUINT a_uiColourDepth) { if (a_uiColourDepth == 16) { - return TSTATICCAST(D3DFORMAT, (-(TUINT32)((*(TUINT8*)&(m_DisplayMode).Format & 0x17) != 0) & 0xfffffff9) + D3DFMT_X4R4G4B4); + return TSTATICCAST(D3DFORMAT, (-(TUINT32)((*(TUINT8 *)&(m_DisplayMode).Format & 0x17) != 0) & 0xfffffff9) + D3DFMT_X4R4G4B4); } return TSTATICCAST(D3DFORMAT, (a_uiColourDepth != 32) - 1 & 0x16); } -TRenderAdapter::Mode* TD3DAdapter::Mode::Device::GetMode() const +TRenderAdapter::Mode *TD3DAdapter::Mode::Device::GetMode() const { return m_pOwnerMode; } @@ -255,4 +251,4 @@ TBOOL TD3DAdapter::Mode::Device::IsDepthStencilFormatSupported(TUINT a_iIndex) c TBOOL TD3DAdapter::Mode::Device::SupportsPureDevice() const { return m_bSupportsPureDevice; -} \ No newline at end of file +} diff --git a/Toshi/Source/TRenderD3D/TRenderD3DInterface.cpp b/Toshi/Source/TRenderD3D/TRenderD3DInterface.cpp index 98a4081..ce5c49c 100644 --- a/Toshi/Source/TRenderD3D/TRenderD3DInterface.cpp +++ b/Toshi/Source/TRenderD3D/TRenderD3DInterface.cpp @@ -11,19 +11,19 @@ IMPLEMENT_DYNCREATE(TRenderD3DInterface, TRenderInterface) TRenderD3DInterface::TRenderD3DInterface() { - m_pD3DInterface = NULL; - m_pD3DDevice = NULL; - m_hAccel = NULL; - m_pCurrentDevice = TNULL; - m_oDisplayParams.uiWidth = 640; - m_oDisplayParams.uiHeight = 480; - m_oDisplayParams.uiColourDepth = 32; - m_oDisplayParams.bWindowed = TTRUE; - m_bIsExited = TFALSE; - m_bUsingColorCorrection = TTRUE; + m_pD3DInterface = NULL; + m_pD3DDevice = NULL; + m_hAccel = NULL; + m_pCurrentDevice = TNULL; + m_oDisplayParams.uiWidth = 640; + m_oDisplayParams.uiHeight = 480; + m_oDisplayParams.uiColourDepth = 32; + m_oDisplayParams.bWindowed = TTRUE; + m_bIsExited = TFALSE; + m_bUsingColorCorrection = TTRUE; m_bCheckedCapableColourCorrection = TFALSE; - m_bCapableColourCorrection = TFALSE; - m_bEnableColourCorrection = TTRUE; + m_bCapableColourCorrection = TFALSE; + m_bEnableColourCorrection = TTRUE; } void TOSHI_API TRenderD3DInterface::TD3DAssert(HRESULT a_hr, TPCCHAR a_pError) @@ -44,7 +44,7 @@ TRenderD3DInterface::~TRenderD3DInterface() Destroy(); } -TBOOL TRenderD3DInterface::CreateDisplay(const TRenderInterface::DisplayParams& a_rParams) +TBOOL TRenderD3DInterface::CreateDisplay(const TRenderInterface::DisplayParams &a_rParams) { TASSERT(TTRUE == IsCreated()); TASSERT(TFALSE == IsDisplayCreated()); @@ -53,7 +53,7 @@ TBOOL TRenderD3DInterface::CreateDisplay(const TRenderInterface::DisplayParams& return TFALSE; } - m_pCurrentDevice = (TD3DAdapter::Mode::Device*)FindDevice(&a_rParams); + m_pCurrentDevice = (TD3DAdapter::Mode::Device *)FindDevice(&a_rParams); m_oDisplayParams = a_rParams; TASSERT(m_pCurrentDevice != TNULL); @@ -61,7 +61,7 @@ TBOOL TRenderD3DInterface::CreateDisplay(const TRenderInterface::DisplayParams& return TFALSE; } - TRenderInterface::DisplayParams* pDisplayParams = GetCurrentDisplayParams(); + TRenderInterface::DisplayParams *pDisplayParams = GetCurrentDisplayParams(); RECT clientRect; GetClientRect(GetDesktopWindow(), &clientRect); @@ -74,25 +74,25 @@ TBOOL TRenderD3DInterface::CreateDisplay(const TRenderInterface::DisplayParams& TUINT32 uiWindowPosY = 0; if (pDisplayParams->bWindowed) { - TRenderAdapter::Mode* pMode = GetCurrentDevice()->GetMode(); - uiWindowPosX = (clientRect.right - pMode->GetWidth()) / 2; - uiWindowPosY = (clientRect.bottom - pMode->GetHeight()) / 2; + TRenderAdapter::Mode *pMode = GetCurrentDevice()->GetMode(); + uiWindowPosX = (clientRect.right - pMode->GetWidth()) / 2; + uiWindowPosY = (clientRect.bottom - pMode->GetHeight()) / 2; } TSystem::MemSet(&m_oPresentParams, 0, sizeof(m_oPresentParams)); - m_oPresentParams.Windowed = pDisplayParams->bWindowed; - m_oPresentParams.BackBufferCount = 1; - m_oPresentParams.MultiSampleType = D3DMULTISAMPLE_NONE; - m_oPresentParams.SwapEffect = D3DSWAPEFFECT_DISCARD; + m_oPresentParams.Windowed = pDisplayParams->bWindowed; + m_oPresentParams.BackBufferCount = 1; + m_oPresentParams.MultiSampleType = D3DMULTISAMPLE_NONE; + m_oPresentParams.SwapEffect = D3DSWAPEFFECT_DISCARD; m_oPresentParams.EnableAutoDepthStencil = TRUE; - m_oPresentParams.hDeviceWindow = GetMSWindow()->GetHWND(); + m_oPresentParams.hDeviceWindow = GetMSWindow()->GetHWND(); m_oPresentParams.AutoDepthStencilFormat = TD3DAdapter::Mode::Device::DEPTHSTENCILFORMATS[pDisplayParams->eDepthStencilFormat]; - m_oPresentParams.BackBufferWidth = pDisplayParams->uiWidth; - m_oPresentParams.BackBufferHeight = pDisplayParams->uiHeight; + m_oPresentParams.BackBufferWidth = pDisplayParams->uiWidth; + m_oPresentParams.BackBufferHeight = pDisplayParams->uiHeight; - auto pDevice = TSTATICCAST(TD3DAdapter::Mode::Device*, GetCurrentDevice()); - auto pMode = TSTATICCAST(TD3DAdapter::Mode*, pDevice->GetMode()); - auto pAdapter = TSTATICCAST(TD3DAdapter*, pMode->GetAdapter()); + auto pDevice = TSTATICCAST(TD3DAdapter::Mode::Device *, GetCurrentDevice()); + auto pMode = TSTATICCAST(TD3DAdapter::Mode *, pDevice->GetMode()); + auto pAdapter = TSTATICCAST(TD3DAdapter *, pMode->GetAdapter()); auto uiAdapterIndex = pAdapter->GetAdapterIndex(); if (pDisplayParams->bWindowed) { @@ -108,8 +108,7 @@ TBOOL TRenderD3DInterface::CreateDisplay(const TRenderInterface::DisplayParams& GetMSWindow()->GetHWND(), pDevice->GetD3DDeviceFlags(), &m_oPresentParams, - &m_pD3DDevice - ); + &m_pD3DDevice); if (FAILED(hRes)) { TD3DAssert(hRes, "Failed to create D3D Device!"); @@ -128,7 +127,7 @@ TBOOL TRenderD3DInterface::CreateDisplay(const TRenderInterface::DisplayParams& GetMSWindow()->Position(uiWindowPosX, uiWindowPosY, pDisplayParams->uiWidth, pDisplayParams->uiHeight); GetMSWindow()->Enable(); - IDirect3DSurface8* pSurface; + IDirect3DSurface8 *pSurface; GetD3DDevice()->GetBackBuffer(0, D3DBACKBUFFER_TYPE_MONO, &pSurface); pSurface->GetDesc(&m_oSurfaceDesk); pSurface->Release(); @@ -138,9 +137,9 @@ TBOOL TRenderD3DInterface::CreateDisplay(const TRenderInterface::DisplayParams& for (int i = 0; i < 32; i++) { invalidTextureData[i] = 0xff0fff0f; } - - TTextureFactoryHAL* factory = (TTextureFactoryHAL*)GetSystemResource(SYSRESOURCE_TEXTUREFACTORY); - m_pInvalidTexture = factory->CreateTextureFromMemory(invalidTextureData, sizeof(invalidTextureData), 17, 8, 8); + + TTextureFactoryHAL *factory = (TTextureFactoryHAL *)GetSystemResource(SYSRESOURCE_TEXTUREFACTORY); + m_pInvalidTexture = factory->CreateTextureFromMemory(invalidTextureData, sizeof(invalidTextureData), 17, 8, 8); TVALIDADDRESS(m_pInvalidTexture); EnableColourCorrection(TTRUE); @@ -169,7 +168,7 @@ TBOOL TRenderD3DInterface::Update(float a_fDeltaTime) if (TranslateAccelerator(GetMSWindow()->GetHWND(), GetAcceleratorTable(), &msg) == 0) { TranslateMessage(&msg); DispatchMessage(&msg); - } + } } } if (!m_bIsExited) { @@ -180,8 +179,8 @@ TBOOL TRenderD3DInterface::Update(float a_fDeltaTime) TBOOL TRenderD3DInterface::BeginScene() { - TASSERT(TTRUE==IsDisplayCreated()); - TASSERT(TFALSE==IsInScene()); + TASSERT(TTRUE == IsDisplayCreated()); + TASSERT(TFALSE == IsInScene()); if (TRenderInterface::BeginScene()) { if (FAILED(m_pD3DDevice->BeginScene())) { return TFALSE; @@ -189,12 +188,12 @@ TBOOL TRenderD3DInterface::BeginScene() RECT windowRect; GetWindowRect(GetMSWindow()->GetHWND(), &windowRect); D3DVIEWPORT8 viewport = { - .X = 0, - .Y = 0, - .Width = DWORD(windowRect.right - windowRect.left), + .X = 0, + .Y = 0, + .Width = DWORD(windowRect.right - windowRect.left), .Height = DWORD(windowRect.bottom - windowRect.top), - .MinZ = 0.0f, - .MaxZ = 1.0f, + .MinZ = 0.0f, + .MaxZ = 1.0f, }; m_pD3DDevice->SetViewport(&viewport); //UpdateColourSettings(); @@ -206,8 +205,8 @@ TBOOL TRenderD3DInterface::BeginScene() TBOOL TRenderD3DInterface::EndScene() { - TASSERT(TTRUE==IsDisplayCreated()); - TASSERT(TFALSE==IsInScene()); + TASSERT(TTRUE == IsDisplayCreated()); + TASSERT(TFALSE == IsInScene()); static TBOOL s_bDeviceLost = TFALSE; if (IsInScene()) { if (FAILED(m_pD3DDevice->EndScene())) { @@ -241,19 +240,19 @@ TBOOL TRenderD3DInterface::EndScene() return TTRUE; } -TRenderAdapter::Mode::Device* TRenderD3DInterface::GetCurrentDevice() +TRenderAdapter::Mode::Device *TRenderD3DInterface::GetCurrentDevice() { return m_pCurrentDevice; } -TRenderInterface::DisplayParams* TRenderD3DInterface::GetCurrentDisplayParams() +TRenderInterface::DisplayParams *TRenderD3DInterface::GetCurrentDisplayParams() { return &m_oDisplayParams; } -TBOOL TRenderD3DInterface::Create(TKernelInterface* a_pKernel) +TBOOL TRenderD3DInterface::Create(TKernelInterface *a_pKernel) { - TASSERT(TFALSE==IsCreated()); + TASSERT(TFALSE == IsCreated()); if (!TRenderInterface::Create(a_pKernel)) { return TFALSE; @@ -314,27 +313,27 @@ TBOOL TRenderD3DInterface::SetPixelAspectRatio(float a_fPixelAspectRatio) return TBOOL(); } -TRenderContext* TRenderD3DInterface::CreateRenderContext() +TRenderContext *TRenderD3DInterface::CreateRenderContext() { - TRenderContextD3D* pRenderContext = new TRenderContextD3D(); + TRenderContextD3D *pRenderContext = new TRenderContextD3D(); TVALIDADDRESS(pRenderContext); return pRenderContext; } -TRenderCapture* TRenderD3DInterface::CreateCapture() +TRenderCapture *TRenderD3DInterface::CreateCapture() { return nullptr; } -void TRenderD3DInterface::DestroyCapture(TRenderCapture* a_pRenderCapture) +void TRenderD3DInterface::DestroyCapture(TRenderCapture *a_pRenderCapture) { } -void TRenderD3DInterface::ConnectDefaultViewportHandelrs(TViewport& a_pViewport) +void TRenderD3DInterface::ConnectDefaultViewportHandelrs(TViewport &a_pViewport) { } -TModel* TRenderD3DInterface::CreateModel(TPCCHAR a_szName, TINT a_iUnk1) +TModel *TRenderD3DInterface::CreateModel(TPCCHAR a_szName, TINT a_iUnk1) { return nullptr; } @@ -343,7 +342,7 @@ TBOOL TRenderD3DInterface::IsCapableColourCorrection() { if (!m_bCheckedCapableColourCorrection) { D3DCAPS8 caps; - HRESULT hRes = GetD3DDevice()->GetDeviceCaps(&caps); + HRESULT hRes = GetD3DDevice()->GetDeviceCaps(&caps); m_bCapableColourCorrection = SUCCEEDED(hRes) && HASFLAG(caps.AdapterOrdinal & 0x20000); } @@ -358,16 +357,16 @@ void TRenderD3DInterface::EnableColourCorrection(TBOOL a_bEnable) TBOOL TRenderD3DInterface::IsTextureFormatSupported(TTEXTURERESOURCEFORMAT a_eTextureFormat) { switch (a_eTextureFormat) { - case R8G8B8A8: - return IsTextureFormatSupported(D3DFMT_A8R8G8B8); - case R8G8B8: - return IsTextureFormatSupported(D3DFMT_X8R8G8B8); - case R5G5B5A1: - return IsTextureFormatSupported(D3DFMT_A1R5G5B5); - case DDS: - return TTRUE; - default: - return TFALSE; + case R8G8B8A8: + return IsTextureFormatSupported(D3DFMT_A8R8G8B8); + case R8G8B8: + return IsTextureFormatSupported(D3DFMT_X8R8G8B8); + case R5G5B5A1: + return IsTextureFormatSupported(D3DFMT_A1R5G5B5); + case DDS: + return TTRUE; + default: + return TFALSE; } } @@ -380,9 +379,7 @@ TBOOL TRenderD3DInterface::IsTextureFormatSupported(D3DFORMAT a_eFormat) m_oPresentParams.BackBufferFormat, 0, D3DRTYPE_TEXTURE, - a_eFormat - ) - ); + a_eFormat)); } TBOOL TRenderD3DInterface::Supports32BitTextures() @@ -397,7 +394,7 @@ void TRenderD3DInterface::BuildAdapterDatabase() pAdapter->SetAdapterIndex(i); D3DDISPLAYMODE displayMode; - auto pIdentifier = pAdapter->GetD3DIdentifier8(); + auto pIdentifier = pAdapter->GetD3DIdentifier8(); m_pD3DInterface->GetAdapterIdentifier(i, D3DENUM_NO_WHQL_LEVEL, pIdentifier); m_pD3DInterface->GetAdapterDisplayMode(i, &displayMode); @@ -424,13 +421,13 @@ void TRenderD3DInterface::CreateAcceleratorTableA() ACCEL accel[2]; // ESCAPE accel[0].fVirt = FVIRTKEY; - accel[0].key = VK_ESCAPE; - accel[0].cmd = 0; + accel[0].key = VK_ESCAPE; + accel[0].cmd = 0; // ALT+ENTER accel[1].fVirt = FALT; - accel[1].key = VK_RETURN; - accel[1].cmd = 1; - m_hAccel = ::CreateAcceleratorTableA(accel, 2); + accel[1].key = VK_RETURN; + accel[1].cmd = 1; + m_hAccel = ::CreateAcceleratorTableA(accel, 2); } void TRenderD3DInterface::DestroyAcceleratorTable() diff --git a/Toshi/Source/TRenderD3D/TTextureFactoryD3D.cpp b/Toshi/Source/TRenderD3D/TTextureFactoryD3D.cpp index d509731..ff6c7e7 100644 --- a/Toshi/Source/TRenderD3D/TTextureFactoryD3D.cpp +++ b/Toshi/Source/TRenderD3D/TTextureFactoryD3D.cpp @@ -6,20 +6,18 @@ TOSHI_NAMESPACE_USING IMPLEMENT_DYNCREATE(TTextureFactoryHAL, TTextureFactory) -TTextureResource* TTextureFactoryHAL::CreateTextureFromFile(TPCCHAR a_szFileName, TUINT a_eTextureFlags) +TTextureResource *TTextureFactoryHAL::CreateTextureFromFile(TPCCHAR a_szFileName, TUINT a_eTextureFlags) { - TTextureResource* pTexture = FindTexture(a_szFileName); + TTextureResource *pTexture = FindTexture(a_szFileName); if (pTexture) return pTexture; pTexture = TSTATICCAST( - TTextureResource*, + TTextureResource *, GetRenderer()->CreateResource( TClass::Find("TTextureResourceHAL", TNULL), TNULL, - this - ) - ); + this)); pTexture->Create(a_szFileName, a_eTextureFlags); RegisterTexture(a_szFileName, pTexture); @@ -28,10 +26,10 @@ TTextureResource* TTextureFactoryHAL::CreateTextureFromFile(TPCCHAR a_szFileName return pTexture; } -TTextureResource* TTextureFactoryHAL::CreateTextureFromMemory(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels) +TTextureResource *TTextureFactoryHAL::CreateTextureFromMemory(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels) { static TUINT s_iNumMemTextures = 0; - static char s_szName[32]; + static char s_szName[32]; s_szName[0] = 'm'; s_szName[1] = 't'; @@ -40,14 +38,12 @@ TTextureResource* TTextureFactoryHAL::CreateTextureFromMemory(TPVOID a_pData, TU s_szName[4] = ':'; TSystem::StringIntToString(++s_iNumMemTextures, &s_szName[5], 16); - TTextureResource* pTexture = TSTATICCAST( - TTextureResource*, + TTextureResource *pTexture = TSTATICCAST( + TTextureResource *, GetRenderer()->CreateResource( TClass::Find("TTextureResourceHAL", TNULL), TNULL, - this - ) - ); + this)); pTexture->Create(a_pData, a_uiDataSize, a_uiWidth, a_uiHeight, a_uiMipLevels); RegisterTexture(s_szName, pTexture); @@ -55,10 +51,10 @@ TTextureResource* TTextureFactoryHAL::CreateTextureFromMemory(TPVOID a_pData, TU return pTexture; } -TTextureResource* TTextureFactoryHAL::CreateEx(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels, TTEXTURERESOURCEFORMAT a_eFormat, TUINT a_uiFormatBits) +TTextureResource *TTextureFactoryHAL::CreateEx(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels, TTEXTURERESOURCEFORMAT a_eFormat, TUINT a_uiFormatBits) { static TUINT s_iNumMemTextures = 0; - static char s_szName[32]; + static char s_szName[32]; s_szName[0] = 'm'; s_szName[1] = 't'; @@ -67,14 +63,12 @@ TTextureResource* TTextureFactoryHAL::CreateEx(TPVOID a_pData, TUINT a_uiDataSiz s_szName[4] = ':'; TSystem::StringIntToString(++s_iNumMemTextures, &s_szName[5], 16); - TTextureResource* pTexture = TSTATICCAST( - TTextureResource*, + TTextureResource *pTexture = TSTATICCAST( + TTextureResource *, GetRenderer()->CreateResource( TClass::Find("TTextureResourceHAL", TNULL), TNULL, - this - ) - ); + this)); pTexture->CreateEx(a_pData, a_uiDataSize, a_uiWidth, a_uiHeight, a_uiMipLevels, a_eFormat, a_uiFormatBits); RegisterTexture(s_szName, pTexture); diff --git a/Toshi/Source/TRenderD3D/TTextureResourceD3D.cpp b/Toshi/Source/TRenderD3D/TTextureResourceD3D.cpp index 47cd62e..7aa6a7c 100644 --- a/Toshi/Source/TRenderD3D/TTextureResourceD3D.cpp +++ b/Toshi/Source/TRenderD3D/TTextureResourceD3D.cpp @@ -15,7 +15,7 @@ TBOOL TTextureResourceHAL::Validate() } TMemory::DebugPrintHALMemInfo("ENTER TTextureResourceHAL::Validate()"); - auto pRenderer = TSTATICCAST(TRenderD3DInterface*, GetRenderer()); + auto pRenderer = TSTATICCAST(TRenderD3DInterface *, GetRenderer()); if (m_iLoadFromMemory) { // Load from memory @@ -39,20 +39,20 @@ TBOOL TTextureResourceHAL::Validate() } else { HRESULT hRes = D3DXCreateTextureFromFileInMemoryEx(pRenderer->GetD3DDevice(), - m_pData, - m_uiDataSize, - -1, - -1, - -1, - 0, - D3DFMT_UNKNOWN, - D3DPOOL_MANAGED, - D3DX_FILTER_BOX, - D3DX_FILTER_BOX, - 0, - &m_oImageInfo, - NULL, - &m_pD3DTexture); + m_pData, + m_uiDataSize, + -1, + -1, + -1, + 0, + D3DFMT_UNKNOWN, + D3DPOOL_MANAGED, + D3DX_FILTER_BOX, + D3DX_FILTER_BOX, + 0, + &m_oImageInfo, + NULL, + &m_pD3DTexture); TRenderD3DInterface::TD3DAssert(hRes, TNULL); } } @@ -64,9 +64,8 @@ TBOOL TTextureResourceHAL::Validate() if (GetNameEntry() && !IsPPM(GetNameEntry()->GetName())) { HRESULT hRes = D3DXCreateTextureFromFileEx(pRenderer->GetD3DDevice(), GetNameEntry()->GetName(), - -1, -1, -1, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DFILTER_LINEARMIPNEAREST, - D3DFILTER_LINEARMIPNEAREST, 0, &m_oImageInfo, NULL, &m_pD3DTexture - ); + -1, -1, -1, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DFILTER_LINEARMIPNEAREST, + D3DFILTER_LINEARMIPNEAREST, 0, &m_oImageInfo, NULL, &m_pD3DTexture); TRenderD3DInterface::TD3DAssert(hRes, TNULL); } } @@ -90,7 +89,7 @@ TUINT TTextureResourceHAL::GetHeight() return m_oImageInfo.Height; } -TBOOL TTextureResourceHAL::Lock(TTextureResource::LOCKSTATE& a_rLockState) +TBOOL TTextureResourceHAL::Lock(TTextureResource::LOCKSTATE &a_rLockState) { if (!m_pD3DTexture) { return TFALSE; @@ -114,8 +113,8 @@ TBOOL TTextureResourceHAL::Lock(TTextureResource::LOCKSTATE& a_rLockState) void TTextureResourceHAL::Unlock() { - TASSERT(0!=m_uiLockCount); - TASSERT(TNULL!=m_pD3DTexture); + TASSERT(0 != m_uiLockCount); + TASSERT(TNULL != m_pD3DTexture); if (m_uiLockCount != 0 && m_pD3DTexture) { @@ -131,15 +130,15 @@ TBOOL TTextureResourceHAL::Create(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_eT return TFALSE; } - m_eTextureFlags = a_eTextureFlags; - m_uiWidth = a_uiWidth; - m_uiHeight = a_uiHeight; - m_uiMipLevels = 0; + m_eTextureFlags = a_eTextureFlags; + m_uiWidth = a_uiWidth; + m_uiHeight = a_uiHeight; + m_uiMipLevels = 0; m_eResourceFormat = UNKNOWN; - m_uiMipmapFlags = MIPMAPFLAGS_DISABLED; + m_uiMipmapFlags = MIPMAPFLAGS_DISABLED; m_iLoadFromMemory = 1; - m_pData = a_pData; - m_uiDataSize = a_uiDataSize; + m_pData = a_pData; + m_uiDataSize = a_uiDataSize; Validate(); return TTRUE; @@ -163,15 +162,15 @@ TBOOL TTextureResourceHAL::CreateEx(TPVOID a_pData, TUINT a_uiDataSize, TUINT a_ return TFALSE; } - m_eTextureFlags = 0x40; - m_uiWidth = a_uiWidth; - m_uiHeight = a_uiHeight; - m_uiMipLevels = a_uiMipLevels; + m_eTextureFlags = 0x40; + m_uiWidth = a_uiWidth; + m_uiHeight = a_uiHeight; + m_uiMipLevels = a_uiMipLevels; m_eResourceFormat = a_eFormat; - m_uiMipmapFlags = a_uiMipmapFlags; + m_uiMipmapFlags = a_uiMipmapFlags; m_iLoadFromMemory = 1; - m_pData = a_pData; - m_uiDataSize = a_uiDataSize; + m_pData = a_pData; + m_uiDataSize = a_uiDataSize; Validate(); return TTRUE; @@ -183,25 +182,25 @@ TBOOL TTextureResourceHAL::CreateFromFormat() switch (m_eResourceFormat) { - case TTEXTURERESOURCEFORMAT::R8G8B8A8: - return CreateFromMemory8888(m_uiWidth, m_uiHeight, uiMipLevels, m_pData); - case TTEXTURERESOURCEFORMAT::R8G8B8: - return CreateFromMemory888(m_uiWidth, m_uiHeight, uiMipLevels, m_pData); - case TTEXTURERESOURCEFORMAT::R5G5B5A1: - return CreateFromMemory5551(m_uiWidth, m_uiHeight, uiMipLevels, m_pData); - case TTEXTURERESOURCEFORMAT::DDS: - return CreateFromMemoryDDS(m_uiWidth, m_uiHeight, uiMipLevels, m_pData); - case TTEXTURERESOURCEFORMAT::R4G4B4A4: - return CreateFromMemory4444(m_uiWidth, m_uiHeight, uiMipLevels, m_pData); - default: - TASSERT(!"Unknown format!\n"); - return TFALSE; + case TTEXTURERESOURCEFORMAT::R8G8B8A8: + return CreateFromMemory8888(m_uiWidth, m_uiHeight, uiMipLevels, m_pData); + case TTEXTURERESOURCEFORMAT::R8G8B8: + return CreateFromMemory888(m_uiWidth, m_uiHeight, uiMipLevels, m_pData); + case TTEXTURERESOURCEFORMAT::R5G5B5A1: + return CreateFromMemory5551(m_uiWidth, m_uiHeight, uiMipLevels, m_pData); + case TTEXTURERESOURCEFORMAT::DDS: + return CreateFromMemoryDDS(m_uiWidth, m_uiHeight, uiMipLevels, m_pData); + case TTEXTURERESOURCEFORMAT::R4G4B4A4: + return CreateFromMemory4444(m_uiWidth, m_uiHeight, uiMipLevels, m_pData); + default: + TASSERT(!"Unknown format!\n"); + return TFALSE; } } TBOOL TTextureResourceHAL::CreateFromMemory8888(TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiLevels, TPVOID a_pData) { - TRenderD3DInterface* pRenderer = static_cast(GetRenderer()); + TRenderD3DInterface *pRenderer = static_cast(GetRenderer()); HRESULT hCreateRes = pRenderer->GetD3DDevice()->CreateTexture( a_uiWidth, @@ -210,8 +209,7 @@ TBOOL TTextureResourceHAL::CreateFromMemory8888(TUINT a_uiWidth, TUINT a_uiHeigh 0, D3DFMT_A8R8G8B8, D3DPOOL_MANAGED, - &m_pD3DTexture - ); + &m_pD3DTexture); TRenderD3DInterface::TD3DAssert(hCreateRes, TNULL); if (SUCCEEDED(hCreateRes)) { @@ -220,15 +218,15 @@ TBOOL TTextureResourceHAL::CreateFromMemory8888(TUINT a_uiWidth, TUINT a_uiHeigh TRenderD3DInterface::TD3DAssert(hCreateRes, TNULL); if (a_uiHeight != 0) { - TUINT8* pTexPixel = TSTATICCAST(TUINT8*, rect.pBits); - TUINT8* pDataPixel = TSTATICCAST(TUINT8*, a_pData); + TUINT8 *pTexPixel = TSTATICCAST(TUINT8 *, rect.pBits); + TUINT8 *pDataPixel = TSTATICCAST(TUINT8 *, a_pData); for (TUINT i = a_uiHeight; i != 0; i--) { TUINT8 uiDataPixel = *pDataPixel; - pTexPixel[0] = pDataPixel[3]; - pTexPixel[1] = pDataPixel[2]; - pTexPixel[2] = pDataPixel[1]; - pTexPixel[3] = pDataPixel[0]; + pTexPixel[0] = pDataPixel[3]; + pTexPixel[1] = pDataPixel[2]; + pTexPixel[2] = pDataPixel[1]; + pTexPixel[3] = pDataPixel[0]; pTexPixel += 4; pDataPixel += 4; @@ -238,11 +236,10 @@ TBOOL TTextureResourceHAL::CreateFromMemory8888(TUINT a_uiWidth, TUINT a_uiHeigh if (a_uiLevels == 0) { TSystem::MemSet(&m_oImageInfo, 0, sizeof(D3DXIMAGE_INFO)); - m_oImageInfo.Width = a_uiWidth; + m_oImageInfo.Width = a_uiWidth; m_oImageInfo.Height = a_uiHeight; } } - } return TTRUE; @@ -250,7 +247,7 @@ TBOOL TTextureResourceHAL::CreateFromMemory8888(TUINT a_uiWidth, TUINT a_uiHeigh TBOOL TTextureResourceHAL::CreateFromMemory888(TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiLevels, TPVOID a_pData) { - TRenderD3DInterface* pRenderer = static_cast(GetRenderer()); + TRenderD3DInterface *pRenderer = static_cast(GetRenderer()); HRESULT hCreateRes = pRenderer->GetD3DDevice()->CreateTexture( a_uiWidth, @@ -259,8 +256,7 @@ TBOOL TTextureResourceHAL::CreateFromMemory888(TUINT a_uiWidth, TUINT a_uiHeight 0, D3DFMT_X8R8G8B8, D3DPOOL_MANAGED, - &m_pD3DTexture - ); + &m_pD3DTexture); TRenderD3DInterface::TD3DAssert(hCreateRes, TNULL); if (SUCCEEDED(hCreateRes)) { @@ -269,15 +265,15 @@ TBOOL TTextureResourceHAL::CreateFromMemory888(TUINT a_uiWidth, TUINT a_uiHeight TRenderD3DInterface::TD3DAssert(hCreateRes, TNULL); if (a_uiHeight != 0) { - TUINT8* pTexPixel = TSTATICCAST(TUINT8*, rect.pBits); - TUINT8* pDataPixel = TSTATICCAST(TUINT8*, a_pData); + TUINT8 *pTexPixel = TSTATICCAST(TUINT8 *, rect.pBits); + TUINT8 *pDataPixel = TSTATICCAST(TUINT8 *, a_pData); for (TUINT i = a_uiHeight; i != 0; i--) { TUINT8 uiDataPixel = *pDataPixel; - pTexPixel[0] = pDataPixel[2]; - pTexPixel[1] = pDataPixel[1]; - pTexPixel[2] = pDataPixel[0]; - pTexPixel[3] = 255; + pTexPixel[0] = pDataPixel[2]; + pTexPixel[1] = pDataPixel[1]; + pTexPixel[2] = pDataPixel[0]; + pTexPixel[3] = 255; pTexPixel += 4; pDataPixel += 3; @@ -287,11 +283,10 @@ TBOOL TTextureResourceHAL::CreateFromMemory888(TUINT a_uiWidth, TUINT a_uiHeight if (a_uiLevels == 0) { TSystem::MemSet(&m_oImageInfo, 0, sizeof(D3DXIMAGE_INFO)); - m_oImageInfo.Width = a_uiWidth; + m_oImageInfo.Width = a_uiWidth; m_oImageInfo.Height = a_uiHeight; } } - } return TBOOL(); @@ -304,23 +299,23 @@ TBOOL TTextureResourceHAL::CreateFromMemory5551(TUINT a_uiWidth, TUINT a_uiHeigh TBOOL TTextureResourceHAL::CreateFromMemoryDDS(TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiLevels, TPVOID a_pData) { - auto pRenderer = TSTATICCAST(TRenderD3DInterface*, GetRenderer()); - - HRESULT hRes = D3DXCreateTextureFromFileInMemoryEx(pRenderer->GetD3DDevice(), - a_pData, - m_uiDataSize, - -1, - -1, - a_uiLevels, - 0, - D3DFMT_UNKNOWN, - D3DPOOL_MANAGED, - -1, - -1, - 0, - &m_oImageInfo, - NULL, - &m_pD3DTexture); + auto pRenderer = TSTATICCAST(TRenderD3DInterface *, GetRenderer()); + + HRESULT hRes = D3DXCreateTextureFromFileInMemoryEx(pRenderer->GetD3DDevice(), + a_pData, + m_uiDataSize, + -1, + -1, + a_uiLevels, + 0, + D3DFMT_UNKNOWN, + D3DPOOL_MANAGED, + -1, + -1, + 0, + &m_oImageInfo, + NULL, + &m_pD3DTexture); TRenderD3DInterface::TD3DAssert(hRes, TNULL); if (hRes == D3D_OK) { return TTRUE; @@ -331,7 +326,7 @@ TBOOL TTextureResourceHAL::CreateFromMemoryDDS(TUINT a_uiWidth, TUINT a_uiHeight TBOOL TTextureResourceHAL::CreateFromMemory4444(TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiLevels, TPVOID a_pData) { - auto pRenderer = TSTATICCAST(TRenderD3DInterface*, GetRenderer()); + auto pRenderer = TSTATICCAST(TRenderD3DInterface *, GetRenderer()); HRESULT hCreateRes = pRenderer->GetD3DDevice()->CreateTexture( a_uiWidth, @@ -340,8 +335,7 @@ TBOOL TTextureResourceHAL::CreateFromMemory4444(TUINT a_uiWidth, TUINT a_uiHeigh 0, D3DFMT_A4R4G4B4, D3DPOOL_MANAGED, - &m_pD3DTexture - ); + &m_pD3DTexture); TRenderD3DInterface::TD3DAssert(hCreateRes, TNULL); if (SUCCEEDED(hCreateRes)) { @@ -350,12 +344,12 @@ TBOOL TTextureResourceHAL::CreateFromMemory4444(TUINT a_uiWidth, TUINT a_uiHeigh TRenderD3DInterface::TD3DAssert(hCreateRes, TNULL); if (a_uiHeight != 0) { - TUSHORT* pTexPixel = TSTATICCAST(TUSHORT*, rect.pBits); - TUSHORT* pDataPixel = TSTATICCAST(TUSHORT*, a_pData); + TUSHORT *pTexPixel = TSTATICCAST(TUSHORT *, rect.pBits); + TUSHORT *pDataPixel = TSTATICCAST(TUSHORT *, a_pData); for (TUINT i = a_uiHeight; i != 0; i--) { TUSHORT uiDataPixel = *pDataPixel; - *pTexPixel = ((((uiDataPixel >> 12) << 4 | uiDataPixel & 15) << 4 | uiDataPixel >> 4 & 15) << 4) | uiDataPixel >> 8 & 15; + *pTexPixel = ((((uiDataPixel >> 12) << 4 | uiDataPixel & 15) << 4 | uiDataPixel >> 4 & 15) << 4) | uiDataPixel >> 8 & 15; pTexPixel++; pDataPixel++; } @@ -365,7 +359,7 @@ TBOOL TTextureResourceHAL::CreateFromMemory4444(TUINT a_uiWidth, TUINT a_uiHeigh if (a_uiLevels == 0) { TSystem::MemSet(&m_oImageInfo, 0, sizeof(D3DXIMAGE_INFO)); - m_oImageInfo.Width = a_uiWidth; + m_oImageInfo.Width = a_uiWidth; m_oImageInfo.Height = a_uiHeight; } diff --git a/Toshi/Source/TTerrain/TTerrainInterface.cpp b/Toshi/Source/TTerrain/TTerrainInterface.cpp index 7cf5b3b..b8af67d 100644 --- a/Toshi/Source/TTerrain/TTerrainInterface.cpp +++ b/Toshi/Source/TTerrain/TTerrainInterface.cpp @@ -4,61 +4,60 @@ TOSHI_NAMESPACE_BEGIN IMPLEMENT_DYNCREATE(TTerrainInterface, TObject) -TFLOAT TTerrainInterface::sm_fLowLODDist = 120.0f; -TFLOAT TTerrainInterface::sm_fLev2LODDist = 70.0f; -TFLOAT TTerrainInterface::sm_fLev1LODDist = 40.0f; +TFLOAT TTerrainInterface::sm_fLowLODDist = 120.0f; +TFLOAT TTerrainInterface::sm_fLev2LODDist = 70.0f; +TFLOAT TTerrainInterface::sm_fLev1LODDist = 40.0f; TFLOAT TTerrainInterface::sm_fLowLODHeightChange = 2.0f; -TFLOAT TTerrainInterface::sm_fLowMountLODDist = 100000000.0f; -TFLOAT TTerrainInterface::sm_fLev2MountLODDist = 150.0f; -TFLOAT TTerrainInterface::sm_fLev1MountLODDist = 100.0f; -TFLOAT TTerrainInterface::sm_fMountainBounds = 4.0f; -TFLOAT TTerrainInterface::sm_fWaterHeight = 2.1f; +TFLOAT TTerrainInterface::sm_fLowMountLODDist = 100000000.0f; +TFLOAT TTerrainInterface::sm_fLev2MountLODDist = 150.0f; +TFLOAT TTerrainInterface::sm_fLev1MountLODDist = 100.0f; +TFLOAT TTerrainInterface::sm_fMountainBounds = 4.0f; +TFLOAT TTerrainInterface::sm_fWaterHeight = 2.1f; -TUINT TTerrainInterface::s_ui32TStamp = 1; -TTerrainInterface *TTerrainInterface::ms_pTerrainInterface = TNULL; -TTerrainInterface::TERRAINLOD TTerrainInterface::sm_eLOD = TERRAINLOD_HIGH; +TUINT TTerrainInterface::s_ui32TStamp = 1; +TTerrainInterface *TTerrainInterface::ms_pTerrainInterface = TNULL; +TTerrainInterface::TERRAINLOD TTerrainInterface::sm_eLOD = TERRAINLOD_HIGH; void TTerrainInterface::SetLODDetail(TERRAINLOD a_eLODDetail) { switch (a_eLODDetail) { - case Toshi::TTerrainInterface::TERRAINLOD_LOW: - sm_fLowLODDist = 80.0f; - sm_fLev2LODDist = 40.0f; - sm_fLev1LODDist = 0.0f; - sm_fLowLODHeightChange = 2.0f; - sm_fLowMountLODDist = 120.0f; - sm_fLev2MountLODDist = 0.0f; - sm_fLev1MountLODDist = 0.0f; - sm_fMountainBounds = 4.0f; - sm_fWaterHeight = 2.1f; - break; - case Toshi::TTerrainInterface::TERRAINLOD_MEDIUM: - sm_fLowLODDist = 110.0f; - sm_fLev2LODDist = 60.0f; - sm_fLev1LODDist = 30.0f; - sm_fLowLODHeightChange = 2.0f; - sm_fLowMountLODDist = 1000000.0f; - sm_fLev2MountLODDist = 140.0f; - sm_fLev1MountLODDist = 100.0f; - sm_fMountainBounds = 4.0f; - sm_fWaterHeight = 2.1f; - break; - case Toshi::TTerrainInterface::TERRAINLOD_HIGH: - sm_fLowLODDist = 220.0f; - sm_fLev2LODDist = 120.0f; - sm_fLev1LODDist = 80.0f; - sm_fLowLODHeightChange = 2.0f; - sm_fLowMountLODDist = 1000000.0f; - sm_fLev2MountLODDist = 170.0f; - sm_fLev1MountLODDist = 130.0f; - sm_fMountainBounds = 4.0f; - sm_fWaterHeight = 2.1f; - break; + case Toshi::TTerrainInterface::TERRAINLOD_LOW: + sm_fLowLODDist = 80.0f; + sm_fLev2LODDist = 40.0f; + sm_fLev1LODDist = 0.0f; + sm_fLowLODHeightChange = 2.0f; + sm_fLowMountLODDist = 120.0f; + sm_fLev2MountLODDist = 0.0f; + sm_fLev1MountLODDist = 0.0f; + sm_fMountainBounds = 4.0f; + sm_fWaterHeight = 2.1f; + break; + case Toshi::TTerrainInterface::TERRAINLOD_MEDIUM: + sm_fLowLODDist = 110.0f; + sm_fLev2LODDist = 60.0f; + sm_fLev1LODDist = 30.0f; + sm_fLowLODHeightChange = 2.0f; + sm_fLowMountLODDist = 1000000.0f; + sm_fLev2MountLODDist = 140.0f; + sm_fLev1MountLODDist = 100.0f; + sm_fMountainBounds = 4.0f; + sm_fWaterHeight = 2.1f; + break; + case Toshi::TTerrainInterface::TERRAINLOD_HIGH: + sm_fLowLODDist = 220.0f; + sm_fLev2LODDist = 120.0f; + sm_fLev1LODDist = 80.0f; + sm_fLowLODHeightChange = 2.0f; + sm_fLowMountLODDist = 1000000.0f; + sm_fLev2MountLODDist = 170.0f; + sm_fLev1MountLODDist = 130.0f; + sm_fMountainBounds = 4.0f; + sm_fWaterHeight = 2.1f; + break; } if (ms_pTerrainInterface) { - } } -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/Toshi/Source/TTerrain/TTerrainSection.cpp b/Toshi/Source/TTerrain/TTerrainSection.cpp index 11e0bc7..7043d5a 100644 --- a/Toshi/Source/TTerrain/TTerrainSection.cpp +++ b/Toshi/Source/TTerrain/TTerrainSection.cpp @@ -9,4 +9,4 @@ void TTerrainSection::SetSystemFlags(TUINT a_ui32ClipFlags) m_ui32ClipFlags = (m_ui32ClipFlags | CLIPFLAG_UNK - 1) & (a_ui32ClipFlags | uiUserBitsFlagMask); } -TOSHI_NAMESPACE_END \ No newline at end of file +TOSHI_NAMESPACE_END diff --git a/premake5.lua b/premake5.lua index bdfe870..63e1158 100644 --- a/premake5.lua +++ b/premake5.lua @@ -5,7 +5,7 @@ workspace ("OpenJPOG") platforms "Windows" configurations { "Debug", "Release", "Final" } - disablewarnings { "4996" } + disablewarnings { "4996", "4251", "4275" } debugdir ("%{wks.location}/bin/" .. outputdir .. "/%{prj.name}") targetdir ("%{wks.location}/bin/" .. outputdir .. "/%{prj.name}") diff --git a/vendor/clang-format.exe b/vendor/clang-format.exe new file mode 100644 index 0000000000000000000000000000000000000000..5d40801797b68f9b56766ed95c226fd7710f2db9 GIT binary patch literal 2898376 zcmeFadwf*Y)i*vvGB7~G8HAC5w^0Kmf|yvfi7_w(A)LVzjEX?5LMRupMZ{#nMJ)s; z0ZxxYc`LQFPamb#KDDiF(OLvAm~cq~DuP#_wSujB#sLK{81ORh_q+F*nKP3Z^?CZd zzkh!7f$Vek*=O&y*Is+AwbxpEpQ`JZIGhfLBOCwiKfnFvORkq7zu!4e^m9Dc`}uP> zJGJM}ojmX6I^V+DTW_kJd5dq>%moW>4f(z|$5&gwz<2WkU&U3|`fj;(_MB1q4oCHP zhhz52-j3;>+h-@LKjt{k(YHrGhhzQ_hhsy3k?pw!*B)`{C!FHChr`iRWTjHahLNHZ zHSP-?S&o_&4fn2>CFHx-i>ZVUlaFxS@5bQ{(LnV`#}d@<*f_$mVFA+9MmpMuBdrr+<@RG|#PO0{)m1BbH?(rf{7+X82YVSkCmxSKhab?6MqPhhz_(rR%^86j zbDx=uq-j^^Y&^Mx*QG7WPq(RtGhXde+g!gy7Jqp9ynJtyd{1H7vRns}P|vt`^Ys`- zBliFwMqF<)DQyY$1&9S|eCRLmbSukjHHxkK6uxK3ln0+zGl+Be^?7<{DB7o_Rp5B$oT; zN@6LnX2xVt46@$=kz2%~8iSZK2js)_^AmUdQ>F@v!7Poqe4FAG2?rwZ4>YoySHXN6RXmPc->v4 zzh{ADrF_*K)49^f)&`a{6xKT$z^>(Os@}W|VC$w>b($ZH?*w7Q^_w4v@mGyWHEP+U zX`CIun9A8P2_w;3t(G1S<#H~}n2wpzfG1*R%$UAC?)~+Y;f@6MF<&FO!C505(a;yx z{Eg&ZJsbD4t^2Q>KQH}0ZT{p4!2Xx#&md4^8hic5^XF2Dzb@y`F2Mpa=FiI_Gjsk- zpVj63`R(VJvXa?a^Jge#6z9*=ACd^H`BOCEYtNrcp{EEwn>l|heme*17WnO-FqGhs zk7EQA{I-tQY17BG4q5!6h?*kr-XuV8M(HJ*u$nLm%Gl9|W7$FH>!tf0s15)$5G z=8}^KA4;RdyC4WNgghm@@o@eI!20i!^mk)m(?~IgtSgO`gF816JNVh9ecMX%3I+dD zssNb{e<(-p#2+r3k;ro5d8=ghz}hpSiQ=h|4Jl>>IHEi0kQ_L{B#WL#nZ|nMt_AQ(FQiE*N*D+L;gs=V+EV&=TTchbZ0* zk+)6LTTI=Ly1GL=S`dY8u-4gg)=f*sGF;XleLeKwUh1hhlVnTKjL~}4tvwn z&eeBZozB&BfL|Y(`XBIsGsH)pzNb1dMZnKnYQVoAO!4zwGjYGp&dx#7kx=g)6G$(%pi zA)^xWXAou==g*&yB2CPn^8#OQ{#iKPlH3Wqj+H7k5Gn4hWmSHMF%3g&LO335ByiS+L zBay`)c;NH$y-NAs{Y=Vo*CG+?pDOZ#+?$yjan&-hiOgT%sT7$h?Jfz=P+9LDzGLLx zZ-eK%o#DAN1y8wr?_T-d`%KDm4WQ6@zaeyaq|A;q~Xf& zV$t;fHb1-qRGG#PU+Xk;x>hG5u3`aT!g!D+MvmIR@5F4EqANLhX3ypTWKNzn)4Jql zuYF*fJiQEuE)<&9mFobTQx^t|1Z%tEV>zo{Hs!1m3&janBxY6js=-wsTl1=Ka$Z^b z?WJ><>!%WiIHKi4C47 z@U#nfBDqUZF#6aD8~+#b{knt+OtALXq>eoFKa(^~K`>o_lSb1j6lAJSn(>&WD9`*- zli18}U=o`J!U*a+Qzo&2c13w4O=8fA8aQtF;W8-}I%`U8D}^E~%WW1fh*z3%*`=a< zujpq&(61MFoEra-Qzl)|4;C{gUC^I2>#pO}xHHqP_SE~ysiAm!!Ms)ky9)K?m!Ms$ zmcBe3^M~^OnYWl{8Q3l^O-zcC@7^dZY+WkMZ(bsf z9#RkVcpquT$i0=U&!Wc>k`3DDhlVWvfPfq2dvoP`&oC*=-H3$rs7?^{s53X>`Uw*o zJzjvPUC^Ut|GQqm^B&)U{m%x^9i8F%WeT3><$IgtdkV|K{)dF{Y_1gW9FXw5nE}r) z@U$~LDgK^5A6^ynAwlYLO^8lbiS|32FMKKU-~Ze?JPqVv^xO{OAh@gMS`4It8g*FycD$I_6l zgmDkr{7RF2-x~;GLaM$#m3L$vSu#IeCG96NGo@vC|g(l zA3)|*HaS)c9++SvZ(^|!FvdH+#CSjJFuP;%mRBz!n8&a@?3TBjGG9Mx@sqR+# zKc2!0T=&9*hWUFF#g)ZR&X;1+&QB_k#UHSeEAZo*F5i2cNm=egNJvK=V+9?pU~a_q zBPKR}au82bbd=CxE&7}z;dz_yz`kXJr>-+R>r(LiP`>vk`Cc!UEz9k|9pRZL;n~NB z5!XQ`Hh3m>2hVS0KQCj2Ms6=o2@5~lJHzv@6g)>EMS#~YBs^0kJSq~xvp*p4b1riu zt_zsh;CTX1zZ5^?WxXr;j*&an2G0OFUG3v_39_v5x>3G2Nxt`6CS|$nkq{nL!gCvQ zBd*(-*x2%S+5kLx<}lWbp^2KP}(uC*Qk?Nm=eR zB*eu-Xc)B>GdJS8oQZ9GeuSrAN-thn@4b8n^VQZ{f+x*hLI0dD%|91$J$Vf=*I6R}TOD$(?`8;x&h`qp3L1a} zBx_}|0ZGas_b&lv*ABTQlBW0K1vP0-3X4p;mKiX5lDCHsWwjjYwc_w{P>}S^rrRwJ zzJqF@OxFI5=`niWe1g$`xtI2ncPuXdrS^)U0(_UH2Yy}s(a1e&aT@v$j`RBK_z!#| z68?if@s&2$Uy=+dcQ!7~pIst|zqwjWntfzEM(zbHTb6qU5)#`Vt`Nlkkz`JvXE3J- zo=W16dmkyY&CfLbWW|yF2u(qJK)a(0)k06-39&3I8!ZXC^;JuevI2$z3|%ec}sQa*V5 zLg4FM^a2>CoHm0f6jk`pxb)m>0dvy{rSa-sxCguhi$7iyip2G1T#MzQRYVP!AGv0P z!=v0aNYqr`hC4Ogx*JT$*+-50ebKjZjd^n3jqJoykF$O-l01*9x7TJN z)}o>0!unpo-!*_L?SX0pJ#2(M0vk8Dg?nQQ)kyiqt1YywjB*7ERIh%I zZBfB&SKx3N6xez?kgO@=js;hI5eJTyyPR2IsgX$q=6l09Y}1CT;eQ@d^>H2152*k| zT)QWtRwMT%CK0cD*l-8vr}%`bugj;{*FbJu+5@Zi2Z7bv-e57ya1}!*y!E(X$qg)F zco$i>5AhZ+l0~bSXF@v6AI-FwH;UpIIb;Y= zTq*gGpe&oCtg|a_J>nm2&ayA^hk)HBdZskq&FWE+=vmV)rBRHN;e3Ma#yzn+0mzf* z+W~p`dBXk80a4NcsRtm>u#qGzO(EDO6LerkrUNkYo`zG%HF`oYTQEfzAO{n`X&ybF zVr;u=u@eocK#zU^gG`Rn;Ri>_{uT;Zs83J?$xPr*8TS&UfWWdvf?Ihb5g*v%$F+Gi zrpte)%V)aMaDNxU{U%&AL2&F11K38`D1 z70gzhEpcz#sNs&r=K4ECpTKZtOe0T_$k2@PV|c7tVn#ED{v5Y+m2(==XH+A}^snec zyfsPunV8ut6ZVOwDEyQVp_f}Wy+H-@kRh$b;Xu3!bHwFR=~&#CLv z=Jd_Ic|Pmt_1_t|SzxiYNwe!*GTO)T7m~lG4NC4J5vg@|HV4N3D6+a5)U4l~{S+Ty zq$qpLB{$84_%I-^SfKs@J^qo z{R`CAP<|~WDO8Zt2+zE~Wn#AP;z5DUITEEXhM8~g0#*ko=lB6vA)-1L+~oT%(VD}d zIb}Y+l@&;t8Om*SUPO5r8_e=a)`g)y@X;`b`5&kX66Iglfdof*Ut!X6%0=Gxh^WO* zA%rHs_5#g3?1{r^7#_Kz_G2n^v888>_uQG-v_m zvAApOOy!&gRGbdq*~1;?r|p1GR%0r6{gDD0Mj_$vhgiEWODdDFrB~!v19=!#EnhWX z0jcP%(O)yeaJ^QJUX{7_BdO2F{Trjj{UIdvkRYyi#)x|piPCr;nlRrwkU0bug1Af0 zByo>twdl$Wz!n>g*>N?p5jwWVqJ7fQ}jgT}7?MO(NOOt}ZCSf{-Vq9*UC>zcml2lOZ2PFj* z7UX@PCt3Vk5Onl+Ftf+Kw}OwEwOEuq_nfeAAm*1*#rwlRwu~yS2JXkq844_bO%wM8 zf;uC2GTvB(;GQ&R`m!;NNcG`6^Hoo+OEvhI?t)WhzUUUHpiIrH%T*&+L*K6Uff`~! zP0OQw%vr7McSXJ`I(@Nf(A3vmkMnIk{?l1t4S1uPVVhfgL&Vx>ny_Bn18$lywjoW% z;~0TF(Nd9W^y{{r0$V$kY^SY~+>&XY(6)PmUS*id@btFWEZ1W)THB}UFA2OZb*p7d zJ)t7CjZ9NUXHI}-T!-m%N1lhu>={95>5GSpg>kRIGi)X{Ut$u5aW=;gBt$Gn|9-K< zQKf$p48NeLn=zLBEf1EqL09bvu831ttsNAMTvcFJo=NtpLQg$>2r=Cqu^ePO&5M{# zeN3r}RANvLnn5^jG<~s0)0YE9m2OP$WP96_ec7Wny%?IH>Tta6GcPM+CEH z`O>bIZeQfhggAQkP7E@Z35w7R_M87G!F$f>Kn+xF(MVcwvxUEa8BReu(wdf^I-R2%c%$ZRMd7ZCjQVPK9+JQH|u!BUqcR;##Cjd5;X@5S|8 zxdNqp*xUz?pp~>E+gk2jzFjQ$+VKR-y<@1*a9xHKgONKA3$reld*xtESc!O0${Ymz zhRd^YiRE6teDKLR=*PwEMqHmHk4ji zf0y<>Mz@SIEqh1gJ(+w90T}7KwmB!_Oh4g{C?5f zRIizDzKg{*wLx4vl|~QXfTx0ZX*wFZi3`GJmU`@E0HQ-9$>JhFR!Ds>pqth*?+}Vn z_cxJRy1y(Y_`yJcmk?P><7HS+B=qhvxYi7;8TdYijwyed{!~6~t3hLeJ7`?xLDX|- z7JE@deE_{GVTv*2y&0;{0;M&FRIEYGUI}1Tkf$Hy$$05vW!1yt4R2d7A`TM?)f_i( z-zIvd84G>Ur%?b%d=9%`l&L2K$?+9HSRg*$E&gcw z!})75vV2+eA1@O%{IMdU2gC-*9}`qZ>SH;v^dh+cq)$rG8OQ{d6--O4Iz(+Y4%vCt z@fzT^aj(^Ya?4({WnPXewas57f$;mSR3#v-$i}m3E3d{%=gDW)kb4UkD*ZP$ARozE znQV~BMwv7tY4eK}rBdJumcty@-|s=CJ~y6l%sj+MforsQT@Q^4ESL-@xxl6Ak$)0aS$uc$bmNe|1KyNhcmxnTwi-pX!EBUQ*p~iAyjtf06Gz%~<3MhFdSz^hG}O*!=mWB+fQ6 zXRYuUWWyqEc>sp0^bYfGRF8Q~YLA^=)f5j677GdS%>OM20#sJz{6f?vD*yrZUW}bC z-sTsFV%h*KRB+rJ$BM#txSgT%Vk6bf=lN#O3C)=m3hF)Q2HGm!b7n)7`1*(v^*LZ0 zFxM!JC#q0CS_op!2L{K2_)clWOUtyio5}=WsP%>5F;M;|=j)$qpSi z-vtvg#|u+Qx^8|Jiq1WaeFxo$zCVMa1o}(>4aFQk1XIK8=ky%xQy<^Lr~eHxkBqb8<#(qm!!RA;!>;>N0Cr} zi;05lM?l3;ky&`Xyky}Yic47-jP(zLFq6QITcR#nJ%*pg_4A(bv;;pWV2qu^Ip_gk zRr(=Q`4Q$|xXo95G#KBbG?sJX8m_^YjBrd0-&q3Hspmu^rzDm=F_MGW(DzlCxYdb9 zMTuC9RkuoO$>p?vNdtw%1LuAb@F6IOs|hT1Ap6aILqKWGJ~&Ec65F{S|DF{h}R*TQKzb#^7R;4Y14_Ij%Dn7P=rd~ zQ&yce(1Cz-h%A&#Sy`SEtdjHxhRP}en8bg2F)OVowMnZ;Ge{$#M@<7oESPB*I*djj z1P&uuSk zjh)G+QIaj0x9C}phNon!p##Mypvn+bYRb#cg}jzPnr73=|Cd1SOb4=kbsCUI3qOVl zjpL8uA4w_#`tmRZ)UtI#?@$`wK{PZK0!d>%)NrFH;Ew)-48^SOWYwdoxqe9T(I~ej zV=iPXO%TtJa(k7gvzZlnSd5_FE^Ho2DU58kKfd@xY)EPrn`RKW4#r!xQf#XWJp{-K z0Mb|^dn2{F;E1c-bkD9ljt-;WBwCOSD@u^fe2@(c7Uow|40dX!QOw0QiYaP3u^Dwb zlu5^8XJUR<>83eml^6)oSm<@-oC<1x0C3fX59 zIbZQm)8FNMy*-?o3RsROus-)|V?A@8j|sP;JTH1k=(@75WMD`cCC@l~rdz|G_(DLKnh`3*w!Ijo{J}x!l(`6b_6cx z$xEt;Rq~RO_hNA=BySnSv}TY6K(;;vA!?q!Tq?<8NdcAdZ7i5HD9v03Yq-C+D2q#) zDtCRqAgpnk9<{7Uv}QFPRhqau(2Vmn;|K0w_;Y9dsKC=?^nr#e@-M8v06wmlz**qq zf_eKUfldA`;cJw03wcaGG^`>C0x0|BWK_&>%>Sh`) zzX?-N_|0-FaYeURZaHTqN*+U9(9K6%w;j0E^aq8fmqOL#<8XOD%xhV}(UDdK|H1_; z*efe|%evi<+kEG0vAw?0f&;4(VF^P&F*XvD6sCNY%=eH;B`oIbeZq0J5u@d-AAq(m zht}e$MQEhZUt-hD@6k4*w_@on3Moxbqu%1?=x!wDcs@+C-Vak&T}Buq-i6sDq~U~u z`tM&r6bEqF1XeiDe2bm2v>n6MY~41C_pt02skJPHmAM&u7Ntt3mAh4htiSO+wiE7f zNmIz?+M92h_pP4Frb*f16S(t*l@?f)| zv`=dn>l6Bh7a6JbflgyGb(evlb4JnP!pbN^T z#{8#xI~=QJLMM)#GY8CH$6#%<9z(kcjfdq%X?jHT)f*d!wI){hvhZ>9r|2?i=9rw< zPi-FRFjrW4p1yqMbw4`P5reYojX#q9?swAPU5l#C@#*i*XMM%UBOMlr`rupy+>G2l zu!0DJOl3az`Uz`-Y_+@XggWtFW=b*`>Q(GKN77S3?jhlzPoURfK>i4WN*m5X4=-ityCed#% z4IjtNZ8O+niVR+?!9C{H@4ZM9=qf$Q*rSW`;DHR64+r;jg!+Le--|1d{AcKw;rbo8 zCP1csO`h5y(uea`BjtE=vBvs@#)@(ana?%eNf=-6&R>Gtpiv37K8YqgcD{xs@Ms=W z^pQ1Fl@#h5tCwB}z`jWKM{&0G8ZHyBh6dC}$h(4&H(&)&e48f=4S^#$aJ~!`wK;BA^13 zDf+@zlcUe(tkHi;n)}dea(4EbZ*ufSn-B#xTeDF^f+Mp>G`CEASPTaHcYh6QJ79i- zw4vNr2=WGTQx8!ZZ$(R7lrycspa>$gjjadyY?R=c|250uh!(-@Zaxf?iGjDV zm4sE1DSzx@0p6vCAX30_&T!NT>|_YOgXw}V`UgQZPdcUGyB+ImcH-ilV9H`SIvOp* z&|wyKYI%gR>U~j6~nW!8MU7=@l-5rNIHjya;ALq;QMed>T(rFSBn#nS zCy%Q}UQ)jqFD`}ZKaz!AC@lRJ7dvQjZ^fvX7|c|@5s8yPs61}ZA6#Sc1s zX(55STUhy7=pkf>n|tWJq?=$_s+y}5=_c5K64FhOn*W$)%qCQrPCR-; zm`a@2hYyo6wE=$#-btQm{^B0;-;;G(ndl8g%O&N_lfW$o^P- zlDj@PEm}^jljETtj39zNn|P_cUN%JmVb)u9P(+*4@FcmOX)5{nxO?D=+!#mEuzHuM1gtJPOCXPvkJLL+;066atS}Ih!G3I(Osnjt-cZCKTctMAGSyZ2G+?hW))?baRX+RlPQElFWi7;1R28Z6g&GN-|B%vG~ z@klF~lPz8#tbAdzc?D;Vv4%5%#C0A5lE^@-5j3D08rUC5s{EG|o*1KbC%YaaRmb^hEyPds>IV_<6x3k_PiFmtS!usS^iF|ltdJOA z(TtaI*C3KD>zU{)h&Ii5WCN4ZPeNAoen{iU_>n+6S|UY6w>g%F{!GiJK03O@?AeAXiv-@(X#t?)Q~9CX?3I~vqmstTh)=kryi zZ&fLkN8sVmlnEy6nQ%dlR+>!UqKYcYOK>6n5jT$DiqE-1tYx%WN3e9K65fGaoVqvM z{P+aA7FmLTs&@{l`h<>Hf0!{teazRHueS-~yS^VTceSOXhZebHRlrd6oK>m;6?2)J z8UsBrC(Y;p_~%RCfO9x9DI5C|+`+>AT&?UwK7-RRO)kWi1z`kTA&>rpqdZ_g`mgTW z3HJV=Xngd5clL*mUI_yp}WveFv{44^2dmL{ECL zBiNks2FGLq;^SaHJIG@XZJpSe(TUpM$EsAcD8?`eHpVaw?7Bi5$gh87fs8%!R=8m} z6@(Y}K8=76F=}Eyi1T1q93c;?()Zvz3^{@Gc%G=-_0@n!kS8~A=GNdE9m8g?#KjWP zH9k=zTN;pSi5sPH18yL4BRy3&H{XuCXEJc7ga?pSCPyW9pJsrBMB|<0T~8tJ7&Vy? zcQsvzyOUX#xVwRp2PF_d)NEc0jSpbmFjueaEX^nao6+lZX?BCT;8R*~lF|%2i-a_* z5z?#z>j#pDh-Iy@cd}FT?!~DNns0spvV)@4fc7X2-vt>$8m`zue9M#PcvNlNy9NB& zJhPuoID#Uq_{@Ytbm8EHLX?oWREYMo>U4#OkNHDy#9)KzV9#Ubk)xgX&TSUoQ6u;9 zHFGF{7srjJrkYe2%m;|7i0e5KPN-w{HhMs2dz1V)S}j&Al6nNN{7A;Q=FvL1Htr2 z;T;*IT6bM)6l1?tjk8t#ezvI^_pcYpGaHzcei}M2HDA=owUm>jK!k*W(6<+%L_KyM zB*cB(yBC(91dC3@-x{TYfo)=ql-A!7JnZ7w_cQtNJ;%D`V&DGSTr917aNB<+KO1V} zXSskv&_yOc!+0KtQ!~*$alUfH?FEj|1r1B_H(xWx=52IprGdQqOR=lZ=c)Ay6(W4Q z&r|0`3+~te>%v3siG5}zY>q1bMo#Z!?FFERr0mHv}FN`K5+t{A|RreM+(6Sb;TNzF^4BgMVL z;mt^nq`XMi*J>&VxLB+iuBABl)I$F>4QSWOZu5jL3&PTYABZJ@(}oZhe-o7C<$0c< z9Q>8BePe5pVSaQSCjrI2b_>zJFveYF{!u2vsylRdhHh!!Id=M*gPWLmXp4MMaL- zD7@h`OYjDQLPaqewp3}hW7#0ej%&^SHX7#s4Fge%Wy=a64kE5mR7rInCGBSS#EhN* zrI2kUH+=vTTI5#50bmQmFbHFe(|CuqiQ)S=y*ZC7!2*mJ&4kZE?8fGQy&VjVvCiXk zmD9Y1*&L@TM`8=ZO86$Rg&_}H7<|empnCNL810~`SNgaDy6LpU3J4NkO$li{OL-={ z71HHwGqGM(F;~`NGH|(?Qm@a$(8aw2VNSPCiIl#^gJ_ywR93&i5yd73F)e~m(Y1%) zat*3CH=*q_(KoI5uvU7qu2&Fz!HMu%Sgyjm6wTQIDUOqtu!cD-9;qu%I-q#fo{RYQ z14>v&)nchK@m+p6RfQ)Jx#p_UpAGJd1@&!J zg$Jvg&sLSju-bdQs&pSPg|*d7nto7idACeyIuqOi^0Nv!1Q%^N>RYrb(Fp@nAixy?^0I;;|e5JoNQ!uKr8nH?TxF}c4`ZOaywp*atm8-V5pKo;fT|6~sv8<1#hfYsOlkb3rjV7M8LZNm_@ z*FO=P$qvm(btqZ?zp+1OV`r1ncrUuc^}Ply?)=zy%>nOV1QN^6ws8_h*p}%&gnXAaUTT${O<&+9Nfc?$W70Zs2<$8UD6P2nJ8%M+Pa(|4HeH2&24nq}J1}22 zI=^zh&f}3c)q=M@8{Bf8{9$7t0>Ka|R`@)oZg%jAKm1<)s+2#!tHL0MDEdU+1?ng7 z;#g)(Z*&jcZHF->JE;758%+1=zIQc!ms+?_b#Bv2-wi62h{bLXDiii;rMs0?-+^cm z#+q9W8tjvt$zr||5Pl3L(?w-Wv~N(laV!CM)#r$2YM^)XLlzTN^;&Mr#f7IRFn z<%_JKv-Qfz$VHgosMR|Jnx?7`ECeYQCZwXOx08eTK(&Q=L1S@VFuWY9Y0oO-CU-2m zDsq#X4xs{$fe(OTYC^GsiKqap4onjWPRuB<1I(zNPYMm^dR6~W4L@sBWw65zVdq#F zekxTNHF9NvIrCo`9mzqq)11g`p~`63KAE2<9LMNFI)u8kX+;OH;fq<(}eNxCSNG}!Pg}&IObJtpm z8oDAhHBGOFsJR6~xw2sOc*u?M7=WEc&Yg09O9}`$Iv#vF(eapHFw7)>N%em#$5Dmi$h|ZI%a!PV zPuj&~_uo(&?_}Nj>9F}&yytBHL+R$!v@K$BFLFq5n1FolZS5;+l#idX*S%F)Pa$ z15ktowhGO*L}`4SBWKis{6DGxc5E@aoE%^CTcSztKoJeswb>J|g~q5lc4ANPb#3iyi;)MHes&HPubg1`AKDXR@Ygx2R971Th^_U|K zp{sGl#oS194ug`6H6nZfrbC!Kg(0*6hS1`_(V8hNV6YsViRmJ&nH%tK+Is04cEJ4=)GhuT82`;;Ul%t17IME7~@oS{#Ln zyX#d5Vu}I7q=K_M6DZkVtYPHI9>Z;|ps!bs{J>#r&I|ZOuQNkQJ$fVlI5$Men8N zj`sI-yyDmd`*1u5b*%!L7?0SB47^5dc@yAe_s25ED%I8VivCdEtpd>Y#Jk!41RsLl zZfil}KQT9xwxjYu+T_$Ch^&$HPct+H7BGQnqJlbA>FhLmsMuLyJ-|v|XkFtEatiTG7us}C2n5eJ5e9HIb}N!C;*~q|tGRbJ6l{6N z6}u=+J`DKVV8_I^in3#Dnin0^17M3OI|NzSb|`c?b|{v02)XduL_;e(WM2d{X9$Km zcs&yis@Mafb*=QnP;cn?aqp5NfK`5hD>fvp0F=V zF4)EnLm3N@w3y1}3${<=(1(CeFQ&PJr5P_WWcp z43lT$HA(~@8cqyx#`+$Eh|v%hZP#~r+-BnV5o3s0T?ywaV6#S&rw@3q@o<;Jfp~QR z0}B5@K!xE-8WM4?29&2eJXO?WcH$w}uojum!JnV+k6oUjzwlLX(%F2j<*V2e6~xA{ zxAC54%;xXyn4`F&R1ngmeUVdHN>Dw*ltzOUr`JhU=rf{YiXlzor>}R=uo16 zTAEfMKj810maN0@6kjJ3WZBDQ*-5MyzKD}%KVn5tFZz%{h0v$d@?a>8u4B!Z zPpqH>CP?#nWUzt~76z3&V|~e3bAv`N)Nf%#^cjvMF)Xn;aLZNc@aOLeVOxF@YiH0S zWYznDS&w>SZWiNkBwI)W5mOYEir&%`lMZdyGfOx_g8LIQOYJ+xAhx-44Ka>CA z8Hf6D*}vi+Y)adI41Wji4~Dm+{)6?eYNanKO+MEDDED_+J$8`cQt9ij8Z*#g94iKWbu13SjO`ibh6Lywg=?dRXn7Gcf}FT%mm0TGf-MwN4jT^|c!3``A#goQ?Htb8g*+-lh(vm7@e~2MEQYiOGf28VA+-2F1u2KOaFGzWp5!i{rKcp7I zgS=O{E1N<=s`<`O>3NpkWD0?HWy$4q@9x7wXm3^Vp{ml3+Ct5F3hxE=m*G!6WcNHP zcZrE7ywBW$35hn`eD2wFzbV&-^f?O$bEQNlH4o{3-c4^Roz7OQD=aJNeytfvkF#)X zJ&M{9WFAK>1FFD>gF4JrsG=)BGzDg^S&kPV{i5|?*ul0P_#21gHaZunc?&j-#Jw~A z4g=@57ir)W^rj+M=-DFs;-^@JIe|tSEQB$kVCI7Nv}{t266Sgbwi-H9;ZBD8(v1v@ zUAW=F?4@|Fg83uc4Uy%B?4RJ_bEI-<-OB;14(+fdsafdjb{5(!0_K11CMjA$I*(vV ztOaqYm=NN?P55{Tk`wcake8lRe%7Lvb}Y_r+=U|vK=0=OlIR#- zPmA-aMn{Js-*%p*UxdyxP<$hgL6!@3teTg?5(L&s_U8+1@$qGFoKO>u2HT;bK#dct z#TWSmb{6;`rC(OszuL0<;sGQ_MPK^B=vDT>s|=5CU&!CS&<^2uW(i&hoFQ1DA1G!Z zw(lkU%iHQ7M@tpdoWLM{Aj~olu~KAVv7WqHDHZ{G50wx{*?XY zy#tAfFV+i*`ATN-r6w2+EVA)Cn7A54ez^va+Oas!H@+J_(yO5_AIr3FWFdT?uJO{2 z`VTh?msI$arxquc9WeJYL^I*4hFiJ{oG}<)mglL`kJn~Z8U3`4*y^4;C&N!@8Q z{9rbr+HK~~P%@T3DRKpTH5v6g4{Q2va})fT2vNGiQN?5Y?I3op8LTE*bM*V5;cn`k zo~SokiGorI7Fxy)LPY}CO|9pIO}Ic!dj7~#c?_4uQcJ|hJR1~RU(gvxtO`VJ6?z2P z0#hx8X-P8GV6jluvXj251TL+1Bzt2y71p+1r8Qv4PNY+}jKh9yHA zIJB>B5nOf!!Vm@)d(s?>mSaOx%yvk6wS8^X+IVo$akN29f$z%erUSVvGv@e;n09F@VnNk1TzEJkH<7JibIB-rIdw5Xz@a{cE zNRn>6+RnQda>Q#4-2nSNX}-9lQ%JS3wK=0ZyhnH1t?pbBn`51?ooe6IQBgNNEBe|! ztNneHC$`D%?ER|ll(T4RGe%Zd-Pw@nP7CQfav$%}orkRMjELQoSRa|&w|Co%Z!$g) zz}Az(Ps|#hjbGKF`Qo+Y_*@KtxH#>f3VAoSu1<8QS$2r`=+IiLLl?wAZ4G$jFhAV( zZ|l!Xh@9=*pY>nWpI?gClKuG}0P57ABH17AJ-(0E=u3(0OX%D*`wb~}zd%si5>70v zUoj;2`o9W@LFque-qHmSc@hYv@kxnP-UASy1f+gwZ06jx<^y=M8!G=M^bvM-h0lVo z>WU^_OXBmiuDa4ph1-xYwlwPGGnmF^5xuwC7~_u$1rxqRNCH%RKfBJGSy6yvH9dS)W*luViI_ zbfxeQBwASVl`Y7l3X?6Yku9uFwZQsh3#<$+Y@NnRIV4Z>K5`%LF(h2=b4Z5AX3_qH zb8fpGg>OP%=L^eh0>}janMXLf8;~O;z|?>|y0!CwY%NH1#u9hDM`wzx&U8s%H>09% zX3jUFFO@I~`YQRV?wpn0oqs;vsXLK1?HCf%De9CV6&xoz^Ds_SG|{!qOfXIt#eQJ7 zC!6=6zHWN;O~$K^T?uE7S2MxrZoGIhgKfNebnYO?o0X8fv7vv`lI~~E5m7b)hWY4I zV)m>?E`QdSr3GzQF2NuygD(ZxdYI25(@PLI=O>3w4ss5NZi;6m}M-!UQH`?!b zr5OAvstqx)8>WXUAsj!+B#%DXY1EVUy}0*<=Mu{!yFC*6Utn4iY5wk!_Aa}h96R%e zXb<+6YKgJRX%byPhfygP-W&&C_f>M0Vyp53S!Iz`Wr?iP#}UAS7bEZ|mXAz_5p)rZ zprlmDD_aH8C%%kQi%>iSlf#5O(cQ1!ZyNXh@>#|LfV!u^T%3p*>l`ljs%;EzM*A6@ zJvjzRdsDjp9axye|FrIr^-0>?F+blT@ITK&)=|Bp!g`+)xfiT|23{NF4p_)_}+M*PoB*aZ5EZ0PT->mMRascG=`=1xP9 zpdM@fCaI_M{QVtX?uOI-cjj-mv}2#Y7j_0bNjq_`f;cscf|B1~iMaNO5J5QEwln|> zju1Qql~^KATBw$~mB#0h)v)YNoHg?puGH|>1|*J9z*eaK9Ak}OoYuh!aJF;$>K;Ud zgN}4Jtyg#CawNo&6>)EC+b~CK<(>F{8>S-c5IS3=y9=I%NF^-wct28Egw&5zMT!uj zN)72WunR$3Vv1D4e23y~D+N>l3}&#QM=yYht1^UwlCEKoM6kA&-A`anvig$1|(~G}em0g1<(tBKd)`ek>{L zXRG;ylrs zF%_PaK6TzOzLzP!Z>Vg#Iu3t)<6Wp*>=O`A!fZ*x$}Ja*;Rc)Mz;}frQ!x(vLO1zW zFJ1^_V~?Q|2abpGG<_9EL^CE-SIu&0Ss?dSVx-_bmqUc4y3K*nb;O4Il}+e=p6nkY z%UQy3$9~0Ay(d)1Ipig3+^v6@ba$t94jq;BE&|fnIS_Jls2_BL>Ts!JnM>JJ62lQT z{48R;x`dwzP++tX_jC&QVy)-YOC)grU=r!tUk8or>n425ImLZ3toC3f@D|5>;jBNkM~ z?nS%=C&9vCyjgYbHctvyq2$P~h$h5#YPc;h()@U5>At!GEfRpKlrM2;V4-%g(we~P zYZUeZ`~6?mS3DiP4dDOez6qTT6<*ot@A-yU!(X(+SCRp?{pzbR;I`*vq>rFobmrP>y zI&fKbdDAgW#whm{a6aN3KSErKk4d4Au~~8s&)^*tEb*upgZye@i26pNI@{C{cLMWG z@nsj#7ipYz2`ZNOzqbLk^3`dW-X&keUsB^QV27b|@xPQ!q5P>aFhMk;Y%OA$B|_Qy z8Yfg>^L=u~;ok`HVB-?%UoyEw;*1&We+682ej)j}kZDy-&C5n;+=426v*D$f_~!xP z7!MqxO3`UKNFX;}d2$#(#Po^i+BnPrkNo_YF|JyhRYE6ES+MjIc*MVe0SZjgY=o0V zbK-o+6IF#@z|~M)QHZz3l>}$KpgIv`^CYq4s6RdWDJ&R<^peL)h zik@`Yi8Ox5v#Jc&%mEfBq!$rvP>U>GsFjxZm32D<;gimQvTg@92h0OLU&Zy#r2aUi zLVvc3w*K!gFGELt%36YWqXupOAQ2{-`xGJPF>QL_Y!qzJM^2NO!PqCk& zVV!$aKw-b)&xsxtF+dw60lj!ah|*Vz=%hnS^jh(@|N^Zb_dj$)DzD}kQUBEQT4rA?{jzIj6i4maBUZ70sAJA8lLyYl-AbWx| z8L!TRFbSPz5pLZ39_F^*+VaIYf-tFxr}P&@?Bf_)2fa#AW4Hw+4fva^pJ!_@N34a{g9!dsW@&wcHHh>#DBq=z>uY?RsZTyrGHA(mH>Cl?M zkKmO@?}GS%nlTeWHFW<%vPt*vn~9hjxPK4P{rjefsd64jh~UtvXe9=f8|S2osxC^aN<%btN=_$4KDGZ`^T2QE+--}_29X96&fR$Q zI^3GQsor=$-3;gM^gpLLcY)%BeF;l%YQ@*_Bu?vy9tNrv6~7qwnvZhQoz?O>r;*sO zSziB_VOSG<8{EDATP#Chon2uO#RH?>PTSde*r*(4T-NNqH&yOYYIZxfM_* z@agYnA)OGpY;Dvj+^aOcAZFG}>J!I+Zv2*mx|CJz$mO1nNRC4-KMqG-EkZ%|D&fBh z8UtmW^IxQ_w4*|DkOhhew#2jH(Fduy8BkN@{6u4H+|V@tpA0uJy;$Kf@B<-m9_*S9 z1+1Mii8xgINn4uH7aMdC=#5h_nybWlBnVkx5Q(`5m`9w)Xh-Z(Hftj{u0zdRp8+`y z`Jz*nb0|x1}G}=f`eXYu5b+I8OwdDBVSh*&Ry&1tE=u*oybf>yB1fHqs27lgqOM_}Y z&WID%RzvwI+eDQyZ*sp0PjBLOnjUzAXQeFUpBe-{Z<#j~4MG{k!SoH~Is1S^?&6-7 z#RX8yc<7w|pz|2l@(YD=QLO5D1^F$E8W7qC&F5jgX(%7{GDqO2%?;(*ui%O+DZg*0 zdF=Wg;zKhC2}gi>P;ch<9m`-PGF%)$EEU{=cw3;ftq!M;959dLQ_?|*Do?}G!H&>n zGG2;DdAb{xV2U*rL&zZh4?R-LR8QzF#1}`;LSCAD;NBvmx2WNxXq=`Ipqpqme}d{0 zxHp@8q@2@9Iez7*t;Dz>Feu3fL7ej7aY2MDc914JZ@lV?e#1wmRp>8>HKMhp@#E~I zeo<|1L=)mex%LmyUMaqHTeq5f95lem5V)yuZ_9$d81{;|{tuqwqr6w(@^*Pygv%N7 zlHXygke3Mmbrp(BAo41(h88WTU**G&)Ih^%9I1qbEe@loz`#emN5&&jD)t7$AGr{b z2Tx3Uuyn_w3(-C|K)yUdfS?&QI8ybdywC`qusS>#pWtIvO4EM<)L1b~-VVQHRn|?u zDjok(wEh*;Uaqr0pgGZ>Rj7=w)z_I1Pvt%U`)5IVicKEvtM~%+1rTM6IR!7oPHPKf zEtpe2yv^yGfAazrpQ7j$Fs9(6u`T8>9P`aj^s1$5;@h@<`EA=B=zd~1M~m4H^_Zod znshG4nXumPtY=XSu4wX~l|A@PqQC3_Nz|Ver85toxE(D&af=7P-~*-c=g2qTnL^}% zYU~5qYcak;>HT0nKU(ZYDQGI@8dQpcvD4HoSInxft-G}rS{*czN*_4m0fa5TesND0 z)VG<}mSrNQw?NGLpApJF7L?_v5TE*e;);u8byyqEZ40<1nBWyS#imG1QtaQr>AH-A ziJbKma7%M490c5wJj5Qqz;2XbQY(#hC~W4UXX(R}v-r%wX85>>B=oQETBy~JkC*6= z6|BWa&1TKHWzGWeWf&I#tDUoOKC-ymi~|&I$yIfv9CAq0@Tp#`kNA=G-PVNqZbE&r zLBiguK5?t~&`ddmn)tSi8)NS0m|qNTpAMRH@wv(I18B|npsF(ypbe7z17kQGtqVwc zWI}SD9g=cF@_GdzIm@V@L|&^KBFv3)gHu#I#n=STwqNvd^xTEzXce* z95qKrfbR=>33m*u|A9HBtG7GA{q1iT@$JvX;_ah&l8BEyqw}kazhi$bju~z4*ry-o{-ZS97Vsn7a5J5(AI2J_*u1d`CMs<=SLCU z4^}1^3dHlP&^_^ni)oEj)%UbU51W2N)NN(9+rMHE=5^k30{ zM@ZJnWP?mL%A^@d!_0z)ElA?$tJy1d9YesWu4XF*u3dU9dRPplX5?y zM%@9YhS8*>8o$gxgi5KIm?Cxk?z3SDWtcF`wKf#GU=;;ttH_5fYb?YH6gB}f=UD#= z+OhEcAo7bxfCy}Mk%yS`1AuV!;}I=hen=yJpy*G#dN@v?0%tvrzeJ5OoYBpS!F=YS zNf0J9L|PVV_$rS2ft%Ufbp}2s!wG~Y#Or1yzSPfDiQ&T_i~bpSTpwvzRUkzXkl17qa|dkd?-vV~u##pIjyvW4}j7FeHbft8`tD;rp8q7Uxh%CqLjdnzS;hSdm-ji*iOWs))1If$XMr?r5WP2Wa!?-07wvYD*ipP#?MNOl}r-L z%wG>-mU!|+4f<)Gyazoowid9cEuNG23{_>)MLg$rzSU*_ec!nMP-i>$zl88~+kf#| zs{a5eqyNTMccN2P{4MX%DUa2uF5_>bKk2q-5aw6~kPg2({xA9@xSNc>&HJkEtYy(u z2-++_(WyJfsJd{BS|ow;9^L6+f-$o1&p5yPUVM{y+Y`_%I**Uzt2*?Icr7_TKlwkM zJG9bdhZ1voFK@b?)AQ3HF~^`vOyom&k3U?pJ~^jZ8A-pLl_px)$eV6k=#$>U>uW^| z+!nweT3~&$1y;ru9%7}57S{5n+ZIH~f69q}hiqX3D`R~!{$94g%GkncdkYJ{vV}@6 zXHqQ;mMt`-T3~&$1y+U@w)$Bq39F6wk^6WL!cv)lu&#*RBGi-A`4YDJxBU3uH(v}m zjOBc(CPdv${~8ue&6jWeU)s(EKC0^4{~3~jh{O{V6nu^vG_j&^)k*|3qY0d$6UEjC zRja6oc@=+S;eKQfsYNuf=K=tO3-_z(E`7dqhIV2Tyy%Xt8_RfnpB4t3ZL={Fr3yx&CZYqg(YSqPII5 zpvO$HLVtdc*+zf5)D6*{-yi*^KV@6@=UWv253M%`ZL>d>U(}!X1#6MumM+*vf7U6F z`m;m{jyLk4Kb{^C+#$L1g8fvI;ydUMrm!!$%Agc1j?Eo*@@!D+#j#-@G!|>t$}XKG z*HO|^m*G#+TlE9uV_?g8`DUvWFX*e2oopv`AB0s}PtrAn>~$V?)nrmy>pQ8?*KenX zOH*8t-z7nOT^SdoGwxIo-zPVlP-gyu`Zq-*p_Y@ryjf#RvGd+A>MEFRie`=6UcRk@ z+h5rOSXUqej+_~0*Q=-RM!dyLg<>tL zz-m>qv)Nm8c*plDFVn^1*B)3|zj+4n0C2>@Kc>t3Hdk6^=a4m;+_EK+7+Rq}Zq&n{Q(NO#2jrnp2_Vkg>C}==3ImwKd{c(;M8%p> zdLG-@OiRJXI`H;aj;%hyv_uG%J(I=Ca_lWlM&9GCwYf&T)b{6YPyIs=V5+#56bk7%z!mPP^SIb_*|xV zNfllE7wWbHOAZ*a=@5x+< z)}*LgL~E*8XQ3a#PdEib zuz|y{p|z~fO;>=f)Ml%{#B;EFpsn>p*Xhg>9ICT9Mbxk$_*6w{@TsEwq5diURNMre zYBWKo`q8!xIt4zTbK0kA0;Wy$E`;`O@wf;E-`(Sadol~LxV*U{lrIyD%Nue%Z47)6 z-Lob^$zL~n9sYDOCq)WD95H>w>i$Lyd%S76J%hUvQ*ZefXb?Yq22S&ESTu^AU12Gx z=Wfwho2zv^)No~4S*c>3|HAga1*?9`AWHO z_%zX^3l86NlUM2@pS8Nk2b=%-T!$fNxpmW?Xij}@L|LLt9FCy^UzV(K0a)k#1#=J4 zIflSd?un--6AJBLPTNlmoqn7`e%`MW63F9({evNzUoc5OuI&$(KFrnZj1u6P_Atrk6plPciSBBxrUyeg!Oe(WUVV@>+gY93R3vtaI9G_^3h3_86q;{vd6b_IPvZvtW=8ZcY)& zOR8@CG&Xn#Q9XVdN0#M&CqE5^5U0ai-6+xLN86;=5}P;CbUL%#%VI{2wdzkmr9X_? z$6AX&7tN4oGb;0EV$Z#YX|}m;LoD=+iH9|21Cjc0pZd^yzCcv) z0pb3+nG@rwk6qkta4c>G@@f0=a{4#i%t;4(2?|K3o$NraTDK1CiMfMx6Gmx_l&A5P ziz_-@Et`0d;4`k+Ac#Xo#xik#XGpcYHieeA=4R_fQ}CaO%Bb6Nv~eg!3VGI-A8|#1 zfl4jtJ;%7j(?>|8!qR*oz(rfH!Fee4VPY-K_@Z11Z&K2ix0r~>Pc+0Ne-yWL=em_Y z3MP_ZK6=Y%YqZ8ppfNosn%yMlvS3^z3e_=5cHrK!e@S&SsLuL51ajdd-sA_KjS|}e zUP7B`bJuTr_9C^7ar{aXu{yJNL+Rr_8(_hiQC_QGDflsGlCzgV@wc7JLP(w-Q_ogxiXe#jN zX%Co;nW%x9P^hwD$5r<2UgZz{V!{a8Xv>Tk&LY*E&mq1IhMvp>I!v~B`=+DT56l%QC3k*guH(kmOe z2}qYZSL%Ig84UF$x$xSXfO>Hg&`FsiXCVB3s5=)Bv_A2!KzXIOOUNoQF1wu&tIsEf z5F^XlyUm*UiFYcQ@U=xUSUHFcEnblQbfQyzsJ8*X6|eoo8$x~!k-i|-w0OD0RPUjx zSAT{0rGEV%;q26{ehn)_e~R^e{5Y|fU%wfDGOKcF3brx+TM=1v$=DxxmGH7J0aY&% zW_7(trh@G@3r?o-5>RP=uyt=V5ek}<(#Nk< zI~zn;for^B(3l1*)v(zN`s>U1IE!LBJoq)HjP)I6f#D(-U6~n?t*llhlo(d61g5fx z_XYy4_sUT{ZJoOsTjy_2l-CIQ17PU%Ce+Awj;(Vcud#Kmj5^aUn}#Ic5MirNWwOmd z>7CwT#eAv1|R~uYERK5u}03uf+odY)k<1+&fzE>{OL8$y6nf@pgU=U;eN=`FPuZ9ks zwp;m#tAhMeIE;5O0p<@k=gV{tkWSIn%FM`7y4RbDkH6wq5(UiBI-DiUmG+5AZkn?* z*hgM%ZdF}3 z`G@L^F|ME&o5UOBAKb&N{3CkvWgvr*L_aWBkRS`vp@^eZLrvKETCScN<{h{$j3~I- z`^K7ZnNiZo->NsYw=$Dk9wwk|i75GFEhy=|a9%Kh-yhEJ)bfD0b|wPs?=2XG{{v{4 zUaZFt8Fgog{XoCbdv@sYMfQWsseijW$Bz?i-M^$Jlz3<-7wiYCXu3oNy7l6DPkgf2 ziWT(j2W+cD^HoWSzFoiR&_cgMCH8|iTK;4GdBiO0!QLV0j}f1D)E^?1f`&qWz6n4* z#i(nhn$Fy(US-an%Az_;<8ol`9PhyY9Q;xOZap5Ydb=a|mz!b*_zE(-x3+)}1q`6|ik-?5ySHAx6Rt8p>Tn*2RvvSFC8@?p$1=rAc2ld(U(@tcdV zPWuIIrTVgd%CmY^NeqfMu6ca88W^(w4Lp?3L@NVXLT%deXWd()^6tvxE9FR5lEHo- zQ(FI>rS;qIBX$}Rl*ih>b@}bXXUk76t^XpTsT3e6^5^mPjOc-D3Zj5(><%VGd9B4V zoz=Ggs{W~^8{FnD-!7#xw zIDgB6&UtdWR}%@vUO zZ6->0WF9?N$gG*qp+Ki^WNFc=;pf%;3e<%DiQQtFqT1>yE})1AF!(hqaww7pC2 z^q7lBj+vS`${Sl(03O+{YT`r-yer_RSm0d&AMt@7OIs*_TGgULu8h=*mN^lDbLj+c z&pPc-jmn3U{!ZJz=HuB7(e$<4WH!T%a#2?Dw-l|vChjC9Q2Bw6+{|g?qYqW8QZ7xw zFxYxXs4V*jetWm$v?aC+cBca1&f5cUst@4pH&98?R}=KeJHJ>3LtFLHIos*uFu#iP zsUrIi)H&>G&*avKSo-vac&6fWz$x>7d>x`=lg|3@?tkLGl8?-%EA>e?bw|@Kd08y*Kv;;`9P@MTAEE6lTOi+#fZn0aMYK zYws`~+P(RCe~ck7|7<&^fsio7*^p?p5|FDo&m7SK=VAG3ct^13`{*)SUZYLlnFUsF zNXoCvc`(|S8%>hy$`c_<=}v%3^SxyM%u;u@oUwE)KQ_@FdEx|ZEx&aQfSE1FnDPF7 ze+|3>iwnuiK9h}QIO^mSpo9H}Xk5$Ff;rqE_GB$jjPGnE$(a(mUpSVQ# zpHFv1qMUJv*EA6ANSu=1niJQ3g5FN-(c57C-Tfz}{A5|l`e*pfz=O-Ai{<7kI_egiSMhP;D6U_4cWLD#&=%va>CRJ`|RTwM%=<|PDvmnqw?kj?d!2f0cU z%vR@eO{@I%@zBi=yh%;^jcl`aX@OU?7`SEvg3D>q6>}G;vK4b@n>sUN2Jx096h@gE z!z@E*ocLIxK6&-eyI^C2{}hh1jbZy75BF%gxk&DogHkhQGWJ_`oIAm z`lr6BU+RpG+ z>#dE=-^iI6|L($&CMUfJxw4Kh>F5CiyzvjA{J__y9aQ!hd)TrzI&`?%{9&d>2-a;p z1*hf}{-iY3^mg+D4*(EF-`JlZW9#d^mIDJ4PsjE7LuwtKH?9tkvEwhxzQ}*EN8ttf zyH@uU#OpUYNm(h~^tVvHKQ|pRQ`D;yFdD=A33`P|xV$9fRka_*!bH28M!2}{O)jEI zL39xziEbpFJ81I4(h?0lN)U}m*^jCBoVMct%7X!ig*XLX4s7?xMw^$!;epmA|cxI#x!8g8*5n7;W3J8s#)JwGl4fu ztf>ZqO!)I>v_oqvoaz-%)>a2j8=J!<$qamYb4{7f1K+`0EkaYh#e34{OjX_9*gtQZ z0y$>Fp$Ak=c#|n|)cbm@48O}`fGKrUbP`APQb+yEet3h2{>*(Mx}Is=x-N6gVy0?-($v-a!=81$y_c!0 zT6O)!%n=LMo!fwGjfLx!HdEJ}KNagzfR(Ab(RIzfrn>J%sP3wg>RcjJ>BPxI#UE3e zd(ALCuk{YbrfyBoH`@UL7iN)U+ZUmedE3~a-G+1iRwx?s)x5>Uwb-b?s&A zdePQZ`&!Sso&uHB^`h$PxS-hSaih1!;)%Adi{=}+;-3`jDv-j}wz}O9rn>J1)iDjn zQw>hGz?i|4EoHF4PjXH)Em;WAa1rA=Ko_UTToQ@sZcFm>Icx_(zu*Hzo7 z>j+cVKIIEcUB7;+J1VA{z2IhVlCANds&N7}1~egc4|y!Q&!BKmP-Rpzu^0owxWYE{ zt2M=jEMfHLP$``{l8*IBKfeA41mW!S49QDcb) zv_fBlB_k958LJ6v@_z%>Q+e|ESaK z;~X9`!>*z8YI;lBEw2_L9OD%?*G1HNG^sc^ad{O&x1tgCM@nP=#c3jfyr8vn4y zNGcj}9*!wepP8Ni@Ln9KAK~vEqwxvvCxBOm_vUdFxzhgXErI`W1m$@8e!Hw^Dq3Ti zBUiYYyK7p>7tajM;B?l_9|5HYTgN(92vWN^b?hUY{!L|3oH(3X=B!Z}#Zz~ilcg)# zYHp^U5M%#Sp6T#mK!7kSct(bY@c;D7kjv9myOTuTjB%e`g;S08&*iST{&5rz+^pv` zr!ICP>G8GE)G1D_^FYI)(fN(eq2_Hq{1P+1&@z%s)x%-|xLC~D75O~5qBd5)$!Tvw z9L}y`$m1EYl?r*xSHweIZv7hPCmr}n&a7m&&~AixO~U9y!vL7MldufsY93xILEuc7 zkgBu!nGR3XH#VA_(6tr1p;cT!TV2r~f8ze82YZ+v>;bHML>kkL{cD?2jeFEKIuA7V zKeTCn;~wh89uc%v+>P8Z41FHaIy+h(p&Ory*RyM!$S~%W<{C>RZ4RV!pW(#}E8p0< zj(&k}sex*5rE0g%{8sg31}^5|-ABM|+nMk4Gade+zWx8|%wej0 z$z8sakOAFwe!tpuN1Nn{0v2mSc%U-UQxscQd{?6R=nu7il4V3H{BJ)w3{qhLUn6=M zzT>O1k8m)73up(MmG-EXG=Jvwpxjjx6vY% zX?fjlE38uyK)%j4@ZMHSP@QdHsT%kN4Fo%ndm}?gcb8%M0XxiNqT!hte;z_~rHk5B zua8~STD4MtLp6d+?boC@-HYE&?fs?-^ry3U-OVQ`mhS-AKU?W=1rMuo_I4W(DudbH z&715^pA=LKMg96BKr?;6q6#7I`b6*6{=N>p zt)`XF(#?-ACth>ab5Vf7*1+sDltJ)p$quw%^>CB@G)1{*^}dSc_o)N4g;+P(vf8ny{J# zP_#(+K2Fyl0Rz9ZP%K_T!Y*oe9o3~m^zuUQ5sok$O@FbMuIXjYY|CW+Qyel~b(ua1 z4Ga8Uou#p=r_J^S5nr91YCAh#gwsm(erGc?x9aRW6S{Y{yFT3Li%@wH6E$3`V60Xr zIE?!ZH1fuWBQw4a7R1n_l1E&p=>s=C&wK;f5fhbB{e_hs>^yMN&aJOibYy!u4?JPk zm(WH6+2fP)Jmr?6hvLM^3baDf&@m1t0h(22j0l|40(gj17yhXtEeG(Vj~|5XvL_&h zg#K?pJb8L45av==qT-p}XLq5;MO~ayfxg>l$R-v;MyJE?C@89hc7petDu%gwtT9tG zNL&~%1)0c`;q3JO#W0~8Qy_Sj4DReCf;y-{`G_GaNml2<%ldx2T#{VNX`SoKlW&!` zaIbeCm@64m%e^M*$9~Cqww6oq`q8nNh`m$1mox7$v5L&V-UrL+PP#L>4!!Z2)}Iyf zrpq2c2CtW`f)_X_Hu$AOGbd5!#gaL^3$Gmn(!+lu3pszShoWqCgCXS1 zQ>5`?6_blqWZ&n@9ptQ;2-68p`V)3`G3G)~eC;OqoCcN@8D z0I(J~`5ynjFE0(=P|vme1T3IQKeA?t&7GvupW}z*mPI zc9`N+Rb=6dT(aJ46fm7R+J~w9OTu)v57XRF3&`c9=!1PH69nt4^^SeN>D{Q3nocS7 zZqudP>0M|hSHTZ#+_QANHh)5N|7fA?!#&E5JaN$U!7hr@7?-xJ2pvllBhc|3A){BW zFJS!PSZ{Z#uv6bPGcIc8e%xtdIvXYn72^e2DOQJOa$8eB-fil~nfeHa<;;nQHQm8H zBbI)f4*g*aRaV7 zyd!9!w_llQIrto$&v?d7j_yF$RmNQ*nW_h^)@$l3OsGuw@_#b>YT~`=bJZ{OMImB3 zyg3L>ttak`vxW}b23#lLH?oV)3YO<<|5#u(W-l^cJrn5Js@-aFYh1J5d2$Gp1#mW$?}Fpz`fV7)Qx z-~9!&YW)-1wzvM7Z~yo85Ae2H|1{DK*3F+a@W%TJFpX#;-Z-b1e<^I{Cbd4giYM!Z zh}(bb*8g$|zgmc&Yz7A(fewCGPs5CVy^+QlnCZK_8ROfK8-PJJcsuPK-{V2@+ze2} ztR5ZDT)&9&RHLD;o<{3Np3C)dGbW+=gRFxfXm&oLBz}J2eT3muqhK!Vo-*D}q6P+` zK-fNkTYHt8xwn-DS|2i9O2pmtY&Gcm4ywtAI{0PoV@?@(>$|3LdR{c4c_;^1ezgyr7c~=@PK=v{lJXeX+D*u5un%aWt;ihj<*?8(f z3p!$eISe=$(2rkHaYWgQc|r$M;uhQK4-?!Bg#2XnIqy9fN=#FQLR*iI@yG}`Px#&fIl8C}#}@bsdqjSU9EzNDJZ%|H zauECPnz8c@#dO~aaAAp^^JC4N_ifKdGlzZe4Ti>>g$~~*7hgU%y$(y73FH$`rRl|DsBo#YeX)PBd zs%O`q^37A55|upp-4b6>7RoN;`@@sZy?FW&{m~^vE27B_7esd=NVxob9v%~of2;VR z$$U`T505b=oCjhR$&DB6^jzX9@6Qz+Xh<#dcL0mXge-O6K6C)gjW>dQc}NelDG2}V zNc)9N0kWUA>?WQydLQX0XBihR&AIW~b#FWvQeZn^YV~~s*Lqie*X#&#VGOV`@B11@ znB#MCe`C-A7@C^9qqKP+oyK`Q^=}JlOjjk=X#7bE>+dJ`l&rt3v8~i%7hs(bElV8H zIKnQ#hd2+K#AMTfOn5E(EOiE!QM&H-x<;d0gN=XYO! zgZ-?$hF7HPQ@o5d_FNou{7g?7VH1-CH(P6&GC$0{9wr*rC zP5y7RMx!&=1XZ+=qKXUFm@4l1J5|J}0{P^>`Qi%|=D6n%7QwY=;yPqpiJYb}Q#gVP zliknF3|KCV@pJORSn}8{)A}JQLBmVCS~ldG;+avM&GlOnqnfb>Ys)R|n-QWwplaqo zxOWtlJNq>n4ID?jwQCZ{2 zv8PODmopa8(dv}PjxRv8jI+RQEZ^Z~PM_fGO5Wz2zRKl_`#o_%x3DU2xvM}?4V$7n zH#luy>qWPcqo2Aez{)aGVCAa68mzRx09J+_FWTDYPQEzReM)I-97XF3MTgm<{ViFZ zA+r1^Duh<;uA+tEH*%Y0=3d)vY;A5Aqf3tNQ>banl?I5FRKd_xtERiC3BmJCzHqpE z;_#06$ZIBWNldzN?v&8sH0`L4Ef8W)cx`>m$CCP% zY5e<-sg}49YN%0L#YB2cNu>W;Z>YFgrs^49crOA<_7>R$(7)=%Sq8RyNdnuW=0o_S9~juK zRt+n|SMcy*JJ`aOuphq1!-ws1B@Jv-^(`~7&cgOzg6*H94Q!|Bi-qk#lS#0B|5paK z|Kf#LFW5!`g5n3TbqkOBZGmd|wF`ODRcq+`Hb(#2eca4ZPf5!kEFwQ?4E8OYsie2h z^3l8Wc#Xs|lKGZr7=@ipPbIS;&NTSFj2bPcHVM2OW_p;ZnyR`%r*Y}4_3lg>xUW#9 zv#B)K8Z7=i1wVAd*|qTHw->s=*}c&xli%XWHT4Y)fglE}?=#@(kE0Bp4$~L#q}C!_ zlILBrh_>jK*{5`XBpBG^4JEr2nyaPqn`Z=-|Bw`ekg$XBXAQyxQ+fDueL?u{CPH_U zNBkMv@tXqRF8fSzK>;*O0KI$*Ka!&x3+;`x?N!+Jn$?~+Qk@C!uP?#f2b8HUl<8y3 zthNXktTOkTGF9ta80gvaLA>v5jL;$OxhKzDA7?*V@K9atuG<0sjTGILc+ZzVoVJ@N z6|*u(q!3S)h~<^egX8)}Q>&u0*R|4>=f~#ECMP#naF1>B zia}+G!&to4<8ePHL*e|jZNIl*qWvz~m;Cax-2N_?b|yQj%??9qakiN%F5zdyPmrw8 zZ2BV3=I9PY9HUPu`p1m`;KtO`g#bUG^?=*_(P^t0rmxO}7wuAX7jIz;Ogs>-E9Iy! zwjFYyW3>0;B)fXG5KsR&_T;E|%9`5OJ8g%ee~qV)(+!Ia{-QtC7bGV})71)743VO_ zF&+X`?0xb}aCm=6=FwUTNAphy4VenBLC}buUzTx0^;st~i(gS)r@NqL5un7=iOx#g z_MNtg`bBLoV`B@-XPbFxD$$168{Wl*9y)Z;R5mK5LY=y!tx3-+}IDycH)m8>VlUa9h|Ft$xp zDx{H6`F$*J1ynZj64@zrw7DV1?#>!mnkq%0Zm?Bggc*6~M`l-CRI+XK2L7Tj$S0^> z6!}iuuK^>PT)xGa1&kR~@wjd@MCP8~%OCP~a&eTdFyfOm;%_E)MeFUocLt2vFChoQ zcnU9NVA>vh>0ND{Y;!TP)OT0oKM+kl9!;(fIX~!VYJ1aZ7gP{qo1$`Mf6NcA+sJBr z>uvbRA7*VpGgU2z?3jAYHr1Hq-agCpKKG3R21S+afBlRjauST~=?H_wwwhL&D$W%9 zTTWdId9V5MBzy^wg%HhG?H)fKJ(yX&4g;U&cQ^BBkNGc}F!O%}5!0CbLl)5o>mXaE z${-T8ubrxi59z&*44cjXdQpNVHqtLDsq?2)pAtXoW+{n`|1O{bP6 zPK9?K?>sPSL@aYoC|;j)lIy6Vp*4S&(~hKH#wWHY#$&A^6z9&0Si1Bqmv|-2oyTW znU`QdW6rNXbCUl}3PAd{Jm1i^KJj!T7a%o`9Mf;wACSP};w!5GVKJq$*_qVm@5iY2V44D#xOuOnxyPO4Z-C5p1}=YITs{`2lVa-# zme7f5R53|d7AJ^3y513A?@b}hz5#Sj^4A(6+uzjQtLSS0gn=lYmcxbyKwWd%bs~)J zIc;x{C{}WHv63RvhIeE?6p#<`Us;<{&aXS2q`QGSlN(Xl45YylJTt)AXsd~-*&g{NE)rj7i{SGbos3%2o zZJ~3*m-lbbZ#rkYSvmx!&fG7CcjQo=mp1Fn`-{5Llb*WmuK>Wn;^sM5_^LYFJ_>h_ ztm&I21s|SRii`6E%0*j)qD`cl&K^fuh^Rn6t_H=M2XYOe9E(J{0~$MreA}Zjm!dro zB*IknYyQ18Zc>CF6F|~wnUo}q6Qm*%Iz)LG!I4u76vvT{C%i|G5Ycf{bU-iDn*xFx zWe85ysyug%;X-q?3-^Ez8P)+Gx~yK3$n3|(Wx8=8v$Hv^x_}n1+IZZO&i|)3j^Q#b1LB(JZJ@tKzOd8)17jpWn-R@YA2tQ!&d1cyOLkC!fOBZTcpK=4(Uev1QSpM-?{mV}BbSg`3>E*QD#mnRtR$FvD zWn6dp3dQSRo=#My_v5Lza>UR$iCeq4tVh$HRtT7+8GjeK?ObO&usJfbAFS-@X|Iv) zn|O-bA!2q?!5sBIGz=<^cEM5K96uh?6|&%sGqC$<1duZ3+u% zVVt&_U_@Cie~|{EC=VN!ePpDeb;|)xJA_^KsBjh^If>Cr?hB(mzV)g|h;O@+cGDK8 z^16$Uv^aIJSD=I<1~Na_d7uvP?G{*1V2)`PHT4PV2)r9p5@C0)HMS zUf?6&A7YJW_88vN`?FfU&IGQl3AG%C3DaEi0p(-o!|*5w)HCmu8#Mxt=juVFoBBMv zMV@Ng#L2VZIY3Cm{3AI4YBBdH@5{0)C}&azEo~3-Qww!Vy$`~03qo5>E4kf_og1Zq zoN56vW0jq?T_}Fm4GNa{01BZ$+dw%>PtykEhWhJ`PtU9QR-~_Nclw&X7ViT>Y-YJy zhZtVmB=;}Z8T%2zk$8awwlP*mFrfjsYQ8-EKx(OA_`4W>nMd4*N`{{`Zyu1eUR85= zS>jMPbz@BjKjX;OS`Wnf3>B=_OU6JSz3UF^U6x~?c4LisP2M%iOMp_OP)Ja3waHkg zC%^62;1(Eso**lI%da*w)0y*kx|%%{*-${XTrLq@KK*d51S6sk32hn< z5rf#!FjXd|<30YKTH}pmgAs21dx?F6;djd|$8Juoil?6Ou4`6kfQ|8xeQOEg_rUPK zYxo;qy5aua8xBZpvEL^>OG)el%plOZB{2v1dUQYN`IGC_bBnX=PTS9SYiYixxw&XN z^<7b#PwRX8rhv6;iyJTsv-%j%Mx{h4-qb?_{=llV9p>QkC_j$ZzoahWm03SndiMP< zyYy(8>9(L2R?XsidB%;DwW540sN2zcIrA}*OV9PPzyB5z-|>3M4!Lx_%yxS>nETYp%9d$nN?v1;vFCy)+@bhRfgr6c&E3+$C{AZ=D{ zyOm?uSA!i*N0V!1C+kAqd;FwO*(Ubyd}5`#Uo-_xD5smAfGT5Zb*%0cvF63R(x1{D zCFxb99p2+(ZnC(kn~gVaoaKCp@-yv3qTY3kvi6HVSKVY<#7kwm!_TDOy2w+tDDY{J zf2Y3u=G3?vs-DK4)n<{iyx_=Qr2PD_FyCCW#{9;I?*1B2Nn`(xrZ!+mHj0AqK6`*j z5G019g=-y8VR8dcDGKZtTD&q*AQWW?Ze7vhKE;tVcrB{WzE?m2r zM{02Iq|r~jNk{iKy&)=t?M?9Me!t^4*DNuu-e`W~93!uVvtg?m7nL%W`+5astr zRAxLG18tW|w3?Eq)J&D5Q|i>-7!r~3Ad(Qd39X2Zais>*V)1?>3%W$gg=_U3kLJc=}+eK60&BAA`>A8|8X)w{48)d>W0XZZnlhIr3agTI)6| zgfgfS*Yw*o%5ZBU=}(le0d7?~6F%T`Y3waq3uG6d=G{iEE?R2Tt2c&o``9D=(7*xT zGBAzxO2X)=CGwmby4y5FEa+JBaTdGq($8%D9V$xGt9X{wuh(*#N>aZpWTx`TRE{%# zyl$PQNwt2}zrp>5Z^Y}~aO;;++4fP^UX#hl~Ys@nXXVvhSVd<)|MGTuu z86nJ0G=C2G=RfKX@+Xwj_G6?iO_^U}lr!_Rofomx@@VTQOgZhkLo=3tnte;a1TE3n z@v#I>ABI2gjh<{5gC>b@+n95~JY!W688m1DXe?*|e_j2*q?P})_tR6J=wYoco1jg7|*-E129s$-;MRvM#t<~B3@=E&)e#_F>1nhy|+#3CU_ z7Z$S5CN@8N7Lwj~4(v8G_nBh~JqE{V`<(L{`GISXKBz4F0Z9Vf@8rxesdPn+`_Ry# z=U;Z|>|lIma)L)h&;OxFy*idFaJ7R>JYN zH4*`$>?n(jgo+5yU?#BoGTN`6tI({(cW|SXVV8mksri0C%ssW7%3DMWraZKu@6^Xro*qFAzSK#v$knVb#9RRxt2sTU*RKS zpb~?QI2=lVSJ(2p+D*r04Yg!uWg+DQ2=QG~R1yB(RTd1xHdu-DNvIm!!Dle9n!bt< zVFavXAzb0l4+IfRB7^H->@2G|32%B-sfHms?fbC@82(cBcpg{*-uO0V+w*E<3;sJv zEZ@6GF_Eb{UI)^zK8Q*)RgWsuZ^)G0Xc%#$ti<$6qlxH{J1rf)i7e@=rZcyL#--#1 z9im<=vqHytS6Xx!R-OsJtE1^)MLCeJymCqNU}Y6pGFTxdI})pYm55ebMSJDILjfc6 z4;WmKp~ylmFhmS9O3HI9L|#|vaN4Ar5izKjFnG7w+1>d@g^2(SXP{tiPwCql+Bh9M zj6ygX5y0kCr)@uej7wj990KwBM0Q;I$m6<$c((y@`ayv-15XSf^St%{EJBtGW536* z3US8ZPM(3D_oq?fXLjKV&}N0b#URqAw4^GJC2ZPkoYP+p09exlkF$L`R>`(0Lv1 zzncB|Y(7pqEWp3@R5kLR=T*>Aae9@L=veaQ-`iD-%M~P}? zcF^iC1Ov4QW@Y`U$!ZMT>YxNBeZscSR#{Uv)N+n?q@;Q^I5*;Az`<&M82&L<5E#6a z@QA4FAgpJiu&E6OK!aWHT(u(qWOXEAI?huyx8g!+{5Oy9jiJD!-^cU z!F%%UzaYV!(6XREBnTb&s14*nn1`X=I&>#ZJk8hy! zdV^j6a$ZQyGeuAKg5&jMOegTvpVAXaw<^sFEhu!f0l$Yc*eS8Ob!X>i^Ksf?TK!bq zA7_zimsj)BHpbU95{&N$7*o_6wWyx!qXAu=T};iTWBbUL8QW7!#&%`5u^s*8#&)nk zDXtGw_BLUAjPl2TZiCV9f0$Owe1g6FBX(w@#n>R|Gv`#sR*uzX59hj>)zc@&GN%s; z=DBf>srmz~?|I%7mAO`6h(1>G; z&;=bsFHaG^;3I%OjNkgKKcy=HDo9I!k^)Ob2a)Ep20^*a7H6kwC{P>r_3;ekqui%& zV*4(mT5WDW-=6Iy_XI;L$Bq^S9k!NXl@Fd1u911Y}m8{-DOhQn7NC2gPu^^0S%TGl{@sLld4XCZvEW`jOo+2 z4T9E3`Kt#YZRRteUsw3`2jOPPN}x23!rg znTut}eaG8$02ByLw2*T?PlEYWr~f0I5?AL?PD^Ic4>i5{KD`WL=W>XOb3{5XS3-ze zFJsqKQK-o3uHM6l!iJh!xNiautfq7%%cv~Pi0rV!q1`JylnOO;8bba3neO@ne$UQ! zK{JgR)s=8!C6|Td@>3KHg)}OOei{b#mSN~+Xm}w%B&9`ywI{%b#26DIO6c?+Yp@g9 zj)XO#YEg6MO@T>^N;HDlPZ34@B~a5qL|dF&MG%C90tkZMUu4x5w1t=idxSy>B%0+VJC)pww6!%l{fB9sD=A}inI$3 zObjZk9+fmUJRQF88`@vJ)!bu$1^Wwp#n+%=bu&ZHyNpPPdo@aCqb5dL24Q$&gJxWp zU=t2nXB|_PXfSSE2ZO70_$5<+d(Zl#e+Ca_K@)$nP5kx}X_?4Hx$X!h4wo{w4e$W$X2Wf1_-4LA28{w@5oxnmNO_Pl zlJQsP2m5GHiwtJ(-3A-@oc5vA&1PwhYyif4Clk(mKEyCx^~YeJrzYS+p5>ThY)^$# z%ZI|(`vt^Zf|=T@JRQEr)g)LquE!(@2<;}QDd5N~fs%i_Op_mYZTnb`TMeZ#glzky zrm^3FWVJyS&|yEg_#gx98eSE6vA#>*y5t_cgv)D5g?l=4h|0hlOxQfL&oa;gpp_pY zFVkVFpT%$e>G<||G?3m$!$gOT`1!!fVMxe^oD36p8?Q~8%6YTj$mb1Pb(1Vz0@-Qb zmv({L&|3SZps$Ie1(Tt}1*R=G{{#{ZeqO+q8Sn$_9RWRz3&qPK90jV4*Dr1PKpb2s zHyKF>++6P$^WHZgnk)kQSOfNQdhR%L_Yqa2oS%OgXm?ZGcKQqljkfHuWOp^|9KXSx zy+v0jICFM0Q{%*1?+?|i&RiKBOTN7>mKxiY4Vy3F2l`l?t056c>A05@WZKROe@G2d zIkSB4UUo?5Q>dCr31#D5WQSFGu!ME#(N^=BsTThLjT)KE@~Uqd(x2b0m%bW;A+^L| zRz=g&4p+rJdQ-SK3wEb}X2`M&)v=Tnae&(#_4T~>4&{_{+o1-ZxiN&O4|%sZa$i^( zle^z+iESH?3Ht2uq-nZs(GZb(i9KINh^p@n?g+pwE>Z~^$u8x;ZOf`& zucriz6%(^lKbDU0G}K>qp0c-ifPZ+zY<7Oa@yIUXt3Bbg8@9sy*Hrdi<6r?pnH_DE z@l}5~0iEJQfRG%0JIOriz)aOI@FMfpKy{?QuMB076GFguE-dXftRvf7UJjY6e=E~; zQ;S!q<#g5Z16#`r%J8rTCNuQ03wqQdZ!x3gx6VRMDG%$tm8=Jz{jr$56iaJB0eumC+OEtq|IOl^kx`}mXRG-vqJN=Sk3aCeTEXyofY0IO|C$A-|&UCPVHXn zWz;GbZ#L5^>`Tg8iKi&5)g27toV$##Kio*r$5O5#|Pr&R_e+gfZG#tWJ^B@Wy5@vM4)*A`-V@+Z{cbI&4E)lb7X7o z=u-QB5!c`DE37mgtsygs4QBakJbDcyvSN+7zxL=2hIy=kW{zG{I+EMEzqV3#r$C1U zYP$?-gBxrgHea#VXi-8l^MRolx}j)s(yKVNR?mVtLTZ<8${O$f{j6P~o4%g=&xwMj zOV5e5kRI-)UUcg|ayvgSZ^TEpk;sRc0W0FEzr^eC6@NL_`B`~$rlO)T9qSjXe?D=c zB7)R5*RPtfH)<{4*O@uxrIxc0q>twQkjf~RSY!sg2j`-Rr;Xw#R`+5&^}gGgFXx`l z=@&MI-e^jlgD>N9r~O&*$if##bis`etxR?!7*Gqlc5mTewZI|x-J|%E61cEDR_>S; zbB%X529>7Jg}h}!C_g-wdOs_#!4orwzGa4q8+Gd5$KN6r>WHRKrz5NJ%9=5_d;KdP zhf4!Ky%6XK&$`6%T)%1yUtQj<``nm%+3$CGjm8vY*X=dl*ZGx=(k@mI@MtRW?_ME_ zm#x57`WZ$t?7hRLO)~x-BA3Xt3Dg)%uKVm8nTnOEPm^zye?tS2>GxhN*~tMEj%d6V z$Y&=I9`kSf7yn!J30R+>+ra<*o{J@yRy5bIZh0-v{zsT>***IkgWWDS^{K%zFR8}O zOvmoOHpbb#M1-0b#?yPoQ)sU`FfwxnJioM=v%T-c>u|lt8G1{fY3GuwWIn{xeNRmF zTOCi2t2{9kU(L!pu3Cv|5`&Z&L?WU@ghZ_pwIqfq!61(tp#;Y}mo@-1oHsT)_Ftj0&vs2X8-y7P+95c?)PKNes>k}m*V9w<|&`j zSvJBOG>()sOmb;D9Fjn9ZB}=X&Eq;T7?|BGX;oPVZ-*Ja%VU6MKA#qm)`2*@(2Pt$ zF0EOyKa1uN3TO*!1aFjiwVveYP$5dJ(r+qU!xNG*d1m=}?EahBAhvmOd44W)3J~ov zRm0rObEEeR)MWDNH@lgIVO56##sB{3gT2dIQLXVB=a!rKUu(`H3aF+b%3rXfd{zO^ z|1@;X<gXa-+fRo1ykv6=MWf;WL zqwm)jc((yf;&K165PYI$R&(m#3{^{|cPpN}`18ikU#>1JlBg)(J3W_xO-oCl`lq}Z zmpO8|-mxS46%WEYfqP{QPLyz;dqt^zdGz*Cgz>NiSa*`RP*} zJHN*dR)jgsOJTC1Lf&lyVtGrIIjOi=$E(Wn)w1?Gwu~o=UfOHr1vBcZ!3=55P=CX2UTe5aIZ)D}cF;EJ*27KC{CoE2CuX3ef9v6+ z+Onfq+Yqx`_GzPH8Mf=?g0l2-a72pxEyhK^W+aRmsy9}p6>UeFW^*Gc8}e3`iFI)^ zwk;s$V_1k{S(!4=@1uxcN05nGqY=~WiUoJj9*NbfRKD7p!MqvihS8g7Pi|YP%Bg1f zcrt5GQh;eru#dj(>%pX-O^Qi>9$O41{arUeePccgGaN%N#;+f_N(@QmWfKp7=X;t3kx;Qvo$tcZ)%KXsPW&Qs>bjo`jWas>fC60=6G4~ zhQzpd&gI^<;V)tTchdv*L&%CQ4tc|uFa?qX&Z&Q;#cNDoO_*AvJv<&(Hau^QTf<*M z;Y*n>@V|PrJ!K z|5P-S_-?wXmN$5etd~s1(fJdy;%)!K%V~FboxIfAx{z-O{5!utgs#|Omriam2K;6fL8%>`^8`mh5t3sZ-^($v6baOE%OtpPvWm zCzn9{O>^5a&*Iz`&iv(8LT50?^-8C*CV0>8&A|MTz_cG{AFrgk{TlG~$tS)GQ)o=B z^r|6v`o4jt)I*h5BR@5q*#uigWYJ5yWizpfkqIpVY|I4IId;7_QUVzzndbhK&p(Fk zp)7kcO)gAcT}wBvG8$;p=uLxBm$J#|(I9YWMPNY9Qkb#ej9gIjIM{KLA3!UC_)*Bi zeG8i7=sY>0(p$<=tSKsy@tWM~QA3>{Av$dKo|c(;Tl1&0a_x4fPwU3ed=srW zD~Pu}aqd5h_K-7)!^xy+=sQF+W^^kZ;bvMnzq5)M#vpmAZ9kxr(0MH2WC!rWskJlF zsk0V;NgirQzsp4LkhIvA_zU~;Ni`9Fq0~o_b2ZN} z#--!9`4ufmVgTy)=i=$gX6_J;5)-d~%xUakl%GSP;MT8l+D0RGn8eZQJm=W(A{BeN zv#h_rwmWU+JZ$}|&fK4qITm_FvYY|A?p3Ev+TB!VXSPrBwercy&FBwj^Cr2OL)||h zf!cVq({?>6=fMu{cAc!tUBjev#gIJ+B2JqeIN{n;>8Sq1mBcMdQ9hn5Lb>u7loz;& zk9K7c+Eq|o@URYi7US{UaN)IXyrePs7=%uw60UbrD(0DPwn@h z?9VPYFntOlG#-TFBRut|y_`A!qxYE;^1+dz0vTZB-4+?#g4yN^$lw>;X4#Abchn&A9pxa5%aSGUn?q)%E zs9$`L`_RFMMIxt6yZjh8RXKTOL#2faMTdclJ4Sqn-jT&}M-Z+3nZXRv&r2Y>v1(fo zRcae0;n3piw)cSO=M>NF?miS5I&{hf7f&U?R^^I@O5(naiR@&k0SQ*8Qt^r_8688b zJ%(t!1*H2BIWudbOJLo8lV$&)$%B1}2b)^5cfk4>p|{p*u%MJN5ysqZSB#n#0;|@H z)?P-2N}CFJjV6cT?#zZo%zyov?%inEf;UdPu5RPfOXEUaK1iKeK)Ug#++DAeKPwt~ z_2ue}gO3v&<=K8>%NaYnaaNODBUT|fM!djo&cp(2N;5y*E?L5tEo5nG?=UP5%|`0k z+^*f{lj5_+(tDJ|Cq(o`0AX5O1bd35`@lQk4KmAKEIz%8y1UKC2}m6$py8N^_M*XQ z%bDrui@>19utot`W(UDXmSPPXMXEnzx0 zuSctb5IR)=qW)^tvko;FT~fQEEmZH)cbd^luB?tJ%$Ne(U~)RvAVp>9uVB>gh+w5F zT8<=I>NkoiiLFD3^pskrX%lX&|8V+ZYz2aiB`hrvAypO9pVAXlF=>Bk0|5h$Wp8^d zHmT2XB$BJFaU|NKii97CB$mQD_6#w2eTO1etUx>I%n4D#XeiHpcMyxfL>!9VTo*&u z?#g~ZJ0!#oa5DbQHuXteNoAY zJbRh&g#mhmdT;NK!zO#MhB$L3n-g>XoGz{-&KwgFD;>oi*2&3mG1Q1Nr%v+UPW{yO z-L`Fi0OSdLOQmriGN{c-MH})a<^~~fu+G`s5^e;c)ZeW3s{vXCCsPm~qCRX-cYBj^9V$-RVjf{i#@hwPH~VW->O z3dOwBDY&zxIAXy>>(GFTxnGw;t|r$R6?4l!I2}gsjNUL)(ZJX*MMSAsY8VmKX#=5V zxWCeJW8TR%vZ(wqVe-4QQ~UHzvq8=;&$U4z-Xncj_vO)X24!5ru%zcn5FGwQY~;K_ zs`AFpXnMg75*y`JC)Roo>kM8CPlFx3>$yH1x5b&0)>6buh26TV<=yNSezIWqds_>3 z^bnFC|H~vJBww~k$y}W#iJpWJNp>RW@YD#I(HS`Nzfmk7f>0E-9+8a9F5gEMnQ8=$ z?Tqrf3ww_8A&%)Gbsa==(IsE=M|r8q$tdgkFo5Ym@<2=MKAebLe8IWXiKw4Cc^5a? z5MgF@>b}qRtprSV`pM0^&D@u|8xN|XZe#xj%ac{N5k@1qeW?2&z9PD;Y^c8Ef=d%d za7=a%aJdL=gV<}R?#f2!NsYi94{zm?JQ3obY&vNCi`oTgS6YsJ%D=ZTD4$1-|1a+gRgi0Hm|MT{W75wR2scI<2a)& zz)xUR0FismQG8E74S`dc0y&jq$6RGq~2yQezcRpET z>FZndu)(G=cRZ8p>(76-S=)&>Z435BiyzMnIaeBGUqh)lJ7$GIKdk6QR-Uu0;<(Al zD=W)dMtI-4rMTPHDkZj4R7FdeGY1c~x#n1t)XtV48F;peKi$-}-W~vr%N7(J=BA=J zrEmpHS<6m*LmeTefBQTI;QhIhy((zbt(r)hHYA`mPo)(^$_lz>p!|i2AmoUX8w`Wo z?oxxyAnGhNGR*z8S#*pmH)qn+pwspeVnp^q>e7Na4v_pk3;wH_!MrfCGj%3&GJdxTm{WF^vzY3=tC447K24&9U*G|j^cmrIQ00* zb%chOZgw<3(l&HcW8M1UFD)#U2@LFa^l=_|X$ie5a~jwDC!v4+R|a}EF>@b8XilxE z3FV)bLCXrFgFS9>IH)`5!l;oWS`|Rf4%g*Lm0`VpM%*NDIC^|f}i5WQMB~8|Fh%eqF z_xCRIE_`!K-n;d0q^{nxPnkC&!hbKE&VO6J&3`ezE_9QR*Jh8K)Thvp-=OYOGk2** zxYQwic|b|$AMM$0en>rE)ldJ;GSkD;PB-`YnHYaq zp#BctI#2NZ2O9|(ksMK$n2Iu?vMezZrnO)|fcGRR@ILBdgZHNIg7*z;h4+CM@uldW zAh$+I2Iccu$h(R2JIy?i3cmKd*6Y4tQKI}m=dxa(WaQ-j<)+z|l$$;|LeSmX?m9eY z?lYzga@HE}b`|@&`|vT5$(K!wB&N8j{*zZmD=&yhi0SJ`yN`$^45JWmbG?R|+oB)c zbV-#)s9A1+@)c{IOYIVBq*S|XYT}~HE|rcCr5e?vR0H*Ly}I>X^&VYe{g^?ComQ0f zb@O8)xq)=?H6s&?mW7BtAjHF3wVsAeXLn$I~qdxM&SU?HJhC3v1>s+8cl!RA<2xG&hh zKk5a0b;+aA0tqz4(^udXdmb7)BHx%>6otoHgGV8>l9Uu96H&^?Gl`l=H~n&qNWU(@ z;)fx1vwezin_pQZPO6s8tU0Mt(H2y^QcgGkGSQ;gXfsD zu67;Wg+8U6otWK@r43zh(d`EBTZp{Ik!CkHeI}T0!11M^Kdv&4FKfKR$dv1^N!w3D z_Ws8xCyd%y&DaAu%ibMgnr)CMwB?_SsX@NG&D)cnddl2pC})yZ&>BwP zaJb7|XBCs-uAE)6VX;Xd1AtY$>2#JZV(xRxS4+Fh(J&MLfEN9$3eAK!B$KhX=9)c* z>oj#*R$yqX=wB~LCYp;!{>G(e@P#{%D-gv5Y!hSq#xob!j8!BoR}?Yc5I8f-m31cZ z8ra4`Dv@fK9Jy+9 zK?egL%wBIJ+x*lAb)RVB{z%+J=9Yq+6C09VW@mT!b7CkGnWX<;Fek{!TtpWfK^Ghu z%H8G6-A>e)Jk6jZg1}(LTF<6sOeF=pT;nyD6vwmar34$eHC~@h3}g8@z^s33-TIRT zB?jPR>E_2$t!~L~IVgKF_+awC`FDY1C;w*e^Vxu7ayV_nOa{&hxEbUh1m1_pn%lqo zew|ulg<74q&*+xLeRs5r1^q*K|Lj#u$zC!iC7&La8SzilE~`p zTUX@5v7GuGvoZ^p)cL^JMZLdG@c7rKO;~?xw?GN@eMZl-M4x1BE zn*gGz*l<( zd{A^fL3DlpKL(k_Y@(e<---J7Fz9xP0#;f@YetAn<2zaR!xx@k4_Lh-EhzDuHFA zFX;3(>ddBCpuap=9aNn4VXIrwy%#szxj0^PvDSxW0(Z1Zo}B$|2h_*OEP;^@e=mT+ z+SZHr-|DcVObuls26O+dd=9t1|MueS8|2*1{kJErRB=M$^WT5u3fzam5-KVGeyBxM zi@I;|?X2Q3#I3Kuec{jc3;d5`E{M#*B})wwm}W`TtTpG{H5=bsEG0a~Jk{!pI%~aI z|0aC@1EE~yN||YT+=Ba;7o|NxYtq3dnBB6;3l*^NZT5TL;i-R{NDtD~MJo{a3 z+X^G_K9M>76G01kAIJ~mB_VPC9`Og)Yh<3wJXyI2>@nH9e*v^&FW+jVNa4!gsy7}{ zf3+&$u&$LFep0DKgE{PvVCHq$923oT!3t0)`s!Q5@6DokU+{7JCEk71(tSw9YF1Mfn zAYh@pIts@vNNE^8@%wGvj=)QD+O2*iAaxm#K181GHQcO~M(UjZf}~Du3fyjoDh<7y z9z88ujCXYhUGW!wwgS3z{yt)9`n0o1{WN#u?OyClB2E_)-_DvCaLFs>oth_~cS1^h zuZMp}XeJY4VA(1y3nF#IXz!g_LB>e#yQO$>+TSsZfoZkbAFZ{#NUhM}_xo#FDX;s- z^chisGf~1j>azKK0E%ytH^038y_T1=w~{n#pYPA!%lfl_E8?c7*9Ly+^(%aT_6^?Y zB_KgdnOsL5bq43>q|1RMMg*LU0C>a7HH(D=NOR3PnX4!vwG@ z1}8+O<51dbTiaSot8J~d6|Ev-r35euJ^>$v+A3NfCk|HBRs$;Y|NizlXEFh__x?Zk z<|CdnXTR58d+oK?Yil7?z0t0d%RME{^iw?anDo_I{b7eM$e)g_`GF$njU+M3C$+Mc zhN0MrHZaQ$e<&IpgC9aB?7`t(1Bc-XgDB2S{Vs#N00=ILIh>Ao8C`(cKi%(K-ZyaT zd`g5@BjN>bXlsvM!HmnINv)$JDKlh$cRt56r2kdp=U+ajY32k^`tSD3 zkcF^W)y^*G^lOItHN)xGdj`fi82A@qphGY2H)9pas5jEEbOr0voix!QY6+QIg1vhn97dG@7EW(GJ`1=B|u`BQr+ze-#qIO+I; z_@xDtwzHX{Uawpg7SW34BcbQ~+-)CBRq2D^_cO7<`u&2Hs;2X z>4?EMvWKOo+J#0qlB@LXCleOr8>8VYXtX zCk7=bzGSupIWvs72BKBIm7}Aiw|l=yZ&%?f{egYOY@&$qOhU))`7pb^g?B!qZ2SIN zkCJOJK_H3VtixAj2v{GTB^PSGo9TfG`(_$$lQiaEjjECK#|lU+Yh$~LcNYXE?zRW2 zEu+C*X$Wa9G7L1W{?fFHWrp(E_fb>&Fl$Y)^vapDE^or9YG_Be|D4$ArW1n#t1ca2 zui_Zr@=9z-VAXl>Ds6Tv<4lKpk7$so`-RE@+y=eemGh zVEa;u2YLxL9k>kd$c0ORY7tz@u)+%k`-talRtt*D!X0>6D&$(B>=)ztBsO^1qxDgG zeorT}2%-wPgsAsF?I5bq(UJ6S$Q0joW)h8ecR$M#n)%k z;OlJiWbt(nH1_`lUyt7PpYe6dOoOC^Cx6&^v;PJ?wL2s=IKZ_0NUEx;! zMcBGh2k>4Ubg=d6jk#dCP__IoVe7|F_Quw|V6Vt(FKpd{>fFWF|BSCCC-lbGzj3_& z68d^n7x=oGJXw6b2qN`=g0GEOB>pG*de=8Re0|e-vqwYw?L+C{fhOi_kL6BG+qM6F zeEk7=4~(zBlSIMb>)D0`?@wMQnN~e~Jxi^ADR~`ipHH1R_*%f&4oqGB_vYg3t~pNC zUxcrD>goaTbxm6?Sng9T|4aB+2Abw!aw@EPwEBe;ERfoWS-?Zu>>`$oa%MrH7{xx-qAHd(y@B=?&oCn6( zbAFYJu@l_7zX)TesILdW*aDPP&WTstNB33#dl-BBy51OjCm6gRh5Z&Pk>313d}qkH z)(rs(%&X`z%xlLe7g-T1*tc9SOqKb#ct$W#X3{W{F6X*|XpQ!zFQmvi;a1v8?2 zF$P_^iWx^RJ@ernAZ)ikg1>Y!I)Z6%BzYDrn*`H5lZQr=3pmwsfRsL=eSRT|7Rjg{ zr(Aj{uJk%q?6PnCn~oLpC@{HTKUVV3;-wAh%rx|He_D6G>63>#m#OYArFEtDHPi{} z42{a#FTN;PM8J5iZAg#qJ@11SlyX`rzB?Ct@>D&XBd2xFGH5s67aK}@UxZE>F~IxF zP_U7zS|u?YoTJeq|E6tt7QLiDHTvXBBs1%}jV2I%i1Vx!=joPcqQvr^Y&{A>&qQyMgX}3GI3ia|b(0o)Z=rj9`2a0Q>X<4dSQ;CoqVg!WpScA#t*A zfXU(2GN<4K=?ua`hyC;{HR@kPR*VUU@H*4H!adgp(J8y7@1e8?M3J7sfb-{}#SA$@ z!mgvUW8w0*K3F;${i#CS#;gALQJHH{avyI@-4$m^IOCslCQR|6kNN3m;c}(K+l)-t zNLJ(zo(1XAT8T!t8_MZ|>{W0Y9^10DX$;NG$u@I^)6AcaHO({~O*1Pwj?+wpl&-sg zL(A6KDU>az+}Lcn6P$7_PPr{xR1onWN=h`jLPy(3>b8<* z8nsf?z|m1I3n4w%@-fe(;1Xc*g`feG3oIm3O17(OR7PSMP#JYcOk&fjCqD2Rf0#FB z{aUB-`4&Y+s&S6VLFVKKN=_~g(gR{ej9WaM7o1d*w|%daH?2`3=dj`(t7{3dJb!@r zguRUjC0O%uY^`^7EjFFULyh=v3!}+XrTrQci7&#y=4*Ay3Gy4LsK#JoJmGtIALIJv zL=)o+5U>{%WJu4IPpf9CI+3dI9l@TFUri6BkLvLikYCU=mhXe}lOxP z*NMB9`9UuEAF!Z=(jTrAEp!Zhw%h-LM^wgmRi$ZWLi%Xyv8m_PeEqyg&H2dbX5m4n z6a1tgl&h*Z+m*piSDvH~bmh5P+PwY|)0Ge3*A&&GjBY?T!M>sG#MwL0=9|6aX17s^ zw}xvAK@+{pu6$WGAoGIJg#LYCRh~6GHrr_PC((hbF!koe=10eks^BfqqP;SLkO@za zmcKLk_66dj_Z{<~z^xCMnJ%84vj=RqKfBz^9PA>tvcS6jQ2~aUsAaqTiZaBjp8ltR z{~gpR>v<#B-45_~3i!7^?B|B`T{q)iUl7Zerc~p_=xob_wJk@I!%FH9Ip=Q7 z9&nHD8Cec+|ArbT7r4%bj^x8J*7*Dn>KI~aGxpcuF+HB3xIHXm4c~F6yB$Dbq7FsPE(&Ecf%yJtvIs+N7Z3GM#BsWw{vUjk(!VZBV%{5Bm=f z36+bFBV}I;y6tuwOseS$^IJJ-c&w;B57GpZXJ97I3Z{>wvfrCNdARgluY~obGdH^@ zTh7cKjn?RZGlv^2E&cN*N!q>TJc=s12GFjxI(U&|BWESJ3n5%E?-H|!yLK|i2Lwpv zPJv4R8N(YjcTF+?`EVit`PqX8Acv5$KR{Mq>QnftioT6?_KPr|y*aSKMxOU0(@kwt z;=C78A|15WT=A`Iuf2Tkm6zZ$;zx3L(Y&T_@CoUj9dA*1Hr7yg&=sLH`iiMw7FHvK_@ZI(5|E`=tpw<(GG0`EZnx zw`2Droy|*^Fq}Bz@yhoDEhUt#OI~?mmhAk9;n;7$(mIAUIZK{Z)-z~CrTVSmH za`q!z@&eOhC>W`nJUsRlu++4bX;V|_V|&{-IfRdkE_ zSAdcoyr>s9ZFYLm^}G?_3)=BNOJj_=s=W@$z<*jWH~ub{_+Cl}TmobzZ&f|oQHTWM z>?m>`cTOT|yPV82{^KN~pC3LCpQDpVylO}nD2>(SxGFzyfhF4@aOvZ~@Q-bS;eP?O z*}a0o@W=lEhL5ZI8!3S$50H^DSC}#Wk{=4rK8E0FT-5fliJulpyoL$!Y4$yUpPr&| zi3BFUh8Z!JwSC<5y8R3+ckgxJkhzN=)HosWW*yAGh^|X!A~J_W+Wx_Q#R?6^A7+XT zaf_XyVl1D!@RaIvPN!_*?0(joo-M;HpCNRa0f6(*fVVOYV*u|sH_e^mM_`$*%E1>D zl>**d7jjaNyufH{Dy`wfOrcS;3xi0QJey0EIbP@4T^z!>>$NwJ;af1uQz;WX^F#Y~ zDkRf>_HB+DI9?O%b5?TncwO(tvhT9b1&`p`BFP$-K%Mvo&Gc8LM%AsmyX zN)8@xKMx8e{#v$Py30R8UF^L`3icanp9RNzYn*^T#b+Q>vwwAgmyu9zx$R|59?h`K zdanyQoxq0#%x1hbj@4s(;MTd``jUD~!#>I#Lf2({u)jrjya~d@Sq6_G$HaMW&c4%T zA4+fRiORh1&e`AWoLAi?WP~jz!**MjzbGSqHE+8+Cx+I+Y1cQ*3?2<1qWy#aRTY_3 zZ4~`^W8~|q%re?E9;Ar<&TJI#y>+0C;#RfLODr?NVE2PpiJqU~V)y0bN@H&7-^6G9 zAW!D?0p~Ty>+Q}f{t^D`%`0Zxq2L+zg`DbpSMIF1ca0{=TXFfSJZHt>Cagn>(B(9( z?{YkLKQ{Iq?s+B|t$@q&WgtIV=It!=S7rJiNxUi!|1Vg0ykft~>ArW{M1%k`C;V0b z9^eja>G`yMh_z;F{j|u`Dd%9kKD0foh!7!+*Wv$zwBsF=FmENWX}s$0H@#i?C%jSR zIY1ejb@4cW-TyuT+uy8|{zZXb;p8dWuXoQ?Y37wB?>APu_@TpK|hYj_TwO@A5YT(`tc&pzxK_)HT~%R zhx%c0sDIo@cK5WPuZW)6ud_t5AhmAXmhB#H!L#!5$arekX_rEgZ+i#);j zOE4$T*_R`k*v|&}@C8QzEWeQ&9%10W+b+Os8Tk||6WsatJw}i*h}YN5t4Tt`2i2Gy z>@nu-YbyG5fiToD#Mo{B8M{iYzjSd&UNm}MoomXOZ%jEc@DYj|U)%yyc=(E3EV#uh zd=xCp{F#mO@MCZ=fmSVm-i9Xw&uk@rQ^{lVRY^Y=m8!f-hQr(CpL9xxul&@L#<=A% zdCD!{$Drat4ASH9+w9M$fr>+1)_x$3hJrYVV89A^oI}eH)9UHp)VPhs7G`rDlrjK3 z&U$R-mBDW`T{Y)Q+Un1V5qFGhuln{(OU7eV5nqQ#Y*iY$~Jn$4u&iB&lz@<#gSMaHpWFAA$i`sq5|6Bq?&h2HU-ir zi@#!tDo<>LTStuZ`164utaq1k$K(pigwUq zBsbDkeiUeF;kOREW!nQwZ{?j(CXu#GKWp*sHlW^ks1@IIoc+;nS&&>`W5wUu0a&}! z1@;boQlBuUSyT{dd#7K-M+l}xMd^bK|7yk`-w@KmA7Qz}<&+|L#@-O2!T+m>$|}+? zss=}5rjZy6ZhQ2DdwZN+7>_fS21kN-T;Nzw8aW%q3d zsIUAL94tm~yYW>Iw2$)!XonqSK>I8wDZAhvLw0|m zl=!+CY)(yU(yJW)C-iZLFLtaTgq4l&sQ%MGEFNS3;@*Jn*gvD= z5U~Z8oC7l?k>Wmtw@04n88NW&j3{*R!0|yfHi=Dy!ha6!TLhb9a5=S9Q1mQaLvoC% zmmfpDB3qVKDg=i!_xY@mT7W-$?8cun0Yo%dK8gk2W`C66GAjpGIHJ^IW+*%ds-NZ*-?psEkrZ^ZgxS!X5tC%QC3 zE1BPkn5Y~0Vgq}0dWeHx!YpGq#>bCL`g?>qTa=lKRA@pSikL`h%Fs1pE$zj>#J@7J zQF6Y6@Gy~l+x7aIyncAzr1t8uMR|3JvCJQbU;^~kC1&PjCL`zCjTzSM*Y_iA%aak7 z3pX#N2YdXx+NKXMZrS!%`l5-Gme#TXAxhQiAAYZB5-Y z$iOUCOUCF}+SU+dH`v70S<9OF=4oF*T$xTHoNn+w0Y%p)51bC#G3K5iMWQHqvC8uI zx+Fx{rxq9RS2dYgd^U4q+vfc{vx+8i>SiHrdY#gSbTNj zm*&-{Fw;kch_dkLo=(FT2jT@z!}ZyQr-u~Qp-7+ORgY}*=+*taF$GOuHS}t2IqTqpyZrRo|9z!Y z?uv~Ry)p;}s$TmmhhC|}j`>*lGNku$k66Wr(*QAMlD8$L=+J~itVZ_`t9FPLf7$bG zMEVZMm8b7We~F_*UjKH$@Nb13^(~@CwY3;c9UFq#)pO?J%7Rh{ki4YsNI6S zR}nvw{^$E;sZv8E_2XuM;SncvBhoOkbA-H4Gc;}3af@f*_&N|*dv=fM#FzKhqRC+r z3mcuaRgtr{aPW4*jabRCU=hIh&~BR7k2yL75C7=K`I{+T9D3!RzTaJR!!EOdM! z?1PcTunr~bSp8!|mCyf?-bsV*0vagUR$TM{oTcMkX-wkPi%?etoE&cr6l z&RQN#4zH`+5W6H2|8#FOP|X&xj{Sg*@$EVgb9i0Cmzj$7J8KNf*itBSXV+z5*0}SF z0`Y2IQWJfN$xxL1Ey>Blh(@kEvif3f%^*yHu5vPEf97=^&Cgs0u7@8n{wE9T4AWtF z4it`AGvJ%@vv6x5*f5bJzQZ8Q7B#CtK9F2k+N^Owvet}N60VZV9|r>LD;HUbC!=LV z?f*Ozn;NOyX>r|4VB$ty(lA3^o9(*9*0WhwFP)?L-JQKm6Q-5uptuTOXJwwGFeP_J zeD6ofb~gPNLBZ-06Y3JP*ut0uXb|KQ7QC8x5Ji2(7BR_Al|pY1_o8e@pC5qd^K-+$isSy_&B$?=tMm3d{|&e(Fgd7EMj^ znL46?pgn*1(T_v#5Z`^pJE0hRiVarkeE0r(Er1~xX#sFo{jI&fe|#YdH8EJdKflIj zD|uN#`pzs$VVM1+OH1;yhXnWRX2|@@_LS9H6CD;|nEA^d{W^NCb!RF6SZE{pS$AMQ zTQqCzuMzsz$Vm#RPvTPNn~7_BDWS{T^S?rNaVO^dnC*%4VkI_LC;C{4GYgz9;Y|f& zqlIr3un$yM_93KAu(PMXBBm9vG2z5!DCrVk7VkkNXM@Yg?1sh2!HcRwR28Nw1!xP7 z8^X;1L4#O^b9(hI7qKcXa?edY>rD-XXyWLeCMt+apw$#;(LPw6=wUUZ$>WjTuBifQ zT3M$Gjwy4nVu86j+(buR+4}?&;2__ue3hTo1tz^Ce|8v&E9tLcOV66)L}R`q`CY>s z1*(YzPq=UyXgJj4R+YAr226oRBLhF#@=04W{fRA#a4oYjF{^wE5A3HTo9R0wlHfng z&VUBDVG`yMc70Jnx;)Fjn`U3UrXP-gazH+vt;1=$vNML~x-$x*n!CZYB|0R zn3PQgAJ-Dwx=;DXTCm1IsP$(;5zTo>+lO~5Vajvm1(JBYsIjmqaxXBpk5*#wQXQd_ ziRtJ$we`c_wFdQG*_LzsZB?@V&}lvOXO+9lDYwj4@o~#`@K6k?M^Lx0`*rGTs&$(l zjx6p@ldyKSzDTt43o47IR_S*%xwb)%%1qPY=~}~X^za*!H;|$|)yQnVP~PI8yAd)( zB=7m*LN(PRemQa<@k=0HB>hW|2-6)ki)AD;Oott~l9jArqo*5EmA5^32x^)^{F?+mF#xTEwEgf#w}aQL(S|#&q6f~ z`kHEOc4|<<>qrsdsBic3X1`tX8IR%U1GGrMEe)-J!3k z)_a{AlrT>TiM7p?rkQ#rxXlcAGUY;C$@&9!&3Yu4?a*V~vTZz6+bE}*b^4lW-K>WL zyTPWJ58Pcs%cg7O4<%?k<~LbeQtcQ$^x2$gS5t#7ELfqMlK%Oh(pks5L??{LW#GX}K)LuKB9i%o0pZWung3f>=L3?cl zC!{H3ti=2f*)UdIRBt8Do6gNNGpJ3}N$KgQy_3>< z-Z&}UaEu6zzvXCpcJlZ9^t$j~rMPx}y2{di2MOWRl&RwE5~|p_ z+z-JzWt379+l^zD-6=D{j@CSPGKgvSGUk`j#IJRzi>6MTZhrltSujiauQqg|wTLvP z#7t`H#7D?tCH`Q3C0fm_r~E&8UL(cj%g8ndnBvp;#i8V_I`!E9n;SIn))h+XXuX$* zQFg`Gn!d!U>}RLA2h^65W@SnhKDIO$v?I=#nxd%KRQ9gpCw2h+St)dU`G z6>l5gacjJ@VphWZFsGV5_WM)S3xjOhOsC7*>Zf>qGY^xV^5)@m-k67vMj9Y~76gdD z`L3CVpi-Q$CjKagtYt~s2{94V1)F%)pEr4Rtm2J2Zg%FfQ*(I*bubZkD#e?KGtkHY zhiw$sA2YCn*J$Doroxo}{XYrHt+uL9weHd*@dxM8Y8G_Lzj}ZIDtj=OSlx_FFu#sI z0`sA7YF1hos&q$dGY`;%?yfb>0`m(Hh~&7|1M`}e{|xhU9u~}_2~!O)mn0$!b0d~; zj@36zF)&}L<~^7nCok4`)$^SmyxMsayn+ViOGf~&uPrk$zh5a1%)dwEyXIwAP*Dh& z8=@GmIxAbpM5m5H0GstQZ6tNPpE58nHFdbi|MX!74l6x^m-26S5M0IxEQLY*Vj@iS zDgU*Gmu+1~8Z*#o9w*wSz#q)7M603WDgP&Xa*1XmqJvos+yOb&i^raHe!uW4HlSPBMblE>@x75 z+Tp>!mN(#^`HF#E0T26+w;A}4R*D1vp+v)LUN(-pf&VhI_oe)A?#>;y!9QXwHZw4m ztL5M$FESbcOM^7>NJ$BB7RC|}P#L)|*M4h&T3%(g;ds^jcCTaC@-*)dr$KbjKuvE98hHbBC(t|A!&qp( z{n~fToK7bNIgP?IRZZ5M{*Dgeu*A{n2A$Kz1~XoK^%yD#GbH1h zCXla1l1aZT*g_zGa<6`A@$~N3K3y7&>+NdZW;C zP@bjm!sg=FRXPR)hORO^w@1^jDJD}#YeDt^;=f)8eCAZ#MaqAXgM+GsUxkl4Xll}& zgG{P$wJEU79BUHhC_~Pjdvh0>YR}S_rCjDnj+6Rp+FI{b%^j_ZZF`Jz#n+m?#7?&x zCWDwTL(Qge;bn`y1S_E)!pdv^09L~M?6UmLsyAT<*1YWd{O~Buk1d0Fz6~A*bgwrU z@ZjMF^VUFc?U_pr=Dn&Ehnj3a`qjMbzo;i90kGIHi52I3R{$~5c~|Ju;*DbAdWm%$ z!GQaJS08J%mdxi5K446af5>d)XH&BpH*`k)G&D%q1+(^)y(6Scs1QvZi@bDdUel?w z5{tOWewkrAb@=?9df-S6rkWrst~#}2nJX4B`c$xg6ytJiMvrvH-b8o>R^3U2g|M%> z)u37*r6gAyWQkXO)aI3Vmp9hSB&Wn@kY@WdQ{t4(N+F8EXlrr%Y(bxe2X)vj0qs3I z06J2Y&;Cx-(oLD-EAJeI{mHKZ-s1LB^4jNAOCAfkSZ{0VSDp}gdI66gM!s6=fR8BR zs|0;y1PK=g=6r4DruTV4$@&BBuEt8mLWY{0GQ%1-WxBZd%V>z-AvUFYmw%7)3A-Ak zTp!r8zhmYYUY?+kS;>vlGf&1yh+23z5Xg!FO>^ETgD0_q=Oq}PGeSd9PUh@iZ>purw3NYt*0jSj155C^XCl6m&-|C^of$+80d=8v4V0 zeYH3JiJj`wo?dfx7KGKho!i9LA+`(U#Q#7?nihg=5D(Snv6 zzMP0(PEawkJiHKThBcf08_`-*Je=$w-!Y zqp!T#jQ$~|Bo{YRLaNO0LdU<)2>nsPAY>cmsl8Fjc=jMx{0yVt>|ke;e_#3=(Nsxi zwDO(U1&XdSL(F>x8YN9N&uJj;I0ER$xQDfm6|d%wn)H#m`g8C@Rt;~#fqV9Js0rSQ z4N^n%KH#%wjJfSU47jnc$CZhPH7B{h2Bl;n{EqgZTR z?8K(7Dc>4d{Hex>L8&TT{E;)x7wQ7lFV*-u!wnz4}F;di86p+pne6=Jks;Si`t$K!9~1m=rnV9qQuvSi-Jpxn>a{U_xnke8+nIQM=o2c$iRfo0BVkRF$%O))FKMAzd zlGXK3K^5+iVrj}rZc29@OM2ast#yH#ce{SiJ3dHUMS!1`HW~RKVK@4=zxJp0q>Y7t2IMJ)pd8a_9RiS<1O>EtiTc~63%x08(+)&f37TuVmQuuqC(oFFQ%M54i z@OS25(ZD+3de7^zZ21IV88o>ab)15T!ao#ku)P(1AwT_X-6PUNxDbX(8E77dt&4Z! zJK`M1diFcuQ#${zgQT< zWKdVu74bb=SNT?5pmt}pa#J)g*)~+Xt17Uhi{aFVVpUNZB@|5cUqfbJ)=2qsNx1%}hm3!LhTz7}R6J z&=DFgXflh&h{Cs3<6h2}WF50dTf?O|hV!cJg0J3*|%a(02} zfEU>9HrM#Jhcg@4=Au}NvI|(L{KGAF0SX6NWI3H~FJITCn`&6a>|g7<;3bXSk~@AP z_$RL`vXYhD+#}+%rOO)7CS$BNyN@-XQ=i(p^0VIx%(wM$6-5KqXV%B}gdYnrxWJ^R z5@!{`Aov{%+Yt*`dWpWU7`n9NZ9jH6r@3PAX=L{-*(5-5A=UNSe2R2TLb3;}s0&~n zr3%Zpy7Z|dzeq4=`XL`%n%?(7>@tZSzgZC|gMoILO@M-@v8j?^9xOV5GYI1hYPCA@ zhxXLBnfgQz4~MxB6*~rF>IDV%)awoHIyI};k9W{G`97ph!@RXwi#Lh%;U8fzf*78I zlIIldzt=w%9=W+Lv0fa_l+@s%Q<7tcMk{wUT@ul$8QPbqEVH!Nbgw+J_+y8OcoimMdyQ{% zIJ4gLtUba!(X(=TR!+|XE#IJmbUSTD9ndRd1m;t8Id$Sx^E|16QI zr2h^ss`G-wa01$5j7*HvH_+Afh;Q^CmDf!7n29hanec$k;Q{MrRVTs&trG>_5@E|qg%|Ri&ObQ(@N9kW2sbE8(*LjDBMvEC`#@P9 zQBQ`Anyxa*!B34_tmS?4+1QL)7|=%N5uT?uB&(`a@h>Q1C5B zzTjohAyv4C54MkPbREi^d1okz#!`i?66+)eA{nD=yPq4?V_)W^|1dW_^89}3zs^nn zac+9ger3*QnhX;HRe|1@zT)Box5e^Z65tu)k3;&Ob4N&!vBTVJn(|~Bm>dvEJY!ZY z&vZZ819O1TSr+5Zj|frH9plt8y3M#StfCMi&LUNZZ+L!5_B>Mx@em6J05LEN%k`wK z%O8Ke?<{Ub2>f6jk3O;Lf^9MQWTJBKv5Q~ge5;E(VkbqCqj3SaiSyf&MW9Oo=rVX7 zQ8}UB=0;>IF`5(3jYM9lE%5r6Z=4e7AN~pN$(>?p`pBGsD+oPx^bVC9tSLx8q%dO& zw{i%(2*ulJc?aE>11HKcD=!`<<2`>%HPnmYX%jcEBKhmg}uaNZ?`&x zlTgu+(=@D>aH^e8@paS9rcoP2$O!({hD=UufSesevkP+7TUf+7uWTHx&3f%H5vVY(@oxbdsSc&>zM`*M&gI0Y<=wiJFhBi0zu;kS! z_KTK{(!=U#)&%QM7?q;|^3G@2e3xgbIY%->&5g$nl-L}-91oHr$Ad&u^}Q2Za=pbN zE$06QKRNC-vsH|+lGkzPy}Lym>Q>s3->H7EJ5X`((hd97Tj|yN95rhHba?WRQFV!r zs(%rXI!e?E7^5O>oB*V{gxkwXHAFTn-Mfd8H&MQ5-`Fs}p_Ej9b0n4DUcO1|LjIia zyMxr7z|iVJMR=?X9>V{o4FT?h2L*;s8&nkOs2*Y#mR`)t;-d5+h_a>)3F785C>Ti% z;~M4lrSKi4R^|Gp-)Gz8ScAI+{yfd;6TJP_K6vi%yt6v0C)jFLFT1o_@vfV&O>&KG zvD1k*F##$H_4vzK$>@Y_x%6XQ)IFX@%M`IHIB!x9{Yc+U%M!zlkw9YrJ9nnI39*!w z_)4`=9J|KNzjaa22&Q!nRHk?lG8tzQ4L;0fV{qcny~V|TE~sa~QdeNg%}wm`>E*h_ z5PtL((2t6)*BF9?$%aqS0YIX3j(E~`GB49TW8*R|dCS^crVs8Z!WN33lX7-Ut`KBk zKha69<6wsi6uuYuKaT=|w32X$R<)B6O*x*)U*KD;+Nc3vK<&$PoYJ)wX^zrhigeZL zp%JoE8?CW-Qeac8IJc8MT_kyiSl_Ezr=rWVjS99Ge;41$Nc|6P8RfyO-ilWuM7#ld zXBm~LLX!XX20z35ipMGFwpe1K@QIsWihuA+vl$}z*HxuP)_~@NZDbyu#Nj%coTtb& zgi-@Y<*&$6#nPP^EQC2Fp)^+f5uI;=f%b z7e%*y`;~(wHB?R6j7DODq^YMU@@7rl1J^oJH+?_0FiXK4`jvPYzX>{6S-0P%fe&Ij4logc z?nHloT45+Uyqhp9+;|}&#&1bN z7bm?B9$i<;+-pwB43Ti{7Z`-ikTP;Q7|yLSb*!&#-`#62>>VQkF;&E_wzw?Y?F33l z#Ok2!8iwI4uE&w7n~ys67;hi*)5YKN_tHOcdc2epUXPIgn%=r=MtzogaQHr`Z^pu? zlKv|U)LvrH2Zow~i@=3+Zk+!_ayJc#Pv{$HX)`GSQNmtp=(dt(rLc@uPQV#VrYaROW1sS?s~$PqL)Jyg2+)Ry@j32AVDf@LW?- zd)#$?+|K(2hE6VRpDe?BMD#g!M7{7|`-QjD-oVMo-D&HauZMeLYA@puadWUJa7#vz zPu^V6wa2_n9aEj0EZS&-p&}~ASVotJgmjsUWo{0+SR4_<|Es-bhzO(v3Sucvb&iNR zM-s&5VfxtC?Xnbs_;?$STas|Bg*8|3>GP3Ze>13U zU=01_<261fCXJR-Btbld&l$|EO5z^vcqig;1T+gdj&>jV1g1M&H#W((QguFS@#h)X zqIp&JiYw)l*pa69tSz<#L&)C-Q5;qPDLU}&MbNuCQO=rLB&ENM3Zh8qBk^~3M2N|v z4HD4U5;>q;|E!41a6gopXGr{q6>jejM>iEm*bn6rS+^KTXM6PsIraB~uc^eK*M({= z3tt2wI)dlGcfTXw*K%O%r+3*=6)`Gt7QIHZ!S1?VV)|ENhDEayo4M_|G%&P}gP0z7 zJUeTu0ta&PrYtVaFoJ0Nf-3~D4tQG=&7&S$t%$FAT%In%hO1cFH{EBYZ>f+Z<*)pn z^7e<%f~_skYALm6&IPMWSwlT|jZc`%5lx?^0$MJ!_cKs%){AGq_bL(#OOoAi&|o9# zNPHZ>3|N&pz}of=N_W(1!_hNnj=8l3S-YNra_O*@e1#r zG%9b6a65hMm*$%`fqXZp8jevFr73 zuMN0E--luu_*;g+`E|>VOJYJy0n)oL3l{hrRv7ih9uYnvIy)J{KKBYDhHDW0x`7U& zSD2|Yh#vgXxs%R}{ngyVbL8dB4G0s`267x&FGQE@I8*Fv%$X(!zmfI3_znEyKk7YS z^Z1>euPePD?tJy4uZwp|G-2YYyada_$|&Y4IhVyS!iyA3NnxT8t)f)Om5PKJn~|Yg zq}C%xm&}C;y?$Xdas6z5H}EsBeeoT7)DSvc@hXQb=m#$}zh7SSTJt@Iu(6f`yUVv` zirS5k1?G4{@)8K(ZaeR@e%jN1yG&?XyAU5xs=|4!m;YVpbWT>Fx9J`n*c zjrF&;qCj>yEQyU-rPFZ?d*WMkpnGROTIm-}R_GSI6;z==y{~j$&HHNJ%?fg}s7H&a zlMpaWaA1Cw9EF!k!VpdDFvJ=v{b!d-cUz0md!QGsvQkq^?LC)@$j*kyz6Fu3=}r>~ z@*dNgmAcLJz(kVSVHct^o!IWSnC8$j)n`9JVJtARB`}j$-%!fBg*s7bazGxXZ}*$p ztmJJ@?aA9sUa-b8#u0tym1z43qO#TE3!TSwyFFN=Z+7%YtgNpxwfJm1@UT)&cQB7d z=3GR)ucY%~R=6XdnA(v4fW(YKt%^8O`&Q^&q&YS!#%@=xxKuYWR4Tgf|1hSLQr{wb0VryDY02~0xwmtjlg zFvx`hq(+k0=0yUNP&gywU#q!JpM!sYB>r3=t2DovXjJTgyCRDTf}ucW=%7pOrTHApXPb zS8&%)(6N&TBQew3&C{G=jSjF!T zr5;304QL}`P7GCrRSm@7SB7NmY)SN8$rHJ_Vm&dXfjy3tNFpD7#%(3012DbAqm^A* z8HE;&67*;Ne@yHqEnAV^qiDvVB`I z?`@yO2=Aadm}7S#2)YaHe-w+_%WxFB(;#5aCYPCv23bxaDPC{y#aLQmrq(&5aCNQV z|M0)P0@AtX>F4YX=lio%aj=z|vQU&!WDyo%HuBPiuDo;um1x5e@7?u>8+tT#&K|Cn zo+_?QX!J!GCnPL4@PfO=v!(Uo*g?9)!#Vo89Dc+u`lMf$cZgl+z%!RuSCu9|T)Lvp zv46buXL{#|9?jLpAwSfau0V1kI!WLLZ1T|}= zX4ZHaqosxgPV@C62@Mih6%J-PMSWBJ<6B@PJNu>;XTL>jBT zO*tAXqB%(KvK8@>Fk4+0b1;xKB5Re!8#O}1P?{J^m;fzQNUaSDsm0-FVNtqO-Nc}% z>)RYg$}{D!bX~{G@&^8QG5;p4Bn&pdw;$>~ejd z8dGb(52>&-pR7dD9pf~-`{lCxrrAJEl>Y+1ghZ-kpCoY-`+ zsIFy1687xT{YAXf$2x9zmVh(6ug|XE?dLmpE1Iqf-ysR(2Il2`3`yY|*4DK}O-&_x zHNDDYC58~eh?v2TvTd>D%>t+up{2OkEd`f2lZ+vYc+E)1I_8WJznko*g@LS$1{YoK zp6#HE;3F`NT1Nc1ekWGNg|L*P-&;buV}D>yohsb0!SshYPS zgUA`d0JDa)oI{sx@K&!#t`iH%p)G+`EhRh5Pz$enTuAV`m2kq21y-%Y{3;|sHGLUT1iKwtK%yR5N6u1_ z!ZD`1yi{oEgqs(#cE*JRt3vMLIT@*6@AXqdbgLb8$qH`e4YaT!vV?Zq7oevGiJVnb zDvACl-_R<85^5=d-5aXZz+(Ne%7?tvnhX!~9v$-TSwW zB#weMA5<0RLfs;%xg(>A26G<=+r?QyHwNPdv^EpltG^ZmKHDsx9rf8(rZe)%-y8VRhqlPt8Wnq2SpRtK$0dEaYT3p4Um>lX|(cnQQR3b0TOc|2npzSoaX^u;Oxyy zu(>&lrbCN{074B#T}OZ^0!p%>pew*TU;|KH`MfUg%l~$=c3$A$^Ss;q^JuSGKPDdZ znCyhLtac~N5ZY)-Q22c)g`MpM4~Zc}!zEanwvX3Py?A3$$6q_w>3DqO7>~qieb$@x z>0qc9h1N-R;L+Plgk_jhVO_6<;H(3h?AazEkkSS^WV>EOd!O^E{k{cfZi?m7R1(y7sM`Up(FT{`Uudn0Mi|@A;Y-u`?TxCvGO{(IG4N+frv~ova z$^HBcXP%8*@nmGl#-_rqJNezRDX`>ro;hnd>7R3}I(=8-3p!mwr`Za=@;k=L8WUti zN?89a{l_Z!XLg8;DR~|;f;;wa%cl^oW_KqF?yic}SSJ>9bzuPbHBhwkZqBAmb zdz}wGl1o{jCJ?4MvQ_M2Cy*2Pwpaam?ybmqO{a);?YBmuN}sfsnM$lXtdZMT4<;%p zBi6IXD-dXTf}O@#KP6swMeJQa6BKpsZz+*&fKGGGJb}cWJTiz|^=Sp~B5XO~Joebh zSLlqnGP~t)Di)QS4wVzd>v{ud{`ae$-4i8bk3H6@Rxx!yq!!TCU7xfMx4uWAK=O#3 zsC|02PCPB6$i{NyxVo^YuI!U&>YkEjIxJ;{rC`M^{E+cZV2SnuL&4tUMbl-8p{SQv zfhq=W+wJNPb0|I55bkV1lxFEv0ypQ|Q2t()mfxG6@7c$@IdiZ`JHi+Nj`RJrk}-Ax zmvnkNLItog^w6s+&~gDJB7GdpN%>Z}#q2@z^@Ma;JvmMzhigBdvxfv)M)18y&DT}L z&-mwko6c;WRRqr=KqdO6>xqB7L`c1<^$U>tFd(V^b@Urdvmov}zZQDe7QpU8HUam3 zst~PkQJ_oC_DH8FLod<^2(^bHA&mLs-TtPDd=LSuPTo^uEK}Nc1S11BviQ3SKEs9J zfT>*-BxyL&#IdluLIyKuyX+UJ>SK5|hsiofOqNL$ht(yJiUR@!4*SzZ90l>K=eD3F zxqXV%ED>H&&Rh>t+2;Z8gnukw$WyL7+sM;(i4ZPTxFgPo%S@pcd8N>EBG9SAGro@g z<=gduAXWIdGW}Aeh@+>(qxGT8lsd#IwZW-wfJ#+6r9QufOmkG~*Cet*xaXVIGeVG( zpHHRgG6FebsixD{`444D>~zv~(3vh&4vB(W00hC7gaV`)^wT*t6n;#!J25XGG=wk=_c*+X2yq;NDt0Jkw%wjUUO@{P$ z%z2lyy?fq$Yb9+sCnVTAU0M;Cpoxj z!TqPhnt~acr5S*e?)Ih>uW}`3E~Rjq7?nQFL1sj;;^j>{nyym&z4zRH$c;qmh<%r; z*ivBgNSyb`f5^LQG`Ba&w$ zZfm2C0<5xniyzE+p&rz|^MNcNE%m>`Zp@gjhkQ-_z@&=wWCuG9d+LG)oHWWLMk-Ve z+C#Xu$+#2&n2^sIv#_(brdGzWjJb^oHRn&m$haNOk$*twE?p?FaI$V2ZXdMGpOuEp zig@61)%ME3ZN}?!11c8uH&X;Wk9a{XR}$rXQILTx^ZJkAQZsHH+3HB26}+T zRVF<;BOOS8QEEy@3NppNx)3MLDZ@^fGJJIqAjNkNZ7j}giuDUT(H7q|;=z%nZL1;X zc`xk184Re*>#K5oTyk%y5{fs|bOx)42)y{7v`MzlioO(kuDvmTX40^9-^^LV ztwhCxzVummdB*pI)-*GYz$Bo!-9D4o^qrmy!=^~(r?F!q@sIY_4R|^lsP3%xZNYb; zcWbd9q_-&^aKEK!+Z-r+{BjR}Ym9;u_zT0-BDTK109Vk;41q_hlUFXrbK_+^A@Fxa z+E;pkfnw8} z9J_&=JTtL}U8kV;B9$-49*o341|W(U1le9DYllS?wK=gx;+fmfktS=45|fMgPGo1s zo0vRY6XmWJ$6z7o;fLFvw;@ER6VKAGV>2=YN2JR2vCET}6;)nZ6yq>EOg3r4gY&tx z>k39I*Wn_#&e^w?Z2B{NREGAtS)Y->1K1COIER|P zZ_t>Av*|Z|(;ZXhT#Z%VW78}yeEO=%-Ie|7ZQ@q-I*yfEul7>rQ z)E-k8?5~-VSmA|z44h_ecJXna^&Ca1WyYzaB}>~IssiB2H;#S&fTLZqDQt{9>H^g^ zkgrR;U#G!VZgE^(Ign(E%jlj7aKEl8sN=5gn#pk+Ouzb)Wf?S{^AZ$VjX`M?i=;9isfagOOmP z6_~us_yPTkDS16-O5Vs6|L`0EmEa3zO5O}C8QL=?joGw7i_D1dIE9htC7S#eQ}TMI zxIUXh6G~~FFu=LB*>QU5PoKp_N*-w9+Zg_{j{PR_ z9R36Lvu0E|e5Qd1hZcuH_5b^Bpx~T$LXQzeiu;}-k3H)w)n^o60fHL&vg=ogi}u-DfV2xLSpj&hGVreWEs=s$}7dsF((}n=PZ}lVy{56 zX4G>V&_B9!(uUPvwDN;_M>*EzW`+$`>y&qyC>IlRi1KsGun_7A3xY1U+^zS@v|FqpgXQy&CcTJ>vVD`TVY! z!?*eTKbcuC%s}pVjaOSKIu+x<|D5HR4?EU9m_jV%pT#vf7w`-Z$47FU76I|hD_>Y} zHr@dXq8P{Z=U*1NyvPhZUB3^oE51lN$Pc809Aaf)Jo(+&w~l-1ea=$e)};k&m2I=Q zil;WmR1%ZJvTiQG3fv-_WY++4;SIp^z_yPw?R&;)zBZ<>qgVa-CzLm6@A+NxbbE%W z8C{@1sA64d!!J>#MB+C)-8%!y0WlE@eVgym#N49vMOhokaWoW7&A@!;%^eb+b|Y<4 z7ArA#cy1M^({pT+SU`&IQHDB{J(g{nWOUT4Iwjmz4?_fVwd4flKwy4l_i{|MuY-uzX;9h zV>(FLf2|NoY%q%v8C{53fQ3*H49+6avhLVamO-EJpO_8y^hrD1*h|N8U3g-<2*ju$ z^CtUy;xFMp92+sIdHl%(n?BHWF2`BPb2yKjQxw};z4UmC$N=f>x~xQ|@u-dz9Ys9& zrbQEoGI2s9C*Tb^_aR7Z*BRMjvqwZe*%I+>npiQm@0qEKiR2xa^jEB^I-?1l)Ng*N zYy-Z62$@Pncdum07}I03(;SE%8Ty-r&z(Qp4?ckiYA7C`)fG|21A+-ae zvw_ia7d}V3@Il)(r{vfyfL`MF@!Stw&?n8j9RNgUxF90l1=GcT$L6~ae60BEduLUS zC8G1igZk_Pqb*k125U%y84aDkuu!)s#Y*f{tU&))}DF9}v{ z={`BY3a}Kv3|Jn2dT!WosO;}q{2Kq$FN4>Gr~H4xi+kf-+*(4Aoddy3hV#K5ctss} z6?_T2EUmz{F60qkfL~`;j@Cyv)zn(OO1b&{4b!&;QZ@ zJs~)`;}Cq<2aVNS?6&*p*@5{we`%Z&QVS+lOjPanhjDSk9H97|4ivSa|CkdPhB+p1q$$t*Y`!(n@Br@LQq@VyA-(9$Xd)kYCF-o3|gc4=w+il+~ zdTvMu%_YvW8ozaI5RC0-Jrh|As9{QA2Oe_Ow7B}*;qvn zQpGd;x@%gXP%kfXYocW)kKygA;nX-2)S*JYY`4pvCugs?Zq6msPcX$^V7NB>VCpd! zzAJoPD2R|z`eSBv&(|Dhfsl8k^R^E2?AbqzO`R+zoFGTsRA>yj`Cuinq%u!`@ef@D zXmQLoQnx#{)rs4U=~S)*fMZmJz_uC#uPXyB?@eu?SZ##d~+p<}z2Ta|X~ z(7-AygE0_jgsOS>z@~R4yW}#~WDOpTyR@VhNwKSEDaXbveQZ`A-{KgZak@{8-<)xvhB0#y zRw=QoBLubuyNDw78ml6Sd>YOiq1Cp)Aqo0rZR18qUD4 zI@9fzm$G)Dha?`-q>l~%nQAlT>%x!8f=_oOV)$J6%I91H!29g-SIXamPvu-@j78Rw z#{!L3ny2dmknk+y?{p&QVx!@7@C}=gDj=q7^oOyEgiXfzz{_%vu@;b(jm{yGKQnc% zu?0UG^g}WwE9KbJi(1y}htmTT;`*^dIYA_k+twAmzk z5~=U&7adf`;HHWiPZ5aJ{ajy${k+@G&M|jC?nJgY3hgq5u=&&?bfT^N4R%%ss3qLXkRnt3T2*%AGwU7h$BAKM_UStffS6?sPqQqj$jYLbC;E|Sf}K0w zCJjdsU$p54-KTCo&uiy%B#9k28@>cG=utSXwb_^BnkwdcQ4qz6&R+FsMTyf;1ke7k z0c>?*79d!gZDLGoeEO~ zPDw0Nr5G({BH5sfk&!4oyZbjrRlICBdtI2F=Zcl&I#$5zr5u1=ay zXQhS_*z=8i%lDLhjIMNXb*WC|OPL+pJ16y)aqP1{SwI$hRkkSZT_+|bJjpHJ&2C8{ zQky^WVZi%o4YC6kxRysX{xn(?B76F6VhM&<`Xr%y;gSjrmv$Z`BE` znjOnTLxb?@VzG!r2_c3q{{TXDM!8mnzWlUYD z$?f(nKqG$Bm`rSemu5OYEFZrbh^EJGZnj}D4aZZjD1JDDLpn5 zLl5qfC=LC9r5~p>rN(B~dwK2Yl=prZWB7xp4F5*uLjC{ql5Ub<1m- z*knxwB)D(jR5TUBVQK z-0Butr=Jw*gxuJAESQWCjK2POeGF=0i z?1A=R<>F!|A)}bn@ziTDCD77P;7)s>WhSqY)U`9HzJZn&f}wU}KIn#l5vPV9GY&!s z>Ac@Oo+!~vw`pJ*E;@ax>7U}XDx#@IpP-~>^rv@O^?L6Wyc;_1X2F0VFuy@7dFf%a zZKAc}9)AFj%fKxUsXlpKwv5_GY}<9WlGOgbZSUKjbCi*Xo_ghB-9sDzcG=fYG(MVR zP2bZu39pu$dT)0)5hl?2{ee9fJnX7qF?NLdUU}8r2_1Rk=W$|=hlBkcpf0(ILtfYW z{Li?0ZY?o{DBCWSO+7<)>@>YMY}7ns`ErkeT_pKLGi}!;A6d!+dy!-yf@psR8D1TjNG0YEbDl0#6=q`qO(+&iioQ-KjBI zB3IOm4JT78lvQ?sV>pb;K)GJb)7VJz5`>uNHXzKYOFm&X8sI;}N{v65LqR@UR7C98 z!U%Q?dT9{T__4$$aB~XDLnWc~tSmn+Xz!w_NV59mpni0#-IV{Oqn#DLLqF-U%@cxX zrcU{_tak8}y>$19{MJ>tUnNE(amePBEDW?}y)K6qHgJ-G4YQt1DV#_y`3qV!Vl zyn>Jv)^K3rwwlyjU!?NY>OgI}CK)?9SmXPr zR-T|JT~Z7zVtxc}0aH7*6o2dImEhtN3<}!>S+svJ0rpeiyX*piLl<|!vF$zV__;D7 zWiz}d@*3}?rW+f5TOJD9Th0)7iJ9TV_Iwyy-~tbA%-akkpVqq7JZw65sv`HrKEi>SpKOi)1Z zZPp!n-jB}qyi1kIEMBjhjYKMUcPsS&f%JH9SutX5k#39i!3YhuYe>vc&&31wW??V?s)n@Py8rdMU z)p8Y1>Kj{wUG3NNVfU=~Cxg~FrT|%Cukp=xS(^J z4>O`{Kffw0JbXbpj~bp(V#5`74p14 z=iHghgsAQFf4!d9>v%>CXuR_ zoz|U#$r+c-bz1M^ZVcM-+%GwNxVmgiqRg-8o7Fb75t9Nw{bK11{>2UK+-8yO_ zJ)ZQk&diuboYNbpbr|LQd(_Pa4$NzQR}uGYS4k|E(vdg_0mJ+b8tRl$ZB_9ns?XAh5KBk7?!vk&6$cB+$T&+D>=t(V5!pe;)b=KnE6y#W;H*Q216)4kx{y*8X<3i&U4ih z@5~=672Zu|z%nlWc&vrF0A@lS70qI73v;7!LM$;#{{>5;beYZm8fiCIsxa5lYZt?q zD_)n>HOB`XAjBjD2)&;?mzSsgtp+mt0<%dGKzMesE^Ms^pl8E4#D>gaO+!rATG!1r zxRBmJoTE?LOl*nEie#ue&CL1p6)%Y#9GG5@eQTAX>2Tgv$6vvJ7A1=mR^C{d=iKlp zBOpxUq=%5=^1O58qm`caD-Dd)nPu;hs(?teJNS(;kB9{k0&I8qxNxa&j#NF*gXi(c zN6Zc(PA))2oEm~B#;`Xlmc=NO#0#v0>K$t72~nX|$L#fbaNk4&*N1A$-l`6~oI1kz z8#Ajlgz2<;*E$G8W!8Fbd{s+0mJ{iR) z^VI=8xk@fqI*=h2M`RHTxm|LWp`jfEpLYLwO`Zu9_ZQ&6`H7e?N(Qh9uQ(LYOUE;4 zx^m+gzA`3~8_)2%jc14{o?)Bf8D57GN8-=w$O;uza{VAHZOKN>n2Be2%iIyqFy~O| z2L162!eA{+#WN7vL0HE}!Nv=+;u*GjU%{zL{K!#C8rkd3lZ!R*A<0gU;^}!MnW%-s z2V|?5*Bk*-CSQk%SU822Qzhw$g{|IxIn^GKRqZE+CH!iP4NI5=>>~YP2^09~J%5tI z5*{yu9-a{TID3oy@1g!YCj_+W@YjvoRMuqthGx4eUW z&aGJE1~x^j-ibJMd+=s~@XC23csCx6$&J_%1NG#zao$IVGIj#%D3IAjEPsvyk)>t_PC>li=u(|6-Z{{WpZO9z0)e#3-tO?0%{Whh-qG;Yd=0) zc-mmHv~>@UJW$n-qausHnpB0usvnca zJ0*Vk3BA+e6Hg!nsho4?Lb0k&r|qY_kyZBiNo2z~Ve6ExniD)8}X)%P!`0-XSa+ ze;B2ycA4t!Om(%%J2Wle{ZNn5q2f+7S&Q8HuJ@-3P+McS8ymHO3Mfd4EDv2gLY99hR^b}_|$@=03&2YO6O>DkM1 z2aPyD$)nlhwm-xI@=RuFWZhu&0Ogk^YqZiz^CxO^ONUe@LT+i}i(nT&*{1!J(&d=6 zQQy}z|2orb(^YmpCx%m{hM#(C53>2BdsGjTb5^gWQu(B}A?tT-w)v!qk;8*y@=0&Y zmT}t$B!B$0eA36^p&pn|`irat1u0}4w0)ybDoIn39DKL=UWM{=)6!{S>%t81=eW!W zZ2Qb|qGrEc0sYie|Jn$VzEHGdw9cK<_k$!KRSLw+%8|+WX6@$Ip%>+m_`j?^WB3y8 zogS}|MwCini>D|Ywl_;fFPHdLY5LKtmB<#4u1MLFoF`R4u=_vROaE;-ALPV8#z-YZ zE2Iw3T2CfSZ>v{mUed5!1W+b3BmAo$j>TIF6NG`F}G^1Y|2G?Fx5r9)!L%2td`tloUZ)qK@SU^oeg5SMx)%p;SB zC{G$b#hVvpkJnjpk(sO9F*{2ncMKT!JPfj#F(1qOzR|TurxD#}nmPF1`W6f|C0I_^h7&ZvbT&#_bp5Ut-P8sFix{ucgX4!?Ym&tmb9QeP(Cr@voS^b0l!@owKXxvOSe zNVV(6ObEG4#%Uh;Pu(?f%zA0)mTnB)QYq1`b(@>chw0RelLN3|+~nj0s_hI;PEeb{ z((f7e){v1(7Y~>#XNk^f>b?Quk)uy4iD|i0Oon={7&_StBd(dKH`O{z?gBxz077iB z$yx)>lBK-Zr;XV>>^?>Ws&!E*vq1<=BQ|Iv!IUC`NqnKP&@QLMf{-?hH;{fE>nLa6 zb$Z)BI|eU8gkiv`U; zt_F;qwcD8de@D-_WOFlq=UPIjnaZZgPOGJe&6`-U&pXH?(Nc;AQZ$JRd zti*b%?r!rxnI>MV(nDW<-cEcq< z7Jn-icx!61;0j?%jC3g+GZqPKl}>7T4TNXZ@uE;6dB)x)8AdelZ)F%F_Geo1@+*w7 zz^Kli_gCH$4-|R-Wh@9^m#c%FI!OD9AX~*dvxbcN?{Rof`~`E{>-|`t#ovb+R5&+v z(~n5vRDSpKvq;r~&Cb$I=1u+9$Qc~_wzNaPw7?qK>pCOIZEtX1F+%*dloLt%4;tUW zwY@Dy{%Jy&dWaEcOIpl1XPtNLI3XQ7RdSYD+vCkwn2H*Yq|R-o`guoEXHe`st3OHq zW#b#vkH`8OJ=Bk6oT>k?kE?&A#4qi#yKx-YjXYhhU68Gqgc$W{vE(;M(gHm_)mggM zJVMzs!~Iiwxaib!I%kck9bsH?a&WpsSlk5@&BiGTL{>&SOANFT@pkb zA~nhwJq+b<=tO0bNg-PN6zS= zaYkE+VlPTVv>Avl0-}3SMwy>Z@9#K5H9zkUm>(r_0DRq&AI-ENPo{CeZzE>fh%v53 zpn5YKl;5`;rOUg;)G92?<|u7!MyF1v?N#x%s#lyFS2N~Rv7xts+&uavk02tEILh~{ z&BG0w|1}~6znr$`&HP*mGIR2^d^JGG7vY!!!3%&S&Iihaif#tBzz%F|dyBx(81h>z zDRc-9=l^pB(FXk~>VAsXIrvSVU}WHmI&#A-z!FV1Z-ymo)@iCj1hF^p)*!-_jhmbs zKPT8F>o-S{71ySP9}x$ZQZJji42P`ltly?#U`gw$H@uS{C~llx5res&-$Qq1=+Crm z>Dg!hIj@RqJvV-SZ};r<3|XRN_~E=_wi)?E$uh`yIQE%#7a&f2yN4rfnSaCk|9*_- zU&l@4&Q#M#QSuB5*h-4UWi5pg)eEM`3+F#DR1XH;+#__zYM||78t_r!WeF}L_@m7< zm!*M3IB?JjhOy!{kT5SC0w)kD!e-%ghRw1Wf&PHCVO!JT(PWreG+M>LX-q?GL`ek3 zrkT}hlj!?jv=qxTEqP6c*_I5R4Zs(zz;t6;oGN1$=lL+;_VRu*;Qq3w}2E}#Sk>E3@XvF~k3jp>n(msr%+O6jS|iQ|!1H2U#Y87LQl%@VZtk%Za0nvsOh4CKuE zc+L9w5cNVo%&c>+Mtau4-DyGo40B2g_neGyUQAJDA8Eh}iXxIAaHThv?+3T!ktd+o zXx;61`F*&ArqSW;6L7;&m!-tgw-87=l?AAiSb zBvzHpjAUrmNTzBeL%|}#V9XfyO5(fuU3wl%Uf&nl(#JmOMUtSwuan8nGP$bY3(p=2$_Ry5uicIrPcYivl(QhS{xUtzW*vg~FwAZLlovwbkK zEEgk7D8uIEEG2ciP>(2}MmCQ`2?4@{J%UkpfP}L{lM@#bFH`lhEJVV=&mCdql{W_9 zpaNb>ouy||J7WBl{~mO&vk5wYWwkP-&q+f&|BzKz7IL<8-1N)4LJkwsWOw)0PSq+ z*D~5!c{FiK^o)x1MAjEIUFEcD`T1lYeqRqOt%sFPqp$UTSNm;KM%X}rd7qs(s4!86 zmPPSD55?b46h8#PmsXOr{iYdrV)FC(`M{lRLyQ8S$-xJIc@Ae%5z$qKqQ%)5U8o2 z)8`W38WT-?jr(shvPu5PCRrh2k_bD8f3aWcs-R11s)I;l4Ugos!%7*EnaKwy(W8{5W0)_(_i){&>sA%WwX=yes zU0K>Kr-lU-^m&HJapEE%CpBxT0cq6Cim}>!ix=OLe9vYo1JWsgbg!k(o!;TNJ4Kyy zB{`XJ&gxz-HeeL2J=lV}Ig8=xXw@4`1~TAUZ#y1N*?(T%cQTZgT0Fd5JbX8(zZ{gU z%&{l<92_TSDFML`UwUkwHy3|jhOzrM_&TDAbJ!3TDI$g<%2sEGut?%98th5P#NFq} z+eFq(D6UCf^jPxxP<6|PhY^eZT8%U5Rh~~gFuCBdY7kdy@(Jtyd2#~3MX2r`|dK=R288MzP3L574Ww4@& z9z9sT{q5F^877!E{?2x;?3(S&YJb<6+s+U3XHlDp zA)M`Sqmt%E8i~2tmcH4XzG+Y2+@HQ#k-k};zG<;HH6?SYgs55bx54}ko4@7eZ^-T2 zRM9?rd3<+S2Vs^&mqkZ~*rZt1)x5)5dBjvEeyTkIGIQpxh0;_z9$NNL4W=pBe{8VIL#%a(l<^XN+*V_g+F|zDSLgDRNI<7Kr$Rg%* z@z1ljlYI;l{2{&(k}U386KD!KEBA}UACIuVySjDzm}-+xG4hu;rVhVwL@1h^9Eh;< zr|H~i;F+BM4v(=xS~}Z^9h*- zA^rT-V8JL9`z`5CO-)2cgd)yeTN?KRm=te*B}G=sep2|v`#I}hbCsEzj`_!3f2?w+ z1=zgN#^8x;s2mk&CVpWQ!O?5X^lWTQk>ai0r_)*Rd_n0g|33@Qc^?DMZ|%x~XBIpj zCtc?MOW=V)gsp$dS|@*wBb7qjvu^C<_qJts|HH|1^{+qgyoWCV>D;| zNSIL)zOXXkm8Z_P{y^N?@Eeow@|?XjNX|89oHJrxBUw*%f|z#n#7`(9=Xg<3-#G-* z{xh2YO?biEFoL&ZWp76V>^@a11Yju!@N2%}ghfKJEZUrtP>Krj>NHC>K%QrlmeU*>Q?tXXl2>Ko3gOK-~-(>YBb$5CR z445Cp#ph5V?kqlIsB;Bd9){Em`R0aFOOEG06y#VL#5l~G`A7+ zE<`WP0Dqzne4J%{>nTjhRJ1G=4ZK4_%Bcj_=n$3NHHz=u>Rq)zRw*=$2%wG-_}RLr zujx!;WvY6c@2GA2ThqfS@+D=!ywgC>d+68789)l%WfVajrpmI^Fcm+h;-yTdNII3> zDfV)K5!iHE2LufZd}x5_sod#(DP8@e24v~%iKQfPAbHy$D$;GM{SH&O)qLczd~3qkiUXZ@bZ?^xFFukw3l*6(xp?Xu;Y?~AGz?=HWJ-(RS1 zsVr~49Kq2IRJU|&W}w3td|7bs+n9=|S({`8Oj#2xTN4XxSfyo^!a_aBt08(dMz2=s z*5xC%JhSI;7160k`9vR{o1Nm_;JcrV31d;GnZr#`rQe*Jp-LEw5EzB^g@~B!fM}^a z(OJ5i`p`a2st%b}5YtN82q8}Z>!B)XURBTY9CVkNpQwlD$^x+)BOSi z*FbTaaIPT^KQqi}MgAzYT?sQ+?ijQ6bH;bwHR-V(A$(7d%}ISFYdj0iGh>+-8*Ch8 zfbSp2!Kp=Qd9c6#jo-}l-Qc_O4~$Gr$4?%MzsHZJDbe`YsIqJ?ef*l!Q)l+SAd&5b znox+g%__i%TF85`fD}B;v>P90LqwFW`~4R<76E+_nre(aBX*$4Z#C8)qlzf0K$^Dd z`tkJQHsVln>BWx?B>x|z7boY?i=zjj7q~YKy%0V7ZpR=rL-G$0dfK~-;lw-c58%Rq zs$S17>+iM$mI22Dq|a}E8r~+$k~Rm&*O>E6tPx^h`5gYV_^mmhXsx^jn@E>nc18Q#|w-`o9DeUm(g zLlt_fRf10|8$WAh%d_xZ4Z-jG{)_IRkGsP=yc6F>(1B@VM`4Mfpvf_W7EKu`Xhunu z!Nnv&mVYfiVwu@zK5rMn3nwtaFgVgbNd1o`hOudY(lu_yTa!A%7^Z%&@t+`&EZrgFE8VV4Oju@@7b7e5 zzVi=3{3biK(*L`S>1^>jp~AivR^f|{7iU3}C+vA0_jx?&{>UzMH9{mT<=w_>*!DyU zu#Tp=^RU+M^zJxRshZ~pQ?oz+!Y2+x_ zY5q~Lo9t1rOPB@U4+54VM|xZS&Ir2vqrnrnQdlhc6t^_dNZ?0W+PxZkhLNG+E95*18}%4*brfTOL}yte{8-9tX5bmDOhWIV7lW z^p|#($he%dep=sh5nGI_?de3}@FR4d&DV|`^gJ8qmJtP_>qowHco`z?2Y`)6!*T%Z zj3KJk@V5II0!}g;7{czK=e>L9qgSoG?SaUuOHZs!6}|b|k7K0Pt{|8UGxmL~bmgKu z*{#^>R+tCuAH)!Ga-;&o%zc|99UTZZuOjHY7bVRdC8HHDxD`+HX^+@h1(9`c^L3|v zz%P$qJ*ruGbx2Rj{5~5?mYfj_5COi9e9ZF#ynT;o0nRsl&h6+tSV`&CK%`<_EKye) zBQZf>XC$!Eee{2Sdg78jpSk)r^FjWpo9;3=`yu4!mmJAq@#<1>^*0vRlD2KK1$C58>Dko za#k}Cxg4I;x+mN`ib$+z92*tMy!Miqxx2^U5jsyhX1IR)O)Ri668IpJXd3E966XzV zhy>oH4~M&tq+w5Qo{h0TClMVwS4)fzVIk_!$e)VF{}QeEP_O2&SxS3(JJyYj5C`bo zwjlZ9}noFfwv>^_aYr@N7?FAvB26`;Q44^V=Vu= zp|jYnKXhR<@If?yLcWF%_PY7BY;u7=;Z^k;+;i&V5^>6@+Z2SO$b-@QdA=EQ)Bwi=g6WWFg^sw8DsXpcy?( zuZfDCc0u?ngkM@*JNaw_38ic$8~OFT8+cKjW@8sMx)tnMdXs|o7tGPDqs_c)7vT;Q zlQLKc3Z8}M4=Ky@hQ59X2U9)4Ek{Vaq$9!-g+q^rNT3<7e(I+4cRYXJxqTdq0+x^b z38nb%r~2+xzU%&tJvFRfLdu~}Eb`=JGM4WySa5ctC{YvqC|ZF!HiE8qxDTai3hS2# zC_ox*hxuiMU4Cug*P8C(XaZD3)aveG3s66zL4t0c0eeuN{<1MTJ}(9cR;Q~2qdQ^% z11RuZzsy<{%sIP(Ulkj=A2c$;G;}>5c|58aXg`6~0!F#4nX-)-r9s=#U~-fp zb#xpP4Lt5vZ0W}nO{!bLq-xMx%&*L#HFMpg)W!a8w0>~3v*dSX5fRs(ScnU_DcBQD zoChqD6Aq57PIr!vce?p_h>kc*J6-bU7DeLkgZa_?3xnH;g*Yh6K4k7amd^-LRcKlj zL~#V``f!uEdMkseiUr<_f%_e6k7lvRtP)rs4ZPw8{>?%$YU?;EZ3W}%@tC5rsq$9#o0!Dz)sqDUM z@mt%FHY6deYmg^5Ee$P%@nhT3@feB1$Ii+0c&<4dI&&&IOvRpx-XN{kt$4=!&0&Q) z%=8RT4*~Am=cW3o_?l zpd=eLT3h!brxfO;TT7bO9vk&Bt^LuqcDCP|UvJX^5K;n$b^IKykgEm>9my`(c&Y_c zwg88xFgG+ztJ@dgAmZLZF9T12I~UWgchqZX;4ZY56NuZJ#SpihlxjWmRc;}QADJ+M zkz2Oy>GMYDi{!}lDm390DBx@Ms>6g@OmaegFEyd!PLA63U|sV%iE zyR+Qm=lVV`P4?uTzDSYcSHN;VhjQPx{*`DywD`ODtqs)fls(|5B2%mw1A6~#ACKEi zdNZwE4p$G>hn%vuk`}%&u`x0nyUCkMR_K9sgxj~?rYRVYW)OK}&g3I98K*J(%1QCd z9*AV&s255I_>h`sB&mhAX5mr-OTZx2@=Aw;%=PAsXheTYDUV2g3IcPp-zSlKq{5KiM2zS5AbTH#isSm`(>jcw*2Ec51$JytC zqF%UMxj(IMy`4|Gs(o}QJh@2d5Lmr}r`|8Os{StE_VV*3+%W`#zBt{Jf4T{o8#+Hr zlYoDc0$z;M@$_=0pk$~)z~lnqHK!D_3B~*28;p|0%%QzDOObzIuYe^G-=k{z=dMB- z$?F3z6$5ZT_p^DsO0RgrR+o1@bwyk1rHq-!U3I1YwcNx|@Oarpl>%D3iUPC~Uot?$ z+dLSsK+!aPg}4!ZD`Iz z!TN^T@f%t+90Ty6?rfS)r}&0t`Xvk&1ui#0$OJ>~8$>uUi}v2}9MJD#XQ*n(Ix>iH zhc!F5ykKXim1t>W$nG2c^?&A)$Q=2S{mh7loTDaHA#A7Xk7s0%yG1XPq>5!?l+|pR zkO?GOu8A^TV2yI$qWdIyYxQ0hqYu1auoe{#mrQ3pBcpL|UqiU%`pUc}EW{jYPT@b0 z1GL>+J&I{f*lH_wKoOiazNRKZGhNJDMbfGhKPpkaIAsOxRksp%m-Lt`xdgyZ+q93T z;JdI>t!y?|n-NlNUD2)8!@{9;Eua>^+;YF1etX`Vblyx{A3r&8yvC{dyUwI?BTKug zo!WQMQgM&1T}=n_oZ2TqR|r|xDlImrwhLHJ7}>7-2iv)y=w1qNMbm`R$Po{hH1N_* z-fI#W*$q({`>^-NzaC;nw~e|rT90ci`8y$vNh+v8E1{~ncDwO6z3=~m6TNZB)wp+7 zCu{~=_7t5ON!)BPt)Ro@m~ADEG|*sc+&B#o-`X+QC5dm?)pT>WPOP^1Yx;}jsTh_A zCQ^K{xl`QE^bAG_Uxm0dB(+~^6 zK$8B3XhaLcLWL{8*%B@21a+IVMWQsQPrba)tGwUgf#R?YokFtEnd_=mLl6mamL&0E znD6wYUlw$hT*ZrhuiM*7O3bmh6S%$H6#hJj9xYjDV8eszzAXbG zod%ciX`#?_q3Iqq41~WBA{+jd20pi&c~Jv;&wO~x8dUCM;7(@{?$Ts5TSW=~35mv% zF0xKG4Mm=Py@ZPP-$#|XsiZ}NgTnt7bY;IQ$s>4>W9`kRc4oDn;%T)um1X7u9h@){ z%%$z*lVRl#X+9czDhx9&I*~dY+N)^zbXU7CX4OV55sAnFh$I*(BT~2{U84C=C01-R zDUJU6)*-~Sg`L~icWbw3#g6U}m%h<|+m_3JrYj8(%Gc9Qsg+8cQlDxk3M)V7vmObU z$-;^m!UBnxq9(eVqcrFCTr{7S>Mbu|zfo<|tdSgrrQaL98}ADd6XsZw0cxSqT)zH{ z@26V$r5t~6w!G(*J!}Lg$=NFak;1ghrXtCVT7gdK!~P;Iylz5YEBtKpai^y5_Qm}cUIpY@D7~Ms^mLE#O)Z#4#P%`l8}h9 za=iB_`^9H_?NDzr^0JU**%pmWom@d%>g4@udr+BefIP6Z5U0wrXvt|tHs*L5QN_8ec^yg8R1Z0r9%m@!a^s{Fk-nWz+t6!#HEIZ7ic!Vo&w4*lGPc&11}p zvN^W(dNvCI-Q~fE;Su^I8hBTk zT6HU=5wh$;!xPO_W8e*A6HN1(#))(57Q-+*nF>m(TdZaqsD1=MG3-~nwIHQS%_9wQC~3Gv^K#b?>zHoXh#pOKp@D zXco79&40yQvgv7TIr}}uL?=g1QGrvQz$EgJK(q>k7VfRk6@0sgtN!W!e(qaz&*C)i z<7g9Gy<6#i>htN@@jm}rL0-$vD<~I86z=FNrQdf12JN?V%V<8$bbU2BaAccHleRRO z@tN|wFN!InN@z_%T|fJzRk9YZ+sc!Dc(5fz=anq z8rRoZjrV$A9oTrn)MML8T`i;w74R)B7wJlCL9Y6z`!U?N=)S+@rfdA!Xgpsn>Z_a< zd)jh_+jNeGs#2*^v|kZ7%e^|hm2U`#9=7?x!D@9r;=bv1B)1Wj^8583TWGJ6*M;dQ+SgJ@OA9mF9UBU0S)n#G_c7a-INsXmSfTwH0Jaz#Gg??WQRE0trC-Thk;YAGV)G7JsyuA|zW(V*5+a0f%^R z^Db}I9Mn^~oeY)5(bl;ea0;vd_>PQG^`gVA_Tg*kT_v{jN zi!u8BQfO7;0PlC()h}vG4_{=to#vzQm3MNn1E_jIEa9@}M28&m5)%HfTTf=1CpTFM z1j@9W`H&5J@jAg>7NGQ2kp2nce89zTRWjqg|07YjhBT!9oRkX_=t_vs4a!L*5<`6M z-=sHMX*Ezh2(v^Ft#)eNJKzpye6`G;N#-^NNwPqRKS;YI z5-gdEy-cN$Y3ta!k*>Yz=+x;gQ)e38NUTe!Yech*!{=}{Z>2TJlZsfT={{>IwHXHR zXz5JDLjyM3OMLs};``_7ARuhYjQ?LoAnw z#;8D%yq4L)y<{rf)n)|dK-2lDIo1ItD+qXvf%SmYDT%`T-Qsk={h&1O5;rmGxS6Ub zF=FExi=i5Mi_X(GT|*Dn(`4bM!z`yuSK7?BQPqUpGs}lz!Cx&54IF^s#Pw+y3St>2 zPqLTwKVq$j#A0syn(u%>^mIZXj@Jjtk(aB$7bwtuEkZ><{)s-wXSnz+;SX*@bK14< zhdYfFqy9XM$wftf9;Uw6KM&5*BUMAzT#!LPUSE@Re}8?iX;8$`H=ZoWTfLC}d&M0Z zPM5oi*M`ry3Svwa*6!5vVbSEGVAc#_{81qZTWP!)WTs?L&}$PT4-x9|-bZtd#yMD7 zr&}#5&1*ivO_B(TJxs+zd-{r+Nx}Fb`-(?c;kGZ>)3<*!+b$&OvW!Gp!qzh5XcUHs z^_yiH$L?d2xmd+ACK+#TJ7CvQaT*FvzhS9U6NNAB5}qt&S_Z)r=azp^ylWUIMhQ=T zHAZ++Uu0qS%437WthmR(%nYl()G4k9rR#A^)Q`b7Z5#+)^_5D^O^uJ3vbb-$>gVtz zk5YI;>V>V~ef?aay#da&PlL`U;I6yH;;z9Rt$(u`MGu8*26qVs135SS8|0h{lv>YR z%PlM}0Fv_Jq;+8MrTQ#6^4BVKt3dfTBqj3SZk8n@m%kaT@blCcUQ?36UJ(jq!^C6r zb(SkD+#e|mtwlqI@uBA%)%aS`2&u++IgF~4(TnkpV9T&d@$Gw5>O$-wIzVBM>c`Px zsxIe;As((zJam}IhtB-7RCL*;!VN{_Zh&?49#Z{?XaSjPJu()X%(df5#a-(4J_097 zE+k#UKet8V^}Q+Rmzc9y9$Jp%?Et=?&YC02IUh;cyS?>%LSiFRPN`K~7Jy&$IlQD~ z-X6;;P&!}b*caQ9!-L&%IcYie#pZ`KoPKQnIn4->(_BU8+Yd|o!@vEWu=+lxY7nem zR1M~hKSa1($Es2UXw`Nx&as;;qG*~V($8R)E#uULW;0Ik;4qr-j($|gasan|&A;Yh z;TjMntk04ocfU)4ITT1O_x3!4yfylrr!q#bv_EX7A$3SXKBf-Qvyu zk$R+`U;44T;EfJLu4N~fn>_NqKa}M8@z5Mu$B9I(b)g}IEPuwt@#^G|G9n9i2NrBk zpHB-Kz39#T8n%;7%`fJbI&cA}28?d{qYlMAND~XrwVKG;?z8#82^P-e9Vu$N!cNmA zS8%#*U5Kn0ro>wI6U(5B3DX41Z8ko{kynisa$~iUV=R6!IlGhXWG-hx(pNTZ#1vZhl2|i+4)ACR2TXO}oSsB&njH5CHVWt8vS{9DUYZ~4e zCPSyrxiDu;C&E3g3rq8zrT3aAgo-o(#)To1+ap|*Du8SjnWzD|)sW*AypN(`$cwA7 zgb1tZ(?`Uu=QXip1w{)Or%j25`hnAs102Ln1Dpmo4V>nXSV3=AhzO z|5rm%YLw=|^(HAK2Al$Vea%ma^vx97JSqHFRElt;mBUly$IseBW6yWDu@%r6h0?R9 zD}irO%(cQS?JQYwpQKmOEY9k#)lVu7 z(Mt0>7SnSrUk#zc;6(T$G2Pdc2OBYnECTnCP0qnC8)&iU+*$DlVz&fM{|O*z$oF!_7koP>|>k zw0zKI;1<6D@cf&K2U=E#MSYr1a1%G*W3csxc3rHRxxG`;10YJ)VHYsw+NXJx2GN@j zs1DPV;tkPvs?Gko#cz33n$bC@NEfp@=QcgZldz38MtRnf1xe z8IuSBxpHD3F$($-PIvkuWxc~oV`{O1K8LI=Fplr#)S)n{Rx>CF#9Z$0R}0+Ze8PDz zi}u#xg;~XAGFM$Pna|}g_e6cjmP80HOsDtX512OSlIJOWZ(6M>^xbPz@2hTB0 zNXP!4M{SG%)mrD88~;(s3aWNjIpgRQ|Es?mvP?f3u3W;axGET+oh!y5-*hoo0RSyL zppV9Y!QcfoS@KqxtM7VB+-_^)xoVOL1BQ=vXeu0UdYFAFt}Gwzyp!d_O;|Hc)LL$S zvd#*int84I=M3UXQxT3>0o1Pgetm=e;)~ysCn1AEMN-o&3T@VN98H_~JQ}~ZMEb4J zrk$()>3)Om^_+6*vrD-Z{yRZO|5Q#8Qn@rj0e6E?EA-wXRA;*o%6L?=uqm8{O|I|& zFud#i&oE(=DJxV`EynwjI?SRHZ!&m<{AY04O=3+}b4+_!`nAR*x85V?7UrP=-pM<( zeQ}c2%lP9}{a%ZX<1HRGMU5GaPo#s*HGO{F`|88O9BYh{Z%p3>8w-VSEQ54=qxZ)o z=f)3m<5Q3~z7X_#EO{pu zQx{@a!lQ2XWL<%C<($r%@pIDlBh{#p8uoCC*bFQ56T;2Doy8wY?>{61>?TAjA4UTs zOZ-UEs&1)P>pCoEYr>-T(eM37!cif6_a7{Q#DT(-90y9@=m*+!8Oi|smugSEn$#%d zaOocw|AS_-uam+pmb#C^oyKK|B(qB9l$?u*AK__7zDSr5eZ}hm;9^ zehKmEBWM1USp4si)~9m#_xfzBLY1*9{QS4FD)gV?l{yJaerflOw4g4iss(?FCdRAY z>PHMGKf>4+F6Becol+**fKh^9^p@aEw3Y+}9dbcT!!g^B$orZR1}Kez{p$<>qkTqHl=n(0ku_^~gh(5t!&~fANT1rB{x0 zEJzp9;EUekfL$|`6(dkBS~iBZ@dqnEeeu58U!zLtnO{oAT<~F>b5ECTbBKOfOMbeiYO$VBsxClF% z#Cs^iUI;d=Qzlxqo~+slhQ>}>c2q|4Pl}XnCL5=B^}wo3W6|V;b{rPN$QAC`ZTO(2 z1|}|MP>vYk3$&UIloI~n?=VG}+ynYX?_RCR^}n+4>(>P=X9SHc`r15cY}&|!^;1Ld07<6|e&K<>pz{!s>UFL0ixi1U4>W7#WCsGnId>9JW2@2yn=h8D9G zYF_4d+6dkIvatEHuMNOvH+kmDyyNn$C(gO$2O6#M9N%OqsI^6Z$5f052^{kUrWXH^ zD44G>T;V?wD-e76#s8++i#SFOd%<4z4juBY{FO|NZ*Ys%^LN&TKlL}58{_&mIdY>4 z{hmVIx7wE#dQfS;I?jF-lcgg$a*V$Eg8gcQ3VlmomGjc~hotpeGeSvbSMHx-UfXz> zmcG7$DIn-3t})o}@`6<;@t+%xwQyO*6urb&)xAZ$769 zlzM0WVt|nGO{K+}B}p)M$IZ+Z)oj=iq{8*ehrj`3glxKAv;jX!mycJdvu2`eydTp7Uf115LeX}AZ2P7?aTXQbijxuV$61EfyDhV^g0PZZp-+Pv zLZL$7m|BF=80>yceZq>yYhQ9L<%t1IzcW~XnSZtc%3t&{3n&l!Kv7VHv7AhZXoTK4 z`j;bmm8q-9JHlbx&vN?7kV^AXSX-hc0q?!LGGnSV8jlsdG^T>=F_osr1Z$Ic%b3u5 zGh@<2*GJq3{$%B%ZR$3N`_?bhi0kpBU(@y0uHGXzvE(7^AD*iPf%V8pLq`tJAe1B# zP4Hl%ezw~Bd84-Wi~0xt!HOz~>{&W%C`)HGl1ND6{c~6>Bue}j;=Q;}2u=sEBwhTq zzR=JMTuw$ly!QbM2lZZX_!~%T|q$^B2%o2>DB zGe+kQ{yrQCqO0k_{}bFCZ19?YKU)bnil=OooF3sC*&jal(D!kA9FXPjc;b`%9h$`! zHq-SzG0@*JYQZ7+J5Kzr{2imsV%q6Vr)26#Tpb7VSf}x=z9Q5-@6s#3!Hl{i$b`hvx_ih1eEXwgBafvvC^2ps9u8eFj)&XcI);bC{3hOu@bZ|>@Q^DR z!c_}YXMXCyu5kX>E}1v4D{pS&RbSIHwz*{5p{9ZbM^V#bKTu~2ZA}>)X7>uJ>>aCTd>vNK+3DY`2!t?L-LBe(FcP@tyxB0W6!Nj?>+oSfxm1Jq;Sifyh(V6Hw2Fd1TW-Wd5#dZaK^z$^SrLe zP2A9;I%P^n!<;(jlQqmcP1(#D61#sw?Ok;XdCJw)WH?*h9NNHCoHo!SK=CyA#7lWz2QVX4{aJy!~+e%P4(@|wOSDO9h0 zJ926gjRd??)rc|v$C7n&6?qL0N!_xU^VzEmpPCkCzb4d-crz1sM*P`>^|R6jS_1?i z>8`MlT)a-;$`!6;{T5WP;R!I)jDb+vFTPG_7I+4$pH-8%yo7U0WYJ!q4&GM!&N*US z4bm}|Yk1iGJ{kcA^1H?Vecj&+FxfopTR*8&gzQ(pl8M`zE*-4gt4v|vQIKQh-fZ67 z>r3VLmTcpOjA^zP$SS04UNj`@YjBbta?0O5-*8K%O{JOOPb%}!_KUW`;prH*bJnyFS38@C6fHN zKGs5qgN@U1V$Cs5tm&WP#NtRszA%og@Bbio1$6(GH+FfE(D~wEiZj`}OsxxkZNmF8 zCtBB5_w6c~)OHvS$YQC4_>Fu_6wvFs;Yp=0K!>PN0`wcE00Q(05;n4A#eo8}v*dY- znkCx%{akU;Y!Wa|wO4s#))fRZ?N-}m+<+*=vSw6D8dR!@kZ94-sH$Z(LWL8_TM{if znH($Hm3?7J{vuomYBWspTCA}5re#9?=u}aWp={*H{S?8G?=En1x(UfzC znu^;@TcYE>JUfeCAQ1@wIh5 zbCfrY+_U{GZGzF6`+3j4i~Z~&)YiY)$K7ccyDFDsOhgwqyFD`~Rj)<7LhXvPks3E0 zl>137ydsqBZ(;o%%(vYqZbz_F4*r#GhH%}3i>FHChu+*{y6}K?wgoNeGiG&T&9}BG zn8MgfCL21Y3_Io7#mShZ1 z!Of)up$JHTnAJhc>O{-z;m+JlrytYl##Bnxm8ZULR6$BkrR3C4C~1Its^#ukv~J%y zGus;aAv*7S^eh9w=1Dn|giy2ZB<&-DWTzY`p*nr!32rRV6If8%Stxwe&O+g5+Q{vv z9N78GEHZ29tMOfG3bhath0{LF;O`1ORDjBL@~?ehX8&G;XyIM!1I>*x?#;waC+#>a zJ=r*SLVP6~LDT$PqF~7Kw?rJ5neE_NagPIOU*lXu_wv4*OZQTj$OMql*Xa|MySgHE z#%UAZwTbBLs;3V*xHz zgc|8cu4-?{uVJ#I|8;lPnom@rP-}1Df@4>oPNmLW9rF(D+kj>58GgB6D_HCXHuP;Xp_$m&x?8GY(xy*J!A1ds@C`pnOBvDw$Bz(13{zh7kh zHrYkfB4avCbbF`F!UsJ*z$~1$2h0Bj)_>Jt?=tcaLaU%zDl zbu6oRiLBk|=&6%44%`QP2QKb!>0!U)n*pxdu6u#2(VP$zh*6vN$y0`LBtw1fRuAF} zK)Z{P6u&Ws^VUM~tBl>z2#i0vEj?uozM>{##M1iOdJNTWYE$t$fa5n;GZ(|H{lUX4G?0<7H<}9jE!KE6k2+ZQ-!1Bf9#K`II z3hLWMLphOlAt!Hanor_&jNE_WWP(^(r%VAWG$f_I?eT7w)1~!{ye7szHLN6O4~uHB z6`-{}-2El)Bk{cM7Ov66)P?Rt=^UJ-)sK?)zC$U4A2&M`IUlfSYO-MeX!3#p87E(e zJd#fE%dhSTDKsC>Bmj*+MGDHdNJSgzc!%to&qgcuWIc#f@Vvv}vyaF;`Ano@Be#Eb z<4;8^p0(MF-_(O>{8_hS2kk$rZ#lJq)VUC6^gU9NYQaPTN)oF)ye~#7JPz$7`|x%W zekxONN7vYB{z<(0Aev4x+^uZ69aUraSl4^+*M)b zfE|0)=G25(Sr5m{4vkdxEf_sHIckEtc#Y;r)OrV=uoOr1zHbF}5N&^uLT6xOhRd-W z`3%tLcWmIoa(XUmZy*|IR}$NNBF=%2o5|x#%1#z*Ae#6hDSWp^^Uo;)En zTu{jb(@&*G)*Cm`SQ-sH?dFr;EdH*Ysg25p96z^Qt;Vkg+|^W4Y*%7hIX~T%j0Ucc3u#H(%6BBg z^>cumUvZO;SQ&Da!}UNKTF5Z`VQ>1CEDl&zdO$acEIFa#2B>NK*5bFefwGVq(zIrz z<*pqWCLpTlGl6#9LiF$VuPgkkD7T)sm@DQG@qt;1!Yz-A4;0UO7Y!o`mSsltmHXx)Y^-Tc52Nu-e4chRFF3j$X46_Tqj1){LD*vC9{g zV=4z8qKwyP(q;OB$f@yk>*4f>)ATIE?-ZWg14wElW%#??W~V!2Ezk%p>j^p2{4A6? zMmV5@Osm7}4v!A(|GhpKVsJj_*}O)CxY)Ki#k5YD9Sdv7F?m>S&;J zz`#Df@w2UOeE+2qYqK^xPDn?FyGg6){vjmxd-Bf}P1`nMg<8D7F!dGdCV#R`5-x-| zH<}!s&3@L4CuUM-!D%cvg7o-Q#zTY&n>L1%GnG@umk9txgT^|yAn^M@DoiL_#BK(3 zof?HR37?&n?Kah54LW1icZye=rPPgch@O~RK-#9OW%&_QX{6~O&Zs#(cgr1Z7_uDKVw|XBbDOTDDAha0ixcFSV%r6Ll*e0Wwy*} zt~JYkR3hRbYN6uBbo;LNgPRNJnw@x zq)mhiXvY&v;fd79%=tn_!%7^aJly}{z=z(Zx1-649q=Bf?IXTz?P6C{eoj6gcC5kH zrJ%D1adR`ptr)Sy5KJ?qOJ>5$V(ueWSPEmZems`H?*(2ZC_8 zi3Sg}u9lx8uj#Uy#7a$y9K#op1B5fYa>h@8img=U^S~coU%(+vT{>_6B#hlc+{uZF z$X|WEP5+dM@O3xA?kiMIEE^q6jh`Sq^(Qv>sC3`x;CG-&i8|K+RDNG9c>NZIeKE-_ zj(%_j7Blv)x-fO=YIk9iN|wQ0Wb7z1SCpE{wLc5JvA^-nml2H zn<&^|CR~)O=@=p}oUt`x*|mgiuLqj#P4AiaJ1W{!*Y|Nud*U-B5G%rGRQym8UG{cf z$IQgLG?NEH8)XHI#$Oj*eGo4Xn0i_eiH_)lbc#s!opU7NxAXeyM=-ghwCejpAxFrq zk97P!Kbn7XY8bX9wM`$So2A>op9OK!vO1QX?+IT9{#u!6UlBa*kCDC5S-E%x9o@A= zf60qpvUk}Hx^)!{fmqd5r*UXbgDtwYE-K1v+Ml&4f%2|bC6e4IV(X{&O-&gQuodjO zaRrY9%@fiQg3mo55vl0GK}DoRnEVQF+A6-tseMC@O>QW2EJlxf@B_Z}ezr(*#m(II zHE-eJQjP-j+J$(@k=LkzM}gFX*av1{uqaKN*Y^HSkPwIcPw}rR3;#;59~}SEGD)7^ z8`;xt2JF2#8xyU7FdeDjegh*3C)3~X(XY)obm&)+(84hL0_#JMVq!$JYY39;4am&qT7qtsbkr~6kSfoAI(ID zaaQ^p$r6P>em%2p8ceSfs|*#80E-6{bcN!Z+#UGy6eG3rpV`P;&w$=uq#=hY;D@UByf$&sH^fx9V?z4u%*=zvRH=Ll@Ew5*oW3NXW`nz--730>@L+5W6z#~89qN{ycP(DurcGc zDE&m*d0bX~ms6j>>Kgkuh`O8=Wj0~=jc&N9A5RC^YZ%ef?kbp@{yA=P;gQ0f^BW2x@j@<>auWaeoiA^x>z~hAOMx45*I9Jbg>NglO+eXgwnCL96M(&8k z*NOgi{IkGayjw1_#$#O^06M7f7>OmxY2&>4*GeeO+AA|!9E&98yS*>*3X`e{j*7%z ziPW;T=%r|UF=x5qfoW}Lg0?pANEfT0 zk}QxpG6;js{`n(9wJE<9hevSyYjm5zrgP%6oCj6N@DR#(k$*p?}%6qi!1mP{$^4O z+#}pJtJ`Q}X-Uff1p3b|QRtd6_A3AW>#z7=up*}*!T+uza~eX1|NDE?wEG|tHrjIo zHXy=s1{e`qJOVlhR61~v7>c@S3$hYkj%5N^#i@Em2N}kw_?&#^6r|m*@ ztAK#3?2=LCnYF#}6W2Dgn~{r_FR*KyTsQ;He3^z9X~3g?6Y$lnB1`uLALHMtTQ(>@ z`Tj*i;nSYQAHJLcV+)_JUcn!4&3skKw$nu{mqlZc%J()Rk)OuVcSOqpv!MpS)elQe zP0iqN=1A+4Ih*Fzv1u+7x;@6Kr~Oh}R_{E|v<72g0%FN}DH-17_%#*Sg7*G( z89nMlM7a@_FvCn1e-v|GhMs5-C6M;V)P=ML&y_hOew3TAJDx=-r?M<9h%|O9#%E_A z@a@|^d?fpr1?M|o7rvAMk*0RF{&+uaHXtH>Lc~f#hA(~!#LE9mh@GxR27%Zyrf~x? z?Clm}r{nq&#KOj5I}l<3OCkmk^N(?`_AUXf+!sm6pU=R2$Qc|4a-$ZeAt$KxL#|)n zX~=fJ#FSK25j+wA1{{h(K;G!%OnA5s#h^CW0;e1>>u@KTw^&h?>QHGdJEH%5Z-J3e zRSrot%N~*DJ@}#OC3%g21xyJrkq7 z@1YozV9a%4!zSv=+2tIx4Ne+kEHU{ooJpYI6j1OBVM;a-`GUkY9cWH!NFR!UOWB?Q zjpS^_s7YfCA^230p&^S5#ODF>eLJB1QUi&AF9%#@7Eq5b2^eE(-{^C&NLgN@zq#`B z+iZw1^0P^izE8FPxypE(W~ZNmJ>96T52`XAZ<_pXRK{$Pz1dd04;G|F_L$yhiR`tl z*@I{N>G-o=b=Vjbf3DMOY_M669wrL|SMvl+{5Tt4L^izEj(u%-G7Vyn+DtY2r+bg9 zZ^JW>t2uCV{^zoT79aIDxMWg;oM|E|>#t@c$(iHa);G4f@kza@Qb@8h%|uI)#m zeY3@2cJ6vU)kJnnAD)$Nd@7nuzddGOW6yw|N-H;H zDwnaRD7*4~6rk*t`{yf7#bf-6L$>1n*p%<+eb&lNEVAQ6>J6ENT3u<*Z)t5W!nH== z2Pu4>X@b^avwYKQrrNYIB67D>$Z!4f<5kE$vib~EArIm!?=VK+dgd^0tqQrf5f!q^ zti+M;-bI10P#{NzH1fIihLa9>2+`=yBFwqmSe3HoFEnMT%PKug(DgH_!%f9FtY>m= z_N-vzQ`d6A%@yvCr?V7({S8z#SjCF#cA$9hz+(n8HlrC3=(W%_=-PfpMOsML4I}Zv2?>SdNlz0s6eeVS$2=R^{ z*xc7qy0?Pg%3yIBN`-M_s7lR?!hj3-p?&yf42d7vu+!{msrr$bmU+hxIv3N+G#CCH z3}X(MfWzH<3kH7{j==?&E|WC_Mp2=419d=}o>6=+*ocr7jls%~+Q4STLu0dI|GA-Y z(7II`sq~!x&{Od|(7F1EYLwWLbC4k6ctUx975$3kg zy8h|@POd(;ZP7E6g63>AR%h8bihrW-Y=%`%HeCvsviWXQez4_KCdjvN^_AXd@L0-u zrbhtwMNX2it+5UGpMS@EUNAmycEq`|bG9?LrzW%dKb^9E zB@2FEF;!nw1o~+&(CkqB%2G|VSps%<<^kV=3h~I0AXrM>jv+Xl%7^q}yEPJU=Dd^aiAIbMWt`9@# zT-9eB`}H$9r3v9(S8`j`6RVmzO3w=KLuqlhHyKAbkj@C?><#SakNdE&6S4r^`wd1i zSf#zbHM?*0vkM2vn-*SXXQI})-QwV^tey#`pC6?g5iK0((E*XHZj6QMQE3OZr49fP za$5HYY>;~rO|SsHE9i=|l7q?i?ar?HnSti%*!uOB^HF^802)7=nax|?&m`(CbcP{r zWog&hxyv8ad4F{csahNWbu&!^8PoquKN7bc`P0Fd8AJU?qee}tRpM(R zh%+#OGcbXus8p@Ss$6QVr7$B{EhbJtrpHm++SaySOIzD|Tie=d5v^hZngCukU{%yx zMO*bu#~08F2@3OkfBT$yNkDt=bMHUTGaty==j`{j*Is+=wbxp^Air&{>;E6gZ+C%~ zpCP|}Rah(e?aC`YRet+pqVn=vw25MMeO6ar8TNr?&FGc6;3*r%J@hr^l#0=GZaINV;;pD%R>PG$#-C@brZVw-{sTTW*Q=<1A$~ry zMEpGSa>;=HyRzrySBcyo6c?hd@`Zf9BKj51iwxq~{#*+OR|spQ=O|tkadNYTeL`Jt zoHNbygPIckBQ+iSoo(}k&})-R8vKb-GR=aVmpc!9Nndpd>SoK|2VEG)Td-$p19;}k zo-v@L-&4|{>~XS_n6!JDcC|)%r=<1y{XR#A5%f<{uakc8v&rjd66nS`mTA-BrcD?D za}B!ZLMyeX!3gQiZmTdGi~7l_O$evt2*EycIQ;?FTr-Zs{JuP&V8dCZ3G(q??&g8H zi{*Rq=>eG~zbWc#XK>2t$=DiDkQt8{4G~&+l>q5t6WtjiiIGDqC<2=L?K;Q)(**gHzI#r$rjKGTg7^ z&;+tx!a6UITtixOfaofn!4}u@g+-L+wwbsaFwU4zGQT`!UWsr`>0w=?R*|kexN&nh z)frB1ru0a_LPKROntlr>tB{ z2$;F*e7w#BZR@Xa#IajA2IL&g!vpwRW3x5sX>(C8kY&`hA09l`EPKL8P!#?)Dv7EYGNt z?7;sOoB?J#XN3YQ-%sv3;>KzC%?or~!lp90Yh>cOe6@j_tf61bTXk%yK zCSA@}XoGGobK7u;mw67Ei#44~e0F08_QRE`Q~9TsR(=dGZvMBlg$9J<2IN1G`0U0K zfYt#j6<-3-i}TejxHdm57rJF$<(2saT;_mb`5TS>)KX^WOKEURIl(Js$>37{ea}*^ z$<(4(S<>F?_Dpkerc7xBiw)6JD8* za#3aW`I6SXLe~bvA+;;i`R=e#+tW-AxB9?MGJMFlbH3Zov{&Z5!DZgOXPJwwl!I0? zx|XBr5OxMuPGq^ymwj_d*h z9#m1^2Z(!%{DC4L_ad*!Y^0+mS*FJe#WRl)3N62(=ETec`Pf0gJx7H!uzKvRhEo-J zr5Cw)P)-T#GItRfT7GrSiGw0Prn=0_CX(6*MZT)YF>srE%h{#Kb4}!)IW-3|XE8ao zJR5&7H(iuxYWCEEEAluc{L;gCCEXjp1orxz*{7B8OUD+9-h*F)3xe|v!wIqAo*m3o zlDSx$&ex=;5iDG#i_CJon9Q*y8RH|A)!B#&jy9flD8yD2u_+hcij9P!z>wH0)Z8cB zkhf~v{%D~KOyw|~L3rH4Gqf|o*FmL) z4d`nn2zv(2Qi|-o%P+1u(M-g`C_0A{nf*~ohx7cS=`#mTIx2U$#V9a(rWyB)H_4@& z)OwP+vPDryTm<}?e)*VHmVZs|4NQlJE)N5RnL&a>mWNR|HbMXLFw#f`hcCyBXi3oH zvh(~F0MnuF3{FY2TU?6xI2Ear)3`dX&!B^-xS@k z9dnWFNQJ{Ywue(M#$$61N%0A6Q2DFNj# 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�aW88Uu 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
enDs&ZmCcT0DYnS>KaOpf0e>w$$geG2 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�k9K>? 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

5QOM1ME~zTF;Pp9+VqimwI-F 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 z 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 xxFlpH^a~4Ir(ZY`P-Mv-(8K>b& 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�ztTD%8f@@R?bf-k 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≦~7+2XzEk?KHdckqVnV%|Ll1qX!B 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

B(-mAYh$=-I<6vWVg7#jcgy^x_L)Ff`Gbwf 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 z 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�T7XC@6F`mpYZEe)Gk)#34L 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 z zW6M{v;e7zY`KR2|gU7)6B}EkV14R6t#pG*2vQ^e7#DWtmY4d zoXjl(r5&6fT7S&-^dsD)R&mc$KM-Jam@2zZT!pRLadm*^DmL~OQ$V^Y;-}C8YKXns z1M)bR5Pr;LtSjr((BX5F2#e^%F>EF9`4I6Ug|J&9LuUg(Hbe$X((-&bX2e6EGtU!P zirz>jCg#`w68UOLZW;TgT=(Z751u-jRZcfxotHw~m6|UR^5ZsNrQ98#ud;W#|ak9mdLo z5ISBTYlO{`BG@}Qzj{H;%Khe=o(M@ZG zt-xowy@2r3IZ{0DU`r`Emh$tvKX2a_HMQ)MXnqGG=)= zz@vj=1HymDr)02xtK>6jvNF8Qscxf}UX}ktArh%Vp`kqQshA(SYjER!+PY@Pi@%qR z>>0_ATs1S~QJ9(te?2hn5lP{W$??;xmGxFAtC6B{QlW(o*-?gO<2aB)v zU;`O~Tp1wI%kr-2U7Losealous+!&UHq+&zH3d78B>r`;9geGVJzeWA;EDj?do4nE zwT;pi(bmxIbYe3C0MpTfF*C9|`lfQv)uY@F&jfbY(g}BSW@~f<2l(9QAb^}mVGZ6E znH@-q@OW#6Mi$~>xl8~$E6h`4WJ}jL9xvpJ4T+K7kN7WA?|i%U*=JjG4KvqY-|DY# zH3$iQH6j1j;QBLu{dSgvp7_2*B}0p8Kji1A%|7}qH5mS5_dsTIQY?4*hjS3yR-Q=y z=u|Rwj&&znvv0Pvg=(gZ#}i}12BHj-`jvqMgEc||9w)RBemRWkrN*hwF0=?c)=xx> zA6`7#`skyNuz;<@C-b*kZOe!az(1JD9vP<#6I#7nT6JS^r*ZCj_-&xLtJd=SEhj-$ zwNQGPZ4>(M;1D;@P=Y=FiuGfUYK_~n1eB8-=pJEf-A1T`%9Vu?qO}PAY4$UL_)qme zJNloW>wkWt|M`FQKif{K z$+&_eB*H0qPU=U~UepJO3$zJZnY{^)W^C|7XVA@W_R8*>Up+f5i~GPa`!z#kV$@I< zDDRwmwM_MhB4;E6Gl7XGHXfr+VBl;l-q^Xu1&QOO)USA_RpsO@%^wHziA`!Wj9uTc zG9X*_zw=8JKX!hr<6Ek$wt81z7-j4tq$=v^3&NTI`A@u5=iT%|EuaWl##GeYH99?4 zHVa?ECdITi4|KT>!nusjhI1sh)3@C)Y~5*T)Hwoqzm0tgb&JWz7}v=2b{it!=c?V?hetIlMR~Lu|JgpDoWKmZlAS{p8QH z!P3d2o;w%2TdVa}32diQ>EY#$FR4u8mQ$tI=@z9N8n1`%C#MglH+#Dv+F2e?P|sb_ zz`#Se(zBskgPgPI!m(6�BXymU&DXn1-o76B>J#_3 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

#+C@{xg<>j6Y9_hfZm{0>VeL2ktSo9#vk&bKQb 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�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

vZ{?b}5)_=-)*) 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 Date: Mon, 14 Apr 2025 17:53:48 +0500 Subject: [PATCH 2/4] Clean up premake files --- Tools/UnitTests/premake5.lua | 46 ++------ Toshi/Plugins/premake5.lua | 29 +---- Toshi/premake5.lua | 211 ++--------------------------------- premake5.lua | 40 +++++++ 4 files changed, 55 insertions(+), 271 deletions(-) diff --git a/Tools/UnitTests/premake5.lua b/Tools/UnitTests/premake5.lua index 20f27b7..cf7ba64 100644 --- a/Tools/UnitTests/premake5.lua +++ b/Tools/UnitTests/premake5.lua @@ -10,9 +10,8 @@ end project "UnitTests" + kind "ConsoleApp" language "C++" - cppdialect "C++20" - characterset "ASCII" links { @@ -41,7 +40,7 @@ project "UnitTests" defines { - "TOSHI_USER_CLIENT", + "TOSHI_USER_CLIENT" } postbuildcommands @@ -52,51 +51,20 @@ project "UnitTests" } filter "system:windows" - systemversion "latest" - - defines - { - "TOSHI_CONSOLE", - "TOSHI_SKU_WINDOWS" - } + defines "TOSHI_CONSOLE" filter "configurations:Debug" - kind "ConsoleApp" - runtime "Debug" - defines "TOSHI_DEBUG" - symbols "On" - ExtractLib { dbg = "d" } - links - { - "Catch2d.lib" - } + links "Catch2d.lib" filter "configurations:Release" - kind "ConsoleApp" - runtime "Release" - defines "TOSHI_RELEASE" - optimize "On" - - ExtractLib { dbg = ""} + ExtractLib { dbg = "" } - links - { - "Catch2.lib" - } + links "Catch2.lib" filter "configurations:Final" - kind "ConsoleApp" - runtime "Release" - defines "TOSHI_FINAL" - optimize "On" - ExtractLib { dbg = "" } - links - { - "Catch2.lib" - } - + links "Catch2.lib" \ No newline at end of file diff --git a/Toshi/Plugins/premake5.lua b/Toshi/Plugins/premake5.lua index ffbbe28..c830bb8 100644 --- a/Toshi/Plugins/premake5.lua +++ b/Toshi/Plugins/premake5.lua @@ -19,40 +19,13 @@ project ("PPropertyParser") defines { - "PPROPERTYPARSER", - "_CRT_SECURE_NO_WARNINGS" + "PPROPERTYPARSER" } - - - filter "files:**.c" - flags { "NoPCH" } filter "system:windows" - systemversion "latest" - files { "Include/*.h", "Include/PPropertyParser/**.h", "Source/PPropertyParser/**.cpp" } - - defines - { - "TOSHI_SKU_WINDOWS" - } - - filter "configurations:Debug" - defines "TOSHI_DEBUG" - runtime "Debug" - symbols "On" - - filter "configurations:Release" - defines "TOSHI_RELEASE" - runtime "Release" - optimize "On" - - filter "configurations:Final" - defines "TOSHI_FINAL" - runtime "Release" - optimize "On" \ No newline at end of file diff --git a/Toshi/premake5.lua b/Toshi/premake5.lua index 2aaa1e8..ab0b174 100644 --- a/Toshi/premake5.lua +++ b/Toshi/premake5.lua @@ -1,8 +1,6 @@ project ("TKernelInterface") kind "SharedLib" language "C++" - cppdialect "C++20" - characterset "ASCII" links { @@ -18,21 +16,15 @@ project ("TKernelInterface") defines { - "TKERNELINTERFACE", - "_CRT_SECURE_NO_WARNINGS" + "TKERNELINTERFACE" } libdirs { "%{LibDir.fmod}" } - - filter "files:**.c" - flags { "NoPCH" } filter "system:windows" - systemversion "latest" - files { "Include/*.h", @@ -43,32 +35,10 @@ project ("TKernelInterface") "Include/TKernel/**.h", "Source/TKernel/**.cpp" } - - defines - { - "TOSHI_SKU_WINDOWS" - } - - filter "configurations:Debug" - defines "TOSHI_DEBUG" - runtime "Debug" - symbols "On" - - filter "configurations:Release" - defines "TOSHI_RELEASE" - runtime "Release" - optimize "On" - - filter "configurations:Final" - defines "TOSHI_FINAL" - runtime "Release" - optimize "On" project ("TApplication") kind "SharedLib" language "C++" - cppdialect "C++20" - characterset "ASCII" links { @@ -92,41 +62,12 @@ project ("TApplication") defines { - "TAPPLICATION", - "_CRT_SECURE_NO_WARNINGS" + "TAPPLICATION" } - - filter "files:**.c" - flags { "NoPCH" } - - filter "system:windows" - systemversion "latest" - - defines - { - "TOSHI_SKU_WINDOWS" - } - - filter "configurations:Debug" - defines "TOSHI_DEBUG" - runtime "Debug" - symbols "On" - - filter "configurations:Release" - defines "TOSHI_RELEASE" - runtime "Release" - optimize "On" - - filter "configurations:Final" - defines "TOSHI_FINAL" - runtime "Release" - optimize "On" project ("TTerrainInterface") kind "SharedLib" language "C++" - cppdialect "C++20" - characterset "ASCII" links { @@ -150,41 +91,12 @@ project ("TTerrainInterface") defines { - "TTERRAININTERFACE", - "_CRT_SECURE_NO_WARNINGS" + "TTERRAININTERFACE" } - - filter "files:**.c" - flags { "NoPCH" } - - filter "system:windows" - systemversion "latest" - - defines - { - "TOSHI_SKU_WINDOWS" - } - - filter "configurations:Debug" - defines "TOSHI_DEBUG" - runtime "Debug" - symbols "On" - - filter "configurations:Release" - defines "TOSHI_RELEASE" - runtime "Release" - optimize "On" - - filter "configurations:Final" - defines "TOSHI_FINAL" - runtime "Release" - optimize "On" project ("TRenderInterface") kind "SharedLib" language "C++" - cppdialect "C++20" - characterset "ASCII" links { @@ -201,16 +113,10 @@ project ("TRenderInterface") defines { - "TRENDERINTERFACE", - "_CRT_SECURE_NO_WARNINGS" + "TRENDERINTERFACE" } - - filter "files:**.c" - flags { "NoPCH" } filter "system:windows" - systemversion "latest" - files { "Include/*.h", @@ -218,31 +124,9 @@ project ("TRenderInterface") "Source/TRender/**.cpp" } - defines - { - "TOSHI_SKU_WINDOWS" - } - - filter "configurations:Debug" - defines "TOSHI_DEBUG" - runtime "Debug" - symbols "On" - - filter "configurations:Release" - defines "TOSHI_RELEASE" - runtime "Release" - optimize "On" - - filter "configurations:Final" - defines "TOSHI_FINAL" - runtime "Release" - optimize "On" - project ("TRenderD3DInterface") kind "SharedLib" language "C++" - cppdialect "C++20" - characterset "ASCII" links { @@ -276,18 +160,12 @@ project ("TRenderD3DInterface") defines { "TRENDERINTERFACED3D", - "SAFESEH=0", - "_CRT_SECURE_NO_WARNINGS" + "SAFESEH=0" } linkoptions "/SAFESEH:NO" - - filter "files:**.c" - flags { "NoPCH" } filter "system:windows" - systemversion "latest" - files { "Include/*.h", @@ -295,31 +173,9 @@ project ("TRenderD3DInterface") "Source/TRenderD3D/**.cpp" } - defines - { - "TOSHI_SKU_WINDOWS" - } - - filter "configurations:Debug" - defines "TOSHI_DEBUG" - runtime "Debug" - symbols "On" - - filter "configurations:Release" - defines "TOSHI_RELEASE" - runtime "Release" - optimize "On" - - filter "configurations:Final" - defines "TOSHI_FINAL" - runtime "Release" - optimize "On" - project ("TSysShaderD3D") kind "SharedLib" language "C++" - cppdialect "C++20" - characterset "ASCII" links { @@ -353,18 +209,12 @@ project ("TSysShaderD3D") defines { "TSYSSHADERD3D", - "SAFESEH=0", - "_CRT_SECURE_NO_WARNINGS" + "SAFESEH=0" } linkoptions "/SAFESEH:NO" - - filter "files:**.c" - flags { "NoPCH" } filter "system:windows" - systemversion "latest" - files { "Include/*.h", @@ -372,26 +222,6 @@ project ("TSysShaderD3D") "Shaders/TSysShader/Source/**.cpp" } - defines - { - "TOSHI_SKU_WINDOWS" - } - - filter "configurations:Debug" - defines "TOSHI_DEBUG" - runtime "Debug" - symbols "On" - - filter "configurations:Release" - defines "TOSHI_RELEASE" - runtime "Release" - optimize "On" - - filter "configurations:Final" - defines "TOSHI_FINAL" - runtime "Release" - optimize "On" - project ("TGuiInterface") kind "SharedLib" language "C++" @@ -420,32 +250,5 @@ project ("TGuiInterface") defines { - "TGUIINTERFACE", - "_CRT_SECURE_NO_WARNINGS" + "TGUIINTERFACE" } - - filter "files:**.c" - flags { "NoPCH" } - - filter "system:windows" - systemversion "latest" - - defines - { - "TOSHI_SKU_WINDOWS" - } - - filter "configurations:Debug" - defines "TOSHI_DEBUG" - runtime "Debug" - symbols "On" - - filter "configurations:Release" - defines "TOSHI_RELEASE" - runtime "Release" - optimize "On" - - filter "configurations:Final" - defines "TOSHI_FINAL" - runtime "Release" - optimize "On" \ No newline at end of file diff --git a/premake5.lua b/premake5.lua index 63e1158..3e5fe10 100644 --- a/premake5.lua +++ b/premake5.lua @@ -2,6 +2,9 @@ include "Settings.lua" include "Dependencies.lua" workspace ("OpenJPOG") + cppdialect "C++20" + characterset "ASCII" + platforms "Windows" configurations { "Debug", "Release", "Final" } @@ -10,13 +13,50 @@ workspace ("OpenJPOG") debugdir ("%{wks.location}/bin/" .. outputdir .. "/%{prj.name}") targetdir ("%{wks.location}/bin/" .. outputdir .. "/%{prj.name}") objdir ("%{wks.location}/bin-int/" .. outputdir .. "/%{prj.name}") + + -- Disable precompiled headers for C files + filter "files:**.c" + flags { "NoPCH" } + + -- Global defines + defines + { + "_CRT_SECURE_NO_WARNINGS", + "NOMINMAX" + } + + -- Windows defines + filter "system:windows" + systemversion "latest" + + defines + { + "TOSHI_SKU_WINDOWS" + } + -- Architectures filter "options:arch=x86" architecture "x86" filter "options:arch=x64" architecture "x64" + -- Building modes + filter "configurations:Debug" + defines "TOSHI_DEBUG" + runtime "Debug" + symbols "On" + + filter "configurations:Release" + defines "TOSHI_RELEASE" + runtime "Release" + optimize "On" + + filter "configurations:Final" + defines "TOSHI_FINAL" + runtime "Release" + optimize "On" + group "Engine" include "Toshi" include "OpenJPOG" From 1a4e60a7e713a1078becc14ac607638145387d73 Mon Sep 17 00:00:00 2001 From: InfiniteC0re Date: Mon, 14 Apr 2025 17:58:13 +0500 Subject: [PATCH 3/4] Clean up OpenJPOG premake file --- OpenJPOG/premake5.lua | 31 ++----------------------------- 1 file changed, 2 insertions(+), 29 deletions(-) diff --git a/OpenJPOG/premake5.lua b/OpenJPOG/premake5.lua index 19e5d9b..989d65b 100644 --- a/OpenJPOG/premake5.lua +++ b/OpenJPOG/premake5.lua @@ -1,7 +1,6 @@ project ("OpenJPOG") + kind "ConsoleApp" language "C++" - cppdialect "C++20" - characterset "ASCII" staticruntime "on" links @@ -33,9 +32,9 @@ project ("OpenJPOG") includedirs { + "Source", "%{wks.location}/Toshi/Include", "%{wks.location}/Toshi/Plugins/Include", - "Source", "%{IncludeDir.fmod}", "%{IncludeDir.bink}" } @@ -68,29 +67,3 @@ project ("OpenJPOG") "{COPY} \"%{wks.location}Toshi/vendor/fmod/lib/fmod.dll\" \"%{wks.location}bin/" .. outputdir .. "/%{prj.name}\"", "{COPY} \"%{wks.location}Toshi/vendor/bink/lib/binkw32.dll\" \"%{wks.location}bin/" .. outputdir .. "/%{prj.name}\"", } - - filter "system:windows" - systemversion "latest" - - defines - { - "TOSHI_SKU_WINDOWS" - } - - filter "configurations:Debug" - kind "ConsoleApp" - runtime "Debug" - defines "TOSHI_DEBUG" - symbols "On" - - filter "configurations:Release" - kind "ConsoleApp" - runtime "Release" - defines "TOSHI_RELEASE" - optimize "On" - - filter "configurations:Final" - kind "ConsoleApp" - runtime "Release" - defines "TOSHI_FINAL" - optimize "On" From 321eee5e11422f3a4bd4d5f4467169d7ec18525a Mon Sep 17 00:00:00 2001 From: InfiniteC0re Date: Mon, 14 Apr 2025 18:39:34 +0500 Subject: [PATCH 4/4] Fix TManagedPtr --- .../Source/TKernel/TManagedPointer_Tests.cpp | 14 +++- Toshi/Include/TGui/TGUIInterface.h | 5 +- Toshi/Include/TKernel/TManagedPointer.h | 78 +++++++++++-------- Toshi/Include/TRender/TRenderInterface.h | 5 +- .../TRenderD3D/TD3DVertexFactoryResource.cpp | 1 + 5 files changed, 66 insertions(+), 37 deletions(-) diff --git a/Tools/UnitTests/Source/TKernel/TManagedPointer_Tests.cpp b/Tools/UnitTests/Source/TKernel/TManagedPointer_Tests.cpp index 9ea23c3..d26b772 100644 --- a/Tools/UnitTests/Source/TKernel/TManagedPointer_Tests.cpp +++ b/Tools/UnitTests/Source/TKernel/TManagedPointer_Tests.cpp @@ -3,18 +3,24 @@ TOSHI_NAMESPACE_USING -struct Test +struct ManagedPtrTest : public TRefCounted { - int m_iTest; + int m_iTest = 1; }; TEST_CASE("Test Managed Pointer", "[TManagedPtr]") { - TManagedPtr testptr(new Test{ 1 }); + ManagedPtrTest *pTest = new ManagedPtrTest; + pTest->m_iTest = 1; + + TManagedPtr testptr(pTest); REQUIRE(testptr->m_iTest == 1); REQUIRE(testptr.GetRefCount() == 1); - TManagedPtr testptr2 = testptr; + + TManagedPtr testptr2 = testptr; REQUIRE(testptr->m_iTest == 1); REQUIRE(testptr.GetRefCount() == 2); + + testptr = TNULL; REQUIRE(testptr2.GetRefCount() == 1); } diff --git a/Toshi/Include/TGui/TGUIInterface.h b/Toshi/Include/TGui/TGUIInterface.h index 8116c7a..9cc10e8 100644 --- a/Toshi/Include/TGui/TGUIInterface.h +++ b/Toshi/Include/TGui/TGUIInterface.h @@ -1,11 +1,14 @@ #pragma once #include "Defines.h" #include "TKernel/TObject.h" +#include "TKernel/TRefCounted.h" #include "TGUIActionMap.h" TOSHI_NAMESPACE_BEGIN -class TGUIINTERFACE_EXPORTS TGUIInterface : public TObject +class TGUIINTERFACE_EXPORTS TGUIInterface + : public TObject + , public TRefCounted { DECLARE_DYNAMIC(TGUIInterface) diff --git a/Toshi/Include/TKernel/TManagedPointer.h b/Toshi/Include/TKernel/TManagedPointer.h index efc7cf1..7461668 100644 --- a/Toshi/Include/TKernel/TManagedPointer.h +++ b/Toshi/Include/TKernel/TManagedPointer.h @@ -3,72 +3,69 @@ #include "TRefCounted.h" #include "TSystemTools.h" +#include + TOSHI_NAMESPACE_BEGIN template -class TManagedPtr : public TRefCounted +class TManagedPtr { public: + static_assert(std::is_base_of::value); + TManagedPtr() : m_pObject(TNULL) { } TManagedPtr(T *a_pObject) + : m_pObject( a_pObject ) { if (m_pObject) { m_pObject = a_pObject; - if (m_pObject) { - IncRefCount(); - } + m_pObject->TRefCounted::IncRefCount(); } } - TManagedPtr(TManagedPtr &a_source) + // copy constructor + TManagedPtr(const TManagedPtr &a_source) { - if (m_pObject != a_source.m_pObject) { - if (m_pObject && DecRefCount() == 0) { - delete m_pObject; - } - m_pObject = a_source.m_pObject; - if (a_source.m_pObject) { - a_source.IncRefCount(); - } + m_pObject = a_source.m_pObject; + + if (m_pObject) { + m_pObject->TRefCounted::IncRefCount(); } } + // move constructor + TManagedPtr(TManagedPtr &&a_source) + { + m_pObject = a_source.m_pObject; + a_source.m_pObject = TNULL; + } + ~TManagedPtr() { - if (m_pObject) { - if (DecRefCount() == 0) { - delete m_pObject; - } - m_pObject = TNULL; + if (m_pObject && m_pObject->TRefCounted::DecRefCount() == 0) { + delete m_pObject; } } TManagedPtr &operator=(T *a_pObject) { - if (m_pObject) { - m_pObject = a_pObject; - if (m_pObject) { - IncRefCount(); - } + if (m_pObject != a_pObject) { + Create(a_pObject); } + return *this; } - TManagedPtr &operator=(TManagedPtr &a_source) + TManagedPtr &operator=(const TManagedPtr &a_source) { if (m_pObject != a_source.m_pObject) { - if (m_pObject && DecRefCount() == 0) { - delete m_pObject; - } - m_pObject = a_source.m_pObject; - if (a_source.m_pObject) { - a_source.IncRefCount(); - } + Create(a_source.m_pObject); } + return *this; } @@ -90,6 +87,25 @@ class TManagedPtr : public TRefCounted return m_pObject; } + TINT GetRefCount() const + { + return m_pObject ? m_pObject->TRefCounted::GetRefCount() : 0; + } + +private: + void Create(T *a_pObject) + { + if (m_pObject && m_pObject->TRefCounted::DecRefCount() == 0) { + delete m_pObject; + } + + m_pObject = a_pObject; + + if (m_pObject) { + m_pObject->TRefCounted::IncRefCount(); + } + } + private: T *m_pObject; }; diff --git a/Toshi/Include/TRender/TRenderInterface.h b/Toshi/Include/TRender/TRenderInterface.h index 6d377e6..5418a26 100644 --- a/Toshi/Include/TRender/TRenderInterface.h +++ b/Toshi/Include/TRender/TRenderInterface.h @@ -2,6 +2,7 @@ #include "TKernel/TObject.h" #include "TKernel/TKernelInterface.h" +#include "TKernel/TRefCounted.h" #include "TRenderContext.h" #include "TResource.h" #include "TRenderAdapter.h" @@ -14,7 +15,9 @@ TOSHI_NAMESPACE_BEGIN -class TRENDERINTERFACE_EXPORTS TRenderInterface : public TObject +class TRENDERINTERFACE_EXPORTS TRenderInterface + : public TObject + , public TRefCounted { DECLARE_DYNAMIC(TRenderInterface) diff --git a/Toshi/Source/TRenderD3D/TD3DVertexFactoryResource.cpp b/Toshi/Source/TRenderD3D/TD3DVertexFactoryResource.cpp index ff5c9d9..87c02e8 100644 --- a/Toshi/Source/TRenderD3D/TD3DVertexFactoryResource.cpp +++ b/Toshi/Source/TRenderD3D/TD3DVertexFactoryResource.cpp @@ -47,6 +47,7 @@ TVertexBlockResource *TVertexFactoryResource::FindBlockResource(TVertexPoolResou return TNULL; } RecurseSimple(CallBack, this, &result); + return result.m_pBlock; } TVertexBlockResource *TVertexFactoryResource::CreateBlockResource(TUSHORT a_uiMaxVertices, TUINT a_uiFlags)

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