Add ASI build mode

- Updated Dinput8 proxy code and VS configurations to allow for building .asi files (compatible with ThirteenAG's ASI loader
This commit is contained in:
izawartka 2026-01-14 21:43:58 +01:00
parent 23599a2960
commit 28ed4ec7b5
8 changed files with 303 additions and 15 deletions

2
.gitignore vendored
View File

@ -6,3 +6,5 @@ desktop.ini
/ReleaseWithLogging
src/git.h
src/version.aps
/DebugAsi
/ReleaseAsi

View File

@ -3,5 +3,7 @@
<PropertyGroup>
<GTA2_DIR>D:\GTA2</GTA2_DIR>
<GTA2_EXE>gta2.exe</GTA2_EXE>
<GTA2_ASI_DIR>$(GTA2_DIR)\scripts</GTA2_ASI_DIR>
<GTA2_ASI_FILENAME>gta2-seuko-mod.asi</GTA2_ASI_FILENAME>
</PropertyGroup>
</Project>

View File

@ -8,14 +8,20 @@ EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86
DebugAsi|x86 = DebugAsi|x86
Release|x86 = Release|x86
ReleaseAsi|x86 = ReleaseAsi|x86
ReleaseWithLogging|x86 = ReleaseWithLogging|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E36BE4A1-BF14-45D3-94FB-73C0BC74A114}.Debug|x86.ActiveCfg = Debug|Win32
{E36BE4A1-BF14-45D3-94FB-73C0BC74A114}.Debug|x86.Build.0 = Debug|Win32
{E36BE4A1-BF14-45D3-94FB-73C0BC74A114}.DebugAsi|x86.ActiveCfg = DebugAsi|Win32
{E36BE4A1-BF14-45D3-94FB-73C0BC74A114}.DebugAsi|x86.Build.0 = DebugAsi|Win32
{E36BE4A1-BF14-45D3-94FB-73C0BC74A114}.Release|x86.ActiveCfg = Release|Win32
{E36BE4A1-BF14-45D3-94FB-73C0BC74A114}.Release|x86.Build.0 = Release|Win32
{E36BE4A1-BF14-45D3-94FB-73C0BC74A114}.ReleaseAsi|x86.ActiveCfg = ReleaseAsi|Win32
{E36BE4A1-BF14-45D3-94FB-73C0BC74A114}.ReleaseAsi|x86.Build.0 = ReleaseAsi|Win32
{E36BE4A1-BF14-45D3-94FB-73C0BC74A114}.ReleaseWithLogging|x86.ActiveCfg = ReleaseWithLogging|Win32
{E36BE4A1-BF14-45D3-94FB-73C0BC74A114}.ReleaseWithLogging|x86.Build.0 = ReleaseWithLogging|Win32
EndGlobalSection

View File

