mirror of
				https://github.com/hedge-dev/UnleashedRecomp.git
				synced 2025-10-30 07:11:05 +00:00 
			
		
		
		
	Move Windows version to OS namespace
This commit is contained in:
		
							parent
							
								
									8db45bcf57
								
							
						
					
					
						commit
						ad862adc83
					
				
					 9 changed files with 54 additions and 35 deletions
				
			
		| 
						 | 
				
			
			@ -62,16 +62,22 @@ set(SWA_KERNEL_CXX_SOURCES
 | 
			
		|||
    "kernel/xdm.cpp"
 | 
			
		||||
    "kernel/heap.cpp"
 | 
			
		||||
    "kernel/memory.cpp"
 | 
			
		||||
    "kernel/platform.cpp"
 | 
			
		||||
    "kernel/xam.cpp"
 | 
			
		||||
    "kernel/io/file_system.cpp"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
set(SWA_OS_CXX_SOURCES
 | 
			
		||||
    "os/win32/process_win32.cpp"
 | 
			
		||||
    "os/process.cpp"
 | 
			
		||||
    "os/version.cpp"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
if (WIN32)
 | 
			
		||||
    list(APPEND SWA_OS_CXX_SOURCES
 | 
			
		||||
        "os/win32/process_win32.cpp"
 | 
			
		||||
        "os/win32/version_win32.cpp"
 | 
			
		||||
    )
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
set(SWA_CPU_CXX_SOURCES
 | 
			
		||||
    "cpu/guest_thread.cpp"
 | 
			
		||||
    "cpu/code_cache.cpp"
 | 
			
		||||
| 
						 | 
				
			
			@ -89,7 +95,7 @@ set(SWA_APU_CXX_SOURCES
 | 
			
		|||
    "apu/audio.cpp"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
if(SWA_XAUDIO2)
 | 
			
		||||
if (SWA_XAUDIO2)
 | 
			
		||||
    list(APPEND SWA_APU_CXX_SOURCES "apu/driver/xaudio_driver.cpp")
 | 
			
		||||
else()
 | 
			
		||||
    list(APPEND SWA_APU_CXX_SOURCES "apu/driver/miniaudio_driver.cpp")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,11 +0,0 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
struct PlatformVersion
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
    uint32_t Major{};
 | 
			
		||||
    uint32_t Minor{};
 | 
			
		||||
    uint32_t Build{};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern PlatformVersion GetPlatformVersion();
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
#include "process.h"
 | 
			
		||||
#include "process_detail.h"
 | 
			
		||||
#include <os/process.h>
 | 
			
		||||
#include <os/process_detail.h>
 | 
			
		||||
 | 
			
		||||
std::filesystem::path os::process::GetExecutablePath()
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										7
									
								
								UnleashedRecomp/os/version.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								UnleashedRecomp/os/version.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
#include <os/version.h>
 | 
			
		||||
#include <os/version_detail.h>
 | 
			
		||||
 | 
			
		||||
os::version::detail::OSVersion os::version::GetOSVersion()
 | 
			
		||||
{
 | 
			
		||||
    return detail::GetOSVersion();
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										8
									
								
								UnleashedRecomp/os/version.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								UnleashedRecomp/os/version.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include <os/version_detail.h>
 | 
			
		||||
 | 
			
		||||
namespace os::version
 | 
			
		||||
{
 | 
			
		||||
    detail::OSVersion GetOSVersion();
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										13
									
								
								UnleashedRecomp/os/version_detail.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								UnleashedRecomp/os/version_detail.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,13 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
namespace os::version::detail
 | 
			
		||||
{
 | 
			
		||||
    struct OSVersion
 | 
			
		||||
    {
 | 
			
		||||
        uint32_t Major{};
 | 
			
		||||
        uint32_t Minor{};
 | 
			
		||||
        uint32_t Build{};
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    OSVersion GetOSVersion();
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,14 +1,11 @@
 | 
			
		|||
#include <kernel/platform.h>
 | 
			
		||||
#include <os/version_detail.h>
 | 
			
		||||
 | 
			
		||||
#if _WIN32
 | 
			
		||||
LIB_FUNCTION(LONG, "ntdll.dll", RtlGetVersion, PRTL_OSVERSIONINFOW);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
PlatformVersion GetPlatformVersion()
 | 
			
		||||
os::version::detail::OSVersion os::version::detail::GetOSVersion()
 | 
			
		||||
{
 | 
			
		||||
    auto result = PlatformVersion{};
 | 
			
		||||
    auto result = os::version::detail::OSVersion{};
 | 
			
		||||
 | 
			
		||||
#if _WIN32
 | 
			
		||||
    OSVERSIONINFOEXW osvi = { 0 };
 | 
			
		||||
    osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXW);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -18,7 +15,6 @@ PlatformVersion GetPlatformVersion()
 | 
			
		|||
    result.Major = osvi.dwMajorVersion;
 | 
			
		||||
    result.Minor = osvi.dwMinorVersion;
 | 
			
		||||
    result.Build = osvi.dwBuildNumber;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
    return result;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
#include <cpu/guest_code.h>
 | 
			
		||||
#include <user/config.h>
 | 
			
		||||
#include <kernel/function.h>
 | 
			
		||||
#include <kernel/platform.h>
 | 
			
		||||
#include <os/version.h>
 | 
			
		||||
#include <patches/audio_patches.h>
 | 
			
		||||
#include <api/SWA.h>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -13,24 +13,24 @@ using namespace winrt;
 | 
			
		|||
using namespace winrt::Windows::Foundation;
 | 
			
		||||
using namespace winrt::Windows::Media::Control;
 | 
			
		||||
 | 
			
		||||
GlobalSystemMediaTransportControlsSessionManager m_sessionManager = nullptr;
 | 
			
		||||
static GlobalSystemMediaTransportControlsSessionManager g_sessionManager = nullptr;
 | 
			
		||||
 | 
			
		||||
GlobalSystemMediaTransportControlsSessionManager GetSessionManager()
 | 
			
		||||
static GlobalSystemMediaTransportControlsSessionManager GetSessionManager()
 | 
			
		||||
{
 | 
			
		||||
    if (m_sessionManager)
 | 
			
		||||
        return m_sessionManager;
 | 
			
		||||
    if (g_sessionManager)
 | 
			
		||||
        return g_sessionManager;
 | 
			
		||||
 | 
			
		||||
    init_apartment();
 | 
			
		||||
 | 
			
		||||
    return m_sessionManager = GlobalSystemMediaTransportControlsSessionManager::RequestAsync().get();
 | 
			
		||||
    return g_sessionManager = GlobalSystemMediaTransportControlsSessionManager::RequestAsync().get();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
GlobalSystemMediaTransportControlsSession GetCurrentSession()
 | 
			
		||||
static GlobalSystemMediaTransportControlsSession GetCurrentSession()
 | 
			
		||||
{
 | 
			
		||||
    return GetSessionManager().GetCurrentSession();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool IsExternalAudioPlaying()
 | 
			
		||||
static bool IsExternalAudioPlaying()
 | 
			
		||||
{
 | 
			
		||||
    auto session = GetCurrentSession();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -43,7 +43,7 @@ bool IsExternalAudioPlaying()
 | 
			
		|||
int AudioPatches::m_isAttenuationSupported = -1;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
be<float>* GetVolume(bool isMusic = true)
 | 
			
		||||
static be<float>* GetVolume(bool isMusic = true)
 | 
			
		||||
{
 | 
			
		||||
    auto ppUnkClass = (be<uint32_t>*)g_memory.Translate(0x83362FFC);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -60,7 +60,7 @@ bool AudioPatches::CanAttenuate()
 | 
			
		|||
    if (m_isAttenuationSupported >= 0)
 | 
			
		||||
        return m_isAttenuationSupported;
 | 
			
		||||
 | 
			
		||||
    auto version = GetPlatformVersion();
 | 
			
		||||
    auto version = os::version::GetOSVersion();
 | 
			
		||||
 | 
			
		||||
    m_isAttenuationSupported = version.Major >= 10 && version.Build >= 17763;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,12 +2,12 @@
 | 
			
		|||
 | 
			
		||||
#include <res/images/game_icon.bmp.h>
 | 
			
		||||
#include <res/images/game_icon_night.bmp.h>
 | 
			
		||||
#include <os/version.h>
 | 
			
		||||
#include <ui/window_events.h>
 | 
			
		||||
#include <user/config.h>
 | 
			
		||||
 | 
			
		||||
#if _WIN32
 | 
			
		||||
#include <dwmapi.h>
 | 
			
		||||
#include <kernel/platform.h>
 | 
			
		||||
#pragma comment(lib, "dwmapi.lib")
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -76,7 +76,7 @@ public:
 | 
			
		|||
    static void SetDarkTitleBar(bool isEnabled)
 | 
			
		||||
    {
 | 
			
		||||
#if _WIN32
 | 
			
		||||
        auto version = GetPlatformVersion();
 | 
			
		||||
        auto version = os::version::GetOSVersion();
 | 
			
		||||
 | 
			
		||||
        if (version.Major < 10 || version.Build <= 17763)
 | 
			
		||||
            return;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue