mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-11 19:29:08 +00:00
1
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef BSPLIGHTINGTHREAD_H
|
||||
#define BSPLIGHTINGTHREAD_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "ibsplightingthread.h"
|
||||
#include "utlvector.h"
|
||||
|
||||
|
||||
class CBSPLightingThread : public IBSPLightingThread
|
||||
{
|
||||
public:
|
||||
|
||||
CBSPLightingThread();
|
||||
|
||||
|
||||
// IBSPLightingThread functions.
|
||||
public:
|
||||
virtual ~CBSPLightingThread();
|
||||
virtual void Release();
|
||||
virtual void StartLighting( char const *pVMFFileWithEntities );
|
||||
virtual int GetCurrentState();
|
||||
virtual void Interrupt();
|
||||
virtual float GetPercentComplete();
|
||||
|
||||
|
||||
// Other functions.
|
||||
public:
|
||||
|
||||
// This is called immediately after the constructor. It creates the thread.
|
||||
bool Init( IVRadDLL *pDLL );
|
||||
|
||||
|
||||
|
||||
// Threadsafe functions.
|
||||
public:
|
||||
|
||||
enum
|
||||
{
|
||||
THREADCMD_NONE=0,
|
||||
THREADCMD_LIGHT=1,
|
||||
THREADCMD_EXIT=2
|
||||
};
|
||||
|
||||
// Get the current command to the thread. Resets to THREADCMD_NONE on exit.
|
||||
int GetThreadCmd();
|
||||
void SetThreadCmd( int cmd );
|
||||
|
||||
// Returns an IBSPLightingThread::STATE_ define.
|
||||
int GetThreadState();
|
||||
void SetThreadState( int state );
|
||||
|
||||
|
||||
public:
|
||||
|
||||
// The thread's run function.
|
||||
DWORD ThreadMainLoop();
|
||||
|
||||
|
||||
public:
|
||||
|
||||
int m_ThreadCmd; // Next command for the thread to run.
|
||||
int m_ThreadState; // Current state of the thread.
|
||||
|
||||
CUtlVector<char> m_VMFFileWithEntities;
|
||||
|
||||
|
||||
public:
|
||||
IVRadDLL *m_pVRadDLL;
|
||||
|
||||
HANDLE m_hThread;
|
||||
DWORD m_ThreadID;
|
||||
CRITICAL_SECTION m_CS;
|
||||
};
|
||||
|
||||
|
||||
#endif // BSPLIGHTINGTHREAD_H
|
||||
Reference in New Issue
Block a user