Skip to content

Commit 4c7131f

Browse files
committed
Some xrAI and xrSE_Factory x64 fixes and improvements. Remove hack. Small Cleanup.
1 parent 0bac650 commit 4c7131f

File tree

4 files changed

+49
-19
lines changed

4 files changed

+49
-19
lines changed

src/utils/xrAI/xrAI.cpp

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,15 @@ void execute(LPSTR cmd)
127127
R_CHK(GetLastError());
128128
R_ASSERT2(hFactory->exist(), "Factory DLL raised exception during loading or there is no factory DLL at all");
129129

130-
create_entity = (Factory_Create*)hFactory->getProcAddress("_create_entity@4");
131-
destroy_entity = (Factory_Destroy*)hFactory->getProcAddress("_destroy_entity@4");
130+
#ifdef _WIN64
131+
pcstr create_entity_name = "create_entity";
132+
pcstr destroy_entity_name = "destroy_entity";
133+
#else
134+
pcstr create_entity_name = "_create_entity@4";
135+
pcstr destroy_entity_name = "_destroy_entity@4";
136+
#endif
137+
create_entity = (Factory_Create*)hFactory->getProcAddress(create_entity_name);
138+
destroy_entity = (Factory_Destroy*)hFactory->getProcAddress(destroy_entity_name);
132139

133140
R_ASSERT(create_entity);
134141
R_ASSERT(destroy_entity);

src/utils/xrAI/xrAI.vcxproj

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,16 +102,28 @@
102102
<AdditionalLibraryDirectories>$(xrExternals)FreeImage\Dist\x32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
103103
<AdditionalDependencies>FreeImage.lib;%(AdditionalDependencies)</AdditionalDependencies>
104104
</Link>
105+
<CustomBuildStep>
106+
<Command>if not exist "$(OutDir)FreeImage.dll" copy /y "$(xrExternals)FreeImage\Dist\x32\FreeImage.dll" "$(OutDir)FreeImage.dll"</Command>
107+
<Outputs>$(OutDir)FreeImage.dll</Outputs>
108+
<Inputs>$(xrExternals)FreeImage\Dist\x32\FreeImage.dll</Inputs>
109+
<TreatOutputAsContent>true</TreatOutputAsContent>
110+
</CustomBuildStep>
105111
</ItemDefinitionGroup>
106112
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
107113
<ClCompile>
108114
<AdditionalIncludeDirectories>$(xrExternals)FreeMagic\Include;$(xrExternals)FreeImage\Dist\x32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
109115
<PreprocessorDefinitions>AI_COMPILER;%(PreprocessorDefinitions)</PreprocessorDefinitions>
110116
</ClCompile>
111117
<Link>
112-
<AdditionalLibraryDirectories>$(xrExternals)FreeImage\Dist\x32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
118+
<AdditionalLibraryDirectories>$(xrExternals)FreeImage\Dist\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
113119
<AdditionalDependencies>FreeImage.lib;%(AdditionalDependencies)</AdditionalDependencies>
114120
</Link>
121+
<CustomBuildStep>
122+
<Command>if not exist "$(OutDir)FreeImage.dll" copy /y "$(xrExternals)FreeImage\Dist\x64\FreeImage.dll" "$(OutDir)FreeImage.dll"</Command>
123+
<Outputs>$(OutDir)FreeImage.dll</Outputs>
124+
<Inputs>$(xrExternals)FreeImage\Dist\x64\FreeImage.dll</Inputs>
125+
<TreatOutputAsContent>true</TreatOutputAsContent>
126+
</CustomBuildStep>
115127
</ItemDefinitionGroup>
116128
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
117129
<ClCompile>
@@ -122,16 +134,28 @@
122134
<AdditionalLibraryDirectories>$(xrExternals)FreeImage\Dist\x32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
123135
<AdditionalDependencies>FreeImage.lib;%(AdditionalDependencies)</AdditionalDependencies>
124136
</Link>
137+
<CustomBuildStep>
138+
<Command>if not exist "$(OutDir)FreeImage.dll" copy /y "$(xrExternals)FreeImage\Dist\x32\FreeImage.dll" "$(OutDir)FreeImage.dll"</Command>
139+
<Outputs>$(OutDir)FreeImage.dll</Outputs>
140+
<Inputs>$(xrExternals)FreeImage\Dist\x32\FreeImage.dll</Inputs>
141+
<TreatOutputAsContent>true</TreatOutputAsContent>
142+
</CustomBuildStep>
125143
</ItemDefinitionGroup>
126144
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
127145
<ClCompile>
128146
<AdditionalIncludeDirectories>$(xrExternals)FreeMagic\Include;$(xrExternals)FreeImage\Dist\x32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
129147
<PreprocessorDefinitions>AI_COMPILER;%(PreprocessorDefinitions)</PreprocessorDefinitions>
130148
</ClCompile>
131149
<Link>
132-
<AdditionalLibraryDirectories>$(xrExternals)FreeImage\Dist\x32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
150+
<AdditionalLibraryDirectories>$(xrExternals)FreeImage\Dist\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
133151
<AdditionalDependencies>FreeImage.lib;%(AdditionalDependencies)</AdditionalDependencies>
134152
</Link>
153+
<CustomBuildStep>
154+
<Command>if not exist "$(OutDir)FreeImage.dll" copy /y "$(xrExternals)FreeImage\Dist\x64\FreeImage.dll" "$(OutDir)FreeImage.dll"</Command>
155+
<Outputs>$(OutDir)FreeImage.dll</Outputs>
156+
<Inputs>$(xrExternals)FreeImage\Dist\x64\FreeImage.dll</Inputs>
157+
<TreatOutputAsContent>true</TreatOutputAsContent>
158+
</CustomBuildStep>
135159
</ItemDefinitionGroup>
136160
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Mixed|Win32'">
137161
<ClCompile>
@@ -142,16 +166,28 @@
142166
<AdditionalLibraryDirectories>$(xrExternals)FreeImage\Dist\x32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
143167
<AdditionalDependencies>FreeImage.lib;%(AdditionalDependencies)</AdditionalDependencies>
144168
</Link>
169+
<CustomBuildStep>
170+
<Command>if not exist "$(OutDir)FreeImage.dll" copy /y "$(xrExternals)FreeImage\Dist\x32\FreeImage.dll" "$(OutDir)FreeImage.dll"</Command>
171+
<Outputs>$(OutDir)FreeImage.dll</Outputs>
172+
<Inputs>$(xrExternals)FreeImage\Dist\x32\FreeImage.dll</Inputs>
173+
<TreatOutputAsContent>true</TreatOutputAsContent>
174+
</CustomBuildStep>
145175
</ItemDefinitionGroup>
146176
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Mixed|x64'">
147177
<ClCompile>
148178
<AdditionalIncludeDirectories>$(xrExternals)FreeMagic\Include;$(xrExternals)FreeImage\Dist\x32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
149179
<PreprocessorDefinitions>AI_COMPILER;%(PreprocessorDefinitions)</PreprocessorDefinitions>
150180
</ClCompile>
151181
<Link>
152-
<AdditionalLibraryDirectories>$(xrExternals)FreeImage\Dist\x32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
182+
<AdditionalLibraryDirectories>$(xrExternals)FreeImage\Dist\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
153183
<AdditionalDependencies>FreeImage.lib;%(AdditionalDependencies)</AdditionalDependencies>
154184
</Link>
185+
<CustomBuildStep>
186+
<Command>if not exist "$(OutDir)FreeImage.dll" copy /y "$(xrExternals)FreeImage\Dist\x64\FreeImage.dll" "$(OutDir)FreeImage.dll"</Command>
187+
<Outputs>$(OutDir)FreeImage.dll</Outputs>
188+
<Inputs>$(xrExternals)FreeImage\Dist\x64\FreeImage.dll</Inputs>
189+
<TreatOutputAsContent>true</TreatOutputAsContent>
190+
</CustomBuildStep>
155191
</ItemDefinitionGroup>
156192
<ItemGroup>
157193
<ClCompile Include="..\..\Layers\xrRender\ETextureParams.cpp" />

