97 lines
3.3 KiB
C
97 lines
3.3 KiB
C
//=======================================================================
|
|
// Copyright XashXT Group 2007 ©
|
|
// engine.h - engine.dll main header
|
|
//=======================================================================
|
|
#ifndef LAUNCHER_H
|
|
#define LAUNCHER_H
|
|
|
|
#include <windows.h>
|
|
#include <stdio.h>
|
|
#include <io.h>
|
|
#include <winreg.h>
|
|
#include <fcntl.h>
|
|
#include <basetypes.h>
|
|
typedef int bool;
|
|
|
|
#include <ref_system.h>
|
|
|
|
//import variables
|
|
char *(*Sys_Input ) ( void );
|
|
void ( *Msg )( char *msg, ... );
|
|
void ( *Sys_Print )( char *msg );
|
|
void ( *Sys_InitConsole )( const char *caption );
|
|
void ( *Sys_FreeConsole )( void );
|
|
void ( *MsgDev )( int level, char *msg, ... );
|
|
void ( *MsgWarn )( char *msg, ... );
|
|
void ( *Sys_Error )( char *msg, ... );
|
|
void ( *Sys_ShowConsole )( bool show );
|
|
void Sys_Exit( void ); //static
|
|
|
|
//export variables
|
|
void ( *Host_Init ) ( char *funcname, int argc, char **argv ); //init host
|
|
void ( *Host_Main ) ( void ); //host frame
|
|
void ( *Host_Free ) ( void ); //close host
|
|
|
|
extern HINSTANCE base_hInstance;
|
|
extern HINSTANCE linked_dll;
|
|
extern bool debug_mode;
|
|
extern bool log_active;
|
|
extern bool hooked_out;
|
|
extern int dev_mode;
|
|
extern int com_argc;
|
|
extern char *com_argv[MAX_NUM_ARGVS];
|
|
extern char sys_rootdir[ MAX_SYSPATH ];
|
|
extern char log_path[256];
|
|
extern bool console_read_only;
|
|
extern bool show_always;
|
|
extern bool about_mode;
|
|
extern bool sys_error;
|
|
char *va(const char *format, ...);
|
|
|
|
//
|
|
// utils.c
|
|
//
|
|
const char* Log_Timestamp( void );
|
|
int CheckParm (const char *parm);
|
|
void ParseCommandLine (LPSTR lpCmdLine);
|
|
void UpdateEnvironmentVariables( void );
|
|
bool _GetParmFromCmdLine( char *parm, char *out, size_t size );
|
|
#define GetParmFromCmdLine( parm, out ) _GetParmFromCmdLine( parm, out, sizeof(out))
|
|
float CalcEngineVersion( void );
|
|
float CalcEditorVersion( void );
|
|
|
|
//
|
|
// console.c
|
|
//
|
|
void Sys_PrintA(const char *pMsg);
|
|
void Sys_PrintW(const char *pMsg);
|
|
void Sys_MsgW( const char *pMsg, ... );
|
|
void Sys_MsgDevW( int level, const char *pMsg, ... );
|
|
void Sys_MsgWarnW( const char *pMsg, ... );
|
|
void Sys_CreateConsoleW( const char *caption );
|
|
void Sys_DestroyConsoleW( void );
|
|
void Sys_ShowConsoleW( bool show );
|
|
char *Sys_InputW( void );
|
|
void Sys_ErrorW(char *error, ...);
|
|
|
|
//generic stub
|
|
__inline void NullVoid( void ) {}
|
|
__inline void NullVoidWithArg( bool parm ) {}
|
|
__inline void NullVarArgs( char *parm, ... ) {}
|
|
__inline void NullVarArgs2( int level, char *parm, ... ) {}
|
|
__inline char *NullChar( void ) { return NULL; }
|
|
__inline void NullVoidWithName( const char *caption ) {}
|
|
__inline void NullInit ( char *funcname, int argc, char **argv ) {}
|
|
|
|
//memory manager
|
|
#define Mem_Alloc(pool, size) pi->Mem.Alloc(pool, size, __FILE__, __LINE__)
|
|
#define Mem_Realloc(pool, ptr, size) pi->Mem.Realloc(pool, ptr, size, __FILE__, __LINE__)
|
|
#define Mem_Free(mem) pi->Mem.Free(mem, __FILE__, __LINE__)
|
|
#define Mem_AllocPool(name) pi->Mem.AllocPool(name, __FILE__, __LINE__)
|
|
#define Mem_FreePool(pool) pi->Mem.FreePool(pool, __FILE__, __LINE__)
|
|
#define Mem_EmptyPool(pool) pi->Mem.EmptyPool(pool, __FILE__, __LINE__)
|
|
#define Mem_Move(dest, src, size ) pi->Mem.Move (dest, src, size, __FILE__, __LINE__)
|
|
#define Mem_Copy(dest, src, size ) pi->Mem.Copy (dest, src, size, __FILE__, __LINE__)
|
|
#define Mem_Check() pi->Mem.CheckSentinelsGlobal(__FILE__, __LINE__)
|
|
|
|
#endif//LAUNCHER_H
|