Skip to content

Commit 28acac8

Browse files
committed
xrEngine: Ported to xr functions for library loading and function lookup.
1 parent eca97a3 commit 28acac8

File tree

3 files changed

+36
-38
lines changed

3 files changed

+36
-38
lines changed

src/xrEngine/Device_Initialize.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,22 @@
77
#include "GameFont.h"
88
#include "PerformanceAlert.hpp"
99

10+
#include "xrCore/ModuleLookup.hpp"
11+
1012
extern LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
1113

1214
#ifdef INGAME_EDITOR
1315
void CRenderDevice::initialize_editor()
1416
{
15-
m_editor_module = LoadLibrary("xrWeatherEditor");
17+
m_editor_module = XRay::LoadLibrary("xrWeatherEditor");
1618
if (!m_editor_module)
1719
{
1820
Msg("! cannot load library \"xrWeatherEditor\"");
1921
return;
2022
}
21-
m_editor_initialize = (initialize_function_ptr)GetProcAddress(m_editor_module, "initialize");
23+
m_editor_initialize = (initialize_function_ptr)XRay::GetProcAddress(m_editor_module, "initialize");
2224
VERIFY(m_editor_initialize);
23-
m_editor_finalize = (finalize_function_ptr)GetProcAddress(m_editor_module, "finalize");
25+
m_editor_finalize = (finalize_function_ptr)XRay::GetProcAddress(m_editor_module, "finalize");
2426
VERIFY(m_editor_finalize);
2527
m_engine = xr_new<engine_impl>();
2628
m_editor_initialize(m_editor, m_engine);

src/xrEngine/EngineAPI.cpp

Lines changed: 24 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
#include "xrCDB/xrXRC.h"
88
#include "xrScriptEngine/script_engine.hpp"
99

10+
#include "xrCore/ModuleLookup.hpp"
11+
1012
extern xr_token* vid_quality_token;
1113

1214
//////////////////////////////////////////////////////////////////////
@@ -62,8 +64,7 @@ void CEngineAPI::InitializeNotDedicated()
6264
if (psDeviceFlags.test(rsR4))
6365
{
6466
// try to initialize R4
65-
Log("Loading DLL:", r4_name);
66-
hRender = LoadLibrary(r4_name);
67+
hRender = XRay::LoadLibrary(r4_name);
6768
if (0 == hRender)
6869
{
6970
// try to load R1
@@ -75,8 +76,7 @@ void CEngineAPI::InitializeNotDedicated()
7576
if (psDeviceFlags.test(rsR3))
7677
{
7778
// try to initialize R3
78-
Log("Loading DLL:", r3_name);
79-
hRender = LoadLibrary(r3_name);
79+
hRender = XRay::LoadLibrary(r3_name);
8080
if (0 == hRender)
8181
{
8282
// try to load R1
@@ -92,8 +92,7 @@ void CEngineAPI::InitializeNotDedicated()
9292
// try to initialize R2
9393
psDeviceFlags.set(rsR4, FALSE);
9494
psDeviceFlags.set(rsR3, FALSE);
95-
Log("Loading DLL:", r2_name);
96-
hRender = LoadLibrary(r2_name);
95+
hRender = XRay::LoadLibrary(r2_name);
9796
if (0 == hRender)
9897
{
9998
// try to load R1
@@ -124,22 +123,20 @@ void CEngineAPI::Initialize(void)
124123
psDeviceFlags.set(rsR2, FALSE);
125124
renderer_value = 0; //con cmd
126125

127-
Log("Loading DLL:", r1_name);
128-
hRender = LoadLibrary(r1_name);
126+
hRender = XRay::LoadLibrary(r1_name);
129127
if (0 == hRender) R_CHK(GetLastError());
130128
R_ASSERT(hRender);
131129
g_current_renderer = 1;
132130
}
133131
// game
134132
{
135133
LPCSTR g_name = "xrGame";
136-
Log("Loading DLL:", g_name);
137-
hGame = LoadLibrary(g_name);
134+
hGame = XRay::LoadLibrary(g_name);
138135
if (0 == hGame) R_CHK(GetLastError());
139136
R_ASSERT2(hGame, "Game DLL raised exception during loading or there is no game DLL at all");
140-
pCreate = (Factory_Create*)GetProcAddress(hGame, "xrFactory_Create");
137+
pCreate = (Factory_Create*)XRay::GetProcAddress(hGame, "xrFactory_Create");
141138
R_ASSERT(pCreate);
142-
pDestroy = (Factory_Destroy*)GetProcAddress(hGame, "xrFactory_Destroy");
139+
pDestroy = (Factory_Destroy*)XRay::GetProcAddress(hGame, "xrFactory_Destroy");
143140
R_ASSERT(pDestroy);
144141
}
145142

@@ -149,22 +146,21 @@ void CEngineAPI::Initialize(void)
149146
if (strstr(Core.Params, "-tune"))
150147
{
151148
LPCSTR g_name = "vTuneAPI";
152-
Log("Loading DLL:", g_name);
153-
hTuner = LoadLibrary(g_name);
149+
hTuner = XRay::LoadLibrary(g_name);
154150
if (0 == hTuner) R_CHK(GetLastError());
155151
R_ASSERT2(hTuner, "Intel vTune is not installed");
156152
tune_enabled = TRUE;
157-
tune_pause = (VTPause*)GetProcAddress(hTuner, "VTPause");
153+
tune_pause = (VTPause*)XRay::GetProcAddress(hTuner, "VTPause");
158154
R_ASSERT(tune_pause);
159-
tune_resume = (VTResume*)GetProcAddress(hTuner, "VTResume");
155+
tune_resume = (VTResume*)XRay::GetProcAddress(hTuner, "VTResume");
160156
R_ASSERT(tune_resume);
161157
}
162158
}
163159

164160
void CEngineAPI::Destroy(void)
165161
{
166-
if (hGame) { FreeLibrary(hGame); hGame = 0; }
167-
if (hRender) { FreeLibrary(hRender); hRender = 0; }
162+
if (hGame) { XRay::UnloadLibrary(hGame); hGame = 0; }
163+
if (hRender) { XRay::UnloadLibrary(hRender); hRender = 0; }
168164
pCreate = 0;
169165
pDestroy = 0;
170166
Engine.Event._destroy();
@@ -211,45 +207,44 @@ void CEngineAPI::CreateRendererList()
211207
else
212208
{
213209
// try to initialize R2
214-
Log("Loading DLL:", r2_name);
215-
hRender = LoadLibrary(r2_name);
210+
hRender = XRay::LoadLibrary(r2_name);
216211
if (hRender)
217212
{
218213
bSupports_r2 = true;
219-
SupportsAdvancedRendering* test_rendering = (SupportsAdvancedRendering*)GetProcAddress(hRender, "SupportsAdvancedRendering");
214+
SupportsAdvancedRendering* test_rendering = (SupportsAdvancedRendering*)XRay::GetProcAddress(hRender, "SupportsAdvancedRendering");
220215
R_ASSERT(test_rendering);
221216
bSupports_r2_5 = test_rendering();
222-
FreeLibrary(hRender);
217+
XRay::UnloadLibrary(hRender);
223218
}
224219

225220
// try to initialize R3
226221
Log("Loading DLL:", r3_name);
227222
// Hide "d3d10.dll not found" message box for XP
228223
SetErrorMode(SEM_FAILCRITICALERRORS);
229-
hRender = LoadLibrary(r3_name);
224+
hRender = XRay::LoadLibrary(r3_name);
230225
// Restore error handling
231226
SetErrorMode(0);
232227
if (hRender)
233228
{
234-
SupportsDX10Rendering* test_dx10_rendering = (SupportsDX10Rendering*)GetProcAddress(hRender, "SupportsDX10Rendering");
229+
SupportsDX10Rendering* test_dx10_rendering = (SupportsDX10Rendering*)XRay::GetProcAddress(hRender, "SupportsDX10Rendering");
235230
R_ASSERT(test_dx10_rendering);
236231
bSupports_r3 = test_dx10_rendering();
237-
FreeLibrary(hRender);
232+
XRay::UnloadLibrary(hRender);
238233
}
239234

240235
// try to initialize R4
241236
Log("Loading DLL:", r4_name);
242237
// Hide "d3d10.dll not found" message box for XP
243238
SetErrorMode(SEM_FAILCRITICALERRORS);
244-
hRender = LoadLibrary(r4_name);
239+
hRender = XRay::LoadLibrary(r4_name);
245240
// Restore error handling
246241
SetErrorMode(0);
247242
if (hRender)
248243
{
249-
SupportsDX11Rendering* test_dx11_rendering = (SupportsDX11Rendering*)GetProcAddress(hRender, "SupportsDX11Rendering");
244+
SupportsDX11Rendering* test_dx11_rendering = (SupportsDX11Rendering*)XRay::GetProcAddress(hRender, "SupportsDX11Rendering");
250245
R_ASSERT(test_dx11_rendering);
251246
bSupports_r4 = test_dx11_rendering();
252-
FreeLibrary(hRender);
247+
XRay::UnloadLibrary(hRender);
253248
}
254249
}
255250

@@ -388,4 +383,4 @@ void CEngineAPI::CreateRendererList()
388383
}
389384
*/
390385
#endif //#ifndef DEDICATED_SERVER
391-
}
386+
}

src/xrEngine/xr_input_xinput.cpp

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#include "xr_input_xinput.h"
44
#include <xinput.h>
55
6+
#include "xrCore/ModuleLookup.hpp"
67
78
DXUT_GAMEPAD g_GamePads[DXUT_MAX_CONTROLLERS];
89
@@ -20,11 +21,11 @@ static LPXINPUTGETSTATE s_pXInputGetState = NULL;
2021
static LPXINPUTGETCAPABILITIES s_pXInputGetCapabilities = NULL;
2122
if( NULL == s_pXInputGetState || NULL == s_pXInputGetCapabilities )
2223
{
23-
HINSTANCE hInst = LoadLibrary( XINPUT_DLL );
24+
HINSTANCE hInst = XRay::LoadLibrary( XINPUT_DLL );
2425
if( hInst )
2526
{
26-
s_pXInputGetState = (LPXINPUTGETSTATE)GetProcAddress( hInst, "XInputGetState" );
27-
s_pXInputGetCapabilities = (LPXINPUTGETCAPABILITIES)GetProcAddress( hInst, "XInputGetCapabilities" );
27+
s_pXInputGetState = (LPXINPUTGETSTATE)XRay::GetProcAddress( hInst, "XInputGetState" );
28+
s_pXInputGetCapabilities = (LPXINPUTGETCAPABILITIES)XRay::GetProcAddress( hInst, "XInputGetCapabilities" );
2829
}
2930
}
3031
if( s_pXInputGetState == NULL )
@@ -114,9 +115,9 @@ void set_vibration (u16 s1, u16 s2)
114115
static LPXINPUTSETSTATE s_pXInputSetState = NULL;
115116
if( NULL == s_pXInputSetState )
116117
{
117-
HINSTANCE hInst = LoadLibrary( XINPUT_DLL );
118+
HINSTANCE hInst = XRay::LoadLibrary( XINPUT_DLL );
118119
if( hInst )
119-
s_pXInputSetState = (LPXINPUTSETSTATE)GetProcAddress( hInst, "XInputSetState" );
120+
s_pXInputSetState = (LPXINPUTSETSTATE)XRay::GetProcAddress( hInst, "XInputSetState" );
120121
}
121122
122123
@@ -125,4 +126,4 @@ vibration.wLeftMotorSpeed = s1;
125126
vibration.wRightMotorSpeed = s2;
126127
s_pXInputSetState ( 0, &vibration );
127128
}
128-
*/
129+
*/

0 commit comments

Comments
 (0)