@ -1,10 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugAsi|Win32">
<Configuration>DebugAsi</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseAsi|Win32">
<Configuration>ReleaseAsi</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseWithLogging|Win32">
<Configuration>ReleaseWithLogging</Configuration>
<Platform>Win32</Platform>
@ -29,6 +37,12 @@
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugAsi|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
@ -36,6 +50,13 @@
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAsi|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithLogging|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
@ -52,10 +73,18 @@
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="GTA2.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugAsi|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="GTA2.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="GTA2.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAsi|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="GTA2.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithLogging|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="GTA2.props" />
@ -67,9 +96,15 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<TargetName>dinput8</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAsi|Win32'">
<TargetName>dinput8</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<TargetName>dinput8</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugAsi|Win32'">
<TargetName>dinput8</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
@ -92,13 +127,17 @@
<ModuleDefinitionFile>src\dinput8.def</ModuleDefinitionFile>
</Link>
<PostBuildEvent>
<Command>if "$(GTA2_DIR)"=="" (
echo ERROR: GTA2_DIR is not set. Make sure to set in in GTA2.props file.
<Command>@echo off
echo Dinput8 proxy mode enabled
if "$(GTA2_DIR)"=="" (
echo ERROR: GTA2_DIR is not set. Make sure to set it in GTA2.props file.
exit /b 1
)
if "$(GTA2_EXE)"=="" (
echo ERROR: GTA2_EXE is not set. Make sure to set in in GTA2.props file.
echo ERROR: GTA2_EXE is not set. Make sure to set it in GTA2.props file.
exit /b 1
)
@ -112,8 +151,107 @@ if not exist "$(GTA2_DIR)\$(GTA2_EXE)" (
exit /b 1
)
echo Copying "$(TargetPath)" to "$(GTA2_DIR)"
copy /Y "$(TargetPath)" "$(GTA2_DIR)\"
if exist "$(TargetDir)$(TargetName).pdb" copy /Y "$(TargetDir)$(TargetName).pdb" "$(GTA2_DIR)\"
if errorlevel 1 exit /b 1
if exist "$(TargetDir)$(TargetName).pdb" (
copy /Y "$(TargetDir)$(TargetName).pdb" "$(GTA2_DIR)\"
)
exit /b 0
</Command>
</PostBuildEvent>
<PreBuildEvent>
<Command>set GIT_HASH=unknown
set GIT_DIRTY=false
for /f %%i in ('git rev-parse --short HEAD 2^&gt;nul') do set GIT_HASH=%%i
for /f %%i in ('git status --porcelain 2^&gt;nul') do (
set GIT_DIRTY=true
goto :dirty_done
)
:dirty_done
echo #pragma once&gt; "$(ProjectDir)src\git.h"
echo // Auto-generated. Do not edit.&gt;&gt; "$(ProjectDir)src\git.h"
echo.&gt;&gt; "$(ProjectDir)src\git.h"
echo #define GIT_COMMIT_HASH "%GIT_HASH%"&gt;&gt; "$(ProjectDir)src\git.h"
echo #define GIT_IS_DIRTY %GIT_DIRTY%&gt;&gt; "$(ProjectDir)src\git.h"
echo Created $(ProjectDir)src\git.h with commit %GIT_HASH% (dirty=%GIT_DIRTY%)
</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugAsi|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;CONFIG_NAME=$(Configuration);SEUKOMOD_ASI;_DEBUG;SEUKOMOD_DISABLE_CRASH_DUMPS;GTA2SEUKOMOD_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(ProjectDir)third_party\spdlog\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
<ModuleDefinitionFile>
</ModuleDefinitionFile>
</Link>
<PostBuildEvent>
<Command>@echo off
echo ASI mode enabled
if "$(GTA2_DIR)"=="" (
echo ERROR: GTA2_DIR is not set. Make sure to set it in GTA2.props file.
exit /b 1
)
if "$(GTA2_EXE)"=="" (
echo ERROR: GTA2_EXE is not set. Make sure to set it in GTA2.props file.
exit /b 1
)
if not exist "$(GTA2_DIR)\" (
echo ERROR: GTA2_DIR "$(GTA2_DIR)" specified in GTA2.props does not exist.
exit /b 1
)
if not exist "$(GTA2_DIR)\$(GTA2_EXE)" (
echo ERROR: "$(GTA2_EXE)" not found in "$(GTA2_DIR)". Check GTA2.props file.
exit /b 1
)
if "$(GTA2_ASI_DIR)"=="" (
echo ERROR: GTA2_ASI_DIR is not set. To build in ASI mode, make sure to set it in GTA2.props file.
exit /b 1
)
if "$(GTA2_ASI_FILENAME)"=="" (
echo ERROR: GTA2_ASI_FILENAME is not set. To build in ASI mode, make sure to set it in GTA2.props file.
exit /b 1
)
if not exist "$(GTA2_ASI_DIR)\" (
echo ERROR: GTA2_ASI_DIR "$(GTA2_ASI_DIR)" does not exist. Check GTA2.props file.
exit /b 1
)
echo Copying "$(TargetPath)" to "$(GTA2_ASI_DIR)\$(GTA2_ASI_FILENAME)"
copy /Y "$(TargetPath)" "$(GTA2_ASI_DIR)\$(GTA2_ASI_FILENAME)"
if errorlevel 1 exit /b 1
exit /b 0
</Command>
@ -165,13 +303,17 @@ echo Created $(ProjectDir)src\git.h with commit %GIT_HASH% (dirty=%GIT_DIRTY%)
<ModuleDefinitionFile>src\dinput8.def</ModuleDefinitionFile>
</Link>
<PostBuildEvent>
<Command>if "$(GTA2_DIR)"=="" (
echo ERROR: GTA2_DIR is not set. Make sure to set in in GTA2.props file.
<Command>@echo off
echo Dinput8 proxy mode enabled
if "$(GTA2_DIR)"=="" (
echo ERROR: GTA2_DIR is not set. Make sure to set it in GTA2.props file.
exit /b 1
)
if "$(GTA2_EXE)"=="" (
echo ERROR: GTA2_EXE is not set. Make sure to set in in GTA2.props file.
echo ERROR: GTA2_EXE is not set. Make sure to set it in GTA2.props file.
exit /b 1
)
@ -185,8 +327,110 @@ if not exist "$(GTA2_DIR)\$(GTA2_EXE)" (
exit /b 1
)
echo Copying "$(TargetPath)" to "$(GTA2_DIR)"
copy /Y "$(TargetPath)" "$(GTA2_DIR)\"
if exist "$(TargetDir)$(TargetName).pdb" copy /Y "$(TargetDir)$(TargetName).pdb" "$(GTA2_DIR)\"
if errorlevel 1 exit /b 1
if exist "$(TargetDir)$(TargetName).pdb" (
copy /Y "$(TargetDir)$(TargetName).pdb" "$(GTA2_DIR)\"
)
exit /b 0
</Command>
</PostBuildEvent>
<PreBuildEvent>
<Command>set GIT_HASH=unknown
set GIT_DIRTY=false
for /f %%i in ('git rev-parse --short HEAD 2^&gt;nul') do set GIT_HASH=%%i
for /f %%i in ('git status --porcelain 2^&gt;nul') do (
set GIT_DIRTY=true
goto :dirty_done
)
:dirty_done
echo #pragma once&gt; "$(ProjectDir)src\git.h"
echo // Auto-generated. Do not edit.&gt;&gt; "$(ProjectDir)src\git.h"
echo.&gt;&gt; "$(ProjectDir)src\git.h"
echo #define GIT_COMMIT_HASH "%GIT_HASH%"&gt;&gt; "$(ProjectDir)src\git.h"
echo #define GIT_IS_DIRTY %GIT_DIRTY%&gt;&gt; "$(ProjectDir)src\git.h"
echo Created $(ProjectDir)src\git.h with commit %GIT_HASH% (dirty=%GIT_DIRTY%)
</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAsi|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;CONFIG_NAME=$(Configuration);SEUKOMOD_ASI;NDEBUG;GTA2SEUKOMOD_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(ProjectDir)third_party\spdlog\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>MaxSpeed</Optimization>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
<ModuleDefinitionFile>
</ModuleDefinitionFile>
</Link>
<PostBuildEvent>
<Command>@echo off
echo ASI mode enabled
if "$(GTA2_DIR)"=="" (
echo ERROR: GTA2_DIR is not set. Make sure to set it in GTA2.props file.
exit /b 1
)
if "$(GTA2_EXE)"=="" (
echo ERROR: GTA2_EXE is not set. Make sure to set it in GTA2.props file.
exit /b 1
)
if not exist "$(GTA2_DIR)\" (
echo ERROR: GTA2_DIR "$(GTA2_DIR)" specified in GTA2.props does not exist.
exit /b 1
)
if not exist "$(GTA2_DIR)\$(GTA2_EXE)" (
echo ERROR: "$(GTA2_EXE)" not found in "$(GTA2_DIR)". Check GTA2.props file.
exit /b 1
)
if "$(GTA2_ASI_DIR)"=="" (
echo ERROR: GTA2_ASI_DIR is not set. To build in ASI mode, make sure to set it in GTA2.props file.
exit /b 1
)
if "$(GTA2_ASI_FILENAME)"=="" (
echo ERROR: GTA2_ASI_FILENAME is not set. To build in ASI mode, make sure to set it in GTA2.props file.
exit /b 1
)
if not exist "$(GTA2_ASI_DIR)\" (
echo ERROR: GTA2_ASI_DIR "$(GTA2_ASI_DIR)" does not exist. Check GTA2.props file.
exit /b 1
)
echo Copying "$(TargetPath)" to "$(GTA2_ASI_DIR)\$(GTA2_ASI_FILENAME)"
copy /Y "$(TargetPath)" "$(GTA2_ASI_DIR)\$(GTA2_ASI_FILENAME)"
if errorlevel 1 exit /b 1
exit /b 0
</Command>
@ -239,13 +483,17 @@ echo Created $(ProjectDir)src\git.h with commit %GIT_HASH% (dirty=%GIT_DIRTY%)
<ModuleDefinitionFile>src\dinput8.def</ModuleDefinitionFile>
</Link>
<PostBuildEvent>
<Command>if "$(GTA2_DIR)"=="" (
echo ERROR: GTA2_DIR is not set. Make sure to set in in GTA2.props file.
<Command>@echo off
echo Dinput8 proxy mode enabled
if "$(GTA2_DIR)"=="" (
echo ERROR: GTA2_DIR is not set. Make sure to set it in GTA2.props file.
exit /b 1
)
if "$(GTA2_EXE)"=="" (
echo ERROR: GTA2_EXE is not set. Make sure to set in in GTA2.props file.
echo ERROR: GTA2_EXE is not set. Make sure to set it in GTA2.props file.
exit /b 1
)
@ -259,8 +507,14 @@ if not exist "$(GTA2_DIR)\$(GTA2_EXE)" (
exit /b 1
)
echo Copying "$(TargetPath)" to "$(GTA2_DIR)"
copy /Y "$(TargetPath)" "$(GTA2_DIR)\"
if exist "$(TargetDir)$(TargetName).pdb" copy /Y "$(TargetDir)$(TargetName).pdb" "$(GTA2_DIR)\"
if errorlevel 1 exit /b 1
if exist "$(TargetDir)$(TargetName).pdb" (
copy /Y "$(TargetDir)$(TargetName).pdb" "$(GTA2_DIR)\"
)
exit /b 0
</Command>

View File

@ -138,6 +138,7 @@
<ClCompile Include="src\modules\modmenu\menus\get-powerup-menu.cpp" />
<ClCompile Include="src\modules\modmenu\segments\get-powerup-segment.cpp" />
<ClCompile Include="src\modules\modmenu\utils\give-player-powerup.cpp" />
<ClCompile Include="src\modules\modmenu\quick-actions\get-powerup.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\converters\ammo.h" />
@ -373,6 +374,7 @@
<ClInclude Include="src\modules\modmenu\utils\give-player-powerup.h" />
<ClInclude Include="src\modules\modmenu\events\events.h" />
<ClInclude Include="src\converters\powerup.h" />
<ClInclude Include="src\modules\modmenu\quick-actions\get-powerup.h" />
</ItemGroup>
<ItemGroup>
<None Include="GTA2.props" />

View File

@ -8,11 +8,21 @@
<LocalDebuggerWorkingDirectory>$(GTA2_DIR)</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugAsi|Win32'">
<LocalDebuggerCommand>$(GTA2_DIR)\$(GTA2_EXE)</LocalDebuggerCommand>
<LocalDebuggerWorkingDirectory>$(GTA2_DIR)</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LocalDebuggerCommand>$(GTA2_DIR)\$(GTA2_EXE)</LocalDebuggerCommand>
<LocalDebuggerWorkingDirectory>$(GTA2_DIR)</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAsi|Win32'">
<LocalDebuggerCommand>$(GTA2_DIR)\$(GTA2_EXE)</LocalDebuggerCommand>
<LocalDebuggerWorkingDirectory>$(GTA2_DIR)</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithLogging|Win32'">
<LocalDebuggerCommand>$(GTA2_DIR)\$(GTA2_EXE)</LocalDebuggerCommand>
<LocalDebuggerWorkingDirectory>$(GTA2_DIR)</LocalDebuggerWorkingDirectory>

View File

@ -1,3 +1,5 @@
; This file is used only when building in Dinput8 proxy mode (not ASI mode)
LIBRARY "dinput8"
EXPORTS
DirectInput8Create

View File

@ -1,3 +1,4 @@
#ifndef SEUKOMOD_ASI
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
#include <windows.h>
#include <unknwn.h>
@ -24,7 +25,7 @@ extern "C" __declspec(dllexport) HRESULT WINAPI DirectInput8Create(
if (!hOriginalDll)
{
MessageBoxA(nullptr, "Failed to load original dinput8.dll from System32", "Seukomod proxy error", MB_ICONERROR);
MessageBoxA(nullptr, "Failed to load original dinput8.dll from System32", "Seuko mod proxy error", MB_ICONERROR);
return E_FAIL;
}
@ -32,7 +33,7 @@ extern "C" __declspec(dllexport) HRESULT WINAPI DirectInput8Create(
if (!pDirectInput8Create)
{
MessageBoxA(nullptr, "Failed to get DirectInput8Create from original dinput8.dll", "Seukomod proxy error", MB_ICONERROR);
MessageBoxA(nullptr, "Failed to get DirectInput8Create from original dinput8.dll", "Seuko mod proxy error", MB_ICONERROR);
return E_FAIL;
}
}
@ -49,3 +50,12 @@ void UnloadOriginalDll()
pDirectInput8Create = nullptr;
}
}
#else // SEUKOMOD_ASI
void UnloadOriginalDll()
{
}
#endif // SEUKOMOD_ASI