iw4x-client/src/Components/Modules/Renderer.hpp

45 lines
1.3 KiB
C++
Raw Normal View History

2017-01-20 08:36:52 -05:00
#pragma once
2017-01-19 16:23:59 -05:00
namespace Components
{
class Renderer : public Component
{
public:
typedef void(BackendCallback)(IDirect3DDevice9*);
Renderer();
~Renderer();
static int Width();
static int Height();
static void OnBackendFrame(Utils::Slot<BackendCallback> callback);
static void OnNextBackendFrame(Utils::Slot<BackendCallback> callback);
static void OnDeviceRecoveryEnd(Utils::Slot<Scheduler::Callback> callback);
static void OnDeviceRecoveryBegin(Utils::Slot<Scheduler::Callback> callback);
2017-01-19 16:23:59 -05:00
private:
static void FrameStub();
static void BackendFrameStub();
static void BackendFrameHandler();
static void PreVidRestart();
static void PostVidRestart();
static void PostVidRestartStub();
static void R_TextureFromCodeError(const char* sampler, Game::GfxCmdBufState* state);
static void StoreGfxBufContextPtrStub1();
static void StoreGfxBufContextPtrStub2();
static int DrawTechsetForMaterial(int a1, float a2, float a3, const char* material, Game::vec4_t* color, int a6);
static Utils::Signal<Scheduler::Callback> EndRecoverDeviceSignal;
static Utils::Signal<Scheduler::Callback> BeginRecoverDeviceSignal;
2017-01-19 16:23:59 -05:00
static Utils::Signal<BackendCallback> BackendFrameSignal;
static Utils::Signal<BackendCallback> SingleBackendFrameSignal;
2017-01-19 16:23:59 -05:00
};
}