src/utils/xrSE_Factory/stdafx.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@
88

99
#pragma once
1010

11-
#define ENGINE_API
11+
// Hack to Include\xrRender\DrawUtils.h (used and defined in editors)
1212
#define ECORE_API
13-
#define XRSCRIPTENGINE_EXPORTS
1413

1514
#include "Common/Common.hpp"
1615
#include "xrCore/xrCore.h"

src/utils/xrSE_Factory/xrSE_Factory.cpp

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
#include "xrSE_Factory_import_export.h"
1818
#include "script_properties_list_helper.h"
1919

20-
2120
extern CSE_Abstract* F_entity_Create(LPCSTR section);
2221

2322
extern CScriptPropertiesListHelper* g_property_list_helper;
@@ -33,23 +32,12 @@ FACTORY_API void __stdcall destroy_entity(IServerEntity*& abstract)
3332
}
3433
};
3534

36-
// !!!!!!! Very ugly fix !!!!!!!
37-
XRay::ScriptExporter::Node* XRay::ScriptExporter::Node::firstNode;
38-
XRay::ScriptExporter::Node* XRay::ScriptExporter::Node::lastNode;
39-
size_t XRay::ScriptExporter::Node::nodeCount;
40-
41-
// typedef void DUMMY_STUFF (const void*,const u32&,void*);
42-
// XRCORE_API DUMMY_STUFF *g_temporary_stuff;
43-
44-
//#define TRIVIAL_ENCRYPTOR_DECODER
45-
4635
BOOL APIENTRY DllMain(HANDLE module_handle, DWORD call_reason, LPVOID reserved)
4736
{
4837
switch (call_reason)
4938
{
5039
case DLL_PROCESS_ATTACH:
5140
{
52-
//g_temporary_stuff = &trivial_encryptor::decode;
5341
//xrDebug::Initialize(false);
5442
//Core.Initialize("xrSE_Factory", nullptr, true, "fsfactory.ltx");
5543
string_path SYSTEM_LTX;

0 commit comments

Comments
 (0)