Skip to content

Commit

Permalink
MemoryOperations plugin (#54)
Browse files Browse the repository at this point in the history
* Created MemoryOperations plugin.

Opcode parameters validation utilities.
Unit tests.

* Merge fix.

* Updates.

* Fixes, more tests.

* Plugins loading updated.

* Fixed support of floats in get/set cleo variable opcodes.

* Updates.

* Fix

* Updates.

* 0A9C test

* 0A9D test

* Review updates.

* Opcode get_script_struct_from_filename

* Opcode 2404 updated

* get_script_struct_just_created name updated

* Test case updated
  • Loading branch information
MiranDMC authored Feb 19, 2024
1 parent 5251bbb commit b83fa35
Show file tree
Hide file tree
Showing 74 changed files with 4,239 additions and 1,215 deletions.
41 changes: 32 additions & 9 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,32 @@
- new opcode **2101 ([trace](https://library.sannybuilder.com/#/sa/debug/2101))**
- new opcode **2102 ([log_to_file](https://library.sannybuilder.com/#/sa/debug/2102))**
- implemented support of opcodes **0662**, **0663** and **0664** (original Rockstar's script debugging opcodes. See DebugUtils.ini)
- new [FileSystemOperations](https://github.com/cleolibrary/CLEO5/tree/master/cleo_plugins/FileSystemOperations) plugin
- file related opcodes moved from CLEO into separated plugin
- opcode **0A9E ([write_to_file](https://library.sannybuilder.com/#/sa/file/0A9E))** now supports literal numbers and strings
- fixed bug preventing file stream opcodes from working correctly for read-write modes
- fixed buffer overflows in file stream read opcodes
- added/fixed support of all file stream opcodes in legacy mode (Cleo3)
- new opcode **2300 ([get_file_position](https://library.sannybuilder.com/#/sa/file/2300))**
- new opcode **2301 ([read_block_from_file](https://library.sannybuilder.com/#/sa/file/2301))**
- **2302 ([resolve_filepath](https://library.sannybuilder.com/#/sa/file/2302))**
- **2303 ([get_script_filename](https://library.sannybuilder.com/#/sa/file/2303))**
- new [MemoryOperations](https://github.com/cleolibrary/CLEO5/tree/master/cleo_plugins/MemoryOperations) plugin
- memory related opcodes moved from CLEO into separated plugin
- validation of input and output parameters for all opcodes
- opcode **0A8C ([write_memory](https://library.sannybuilder.com/#/sa/memory/0A8C))** now supports strings
- new opcode **2400 ([copy_memory](https://library.sannybuilder.com/#/sa/memory/2400))**
- new opcode **2401 ([read_memory_with_offset](https://library.sannybuilder.com/#/sa/memory/2401))**
- new opcode **2402 ([writememory_with_offset](https://library.sannybuilder.com/#/sa/memory/2402))**
- new opcode **2403 ([forget_memory](https://library.sannybuilder.com/#/sa/memory/2403))**
- new opcode **2404 ([get_script_struct_just_created](https://library.sannybuilder.com/#/sa/memory/2404))**
- new opcode **2405 ([is_script_running](https://library.sannybuilder.com/#/sa/memory/2405))**
- new opcode **2406 ([get_script_struct_from_filename](https://library.sannybuilder.com/#/sa/memory/2406))**
- new and updated opcodes
- **0B1E ([sign_extend](https://library.sannybuilder.com/#/sa/bitwise/0B1E))**
- **0DD5 ([get_game_platform](https://library.sannybuilder.com/#/sa/CLEO/0DD5))**
- **2000 ([resolve_filepath](https://library.sannybuilder.com/#/sa/CLEO/2000))**
- **2001 ([get_script_filename](https://library.sannybuilder.com/#/sa/CLEO/2001))**
- **2002 ([cleo_return_with](https://library.sannybuilder.com/#/sa/CLEO/2002))**
- **2003 ([cleo_return_fail](https://library.sannybuilder.com/#/sa/CLEO/2003))**
- **2004 ([forget_memory](https://library.sannybuilder.com/#/sa/CLEO/2004))**
- **2300 ([get_file_position](https://library.sannybuilder.com/#/sa/file/2300))**
- **2301 ([read_block_from_file](https://library.sannybuilder.com/#/sa/file/2301))**
- opcodes **0A9A**, **0A9B**, **0A9C**, **0A9D**, **0A9E**, **0AAB**, **0AD5**, **0AD6**, **0AD7**, **0AD8**, **0AD9**, **0ADA**, **0AE4**, **0AE5**, **0AE6**, **0AE7** and **0AE8** moved to the [FileSystemOperations](https://github.com/cleolibrary/CLEO5/tree/master/cleo_plugins/FileSystemOperations) plugin
- fixed bug preventing file stream opcodes from working correctly for read-write modes
- fixed buffer overflows in file stream read opcodes
- added/fixed support of all file stream opcodes in legacy mode (Cleo3)
- 'argument count' parameter of **0AB1 (cleo_call)** is now optional. `cleo_call @LABEL args 0` can be written as `cleo_call @LABEL`
- 'argument count' parameter of **0AB2 (cleo_return)** is now optional. `cleo_return 0` can be written as `cleo_return`
- **cleo_return_\*** opcodes now can pass strings as return arguments
Expand All @@ -46,22 +58,33 @@
- fixed resolution dependent aspect ratio of CLEO text in main menu
- fixed clearing mission locals when new CLEO mission is started
- when reading less than 4 bytes with **0A9D (readfile)** now remaining bytes of the target variable are set to zero
- fixed invalid 7 characters length limit of **0AAA (get_script_struct_named)**

#### SDK AND PLUGINS
- now all opcodes in range **0-7FFF** can be registered by plugins
- plugins moved to _cleo\cleo_plugins_ directory
- new SDK method: CLEO_RegisterCallback
- new SDK method: CLEO_GetVarArgCount
- new SDK method: CLEO_PeekIntOpcodeParam
- new SDK method: CLEO_PeekFloatOpcodeParam
- new SDK method: CLEO_SkipUnusedVarArgs
- new SDK method: CLEO_ReadParamsFormatted
- new SDK method: CLEO_ReadStringParamWriteBuffer
- new SDK method: CLEO_GetOpcodeParamsArray
- new SDK method: CLEO_GetParamsHandledCount
- new SDK method: CLEO_GetScriptVersion
- new SDK method: CLEO_GetScriptInfoStr
- new SDK method: CLEO_GetScriptFilename
- new SDK method: CLEO_GetScriptWorkDir
- new SDK method: CLEO_SetScriptWorkDir
- new SDK method: CLEO_ResolvePath
- new SDK method: CLEO_GetScriptByName
- new SDK method: CLEO_GetScriptByFilename
- new SDK method: CLEO_GetScriptDebugMode
- new SDK method: CLEO_SetScriptDebugMode
- new SDK method: CLEO_Log


#### CLEO internal
- project migrated to VS 2022
- configured game debugging settings
Expand Down
8 changes: 6 additions & 2 deletions CLEO5.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,13 @@
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="$(PLUGIN_SDK_DIR)\plugin_sa\game_sa\CPools.cpp">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="cleo_sdk\CLEO.h" />
<ClInclude Include="cleo_sdk\CLEO_Utils.h" />
<ClInclude Include="source\CCodeInjector.h" />
<ClInclude Include="source\CCustomOpcodeSystem.h" />
<ClInclude Include="source\CDebug.h" />
Expand Down Expand Up @@ -150,7 +154,7 @@
<SDLCheck>true</SDLCheck>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>$(PLUGIN_SDK_DIR)\plugin_sa\;$(PLUGIN_SDK_DIR)\plugin_sa\game_sa\;$(PLUGIN_SDK_DIR)\shared\;$(PLUGIN_SDK_DIR)\shared\game\;$(SolutionDir)\third-party\bass;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_NDEBUG;_USING_V110_SDK71_;_CRT_SECURE_NO_WARNINGS;_CRT_NON_CONFORMING_SWPRINTFS;GTASA;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_NDEBUG;_USING_V110_SDK71_;_CRT_SECURE_NO_WARNINGS;_CRT_NON_CONFORMING_SWPRINTFS;GTASA;%(PreprocessorDefinitions);TARGET_NAME=R"($(TargetName))"</PreprocessorDefinitions>
<AdditionalOptions>/Zc:threadSafeInit- %(AdditionalOptions)</AdditionalOptions>
<PrecompiledHeader>Create</PrecompiledHeader>
<LanguageStandard>stdcpp17</LanguageStandard>
Expand Down Expand Up @@ -182,7 +186,7 @@ xcopy /Y "$(OutDir)$(TargetName).pdb" "$(GTA_SA_DIR)\"
<SDLCheck>true</SDLCheck>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>$(PLUGIN_SDK_DIR)\plugin_sa\;$(PLUGIN_SDK_DIR)\plugin_sa\game_sa\;$(SolutionDir)\third-party\bass;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;_USING_V110_SDK71_;_CRT_SECURE_NO_WARNINGS;_CRT_NON_CONFORMING_SWPRINTFS;_SCL_SECURE_NO_WARNINGS;GTASA;%(PreprocessorDefinitions);</PreprocessorDefinitions>
<PreprocessorDefinitions>_DEBUG;_USING_V110_SDK71_;_CRT_SECURE_NO_WARNINGS;_CRT_NON_CONFORMING_SWPRINTFS;_SCL_SECURE_NO_WARNINGS;GTASA;%(PreprocessorDefinitions);;TARGET_NAME=R"($(TargetName))"</PreprocessorDefinitions>
<AdditionalOptions>/Zc:threadSafeInit- %(AdditionalOptions)</AdditionalOptions>
<PrecompiledHeader>Create</PrecompiledHeader>
<LanguageStandard>stdcpp17</LanguageStandard>
Expand Down
6 changes: 6 additions & 0 deletions CLEO5.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,9 @@
<ClCompile Include="source\ScmFunction.cpp">
<Filter>source\extensions</Filter>
</ClCompile>
<ClCompile Include="$(PLUGIN_SDK_DIR)\plugin_sa\game_sa\CPools.cpp">
<Filter>plugin_sdk</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="source\stdafx.h">
Expand Down Expand Up @@ -167,6 +170,9 @@
<ClInclude Include="source\ScmFunction.h">
<Filter>source\extensions</Filter>
</ClInclude>
<ClInclude Include="cleo_sdk\CLEO_Utils.h">
<Filter>cleo_sdk</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="source\cleo.def">
Expand Down
6 changes: 6 additions & 0 deletions cleo_plugins/CLEO_Plugins.sln
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IntOperations", "IntOperati
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DebugUtils", "DebugUtils\DebugUtils.vcxproj", "{481896C4-0C19-4992-9602-729537774B32}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MemoryOperations", "MemoryOperations\MemoryOperations.vcxproj", "{35C80F79-8B18-4925-8C32-94B320DBE76F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86
Expand All @@ -33,6 +35,10 @@ Global
{481896C4-0C19-4992-9602-729537774B32}.Debug|x86.Build.0 = Debug|Win32
{481896C4-0C19-4992-9602-729537774B32}.Release|x86.ActiveCfg = Release|Win32
{481896C4-0C19-4992-9602-729537774B32}.Release|x86.Build.0 = Release|Win32
{35C80F79-8B18-4925-8C32-94B320DBE76F}.Debug|x86.ActiveCfg = Debug|Win32
{35C80F79-8B18-4925-8C32-94B320DBE76F}.Debug|x86.Build.0 = Debug|Win32
{35C80F79-8B18-4925-8C32-94B320DBE76F}.Release|x86.ActiveCfg = Release|Win32
{35C80F79-8B18-4925-8C32-94B320DBE76F}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
63 changes: 32 additions & 31 deletions cleo_plugins/DebugUtils/DebugUtils.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#include "ScreenLog.h"
#include "Utils.h"
#include "CLEO.h"
#include "CLEO_Utils.h"
#include "CTimer.h"
#include <windows.h> // keyboard
#include <deque>
Expand Down Expand Up @@ -33,37 +33,35 @@ class DebugUtils
DebugUtils()
{
auto cleoVer = CLEO_GetVersion();
if (cleoVer >= CLEO_VERSION)
if (cleoVer < CLEO_VERSION)
{
auto config = GetConfigFilename();
auto err = StringPrintf("This plugin requires version %X or later! \nCurrent version of CLEO is %X.", CLEO_VERSION >> 8, cleoVer >> 8);
MessageBox(HWND_DESKTOP, err.c_str(), TARGET_NAME, MB_SYSTEMMODAL | MB_ICONERROR);
return;
}

// register opcodes
CLEO_RegisterOpcode(0x00C3, Opcode_DebugOn);
CLEO_RegisterOpcode(0x00C4, Opcode_DebugOff);
CLEO_RegisterOpcode(0x2100, Opcode_Breakpoint);
CLEO_RegisterOpcode(0x2101, Opcode_Trace);
CLEO_RegisterOpcode(0x2102, Opcode_LogToFile);
auto config = GetConfigFilename();

// original Rockstar's script debugging opcodes
if(GetPrivateProfileInt("General", "LegacyDebugOpcodes", 0, config.c_str()) != 0)
{
CLEO_RegisterOpcode(0x0662, Opcode_PrintString);
CLEO_RegisterOpcode(0x0663, Opcode_PrintInt);
CLEO_RegisterOpcode(0x0664, Opcode_PrintFloat);
}
// register opcodes
CLEO_RegisterOpcode(0x00C3, Opcode_DebugOn);
CLEO_RegisterOpcode(0x00C4, Opcode_DebugOff);
CLEO_RegisterOpcode(0x2100, Opcode_Breakpoint);
CLEO_RegisterOpcode(0x2101, Opcode_Trace);
CLEO_RegisterOpcode(0x2102, Opcode_LogToFile);

// register event callbacks
CLEO_RegisterCallback(eCallbackId::Log, OnLog);
CLEO_RegisterCallback(eCallbackId::DrawingFinished, OnDrawingFinished);
CLEO_RegisterCallback(eCallbackId::ScriptProcess, OnScriptProcess);
CLEO_RegisterCallback(eCallbackId::ScriptsFinalize, OnScriptsFinalize);
}
else
// original Rockstar's script debugging opcodes
if(GetPrivateProfileInt("General", "LegacyDebugOpcodes", 0, config.c_str()) != 0)
{
std::string err(128, '\0');
sprintf(err.data(), "This plugin requires version %X or later! \nCurrent version of CLEO is %X.", CLEO_VERSION >> 8, cleoVer >> 8);
MessageBox(HWND_DESKTOP, err.data(), "DebugUtils.cleo", MB_SYSTEMMODAL | MB_ICONERROR);
CLEO_RegisterOpcode(0x0662, Opcode_PrintString);
CLEO_RegisterOpcode(0x0663, Opcode_PrintInt);
CLEO_RegisterOpcode(0x0664, Opcode_PrintFloat);
}

// register event callbacks
CLEO_RegisterCallback(eCallbackId::Log, OnLog);
CLEO_RegisterCallback(eCallbackId::DrawingFinished, OnDrawingFinished);
CLEO_RegisterCallback(eCallbackId::ScriptProcess, OnScriptProcess);
CLEO_RegisterCallback(eCallbackId::ScriptsFinalize, OnScriptsFinalize);
}

// ---------------------------------------------- event callbacks -------------------------------------------------
Expand Down Expand Up @@ -129,11 +127,14 @@ class DebugUtils
{
keysReleased = false;

std::stringstream ss;
ss << "Script breakpoint ";
if (!pausedScripts[i].msg.empty()) ss << "'" << pausedScripts[i].msg << "' ";
ss << "released in '" << pausedScripts[i].ptr->GetName() << "'";
CLEO_Log(eLogLevel::Debug, ss.str().c_str());
if (!CTimer::m_CodePause)
{
std::stringstream ss;
ss << "Script breakpoint ";
if (!pausedScripts[i].msg.empty()) ss << "'" << pausedScripts[i].msg << "' "; // TODO: restore color if custom was used in name
ss << "released in '" << pausedScripts[i].ptr->GetName() << "'";
CLEO_Log(eLogLevel::Debug, ss.str().c_str());
}

if (CTimer::m_CodePause)
{
Expand Down
11 changes: 6 additions & 5 deletions cleo_plugins/DebugUtils/DebugUtils.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,13 @@
<OutDir>$(SolutionDir).output\</OutDir>
<IntDir>$(ProjectDir).obj\$(Configuration)\</IntDir>
<TargetName>DebugUtils</TargetName>
<TargetExt>.cleo</TargetExt>
<TargetExt>.cleo5</TargetExt>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir).output\</OutDir>
<IntDir>$(ProjectDir).obj\$(Configuration)\</IntDir>
<TargetName>DebugUtils</TargetName>
<TargetExt>.cleo</TargetExt>
<TargetExt>.cleo5</TargetExt>
</PropertyGroup>
<PropertyGroup>
<LocalDebuggerCommand>$(GTA_SA_DIR)\gta_sa.exe</LocalDebuggerCommand>
Expand All @@ -68,7 +68,7 @@
<SDLCheck>true</SDLCheck>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>$(PLUGIN_SDK_DIR)\plugin_sa\;$(PLUGIN_SDK_DIR)\plugin_sa\game_sa\;$(PLUGIN_SDK_DIR)\shared;$(PLUGIN_SDK_DIR)\shared\game;$(SolutionDir)..\cleo_sdk</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_NDEBUG;_USING_V110_SDK71_;_CRT_SECURE_NO_WARNINGS;_CRT_NON_CONFORMING_SWPRINTFS;GTASA;GTAGAME_NAME="San Andreas";GTAGAME_ABBR="SA";GTAGAME_ABBRLOW="sa";GTAGAME_PROTAGONISTNAME="CJ";GTAGAME_CITYNAME="San Andreas";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_NDEBUG;_USING_V110_SDK71_;_CRT_SECURE_NO_WARNINGS;_CRT_NON_CONFORMING_SWPRINTFS;GTASA;GTAGAME_NAME="San Andreas";GTAGAME_ABBR="SA";GTAGAME_ABBRLOW="sa";GTAGAME_PROTAGONISTNAME="CJ";GTAGAME_CITYNAME="San Andreas";%(PreprocessorDefinitions);TARGET_NAME=R"($(TargetName))"</PreprocessorDefinitions>
<AdditionalOptions>/Zc:threadSafeInit- %(AdditionalOptions)</AdditionalOptions>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
Expand Down Expand Up @@ -97,7 +97,7 @@ xcopy /Y "$(OutDir)$(TargetName).*" "$(GTA_SA_DIR)\cleo\cleo_plugins\"
<SDLCheck>true</SDLCheck>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>$(PLUGIN_SDK_DIR)\plugin_sa\;$(PLUGIN_SDK_DIR)\plugin_sa\game_sa\;$(PLUGIN_SDK_DIR)\shared;$(PLUGIN_SDK_DIR)\shared\game;$(SolutionDir)..\cleo_sdk</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;_USING_V110_SDK71_;_CRT_SECURE_NO_WARNINGS;_CRT_NON_CONFORMING_SWPRINTFS;GTASA;GTAGAME_NAME="San Andreas";GTAGAME_ABBR="SA";GTAGAME_ABBRLOW="sa";GTAGAME_PROTAGONISTNAME="CJ";GTAGAME_CITYNAME="San Andreas";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_DEBUG;_USING_V110_SDK71_;_CRT_SECURE_NO_WARNINGS;_CRT_NON_CONFORMING_SWPRINTFS;GTASA;GTAGAME_NAME="San Andreas";GTAGAME_ABBR="SA";GTAGAME_ABBRLOW="sa";GTAGAME_PROTAGONISTNAME="CJ";GTAGAME_CITYNAME="San Andreas";%(PreprocessorDefinitions);TARGET_NAME=R"($(TargetName))"</PreprocessorDefinitions>
<AdditionalOptions>/Zc:threadSafeInit- %(AdditionalOptions)</AdditionalOptions>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
Expand Down Expand Up @@ -127,8 +127,9 @@ xcopy /Y "$(OutDir)$(TargetName).*" "$(GTA_SA_DIR)\cleo\cleo_plugins\"
<ClCompile Include="ScreenLog.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\cleo_sdk\CLEO.h" />
<ClInclude Include="..\..\cleo_sdk\CLEO_Utils.h" />
<ClInclude Include="ScreenLog.h" />
<ClInclude Include="Utils.h" />
</ItemGroup>
<ItemGroup>
<None Include="DebugUtils.ini" />
Expand Down
9 changes: 7 additions & 2 deletions cleo_plugins/DebugUtils/DebugUtils.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,18 @@
<ClCompile Include="$(PLUGIN_SDK_DIR)\plugin_sa\game_sa\RenderWare.cpp">
<Filter>sdk</Filter>
</ClCompile>
<ClCompile Include="$(PLUGIN_SDK_DIR)\GTA_SDK\plugin_sa\game_sa\CTimer.cpp">
<ClCompile Include="$(PLUGIN_SDK_DIR)\plugin_sa\game_sa\CTimer.cpp">
<Filter>sdk</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="ScreenLog.h" />
<ClInclude Include="Utils.h" />
<ClInclude Include="..\..\cleo_sdk\CLEO.h">
<Filter>sdk</Filter>
</ClInclude>
<ClInclude Include="..\..\cleo_sdk\CLEO_Utils.h">
<Filter>sdk</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Filter Include="sdk">
Expand Down
2 changes: 1 addition & 1 deletion cleo_plugins/DebugUtils/ScreenLog.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include "ScreenLog.h"
#include "Utils.h"
#include "CLEO_Utils.h"
#include "CFont.h"
#include "CTimer.h"

Expand Down
16 changes: 0 additions & 16 deletions cleo_plugins/DebugUtils/Utils.h

This file was deleted.

Loading

0 comments on commit b83fa35

Please sign in to comment.