Skip to content

Commit f6bdcd9

Browse files
author
Avaer Kazmer
committed
Hack
1 parent 46f70ca commit f6bdcd9

22 files changed

+404
-296
lines changed

CMakeLists.txt

Lines changed: 93 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ project(OpenComposite)
1010

1111
include(scripts/pch.cmake)
1212

13+
set(CMAKE_CXX_STANDARD 17)
14+
1315
# === Runtime Switcher ===
1416
include_external_msproject(
1517
RuntimeSwitcher ${CMAKE_SOURCE_DIR}/RuntimeSwitcher/RuntimeSwitcher.csproj
@@ -33,14 +35,14 @@ endif()
3335
# === LibOVR ===
3436
if(WIN32)
3537

36-
set(OVRDIR libs/libovr/OculusSDK/LibOVR)
37-
add_library(ovr STATIC
38-
${OVRDIR}/Shim/OVR_CAPI_Prototypes.h
39-
${OVRDIR}/Shim/OVR_CAPI_Util.cpp
40-
${OVRDIR}/Shim/OVR_CAPIShim.c
41-
${OVRDIR}/Shim/OVR_StereoProjection.cpp
42-
)
43-
target_include_directories(ovr PUBLIC ${OVRDIR}/Include)
38+
#set(OVRDIR libs/libovr/OculusSDK/LibOVR)
39+
#add_library(ovr STATIC
40+
# ${OVRDIR}/Shim/OVR_CAPI_Prototypes.h
41+
# ${OVRDIR}/Shim/OVR_CAPI_Util.cpp
42+
# ${OVRDIR}/Shim/OVR_CAPIShim.c
43+
# ${OVRDIR}/Shim/OVR_StereoProjection.cpp
44+
#)
45+
#target_include_directories(ovr PUBLIC ${OVRDIR}/Include ${OVRDIR}/../Logging)
4446

4547
# Resource Processor
4648
set(OVR_SHADER_DIR "${CMAKE_CURRENT_BINARY_DIR}/gen_shaders")
@@ -65,85 +67,85 @@ endfunction()
6567
file(MAKE_DIRECTORY ${OVR_SHADER_DIR}/Shaders)
6668

6769
# === LibOVRKernel ===
68-
set(OVRKDIR libs/libovr/OculusSDK/LibOVRKernel)
69-
set(OVRKSDIR ${OVRKDIR}/Src/Util/Shaders)
70-
add_library(ovrkernel STATIC
71-
${OVRKDIR}/../Logging/src/internal/Logging_Tools.cpp
72-
${OVRKDIR}/../Logging/src/Logging_Library.cpp
73-
${OVRKDIR}/../Logging/src/Logging_OutputPlugins.cpp
74-
${OVRKDIR}/Src/GL/CAPI_GLE.cpp
75-
${OVRKDIR}/Src/Kernel/OVR_Alg.cpp
76-
${OVRKDIR}/Src/Kernel/OVR_Allocator.cpp
77-
${OVRKDIR}/Src/Kernel/OVR_Atomic.cpp
78-
${OVRKDIR}/Src/Kernel/OVR_Callbacks.cpp
79-
${OVRKDIR}/Src/Kernel/OVR_CRC32.cpp
80-
${OVRKDIR}/Src/Kernel/OVR_DebugHelp.cpp
81-
${OVRKDIR}/Src/Kernel/OVR_Error.cpp
82-
${OVRKDIR}/Src/Kernel/OVR_File.cpp
83-
${OVRKDIR}/Src/Kernel/OVR_FileFILE.cpp
84-
${OVRKDIR}/Src/Kernel/OVR_JSON.cpp
85-
${OVRKDIR}/Src/Kernel/OVR_Log.cpp
86-
${OVRKDIR}/Src/Kernel/OVR_mach_exc_OSX.c
87-
${OVRKDIR}/Src/Kernel/OVR_Rand.cpp
88-
${OVRKDIR}/Src/Kernel/OVR_RefCount.cpp
89-
${OVRKDIR}/Src/Kernel/OVR_SharedMemory.cpp
90-
${OVRKDIR}/Src/Kernel/OVR_Std.cpp
91-
${OVRKDIR}/Src/Kernel/OVR_String.cpp
92-
${OVRKDIR}/Src/Kernel/OVR_String_FormatUtil.cpp
93-
${OVRKDIR}/Src/Kernel/OVR_String_PathUtil.cpp
94-
${OVRKDIR}/Src/Kernel/OVR_SysFile.cpp
95-
${OVRKDIR}/Src/Kernel/OVR_System.cpp
96-
${OVRKDIR}/Src/Kernel/OVR_ThreadsPthread.cpp
97-
${OVRKDIR}/Src/Kernel/OVR_ThreadsWinAPI.cpp
98-
${OVRKDIR}/Src/Kernel/OVR_Timer.cpp
99-
${OVRKDIR}/Src/Kernel/OVR_UTF8Util.cpp
100-
${OVRKDIR}/Src/Util/Util_D3D11_Blitter.cpp
101-
${OVRKDIR}/Src/Util/Util_Direct3D.cpp
102-
${OVRKDIR}/Src/Util/Util_GL_Blitter.cpp
103-
${OVRKDIR}/Src/Util/Util_ImageWindow.cpp
104-
${OVRKDIR}/Src/Util/Util_LongPollThread.cpp
105-
${OVRKDIR}/Src/Util/Util_SystemGUI.cpp
106-
${OVRKDIR}/Src/Util/Util_SystemInfo.cpp
107-
${OVRKDIR}/Src/Util/Util_Watchdog.cpp
108-
)
109-
target_include_directories(ovrkernel PUBLIC ${OVRKDIR}/Src)
110-
target_include_directories(ovrkernel PRIVATE ${OVRKDIR}/../Logging/include)
111-
target_link_libraries(ovrkernel ovr)
70+
#set(OVRKDIR libs/libovr/OculusSDK/LibOVRKernel)
71+
#set(OVRKSDIR ${OVRKDIR}/Src/Util/Shaders)
72+
#add_library(ovrkernel STATIC
73+
# ${OVRKDIR}/../Logging/src/internal/Logging_Tools.cpp
74+
# ${OVRKDIR}/../Logging/src/Logging_Library.cpp
75+
# ${OVRKDIR}/../Logging/src/Logging_OutputPlugins.cpp
76+
# ${OVRKDIR}/Src/GL/CAPI_GLE.cpp
77+
# ${OVRKDIR}/Src/Kernel/OVR_Alg.cpp
78+
# ${OVRKDIR}/Src/Kernel/OVR_Allocator.cpp
79+
# ${OVRKDIR}/Src/Kernel/OVR_Atomic.cpp
80+
# ${OVRKDIR}/Src/Kernel/OVR_Callbacks.cpp
81+
# ${OVRKDIR}/Src/Kernel/OVR_CRC32.cpp
82+
# ${OVRKDIR}/Src/Kernel/OVR_DebugHelp.cpp
83+
# ${OVRKDIR}/Src/Kernel/OVR_Error.cpp
84+
# ${OVRKDIR}/Src/Kernel/OVR_File.cpp
85+
# ${OVRKDIR}/Src/Kernel/OVR_FileFILE.cpp
86+
# ${OVRKDIR}/Src/Kernel/OVR_JSON.cpp
87+
# ${OVRKDIR}/Src/Kernel/OVR_Log.cpp
88+
# ${OVRKDIR}/Src/Kernel/OVR_mach_exc_OSX.c
89+
# ${OVRKDIR}/Src/Kernel/OVR_Rand.cpp
90+
# ${OVRKDIR}/Src/Kernel/OVR_RefCount.cpp
91+
# ${OVRKDIR}/Src/Kernel/OVR_SharedMemory.cpp
92+
# ${OVRKDIR}/Src/Kernel/OVR_Std.cpp
93+
# ${OVRKDIR}/Src/Kernel/OVR_String.cpp
94+
# ${OVRKDIR}/Src/Kernel/OVR_String_FormatUtil.cpp
95+
# ${OVRKDIR}/Src/Kernel/OVR_String_PathUtil.cpp
96+
# ${OVRKDIR}/Src/Kernel/OVR_SysFile.cpp
97+
# ${OVRKDIR}/Src/Kernel/OVR_System.cpp
98+
# ${OVRKDIR}/Src/Kernel/OVR_ThreadsPthread.cpp
99+
# ${OVRKDIR}/Src/Kernel/OVR_ThreadsWinAPI.cpp
100+
# ${OVRKDIR}/Src/Kernel/OVR_Timer.cpp
101+
# ${OVRKDIR}/Src/Kernel/OVR_UTF8Util.cpp
102+
# ${OVRKDIR}/Src/Util/Util_D3D11_Blitter.cpp
103+
# ${OVRKDIR}/Src/Util/Util_Direct3D.cpp
104+
# ${OVRKDIR}/Src/Util/Util_GL_Blitter.cpp
105+
# ${OVRKDIR}/Src/Util/Util_ImageWindow.cpp
106+
# ${OVRKDIR}/Src/Util/Util_LongPollThread.cpp
107+
# ${OVRKDIR}/Src/Util/Util_SystemGUI.cpp
108+
# ${OVRKDIR}/Src/Util/Util_SystemInfo.cpp
109+
# ${OVRKDIR}/Src/Util/Util_Watchdog.cpp
110+
#)
111+
#target_include_directories(ovrkernel PUBLIC ${OVRKDIR}/Src)
112+
#target_include_directories(ovrkernel PRIVATE ${OVRKDIR}/../Logging/include)
113+
#target_link_libraries(ovrkernel ovr)
112114

113115
# Shader configuration
114-
target_include_directories(ovrkernel PRIVATE ${OVR_SHADER_DIR})
116+
# target_include_directories(ovrkernel PRIVATE ${OVR_SHADER_DIR})
115117

116118
set(OVRK_BLITTER ${OVRKDIR}/Src/Util/Util_D3D11_Blitter.cpp)
117119
build_fx(${OVRKSDIR}/Blt_ps.hlsl ps_4_0 ${OVRK_BLITTER})
118120
build_fx(${OVRKSDIR}/Blt_ps_ms2.hlsl ps_5_0 ${OVRK_BLITTER})
119121
build_fx(${OVRKSDIR}/Blt_vs.hlsl vs_5_0 ${OVRK_BLITTER})
120122

121123
# === DrvOculus ===
122-
add_library(DrvOculus STATIC
123-
DrvOculus/DrvOculus.cpp
124+
#add_library(DrvOculus STATIC
125+
# DrvOculus/DrvOculus.cpp
124126

125-
DrvOculus/DrvOculusCommon.h
127+
# DrvOculus/DrvOculusCommon.h
126128

127-
DrvOculus/OculusBackend.cpp
128-
DrvOculus/OculusBackend.h
129+
# DrvOculus/OculusBackend.cpp
130+
# DrvOculus/OculusBackend.h
129131

130-
DrvOculus/OculusBackendSubmit.cpp
131-
DrvOculus/OculusBackendMirror.cpp
132-
DrvOculus/OculusBackendGuardian.cpp
132+
# DrvOculus/OculusBackendSubmit.cpp
133+
# DrvOculus/OculusBackendMirror.cpp
134+
# DrvOculus/OculusBackendGuardian.cpp
133135

134-
DrvOculus/pub/DrvOculus.h
136+
# DrvOculus/pub/DrvOculus.h
135137

136138
# Devices
137-
DrvOculus/OculusDevice.cpp
138-
DrvOculus/OculusDevice.h
139+
# DrvOculus/OculusDevice.cpp
140+
# DrvOculus/OculusDevice.h
139141

140-
DrvOculus/OculusHMD.cpp
141-
DrvOculus/OculusHMD.h
142-
)
143-
target_include_directories(DrvOculus PUBLIC DrvOculus/pub)
144-
target_include_directories(DrvOculus PRIVATE DrvOculus)
145-
target_link_libraries(DrvOculus OpenVR ovr ovrkernel)
146-
source_group(Public REGULAR_EXPRESSION DrvOculus/pub/*)
142+
# DrvOculus/OculusHMD.cpp
143+
# DrvOculus/OculusHMD.h
144+
#)
145+
#target_include_directories(DrvOculus PUBLIC DrvOculus/pub)
146+
#target_include_directories(DrvOculus PRIVATE DrvOculus)
147+
#target_link_libraries(DrvOculus OpenVR ovr ovrkernel)
148+
#source_group(Public REGULAR_EXPRESSION DrvOculus/pub/*)
147149

148150
endif (WIN32)
149151

@@ -163,22 +165,22 @@ add_library(OCCore STATIC
163165
OpenOVR/stdafx.cpp
164166

165167
OpenOVR/API/OCBaseSystem.cpp
166-
OpenOVR/Compositor/compositor.cpp
167-
OpenOVR/Compositor/dx11compositor.cpp
168-
OpenOVR/Compositor/dx10compositor.cpp
169-
OpenOVR/Compositor/dx12compositor.cpp
170-
OpenOVR/Compositor/glcompositor.cpp
171-
OpenOVR/Compositor/vkcompositor.cpp
172-
OpenOVR/convert.cpp
173-
OpenOVR/libovr_wrapper.cpp
168+
#OpenOVR/Compositor/compositor.cpp
169+
#OpenOVR/Compositor/dx11compositor.cpp
170+
#OpenOVR/Compositor/dx10compositor.cpp
171+
#OpenOVR/Compositor/dx12compositor.cpp
172+
#OpenOVR/Compositor/glcompositor.cpp
173+
#OpenOVR/Compositor/vkcompositor.cpp
174+
#OpenOVR/convert.cpp
175+
#OpenOVR/libovr_wrapper.cpp
174176
OpenOVR/logging.cpp
175177
OpenOVR/Misc/audio_override.cpp
176178
OpenOVR/Misc/Config.cpp
177179
OpenOVR/Misc/debug_helper.cpp
178-
OpenOVR/Misc/Haptics.cpp
179-
OpenOVR/Misc/Keyboard/KeyboardLayout.cpp
180-
OpenOVR/Misc/Keyboard/SudoFontMeta.cpp
181-
OpenOVR/Misc/Keyboard/VRKeyboard.cpp
180+
#OpenOVR/Misc/Haptics.cpp
181+
#OpenOVR/Misc/Keyboard/KeyboardLayout.cpp
182+
#OpenOVR/Misc/Keyboard/SudoFontMeta.cpp
183+
#OpenOVR/Misc/Keyboard/VRKeyboard.cpp
182184
OpenOVR/OpenOVR.cpp
183185
OpenOVR/Reimpl/BaseApplications.cpp
184186
OpenOVR/Reimpl/BaseChaperone.cpp
@@ -224,20 +226,20 @@ add_library(OCCore STATIC
224226
OpenOVR/API/OCBaseSystem.h
225227
OpenOVR/BaseCommon.h
226228
OpenOVR/Compositor/compositor.h
227-
OpenOVR/convert.h
229+
#OpenOVR/convert.h
228230
OpenOVR/custom_types.h
229-
OpenOVR/libovr_wrapper.h
231+
#OpenOVR/libovr_wrapper.h
230232
OpenOVR/logging.h
231233
OpenOVR/Misc/audio_override.h
232234
OpenOVR/Misc/Config.h
233235
OpenOVR/Misc/debug_helper.h
234-
OpenOVR/Misc/Haptics.h
236+
#OpenOVR/Misc/Haptics.h
235237
OpenOVR/Misc/ini.h
236238
OpenOVR/Misc/json/json-forwards.h
237239
OpenOVR/Misc/json/json.h
238-
OpenOVR/Misc/Keyboard/KeyboardLayout.h
239-
OpenOVR/Misc/Keyboard/SudoFontMeta.h
240-
OpenOVR/Misc/Keyboard/VRKeyboard.h
240+
#OpenOVR/Misc/Keyboard/KeyboardLayout.h
241+
#OpenOVR/Misc/Keyboard/SudoFontMeta.h
242+
#OpenOVR/Misc/Keyboard/VRKeyboard.h
241243
OpenOVR/Misc/lodepng.h
242244
OpenOVR/Misc/ScopeGuard.h
243245
OpenOVR/Reimpl/BaseApplications.h
@@ -325,7 +327,7 @@ add_library(OCCore STATIC
325327
target_include_directories(OCCore PUBLIC OpenOVR) # TODO make this private and put the public headers elsewhere
326328
target_include_directories(OCCore PRIVATE BundledLibs)
327329
target_compile_definitions(OCCore PRIVATE -DSUPPORT_DX -DSUPPORT_GL -DSUPPORT_VK)
328-
target_link_libraries(OCCore OpenVR ovr ovrkernel Vulkan)
330+
target_link_libraries(OCCore OpenVR ovr Vulkan)
329331

330332
# Set up precompiled headers for OCCore
331333
if (WIN32)
@@ -347,4 +349,4 @@ add_library(OCOVR SHARED
347349
# Resources don't get nicely included in a library file
348350
${OVR_RESOURCES}
349351
)
350-
target_link_libraries(OCOVR OCCore DrvOculus)
352+
target_link_libraries(OCOVR OCCore)

OCOVR/dllmain.cpp

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,24 @@
77
#include "Reimpl/GVRClientCore.gen.h"
88

99
#include "steamvr_abi.h"
10-
#include "libovr_wrapper.h"
10+
// #include "libovr_wrapper.h"
1111
#include "Misc/debug_helper.h"
1212
#include "Misc/audio_override.h"
1313
#include "Misc/Config.h"
1414
#include <map>
1515
#include <memory>
1616

17-
#include "OVR_CAPI_Audio.h"
17+
// #include "OVR_CAPI_Audio.h"
1818

1919
// Specific to OCOVR
2020
#include "Drivers/Backend.h"
2121
#include "Drivers/DriverManager.h"
22-
#include "DrvOculus.h"
22+
// #include "DrvOculus.h"
2323

2424
using namespace std;
2525

26-
static void init_audio();
27-
static void setup_audio();
26+
// static void init_audio();
27+
// static void setup_audio();
2828

2929
HMODULE openovr_module_id;
3030
HMODULE chainedImplementation;
@@ -41,7 +41,7 @@ BOOL APIENTRY DllMain( HMODULE hModule,
4141
#if defined(_DEBUG)
4242
DbgSetModule(hModule);
4343
#endif
44-
init_audio();
44+
// init_audio();
4545
case DLL_THREAD_ATTACH:
4646
case DLL_THREAD_DETACH:
4747
break;
@@ -206,25 +206,26 @@ VR_INTERFACE uint32_t VR_CALLTYPE VR_InitInternal2(EVRInitError * peError, EVRAp
206206
if (running)
207207
ERR("Cannot init VR: Already running!");
208208

209-
ovr::Setup();
210-
running_ovr = true;
209+
// ovr::Setup();
210+
// running_ovr = true;
211211

212-
setup_audio();
212+
// setup_audio();
213213

214214
success:
215215
current_apptype = eApplicationType;
216216
running = true;
217217
*peError = VRInitError_None;
218218

219219
// TODO seperate this from the rest of dllmain
220-
BackendManager::Create(DrvOculus::CreateOculusBackend());
220+
// BackendManager::Create(DrvOculus::CreateOculusBackend());
221221
// DriverManager::Instance().Register(DrvOculus::CreateOculusDriver());
222222

223223
return current_init_token;
224224
}
225225

226226
VR_INTERFACE bool VR_CALLTYPE VR_IsHmdPresent() {
227-
return ovr::IsAvailable();
227+
return true;
228+
// return ovr::IsAvailable();
228229
}
229230

230231
VR_INTERFACE bool VR_CALLTYPE VR_IsInterfaceVersionValid(const char * pchInterfaceVersion) {
@@ -247,8 +248,8 @@ VR_INTERFACE void VR_CALLTYPE VR_ShutdownInternal() {
247248
interfaces.clear();
248249

249250
// Shut down LibOVR
250-
if(running_ovr)
251-
ovr::Shutdown();
251+
/* if(running_ovr)
252+
ovr::Shutdown(); */
252253

253254
running = false;
254255
}
@@ -331,12 +332,12 @@ void init_audio() {
331332
// This switches over to the audio device returned by LibOVR, which supports
332333
// stuff like audio mirroring. This can only be called after LibOVR is initialised,
333334
// and thus will work on some games and not on others.
334-
void setup_audio() {
335+
/* void setup_audio() {
335336
if (!oovr_global_configuration.EnableAudio())
336337
return;
337338
338339
WCHAR deviceOutStrBuffer[OVR_AUDIO_MAX_DEVICE_STR_SIZE];
339340
ovrResult r = ovr_GetAudioDeviceOutGuidStr(deviceOutStrBuffer);
340341
if (r == ovrSuccess)
341342
set_app_default_audio_device(deviceOutStrBuffer);
342-
}
343+
} */

OpenOVR/API/OCBaseSystem.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
#include "stdafx.h"
22
#include "OCBaseSystem.h"
33

4-
#include "libovr_wrapper.h"
5-
#include "OVR_CAPI.h"
4+
// #include "libovr_wrapper.h"
5+
// #include "OVR_CAPI.h"
66

77
#include "ISystem_001.h"
88
using EVRExtendedButtonId = ocapi::IVROCSystem_001::EVRExtendedButtonId;
99

1010
uint64_t OCBaseSystem::GetExtendedButtonStatus() {
11-
uint64_t val = 0;
11+
return 0;
12+
/* uint64_t val = 0;
1213
1314
ovrInputState inputState;
1415
ovrResult result = ovr_GetInputState(*ovr::session, ovrControllerType_Touch, &inputState);
@@ -23,5 +24,5 @@ uint64_t OCBaseSystem::GetExtendedButtonStatus() {
2324
val |= vr::ButtonMaskFromId((vr::EVRButtonId) EVRExtendedButtonId::k_EButton_OVRMenu);
2425
}
2526
26-
return val;
27+
return val; */
2728
}

OpenOVR/BaseCommon.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#pragma once
22
#include "OpenVR/interfaces/vrtypes.h"
3+
#include <memory>
4+
#include <iostream>
35

46
class CVRCommon {
57
public:

OpenOVR/Compositor/compositor.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
#include <wrl/client.h>
88
#include <atlbase.h>
99

10-
#include <Extras/OVR_Math.h>
10+
// #include <Extras/OVR_Math.h>
1111

1212
#include <vector>
1313
#include <memory>

0 commit comments

Comments
 (0)