made it work with new fpc

This commit is contained in:
2026-02-01 17:47:49 +02:00
parent fe1273e539
commit faae0bdcc7
199 changed files with 355 additions and 14541 deletions

View File

@@ -1,43 +1,28 @@
#ifndef GAME_WINDOW_H
#define GAME_WINDOW_H
#include "tier2/iappsystem.h"
#include "gamesystem.h"
#include "tier0/platform.h"
#include "materialsystem/imaterialsystem.h"
enum EGraphicsAPI
{
GRAPHICS_API_METAL,
GRAPHICS_API_VULKAN,
};
abstract_class IGameWindow: public IAppSystem
abstract_class IGameWindow: public IGameSystem
{
public:
virtual void UpdateWindow() = 0;
virtual uint32_t GetRenderWidth() = 0;
virtual uint32_t GetRenderHeight() = 0;
// Rendering info
virtual void SetRenderImage( IImage *pImage ) = 0;
virtual bool BIsRenderResolutionUpdated() = 0;
virtual void GetRenderWidth() = 0;
virtual void GetRenderHeight() = 0;
virtual EGraphicsAPI GetGraphicsAPI() = 0;
// Vulkan stuff
virtual int GetVulkanInstanceExtensionCount() = 0;
virtual const char **GetVulkanInstanceExtensions() = 0;
virtual void CreateVulkanSurface( void *pInstance, void *pDevice ) = 0;
virtual void DestroyVulkanSurface( void *pInstance, void *pDevice ) = 0;
virtual void *GetVulkanSurface() = 0;
virtual void *GetVulkanFence( int iFrame ) = 0;
virtual void *GetVulkanDrawSemaphore( int iFrame ) = 0;
virtual void *GetVulkanPresentSemaphore( int iFrame ) = 0;
virtual IImage *GetVulkanSwapchainImage( int iFrame ) = 0;
virtual void *CreateVulkanSurface( void *pInstance ) = 0;
virtual void DestroyVulkanSurface( void *pInstance ) = 0;
};
extern IGameWindow *gamewindow;
abstract_class IGameWindowManager: public IGameSystem
{
public:
virtual IGameWindow *CreateWindow() = 0;
virtual void DestroyWindow( IGameWindow* pWindow ) = 0;
virtual int GetVulkanInstanceExtensionCount() = 0;
virtual const char **GetVulkanInstanceExtensions() = 0;
};
#endif