fix windows build scripts, add windows opus support

This commit is contained in:
HappyDOGE 2022-07-28 14:27:56 +03:00
parent 90cd6e0e15
commit 3faf6a69ac
149 changed files with 396 additions and 170 deletions

4
.gitignore vendored
View File

@ -35,4 +35,6 @@ android/
.cache/ .cache/
.ccache/ .ccache/
waf3*/ waf3*/
.vscode/ .vscode/
.depproj/
source-engine.sln

2
.gitmodules vendored
View File

@ -6,4 +6,4 @@
url = https://github.com/nillerusr/source-physics url = https://github.com/nillerusr/source-physics
[submodule "lib"] [submodule "lib"]
path = lib path = lib
url = https://github.com/nillerusr/source-engine-libs url = https://github.com/nillerusr/source-engine-libs.git

View File

@ -828,7 +828,7 @@ bool ConvertToATIxN( const uint8 *src, ImageFormat srcImageFormat,
uint8 *dst, ImageFormat dstImageFormat, uint8 *dst, ImageFormat dstImageFormat,
int width, int height, int srcStride, int dstStride ) int width, int height, int srcStride, int dstStride )
{ {
#if !defined( _X360 ) && !defined( POSIX ) #if 0
// from rgb(a) to ATIxN // from rgb(a) to ATIxN
if( srcStride != 0 || dstStride != 0 ) if( srcStride != 0 || dstStride != 0 )
@ -877,7 +877,7 @@ bool ConvertToDXTLegacy( const uint8 *src, ImageFormat srcImageFormat,
uint8 *dst, ImageFormat dstImageFormat, uint8 *dst, ImageFormat dstImageFormat,
int width, int height, int srcStride, int dstStride ) int width, int height, int srcStride, int dstStride )
{ {
#if !defined( _X360 ) && !defined( POSIX ) #if 0
// from rgb(a) to dxtN // from rgb(a) to dxtN
if( srcStride != 0 || dstStride != 0 ) if( srcStride != 0 || dstStride != 0 )
return false; return false;

View File

@ -48,8 +48,8 @@ def build(bld):
libs = [] libs = []
if bld.env.DEST_OS == 'win32': #if bld.env.DEST_OS == 'win32':
libs += ['NVTC', 'ATI_COMPRESS_MT_VC10'] # libs += ['NVTC', 'ATI_COMPRESS_MT_VC10']
bld.stlib( bld.stlib(
source = source, source = source,

View File

@ -53,12 +53,12 @@ int CBlacklistedServerManager::LoadServersFromFile( const char *pszFilename, boo
{ {
const char *pszName = pData->GetString( "name" ); const char *pszName = pData->GetString( "name" );
uint32 ulDate = pData->GetInt( "date" ); uint64 ullDate = pData->GetUint64( "date" );
if ( bResetTimes ) if ( bResetTimes )
{ {
time_t today; time_t today;
time( &today ); time( &today );
ulDate = today; ullDate = (uint64)today;
} }
const char *pszNetAddr = pData->GetString( "addr" ); const char *pszNetAddr = pData->GetString( "addr" );
@ -68,7 +68,7 @@ int CBlacklistedServerManager::LoadServersFromFile( const char *pszFilename, boo
m_Blacklist[iIdx].m_nServerID = m_iNextServerID++; m_Blacklist[iIdx].m_nServerID = m_iNextServerID++;
V_strncpy( m_Blacklist[iIdx].m_szServerName, pszName, sizeof( m_Blacklist[iIdx].m_szServerName ) ); V_strncpy( m_Blacklist[iIdx].m_szServerName, pszName, sizeof( m_Blacklist[iIdx].m_szServerName ) );
m_Blacklist[iIdx].m_ulTimeBlacklistedAt = ulDate; m_Blacklist[iIdx].m_ullTimeBlacklistedAt = ullDate;
m_Blacklist[iIdx].m_NetAdr.SetFromString( pszNetAddr ); m_Blacklist[iIdx].m_NetAdr.SetFromString( pszNetAddr );
++count; ++count;
@ -92,7 +92,7 @@ void CBlacklistedServerManager::SaveToFile( const char *pszFilename )
{ {
KeyValues *pSubKey = new KeyValues( "server" ); KeyValues *pSubKey = new KeyValues( "server" );
pSubKey->SetString( "name", m_Blacklist[i].m_szServerName ); pSubKey->SetString( "name", m_Blacklist[i].m_szServerName );
pSubKey->SetInt( "date", m_Blacklist[i].m_ulTimeBlacklistedAt ); pSubKey->SetUint64( "date", m_Blacklist[i].m_ullTimeBlacklistedAt );
pSubKey->SetString( "addr", m_Blacklist[i].m_NetAdr.ToString() ); pSubKey->SetString( "addr", m_Blacklist[i].m_NetAdr.ToString() );
pKV->AddSubKey( pSubKey ); pKV->AddSubKey( pSubKey );
} }
@ -120,7 +120,7 @@ blacklisted_server_t *CBlacklistedServerManager::AddServer( gameserveritem_t &se
time_t today; time_t today;
time( &today ); time( &today );
m_Blacklist[iIdx].m_ulTimeBlacklistedAt = today; m_Blacklist[iIdx].m_ullTimeBlacklistedAt = (uint64)today;
m_Blacklist[iIdx].m_NetAdr = netAdr; m_Blacklist[iIdx].m_NetAdr = netAdr;
m_Blacklist[iIdx].m_nServerID = m_iNextServerID++; m_Blacklist[iIdx].m_nServerID = m_iNextServerID++;
@ -145,7 +145,7 @@ blacklisted_server_t *CBlacklistedServerManager::AddServer( const char *serverNa
time_t today; time_t today;
time( &today ); time( &today );
m_Blacklist[iIdx].m_ulTimeBlacklistedAt = today; m_Blacklist[iIdx].m_ullTimeBlacklistedAt = (uint64)today;
m_Blacklist[iIdx].m_NetAdr = netAdr; m_Blacklist[iIdx].m_NetAdr = netAdr;
m_Blacklist[iIdx].m_nServerID = m_iNextServerID++; m_Blacklist[iIdx].m_nServerID = m_iNextServerID++;
@ -157,7 +157,7 @@ blacklisted_server_t *CBlacklistedServerManager::AddServer( const char *serverNa
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: Add the given server to the blacklist. Return added server. // Purpose: Add the given server to the blacklist. Return added server.
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
blacklisted_server_t *CBlacklistedServerManager::AddServer( const char *serverName, const char *netAddressString, uint32 timestamp ) blacklisted_server_t *CBlacklistedServerManager::AddServer( const char *serverName, const char *netAddressString, uint64 timestamp )
{ {
netadr_t netAdr( netAddressString ); netadr_t netAdr( netAddressString );
@ -168,7 +168,7 @@ blacklisted_server_t *CBlacklistedServerManager::AddServer( const char *serverNa
int iIdx = m_Blacklist.AddToTail(); int iIdx = m_Blacklist.AddToTail();
V_strncpy( m_Blacklist[iIdx].m_szServerName, serverName, sizeof( m_Blacklist[iIdx].m_szServerName ) ); V_strncpy( m_Blacklist[iIdx].m_szServerName, serverName, sizeof( m_Blacklist[iIdx].m_szServerName ) );
m_Blacklist[iIdx].m_ulTimeBlacklistedAt = timestamp; m_Blacklist[iIdx].m_ullTimeBlacklistedAt = timestamp;
m_Blacklist[iIdx].m_NetAdr = netAdr; m_Blacklist[iIdx].m_NetAdr = netAdr;
m_Blacklist[iIdx].m_nServerID = m_iNextServerID++; m_Blacklist[iIdx].m_nServerID = m_iNextServerID++;

View File

@ -23,7 +23,7 @@ struct blacklisted_server_t
{ {
int m_nServerID; int m_nServerID;
char m_szServerName[64]; char m_szServerName[64];
uint32 m_ulTimeBlacklistedAt; uint64 m_ullTimeBlacklistedAt;
netadr_t m_NetAdr; netadr_t m_NetAdr;
}; };
@ -40,7 +40,7 @@ public:
blacklisted_server_t *AddServer( gameserveritem_t &server ); blacklisted_server_t *AddServer( gameserveritem_t &server );
blacklisted_server_t *AddServer( const char *serverName, uint32 serverIP, int serverPort ); blacklisted_server_t *AddServer( const char *serverName, uint32 serverIP, int serverPort );
blacklisted_server_t *AddServer( const char *serverName, const char *netAddressString, uint32 timestamp ); blacklisted_server_t *AddServer( const char *serverName, const char *netAddressString, uint64 timestamp );
void RemoveServer( int iServerID ); // remove server with matching 'server id' from list void RemoveServer( int iServerID ); // remove server with matching 'server id' from list

View File

@ -20,7 +20,8 @@ def build(bld):
'mdlcache.cpp', 'mdlcache.cpp',
'../public/studio.cpp', '../public/studio.cpp',
'../public/studio_virtualmodel.cpp', '../public/studio_virtualmodel.cpp',
'../common/studiobyteswap.cpp' '../common/studiobyteswap.cpp',
'../public/tier0/memoverride.cpp'
] ]
includes = [ includes = [

View File

@ -33,9 +33,10 @@ def build(bld):
'../filesystem/filesystem_stdio.cpp', '../filesystem/filesystem_stdio.cpp',
'../filesystem/QueuedLoader.cpp', '../filesystem/QueuedLoader.cpp',
'../public/zip_utils.cpp', '../public/zip_utils.cpp',
'../public/tier0/memoverride.cpp'
] ]
if bld.env.DEST_OS == 'win32' if bld.env.DEST_OS == 'win32':
source += [ source += [
'sys_windows.cpp' 'sys_windows.cpp'
] ]

BIN
dx9sdk/lib/amd64/D3DCSX.lib Normal file

Binary file not shown.

Binary file not shown.

BIN
dx9sdk/lib/amd64/DxErr.lib Normal file

Binary file not shown.

Binary file not shown.

BIN
dx9sdk/lib/amd64/XAPOFX.lib Normal file

Binary file not shown.

BIN
dx9sdk/lib/amd64/XInput.lib Normal file

Binary file not shown.

BIN
dx9sdk/lib/amd64/d2d1.lib Normal file

Binary file not shown.

BIN
dx9sdk/lib/amd64/d3d10.lib Normal file

Binary file not shown.

Binary file not shown.

BIN
dx9sdk/lib/amd64/d3d11.lib Normal file

Binary file not shown.

BIN
dx9sdk/lib/amd64/d3d9.lib Normal file

Binary file not shown.

Binary file not shown.

BIN
dx9sdk/lib/amd64/d3dx10.lib Normal file

Binary file not shown.

Binary file not shown.

BIN
dx9sdk/lib/amd64/d3dx11.lib Normal file

Binary file not shown.

Binary file not shown.

BIN
dx9sdk/lib/amd64/d3dx9.lib Normal file

Binary file not shown.

BIN
dx9sdk/lib/amd64/d3dx9d.lib Normal file

Binary file not shown.

BIN
dx9sdk/lib/amd64/d3dxof.lib Normal file

Binary file not shown.

Binary file not shown.

BIN
dx9sdk/lib/amd64/dsound.lib Normal file

Binary file not shown.

BIN
dx9sdk/lib/amd64/dwrite.lib Normal file

Binary file not shown.

BIN
dx9sdk/lib/amd64/dxgi.lib Normal file

Binary file not shown.

BIN
dx9sdk/lib/amd64/dxguid.lib Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -113,7 +113,7 @@ void EndLoadingUpdates()
} }
} }
static int LoadLibraryThreadFunc() static uintp LoadLibraryThreadFunc(void *pParam)
{ {
RefreshScreenIfNecessary(); RefreshScreenIfNecessary();
return 15; return 15;

View File

@ -1847,7 +1847,7 @@ void CBugUIPanel::OnSubmit()
extern CGlobalVars g_ServerGlobalVariables; extern CGlobalVars g_ServerGlobalVariables;
char misc2[ 256 ]; char misc2[ 256 ];
long mapfiletime = g_pFileSystem->GetFileTime( modelloader->GetName( host_state.worldmodel ), "GAME" ); time_t mapfiletime = g_pFileSystem->GetFileTime( modelloader->GetName( host_state.worldmodel ), "GAME" );
if ( !isPublic && mapfiletime != 0L ) if ( !isPublic && mapfiletime != 0L )
{ {
char filetimebuf[ 64 ]; char filetimebuf[ 64 ];

View File

@ -209,10 +209,11 @@ static ConVar sv_consistency( "sv_consistency", "1", FCVAR_REPLICATED, "Legacy v
/// XXX(JohnS): When steam voice gets ugpraded to Opus we will probably default back to steam. At that time we should /// XXX(JohnS): When steam voice gets ugpraded to Opus we will probably default back to steam. At that time we should
/// note that Steam voice is the highest quality codec below. /// note that Steam voice is the highest quality codec below.
static ConVar sv_voicecodec( "sv_voicecodec", "vaudio_celt", 0, static ConVar sv_voicecodec( "sv_voicecodec", "vaudio_opus", 0,
"Specifies which voice codec to use. Valid options are:\n" "Specifies which voice codec to use. Valid options are:\n"
"vaudio_speex - Legacy Speex codec (lowest quality)\n" "vaudio_speex - Legacy Speex codec (lowest quality)\n"
"vaudio_celt - Newer CELT codec\n" "vaudio_celt - Newer CELT codec\n"
"vaudio_opus - Latest Opus codec (highest quality, comes by default)\n"
"steam - Use Steam voice API" ); "steam - Use Steam voice API" );

View File

@ -1176,7 +1176,7 @@ InitReturnVal_t CEngineAPI::Init()
m_bRunningSimulation = false; m_bRunningSimulation = false;
// Initialize the FPU control word // Initialize the FPU control word
#if defined(WIN32) && !defined( SWDS ) && !defined( _X360 ) && !defined (__arm__) #if defined(WIN32) && !defined( SWDS ) && !defined( _X360 ) && !defined (__arm__) && !defined(PLATFORM_WINDOWS_PC64)
_asm _asm
{ {
fninit fninit

View File

@ -161,7 +161,7 @@ public:
void SetMainWindow( SDL_Window* window ); void SetMainWindow( SDL_Window* window );
#else #else
#ifdef WIN32 #ifdef WIN32
int WindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); LRESULT WindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
#endif #endif
void SetMainWindow( HWND window ); void SetMainWindow( HWND window );
#endif #endif
@ -514,7 +514,7 @@ void VCR_HandlePlaybackMessages(
// FIXME: It would be nice to remove the need for this, which we can do // FIXME: It would be nice to remove the need for this, which we can do
// if we can make unicode work when running inside hammer. // if we can make unicode work when running inside hammer.
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
static LONG WINAPI CallDefaultWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) static LRESULT WINAPI CallDefaultWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
{ {
if ( unicode ) if ( unicode )
return unicode->DefWindowProcW( hWnd, uMsg, wParam, lParam ); return unicode->DefWindowProcW( hWnd, uMsg, wParam, lParam );
@ -575,10 +575,10 @@ void XBX_HandleInvite( DWORD nUserId )
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Main windows procedure // Main windows procedure
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
int CGame::WindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) LRESULT CGame::WindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{ {
LONG lRet = 0; LRESULT lRet = 0;
HDC hdc; HDC hdc;
PAINTSTRUCT ps; PAINTSTRUCT ps;
@ -848,7 +848,7 @@ int CGame::WindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Creates the game window // Creates the game window
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
static LONG WINAPI HLEngineWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) static LRESULT WINAPI HLEngineWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
{ {
return g_Game.WindowProc( hWnd, uMsg, wParam, lParam ); return g_Game.WindowProc( hWnd, uMsg, wParam, lParam );
} }
@ -952,7 +952,7 @@ bool CGame::CreateGameWindow( void )
memset( &wc, 0, sizeof( wc ) ); memset( &wc, 0, sizeof( wc ) );
wc.style = CS_OWNDC | CS_DBLCLKS; wc.style = CS_OWNDC | CS_DBLCLKS;
wc.lpfnWndProc = CallDefaultWindowProc; wc.lpfnWndProc = static_cast<WNDPROC>(CallDefaultWindowProc);
wc.hInstance = m_hInstance; wc.hInstance = m_hInstance;
wc.lpszClassName = CLASSNAME; wc.lpszClassName = CLASSNAME;

View File

@ -19,7 +19,8 @@ def build(bld):
source = [ source = [
'voiceencoder_celt.cpp', 'voiceencoder_celt.cpp',
'../frame_encoder/voice_codec_frame.cpp', '../frame_encoder/voice_codec_frame.cpp',
'../../../tier1/interface.cpp' '../../../tier1/interface.cpp',
'../../../public/tier0/memoverride.cpp'
] ]
includes = [ includes = [

View File

@ -17,6 +17,7 @@ def configure(conf):
def build(bld): def build(bld):
source = [ source = [
'mp3codecs.cpp', 'mp3codecs.cpp',
'../../../public/tier0/memoverride.cpp'
] ]
includes = [ includes = [

View File

@ -17,7 +17,8 @@ def build(bld):
source = [ source = [
'voiceencoder_opus.cpp', 'voiceencoder_opus.cpp',
'../frame_encoder/voice_codec_frame.cpp', '../frame_encoder/voice_codec_frame.cpp',
'../../../tier1/interface.cpp' '../../../tier1/interface.cpp',
'../../../public/tier0/memoverride.cpp'
] ]
includes = [ includes = [

View File

@ -19,7 +19,8 @@ def build(bld):
source = [ source = [
'VoiceEncoder_Speex.cpp', 'VoiceEncoder_Speex.cpp',
'../frame_encoder/voice_codec_frame.cpp', '../frame_encoder/voice_codec_frame.cpp',
'../../../tier1/interface.cpp' '../../../tier1/interface.cpp',
'../../../public/tier0/memoverride.cpp'
] ]
includes = [ includes = [

View File

@ -42,6 +42,8 @@
#undef GetCurrentDirectory #undef GetCurrentDirectory
#endif #endif
#include <time.h>
// memdbgon must be the last include file in a .cpp file!!! // memdbgon must be the last include file in a .cpp file!!!
#include "tier0/memdbgon.h" #include "tier0/memdbgon.h"
@ -2800,7 +2802,7 @@ unsigned int CBaseFileSystem::Size( const char* pFileName, const char *pPathID )
// *pFileName - // *pFileName -
// Output : long // Output : long
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
long CBaseFileSystem::FastFileTime( const CSearchPath *path, const char *pFileName ) time_t CBaseFileSystem::FastFileTime( const CSearchPath *path, const char *pFileName )
{ {
struct _stat buf; struct _stat buf;
@ -3323,7 +3325,7 @@ char *CBaseFileSystem::ReadLine( char *pOutput, int maxChars, FileHandle_t file
// Input : *pFileName - // Input : *pFileName -
// Output : long // Output : long
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
long CBaseFileSystem::GetFileTime( const char *pFileName, const char *pPathID ) time_t CBaseFileSystem::GetFileTime( const char *pFileName, const char *pPathID )
{ {
VPROF_BUDGET( "CBaseFileSystem::GetFileTime", VPROF_BUDGETGROUP_OTHER_FILESYSTEM ); VPROF_BUDGET( "CBaseFileSystem::GetFileTime", VPROF_BUDGETGROUP_OTHER_FILESYSTEM );
@ -3340,7 +3342,7 @@ long CBaseFileSystem::GetFileTime( const char *pFileName, const char *pPathID )
for ( CSearchPath *pSearchPath = iter.GetFirst(); pSearchPath != NULL; pSearchPath = iter.GetNext() ) for ( CSearchPath *pSearchPath = iter.GetFirst(); pSearchPath != NULL; pSearchPath = iter.GetNext() )
{ {
long ft = FastFileTime( pSearchPath, tempFileName ); time_t ft = FastFileTime( pSearchPath, tempFileName );
if ( ft != 0L ) if ( ft != 0L )
{ {
if ( !pSearchPath->GetPackFile() && m_LogFuncs.Count() ) if ( !pSearchPath->GetPackFile() && m_LogFuncs.Count() )
@ -3363,12 +3365,12 @@ long CBaseFileSystem::GetFileTime( const char *pFileName, const char *pPathID )
return ft; return ft;
} }
} }
return 0L; return (time_t)0L;
} }
long CBaseFileSystem::GetPathTime( const char *pFileName, const char *pPathID ) time_t CBaseFileSystem::GetPathTime( const char *pFileName, const char *pPathID )
{ {
VPROF_BUDGET( "CBaseFileSystem::GetFileTime", VPROF_BUDGETGROUP_OTHER_FILESYSTEM ); VPROF_BUDGET( "CBaseFileSystem::GetPathTime", VPROF_BUDGETGROUP_OTHER_FILESYSTEM );
CSearchPathsIterator iter( this, &pFileName, pPathID ); CSearchPathsIterator iter( this, &pFileName, pPathID );
@ -3379,10 +3381,10 @@ long CBaseFileSystem::GetPathTime( const char *pFileName, const char *pPathID )
Q_strlower( tempFileName ); Q_strlower( tempFileName );
#endif #endif
long pathTime = 0L; time_t pathTime = 0L;
for ( CSearchPath *pSearchPath = iter.GetFirst(); pSearchPath != NULL; pSearchPath = iter.GetNext() ) for ( CSearchPath *pSearchPath = iter.GetFirst(); pSearchPath != NULL; pSearchPath = iter.GetNext() )
{ {
long ft = FastFileTime( pSearchPath, tempFileName ); time_t ft = FastFileTime( pSearchPath, tempFileName );
if ( ft > pathTime ) if ( ft > pathTime )
pathTime = ft; pathTime = ft;
if ( ft != 0L ) if ( ft != 0L )
@ -3707,7 +3709,7 @@ void CBaseFileSystem::SetWhitelistSpewFlags( int flags )
// maxCharsIncludingTerminator - // maxCharsIncludingTerminator -
// fileTime - // fileTime -
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void CBaseFileSystem::FileTimeToString( char *pString, int maxCharsIncludingTerminator, long fileTime ) void CBaseFileSystem::FileTimeToString( char *pString, int maxCharsIncludingTerminator, time_t fileTime )
{ {
if ( IsX360() ) if ( IsX360() )
{ {

View File

@ -67,6 +67,8 @@
#include "vpklib/packedstore.h" #include "vpklib/packedstore.h"
#endif #endif
#include <time.h>
#include "tier0/memdbgon.h" #include "tier0/memdbgon.h"
#ifdef _WIN32 #ifdef _WIN32
@ -312,10 +314,10 @@ public:
virtual void MarkPathIDByRequestOnly( const char *pPathID, bool bRequestOnly ); virtual void MarkPathIDByRequestOnly( const char *pPathID, bool bRequestOnly );
virtual bool FileExists( const char *pFileName, const char *pPathID = NULL ); virtual bool FileExists( const char *pFileName, const char *pPathID = NULL );
virtual long GetFileTime( const char *pFileName, const char *pPathID = NULL ); virtual time_t GetFileTime( const char *pFileName, const char *pPathID = NULL );
virtual bool IsFileWritable( char const *pFileName, const char *pPathID = NULL ); virtual bool IsFileWritable( char const *pFileName, const char *pPathID = NULL );
virtual bool SetFileWritable( char const *pFileName, bool writable, const char *pPathID = 0 ); virtual bool SetFileWritable( char const *pFileName, bool writable, const char *pPathID = 0 );
virtual void FileTimeToString( char *pString, int maxChars, long fileTime ); virtual void FileTimeToString( char *pString, int maxChars, time_t fileTime );
virtual const char *FindFirst( const char *pWildCard, FileFindHandle_t *pHandle ); virtual const char *FindFirst( const char *pWildCard, FileFindHandle_t *pHandle );
virtual const char *FindFirstEx( const char *pWildCard, const char *pPathID, FileFindHandle_t *pHandle ); virtual const char *FindFirstEx( const char *pWildCard, const char *pPathID, FileFindHandle_t *pHandle );
@ -338,7 +340,7 @@ public:
virtual FileNameHandle_t FindFileName( char const *pFileName ); virtual FileNameHandle_t FindFileName( char const *pFileName );
virtual bool String( const FileNameHandle_t& handle, char *buf, int buflen ); virtual bool String( const FileNameHandle_t& handle, char *buf, int buflen );
virtual int GetPathIndex( const FileNameHandle_t &handle ); virtual int GetPathIndex( const FileNameHandle_t &handle );
long GetPathTime( const char *pFileName, const char *pPathID ); time_t GetPathTime( const char *pFileName, const char *pPathID );
virtual void EnableWhitelistFileTracking( bool bEnable, bool bCacheAllVPKHashes, bool bRecalculateAndCheckHashes ); virtual void EnableWhitelistFileTracking( bool bEnable, bool bCacheAllVPKHashes, bool bRecalculateAndCheckHashes );
virtual void RegisterFileWhitelist( IPureServerWhitelist *pWhiteList, IFileList **ppFilesToReload ) OVERRIDE; virtual void RegisterFileWhitelist( IPureServerWhitelist *pWhiteList, IFileList **ppFilesToReload ) OVERRIDE;
@ -794,7 +796,7 @@ protected:
void HandleOpenRegularFile( CFileOpenInfo &openInfo, bool bIsAbsolutePath ); void HandleOpenRegularFile( CFileOpenInfo &openInfo, bool bIsAbsolutePath );
FileHandle_t FindFileInSearchPath( CFileOpenInfo &openInfo ); FileHandle_t FindFileInSearchPath( CFileOpenInfo &openInfo );
long FastFileTime( const CSearchPath *path, const char *pFileName ); time_t FastFileTime( const CSearchPath *path, const char *pFileName );
const char *GetWritePath( const char *pFilename, const char *pathID ); const char *GetWritePath( const char *pFilename, const char *pathID );

View File

@ -15,7 +15,7 @@ def configure(conf):
conf.define('FILESYSTEM_STDIO_EXPORTS',1) conf.define('FILESYSTEM_STDIO_EXPORTS',1)
conf.define('DONT_PROTECT_FILEIO_FUNCTIONS',1) conf.define('DONT_PROTECT_FILEIO_FUNCTIONS',1)
# conf.define('PROTECTED_THINGS_ENABLE',1) # conf.define('PROTECTED_THINGS_ENABLE',1)
conf.define('_USE_32BIT_TIME_T',1) # conf.define('_USE_32BIT_TIME_T',1)
conf.define('SUPPORT_PACKED_STORE',1) conf.define('SUPPORT_PACKED_STORE',1)
def build(bld): def build(bld):

View File

@ -69,12 +69,11 @@ def build(bld):
if bld.env.DEST_OS != 'android': if bld.env.DEST_OS != 'android':
install_path += '/'+bld.env.GAMES+'/bin' install_path += '/'+bld.env.GAMES+'/bin'
source = [ 'touch.cpp', 'in_touch.cpp' ] source = [ 'in_touch.cpp' ]
if bld.env.DEST_OS == 'win32': if bld.env.DEST_OS == 'win32':
source += [ '../../public/tier0/memoverride.cpp' ]
libs += ['USER32'] libs += ['USER32']
source += game["sources"] source += game["sources"] + ['../../public/tier0/memoverride.cpp']
includes += game["includes"] includes += game["includes"]
defines = game["defines"] defines = game["defines"]

View File

@ -3365,7 +3365,7 @@ void CBaseEntity::FunctionCheck( void *pFunction, const char *name )
// Note, if you crash here and your class is using multiple inheritance, it is // Note, if you crash here and your class is using multiple inheritance, it is
// probably the case that CBaseEntity (or a descendant) is not the first // probably the case that CBaseEntity (or a descendant) is not the first
// class in your list of ancestors, which it must be. // class in your list of ancestors, which it must be.
if (pFunction && !UTIL_FunctionToName( GetDataDescMap(), (inputfunc_t *)pFunction ) ) if (pFunction && !UTIL_FunctionToName( GetDataDescMap(), *(inputfunc_t*)pFunction ) )
{ {
Warning( "FUNCTION NOT IN TABLE!: %s:%s (%08lx)\n", STRING(m_iClassname), name, (unsigned long)pFunction ); Warning( "FUNCTION NOT IN TABLE!: %s:%s (%08lx)\n", STRING(m_iClassname), name, (unsigned long)pFunction );
Assert(0); Assert(0);

View File

@ -1108,7 +1108,7 @@ public:
ENTITYFUNCPTR TouchSet( ENTITYFUNCPTR func, char *name ) ENTITYFUNCPTR TouchSet( ENTITYFUNCPTR func, char *name )
{ {
#ifdef GNUC #ifdef PLATFORM_64BITS
COMPILE_TIME_ASSERT( sizeof(func) == 8 ); COMPILE_TIME_ASSERT( sizeof(func) == 8 );
#else #else
COMPILE_TIME_ASSERT( sizeof(func) == 4 ); COMPILE_TIME_ASSERT( sizeof(func) == 4 );
@ -1119,7 +1119,7 @@ public:
} }
USEPTR UseSet( USEPTR func, char *name ) USEPTR UseSet( USEPTR func, char *name )
{ {
#ifdef GNUC #ifdef PLATFORM_64BITS
COMPILE_TIME_ASSERT( sizeof(func) == 8 ); COMPILE_TIME_ASSERT( sizeof(func) == 8 );
#else #else
COMPILE_TIME_ASSERT( sizeof(func) == 4 ); COMPILE_TIME_ASSERT( sizeof(func) == 4 );
@ -1130,7 +1130,7 @@ public:
} }
ENTITYFUNCPTR BlockedSet( ENTITYFUNCPTR func, char *name ) ENTITYFUNCPTR BlockedSet( ENTITYFUNCPTR func, char *name )
{ {
#ifdef GNUC #ifdef PLATFORM_64BITS
COMPILE_TIME_ASSERT( sizeof(func) == 8 ); COMPILE_TIME_ASSERT( sizeof(func) == 8 );
#else #else
COMPILE_TIME_ASSERT( sizeof(func) == 4 ); COMPILE_TIME_ASSERT( sizeof(func) == 4 );

View File

@ -419,7 +419,7 @@ void CEP2GameStats::Event_SaveGame( void )
Q_strlower( name ); Q_strlower( name );
Q_FixSlashes( name ); Q_FixSlashes( name );
unsigned int uFileTime = filesystem->GetFileTime( name, "GAME" ); time_t uFileTime = filesystem->GetFileTime( name, "GAME" );
// Latch off previous // Latch off previous
map->m_SaveGameInfo.Latch( name, uFileTime ); map->m_SaveGameInfo.Latch( name, uFileTime );
@ -471,7 +471,7 @@ void CEP2GameStats::Event_LoadGame( void )
if ( pSaveGameInfo->m_nCurrentSaveFileTime == 0 || if ( pSaveGameInfo->m_nCurrentSaveFileTime == 0 ||
pSaveGameInfo->m_sCurrentSaveFile != name ) pSaveGameInfo->m_sCurrentSaveFile != name )
{ {
unsigned int uFileTime = filesystem->GetFileTime( name, "GAME" ); time_t uFileTime = filesystem->GetFileTime( name, "GAME" );
// Latch off previous // Latch off previous
StatsLog( "Relatching save game file due to time or filename change (%s : %u)\n", name, uFileTime ); StatsLog( "Relatching save game file due to time or filename change (%s : %u)\n", name, uFileTime );

View File

@ -13,6 +13,8 @@
#include "ep1_gamestats.h" #include "ep1_gamestats.h"
#include "tier1/utlstring.h" #include "tier1/utlstring.h"
#include <time.h>
// EP2 Game Stats // EP2 Game Stats
enum Ep2GameStatsVersions_t enum Ep2GameStatsVersions_t
{ {
@ -417,7 +419,7 @@ public:
{ {
} }
void Latch( char const *pchSaveName, unsigned int uFileTime ) void Latch( char const *pchSaveName, time_t uFileTime )
{ {
m_pCurrentRecord = &m_Records[ m_Records.AddToTail() ]; m_pCurrentRecord = &m_Records[ m_Records.AddToTail() ];
m_nCurrentSaveFileTime = uFileTime; m_nCurrentSaveFileTime = uFileTime;
@ -426,7 +428,7 @@ public:
CUtlVector< SaveGameInfoRecord2_t > m_Records; CUtlVector< SaveGameInfoRecord2_t > m_Records;
SaveGameInfoRecord2_t *m_pCurrentRecord; SaveGameInfoRecord2_t *m_pCurrentRecord;
unsigned int m_nCurrentSaveFileTime; time_t m_nCurrentSaveFileTime;
CUtlString m_sCurrentSaveFile; CUtlString m_sCurrentSaveFile;
}; };

View File

@ -28,9 +28,9 @@ HMODULE win32DLLHandle;
BOOL WINAPI DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved ) BOOL WINAPI DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved )
{ {
// ensure data sizes are stable // ensure data sizes are stable
if ( sizeof(inputfunc_t) != sizeof(int) ) if ( sizeof(inputfunc_t) != sizeof(uintp) )
{ {
Assert( sizeof(inputfunc_t) == sizeof(int) ); Assert( sizeof(inputfunc_t) == sizeof(uintp) );
return FALSE; return FALSE;
} }

View File

@ -3339,9 +3339,9 @@ bool CNPC_Strider::ShouldExplodeFromDamage( const CTakeDamageInfo &info )
//--------------------------------------------------------- //---------------------------------------------------------
//--------------------------------------------------------- //---------------------------------------------------------
ConVarRef mat_dxlevel( "mat_dxlevel" );
bool CNPC_Strider::BecomeRagdoll( const CTakeDamageInfo &info, const Vector &forceVector ) bool CNPC_Strider::BecomeRagdoll( const CTakeDamageInfo &info, const Vector &forceVector )
{ {
static ConVarRef mat_dxlevel( "mat_dxlevel" );
// Combine balls make us explode // Combine balls make us explode
if ( m_bExploding ) if ( m_bExploding )
{ {

View File

@ -615,7 +615,7 @@ bool UTIL_IsFacingWithinTolerance( CBaseEntity *pViewer, CBaseEntity *pTarget, f
void UTIL_GetDebugColorForRelationship( int nRelationship, int &r, int &g, int &b ); void UTIL_GetDebugColorForRelationship( int nRelationship, int &r, int &g, int &b );
struct datamap_t; struct datamap_t;
extern const char *UTIL_FunctionToName( datamap_t *pMap, inputfunc_t *function ); extern const char *UTIL_FunctionToName( datamap_t *pMap, inputfunc_t function );
int UTIL_GetCommandClientIndex( void ); int UTIL_GetCommandClientIndex( void );
CBasePlayer *UTIL_GetCommandClient( void ); CBasePlayer *UTIL_GetCommandClient( void );

View File

@ -63,13 +63,10 @@ def build(bld):
if bld.env.DEST_OS != 'android': if bld.env.DEST_OS != 'android':
install_path += '/'+bld.env.GAMES+'/bin' install_path += '/'+bld.env.GAMES+'/bin'
source = game["sources"] source = game["sources"] + ['../../public/tier0/memoverride.cpp']
includes += game["includes"] includes += game["includes"]
defines = game["defines"] defines = game["defines"]
if bld.env.DEST_OS == 'win32':
source += ['../../public/tier0/memoverride.cpp']
defines.remove('PROTECTED_THINGS_ENABLE') defines.remove('PROTECTED_THINGS_ENABLE')
bld.shlib( bld.shlib(

View File

@ -2312,7 +2312,7 @@ bool CBasePanel::IsPromptableCommand( const char *command )
//------------------------- //-------------------------
// Purpose: Job wrapper // Purpose: Job wrapper
//------------------------- //-------------------------
static unsigned PanelJobWrapperFn( void *pvContext ) static uintp PanelJobWrapperFn( void *pvContext )
{ {
CBasePanel::CAsyncJobContext *pAsync = reinterpret_cast< CBasePanel::CAsyncJobContext * >( pvContext ); CBasePanel::CAsyncJobContext *pAsync = reinterpret_cast< CBasePanel::CAsyncJobContext * >( pvContext );

View File

@ -20,6 +20,8 @@
#include "MouseMessageForwardingPanel.h" #include "MouseMessageForwardingPanel.h"
#include "TGAImagePanel.h" #include "TGAImagePanel.h"
#include <time.h>
// memdbgon must be the last include file in a .cpp file!!! // memdbgon must be the last include file in a .cpp file!!!
#include "tier0/memdbgon.h" #include "tier0/memdbgon.h"
@ -364,7 +366,7 @@ bool CBaseSaveGameDialog::ParseSaveData( char const *pszFileName, char const *ps
Q_strncpy( save.szElapsedTime, szElapsedTime, sizeof(save.szElapsedTime) ); Q_strncpy( save.szElapsedTime, szElapsedTime, sizeof(save.szElapsedTime) );
// Now get file time stamp. // Now get file time stamp.
long fileTime = g_pFullFileSystem->GetFileTime(pszFileName); time_t fileTime = g_pFullFileSystem->GetFileTime(pszFileName);
char szFileTime[32]; char szFileTime[32];
g_pFullFileSystem->FileTimeToString(szFileTime, sizeof(szFileTime), fileTime); g_pFullFileSystem->FileTimeToString(szFileTime, sizeof(szFileTime), fileTime);
char *newline = strstr(szFileTime, "\n"); char *newline = strstr(szFileTime, "\n");

View File

@ -22,6 +22,8 @@
#include "GameUI_Interface.h" #include "GameUI_Interface.h"
#include "vstdlib/random.h" #include "vstdlib/random.h"
#include <time.h>
#include "SaveGameBrowserDialog.h" #include "SaveGameBrowserDialog.h"
extern const char *COM_GetModDirectory( void ); extern const char *COM_GetModDirectory( void );
@ -1273,7 +1275,7 @@ bool CSaveGameBrowserDialog::ParseSaveData( char const *pszFileName, char const
Q_strncpy( save->szElapsedTime, szElapsedTime, sizeof(save->szElapsedTime) ); Q_strncpy( save->szElapsedTime, szElapsedTime, sizeof(save->szElapsedTime) );
// Now get file time stamp. // Now get file time stamp.
long fileTime = g_pFullFileSystem->GetFileTime(pszFileName); time_t fileTime = g_pFullFileSystem->GetFileTime(pszFileName);
char szFileTime[32]; char szFileTime[32];
g_pFullFileSystem->FileTimeToString(szFileTime, sizeof(szFileTime), fileTime); g_pFullFileSystem->FileTimeToString(szFileTime, sizeof(szFileTime), fileTime);
char *newline = strstr(szFileTime, "\n"); char *newline = strstr(szFileTime, "\n");

View File

@ -93,11 +93,11 @@ def build(bld):
'OptionsSubPortal.cpp', 'OptionsSubPortal.cpp',
'OptionsSubVideo.cpp', 'OptionsSubVideo.cpp',
'OptionsSubVoice.cpp', 'OptionsSubVoice.cpp',
'../public/tier0/memoverride.cpp',
] ]
if bld.env.DEST_OS == 'win32': if bld.env.DEST_OS == 'win32':
source += [ source += [
'../public/tier0/memoverride.cpp',
'LogoFile.cpp', 'LogoFile.cpp',
'ChangeGameDialog.cpp', 'ChangeGameDialog.cpp',
'OptionsSubHaptics.cpp' 'OptionsSubHaptics.cpp'

View File

@ -1,6 +1,7 @@
#! /usr/bin/env python #! /usr/bin/env python
# encoding: utf-8 # encoding: utf-8
from gettext import install
from waflib import Utils from waflib import Utils
import os import os
@ -20,7 +21,8 @@ def build(bld):
'joystick_sdl.cpp', 'joystick_sdl.cpp',
'touch_sdl.cpp', 'touch_sdl.cpp',
'key_translation.cpp', 'key_translation.cpp',
'steamcontroller.cpp' 'steamcontroller.cpp',
'../public/tier0/memoverride.cpp'
] ]
if bld.env.DEST_OS == 'win32': if bld.env.DEST_OS == 'win32':
@ -44,6 +46,15 @@ def build(bld):
install_path = bld.env.LIBDIR install_path = bld.env.LIBDIR
# Copy SDL2 dependency
if bld.env.DEST_OS == 'win32':
bld(
rule='cp ${SRC} ${TGT}',
source='../lib/win32/public/'+bld.env.DEST_CPU+'/SDL2.dll',
target='SDL2.dll',
install_path=install_path,
)
bld.shlib( bld.shlib(
source = source, source = source,
target = PROJECT_NAME, target = PROJECT_NAME,

2
ivp

@ -1 +1 @@
Subproject commit bb1b1171af890f285193db6abc07acb126e6e93f Subproject commit fb8f2ac922a7f8f758a552ddbe47f1933ffe42b0

View File

@ -19,6 +19,7 @@ def build(bld):
'../public/filesystem_init.cpp', '../public/filesystem_init.cpp',
'launcher.cpp', 'launcher.cpp',
'reslistgenerator.cpp', 'reslistgenerator.cpp',
'../public/tier0/memoverride.cpp'
] ]
if bld.env.DEST_OS == 'android': if bld.env.DEST_OS == 'android':

1
lib Submodule

@ -0,0 +1 @@
Subproject commit 8616692265f85926d6901600716e08c69f60d820

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More