quadrilateralcowboy/sys/sys_local.h
Ethan Lee 69420a703a Port Linux/macOS to 64-bit, using new CMake build system.
Huge shoutout to dhewm3 and RBDOOM-3-BFG for doing 99% of this work before us!
2020-10-22 13:16:42 -04:00

78 lines
3.2 KiB
C++

/*
===========================================================================
Doom 3 GPL Source Code
Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).
Doom 3 Source Code is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Doom 3 Source Code is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Doom 3 Source Code. If not, see <http://www.gnu.org/licenses/>.
In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at the address below.
If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
===========================================================================
*/
#ifndef __SYS_LOCAL__
#define __SYS_LOCAL__
/*
==============================================================
idSysLocal
==============================================================
*/
class idSysLocal : public idSys {
public:
virtual void DebugPrintf( const char *fmt, ... )id_attribute((format(printf,2,3)));
virtual void DebugVPrintf( const char *fmt, va_list arg );
virtual double GetClockTicks( void );
virtual double ClockTicksPerSecond( void );
virtual cpuid_t GetProcessorId( void );
virtual const char * GetProcessorString( void );
virtual const char * FPU_GetState( void );
virtual bool FPU_StackIsEmpty( void );
virtual void FPU_SetFTZ( bool enable );
virtual void FPU_SetDAZ( bool enable );
virtual void FPU_EnableExceptions( int exceptions );
virtual void GetCallStack( address_t *callStack, const int callStackSize );
virtual const char * GetCallStackStr( const address_t *callStack, const int callStackSize );
virtual const char * GetCallStackCurStr( int depth );
virtual void ShutdownSymbols( void );
virtual bool LockMemory( void *ptr, int bytes );
virtual bool UnlockMemory( void *ptr, int bytes );
// flibit: 64 bit fix, changed int to void*
virtual void * DLL_Load( const char *dllName );
virtual void * DLL_GetProcAddress( void* dllHandle, const char *procName );
virtual void DLL_Unload( void* dllHandle );
virtual void DLL_GetFileName( const char *baseName, char *dllName, int maxLength );
// flibit end
virtual sysEvent_t GenerateMouseButtonEvent( int button, bool down );
virtual sysEvent_t GenerateMouseMoveEvent( int deltax, int deltay );
virtual void OpenURL( const char *url, bool quit );
virtual void StartProcess( const char *exeName, bool quit );
};
#endif /* !__SYS_LOCAL__ */