diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 6f285487..d328911d 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -7,7 +7,7 @@ on:
jobs:
build:
- runs-on: windows-2019
+ runs-on: windows-2022
steps:
- uses: actions/checkout@v4
@@ -47,7 +47,7 @@ jobs:
vt_api_key: ${{ secrets.VT_KEY }}
files: |
./.output/Release/CLEO.asi
-
+
- name: Plugins - Build
shell: cmd
run: |
@@ -55,6 +55,24 @@ jobs:
msbuild -m cleo_plugins/CLEO_Plugins.sln /property:Configuration=Release /property:Platform=x86
msbuild -m cleo_plugins/CLEO_Plugins.sln /property:Configuration=Release /property:Platform=x86
+ - name: Plugins - Sign
+ uses: x87/code-sign-action@develop
+ with:
+ certificate: '${{ secrets.DIG_KEY_CERT }}'
+ password: '${{ secrets.DIG_KEY_PWD }}'
+ certificatename: 'Seemann'
+ description: 'CLEO 5 Plugin'
+ timestampUrl: 'http://timestamp.digicert.com'
+ folder: './cleo_plugins/.output'
+ recursive: true
+
+ - name: Plugins - VirusTotal Scan
+ uses: crazy-max/ghaction-virustotal@v4
+ with:
+ vt_api_key: ${{ secrets.VT_KEY }}
+ files: |
+ ./cleo_plugins/.output/*.cleo
+
- name: Gather Output Files
id: prepare_archive
shell: cmd
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 8ac2a245..b40a3317 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -11,12 +11,17 @@ on:
jobs:
build:
- runs-on: windows-2019
+ runs-on: windows-2022
steps:
- uses: actions/checkout@v4
with:
submodules: "recursive"
+
+# - name: Select Windows SDK
+# uses: GuillaumeFalourd/setup-windows10-sdk-action@v2
+# with:
+# sdk-version: 22000 # 18362, 19041, 20348, 22000, 22621
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
@@ -39,6 +44,13 @@ jobs:
run: |
set PLUGIN_SDK_DIR=%GITHUB_WORKSPACE%\third-party\plugin-sdk
msbuild -m cleo_plugins/CLEO_Plugins.sln /property:Configuration=Release /property:Platform=x86
+
+ - name: Plugins - VirusTotal Scan
+ uses: crazy-max/ghaction-virustotal@v4
+ with:
+ vt_api_key: ${{ secrets.VT_KEY }}
+ files: |
+ ./cleo_plugins/.output/*.cleo
- name: Gather Output Files
id: prepare_archive
diff --git a/CLEO5.vcxproj b/CLEO5.vcxproj
index ce5d0463..4f15205e 100644
--- a/CLEO5.vcxproj
+++ b/CLEO5.vcxproj
@@ -106,7 +106,7 @@
true
Win32Proj
CLEO5
- 10.0.18362.0
+ 10.0
CLEO5
@@ -114,14 +114,14 @@
DynamicLibrary
false
MultiByte
- v142
+ v143
true
DynamicLibrary
true
MultiByte
- v142
+ v143
diff --git a/cleo_plugins/Audio/Audio.vcxproj b/cleo_plugins/Audio/Audio.vcxproj
index 855eb459..045b59e9 100644
--- a/cleo_plugins/Audio/Audio.vcxproj
+++ b/cleo_plugins/Audio/Audio.vcxproj
@@ -15,7 +15,7 @@
true
Win32Proj
Audio
- 10.0.18362.0
+ 10.0
Audio
@@ -23,14 +23,14 @@
DynamicLibrary
false
MultiByte
- v142
+ v143
true
DynamicLibrary
true
MultiByte
- v142
+ v143
@@ -74,11 +74,12 @@
/Zc:threadSafeInit- %(AdditionalOptions)
$(PLUGIN_SDK_DIR)\plugin_sa\;$(PLUGIN_SDK_DIR)\plugin_sa\game_sa\;$(PLUGIN_SDK_DIR)\shared;$(PLUGIN_SDK_DIR)\shared\game;$(SolutionDir)..\cleo_sdk;$(ProjectDir)\bass\;%(AdditionalIncludeDirectories)
stdcpp17
+ None
true
true
- true
+ false
UseLinkTimeCodeGeneration
$(PLUGIN_SDK_DIR)\output\lib\;$(SolutionDir)..\cleo_sdk\;$(ProjectDir)bass\;%(AdditionalLibraryDirectories)
cleo.lib;bass.lib;%(AdditionalDependencies)
@@ -89,6 +90,9 @@
xcopy /Y "$(ProjectDir)*.ini" "$(OutDir)"
xcopy /Y "$(OutDir)$(TargetName).*" "$(GTA_SA_DIR)\cleo\cleo_plugins\"
+
+ TARGET_NAME=$(TargetFileName)
+
@@ -113,6 +117,9 @@ xcopy /Y "$(OutDir)$(TargetName).*" "$(GTA_SA_DIR)\cleo\cleo_plugins\"
+
+ TARGET_NAME=$(TargetFileName)
+
@@ -158,6 +165,9 @@ xcopy /Y "$(OutDir)$(TargetName).*" "$(GTA_SA_DIR)\cleo\cleo_plugins\"
+
+
+
diff --git a/cleo_plugins/Audio/Audio.vcxproj.filters b/cleo_plugins/Audio/Audio.vcxproj.filters
index 9d593543..71b9e853 100644
--- a/cleo_plugins/Audio/Audio.vcxproj.filters
+++ b/cleo_plugins/Audio/Audio.vcxproj.filters
@@ -73,4 +73,7 @@
+
+
+
\ No newline at end of file
diff --git a/cleo_plugins/DebugUtils/DebugUtils.cpp b/cleo_plugins/DebugUtils/DebugUtils.cpp
index 408e420c..fe72ebe6 100644
--- a/cleo_plugins/DebugUtils/DebugUtils.cpp
+++ b/cleo_plugins/DebugUtils/DebugUtils.cpp
@@ -74,6 +74,8 @@ class DebugUtils
static void WINAPI OnDrawingFinished()
{
+ auto GTA_GetKeyState = (SHORT (__stdcall*)(int))0x0081E64C; // use ingame function as GetKeyState might look like keylogger to some AV software
+
// log messages
screenLog.Draw();
@@ -109,7 +111,7 @@ class DebugUtils
keysReleased = true;
for (size_t i = 0; i < KeyCount; i++)
{
- auto state = GetKeyState(KeyFirst + i);
+ auto state = GTA_GetKeyState(KeyFirst + i);
if (state & 0x8000) // key down
{
keysReleased = false;
@@ -122,7 +124,7 @@ class DebugUtils
const size_t count = min(pausedScripts.size(), KeyCount);
for (size_t i = 0; i < count; i++)
{
- auto state = GetKeyState(KeyFirst + i);
+ auto state = GTA_GetKeyState(KeyFirst + i);
if (state & 0x8000) // key down
{
keysReleased = false;
diff --git a/cleo_plugins/DebugUtils/DebugUtils.vcxproj b/cleo_plugins/DebugUtils/DebugUtils.vcxproj
index b4cc0f6b..8c4e9332 100644
--- a/cleo_plugins/DebugUtils/DebugUtils.vcxproj
+++ b/cleo_plugins/DebugUtils/DebugUtils.vcxproj
@@ -15,21 +15,21 @@
true
Win32Proj
DebugUtils
- 10.0.18362.0
+ 10.0
DynamicLibrary
false
MultiByte
- v142
+ v143
true
DynamicLibrary
true
MultiByte
- v142
+ v143
@@ -71,11 +71,12 @@
_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))"
/Zc:threadSafeInit- %(AdditionalOptions)
stdcpp17
+ None
true
true
- true
+ false
UseLinkTimeCodeGeneration
$(PLUGIN_SDK_DIR)\output\lib\;$(SolutionDir)..\cleo_sdk;%(AdditionalLibraryDirectories)
cleo.lib;%(AdditionalDependencies)
@@ -89,6 +90,9 @@ xcopy /Y "$(OutDir)$(TargetName).*" "$(GTA_SA_DIR)\cleo\cleo_plugins\"
)
+
+ TARGET_NAME=$(TargetFileName)
+
@@ -116,6 +120,9 @@ xcopy /Y "$(OutDir)$(TargetName).*" "$(GTA_SA_DIR)\cleo\cleo_plugins\"
)
+
+ TARGET_NAME=$(TargetFileName)
+
@@ -134,6 +141,9 @@ xcopy /Y "$(OutDir)$(TargetName).*" "$(GTA_SA_DIR)\cleo\cleo_plugins\"
+
+
+
diff --git a/cleo_plugins/DebugUtils/DebugUtils.vcxproj.filters b/cleo_plugins/DebugUtils/DebugUtils.vcxproj.filters
index b06f5016..699e95c5 100644
--- a/cleo_plugins/DebugUtils/DebugUtils.vcxproj.filters
+++ b/cleo_plugins/DebugUtils/DebugUtils.vcxproj.filters
@@ -36,4 +36,7 @@
+
+
+
\ No newline at end of file
diff --git a/cleo_plugins/FileSystemOperations/FileSystemOperations.vcxproj b/cleo_plugins/FileSystemOperations/FileSystemOperations.vcxproj
index 03365ec6..96f199fa 100644
--- a/cleo_plugins/FileSystemOperations/FileSystemOperations.vcxproj
+++ b/cleo_plugins/FileSystemOperations/FileSystemOperations.vcxproj
@@ -15,21 +15,21 @@
true
Win32Proj
FileSystemOperations
- 10.0.18362.0
+ 10.0
DynamicLibrary
false
MultiByte
- v142
+ v143
true
DynamicLibrary
true
MultiByte
- v142
+ v143
@@ -71,11 +71,12 @@
/Zc:threadSafeInit- %(AdditionalOptions)
$(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)
stdcpp17
+ None
true
true
- true
+ false
UseLinkTimeCodeGeneration
$(PLUGIN_SDK_DIR)\output\lib\;$(SolutionDir)..\cleo_sdk;%(AdditionalLibraryDirectories)
cleo.lib;%(AdditionalDependencies)
@@ -87,6 +88,9 @@ if defined GTA_SA_DIR (
xcopy /Y "$(OutDir)$(TargetName).*" "$(GTA_SA_DIR)\cleo\cleo_plugins\"
)
+
+ TARGET_NAME=$(TargetFileName)
+
@@ -112,6 +116,9 @@ if defined GTA_SA_DIR (
xcopy /Y "$(OutDir)$(TargetName).*" "$(GTA_SA_DIR)\cleo\cleo_plugins\"
)
+
+ TARGET_NAME=$(TargetFileName)
+
@@ -123,6 +130,9 @@ if defined GTA_SA_DIR (
+
+
+
diff --git a/cleo_plugins/FileSystemOperations/FileSystemOperations.vcxproj.filters b/cleo_plugins/FileSystemOperations/FileSystemOperations.vcxproj.filters
index 33fef5b0..5f134c6f 100644
--- a/cleo_plugins/FileSystemOperations/FileSystemOperations.vcxproj.filters
+++ b/cleo_plugins/FileSystemOperations/FileSystemOperations.vcxproj.filters
@@ -19,4 +19,7 @@
{a2c39c52-f49e-4ffe-bb0a-661ab07131b9}
+
+
+
\ No newline at end of file
diff --git a/cleo_plugins/IniFiles/IniFiles.vcxproj b/cleo_plugins/IniFiles/IniFiles.vcxproj
index d2c86010..05e4b2b3 100644
--- a/cleo_plugins/IniFiles/IniFiles.vcxproj
+++ b/cleo_plugins/IniFiles/IniFiles.vcxproj
@@ -15,21 +15,21 @@
true
Win32Proj
IniFiles
- 10.0.18362.0
+ 10.0
DynamicLibrary
false
MultiByte
- v142
+ v143
true
DynamicLibrary
true
MultiByte
- v142
+ v143
@@ -71,11 +71,12 @@
_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))"
/Zc:threadSafeInit- %(AdditionalOptions)
stdcpp17
+ None
true
true
- true
+ false
UseLinkTimeCodeGeneration
$(PLUGIN_SDK_DIR)\output\lib\;$(SolutionDir)..\cleo_sdk;%(AdditionalLibraryDirectories)
cleo.lib;%(AdditionalDependencies)
@@ -87,6 +88,9 @@ if defined GTA_SA_DIR (
xcopy /Y "$(OutDir)$(TargetName).*" "$(GTA_SA_DIR)\cleo\cleo_plugins\"
)
+
+ TARGET_NAME=$(TargetFileName)
+
@@ -112,10 +116,16 @@ if defined GTA_SA_DIR (
xcopy /Y "$(OutDir)$(TargetName).*" "$(GTA_SA_DIR)\cleo\cleo_plugins\"
)
+
+ TARGET_NAME=$(TargetFileName)
+
+
+
+
diff --git a/cleo_plugins/IniFiles/IniFiles.vcxproj.filters b/cleo_plugins/IniFiles/IniFiles.vcxproj.filters
index a93178c2..164b15c4 100644
--- a/cleo_plugins/IniFiles/IniFiles.vcxproj.filters
+++ b/cleo_plugins/IniFiles/IniFiles.vcxproj.filters
@@ -3,4 +3,7 @@
+
+
+
\ No newline at end of file
diff --git a/cleo_plugins/Math/Math.vcxproj b/cleo_plugins/Math/Math.vcxproj
index 23ce4620..7c8954a1 100644
--- a/cleo_plugins/Math/Math.vcxproj
+++ b/cleo_plugins/Math/Math.vcxproj
@@ -15,21 +15,21 @@
true
Win32Proj
Math
- 10.0.18362.0
+ 10.0
DynamicLibrary
false
MultiByte
- v142
+ v143
true
DynamicLibrary
true
MultiByte
- v142
+ v143
@@ -71,11 +71,12 @@
_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))"
/Zc:threadSafeInit- %(AdditionalOptions)
stdcpp17
+ None
true
true
- true
+ false
UseLinkTimeCodeGeneration
$(PLUGIN_SDK_DIR)\output\lib\;$(SolutionDir)..\cleo_sdk;%(AdditionalLibraryDirectories)
cleo.lib;%(AdditionalDependencies)
@@ -87,6 +88,9 @@ if defined GTA_SA_DIR (
xcopy /Y "$(OutDir)$(TargetName).*" "$(GTA_SA_DIR)\cleo\cleo_plugins\"
)
+
+ TARGET_NAME=$(TargetFileName)
+
@@ -112,6 +116,9 @@ if defined GTA_SA_DIR (
xcopy /Y "$(OutDir)$(TargetName).*" "$(GTA_SA_DIR)\cleo\cleo_plugins\"
)
+
+ TARGET_NAME=$(TargetFileName)
+
@@ -120,6 +127,9 @@ xcopy /Y "$(OutDir)$(TargetName).*" "$(GTA_SA_DIR)\cleo\cleo_plugins\"
+
+
+
diff --git a/cleo_plugins/Math/Math.vcxproj.filters b/cleo_plugins/Math/Math.vcxproj.filters
index 7b248992..b5865d2b 100644
--- a/cleo_plugins/Math/Math.vcxproj.filters
+++ b/cleo_plugins/Math/Math.vcxproj.filters
@@ -16,4 +16,7 @@
cleo_sdk
+
+
+
\ No newline at end of file
diff --git a/cleo_plugins/MemoryOperations/MemoryOperations.vcxproj b/cleo_plugins/MemoryOperations/MemoryOperations.vcxproj
index b14e5990..8b6a4feb 100644
--- a/cleo_plugins/MemoryOperations/MemoryOperations.vcxproj
+++ b/cleo_plugins/MemoryOperations/MemoryOperations.vcxproj
@@ -15,7 +15,7 @@
true
Win32Proj
MemoryOperations
- 10.0.18362.0
+ 10.0
MemoryOperations
@@ -23,14 +23,14 @@
DynamicLibrary
false
MultiByte
- v142
+ v143
true
DynamicLibrary
true
MultiByte
- v142
+ v143
@@ -72,11 +72,12 @@
/Zc:threadSafeInit- %(AdditionalOptions)
$(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)
stdcpp17
+ None
true
true
- true
+ false
UseLinkTimeCodeGeneration
$(PLUGIN_SDK_DIR)\output\lib\;$(SolutionDir)..\cleo_sdk;%(AdditionalLibraryDirectories)
cleo.lib;%(AdditionalDependencies)
@@ -88,6 +89,9 @@ if defined GTA_SA_DIR (
xcopy /Y "$(OutDir)$(TargetName).*" "$(GTA_SA_DIR)\cleo\cleo_plugins\"
)
+
+ TARGET_NAME=$(TargetFileName)
+
@@ -113,6 +117,9 @@ if defined GTA_SA_DIR (
xcopy /Y "$(OutDir)$(TargetName).*" "$(GTA_SA_DIR)\cleo\cleo_plugins\"
)
+
+ TARGET_NAME=$(TargetFileName)
+
@@ -142,6 +149,9 @@ if defined GTA_SA_DIR (
+
+
+
diff --git a/cleo_plugins/MemoryOperations/MemoryOperations.vcxproj.filters b/cleo_plugins/MemoryOperations/MemoryOperations.vcxproj.filters
index d26f1298..0b8bafb7 100644
--- a/cleo_plugins/MemoryOperations/MemoryOperations.vcxproj.filters
+++ b/cleo_plugins/MemoryOperations/MemoryOperations.vcxproj.filters
@@ -40,4 +40,7 @@
cleo_sdk
+
+
+
\ No newline at end of file
diff --git a/cleo_plugins/Resource.rc b/cleo_plugins/Resource.rc
new file mode 100644
index 00000000..6164065e
Binary files /dev/null and b/cleo_plugins/Resource.rc differ
diff --git a/cleo_plugins/Text/Text.vcxproj b/cleo_plugins/Text/Text.vcxproj
index 7eed1c17..86bc04e1 100644
--- a/cleo_plugins/Text/Text.vcxproj
+++ b/cleo_plugins/Text/Text.vcxproj
@@ -15,21 +15,21 @@
true
Win32Proj
Text
- 10.0.18362.0
+ 10.0
DynamicLibrary
false
MultiByte
- v142
+ v143
true
DynamicLibrary
true
MultiByte
- v142
+ v143
@@ -71,11 +71,12 @@
_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))"
/Zc:threadSafeInit- %(AdditionalOptions)
stdcpp17
+ None
true
true
- true
+ false
UseLinkTimeCodeGeneration
$(PLUGIN_SDK_DIR)\output\lib\;$(SolutionDir)..\cleo_sdk;%(AdditionalLibraryDirectories)
cleo.lib;Shlwapi.lib;%(AdditionalDependencies)
@@ -87,6 +88,9 @@ if defined GTA_SA_DIR (
xcopy /Y "$(OutDir)$(TargetName).*" "$(GTA_SA_DIR)\cleo\cleo_plugins\"
)
+
+ TARGET_NAME=$(TargetFileName)
+
@@ -112,6 +116,9 @@ if defined GTA_SA_DIR (
xcopy /Y "$(OutDir)$(TargetName).*" "$(GTA_SA_DIR)\cleo\cleo_plugins\"
)
+
+ TARGET_NAME=$(TargetFileName)
+
@@ -135,6 +142,9 @@ xcopy /Y "$(OutDir)$(TargetName).*" "$(GTA_SA_DIR)\cleo\cleo_plugins\"
+
+
+
diff --git a/cleo_plugins/Text/Text.vcxproj.filters b/cleo_plugins/Text/Text.vcxproj.filters
index 81b0b82e..5543202f 100644
--- a/cleo_plugins/Text/Text.vcxproj.filters
+++ b/cleo_plugins/Text/Text.vcxproj.filters
@@ -56,4 +56,7 @@
{72d65844-4b83-4ef4-9736-ff17836a8cfa}
+
+
+
\ No newline at end of file