123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- // vid_null.c -- null video driver to aid porting efforts
- // this assumes that one of the refs is statically linked to the executable
- #include "../client/client.h"
- viddef_t viddef; // global video state
- refexport_t re;
- refexport_t GetRefAPI (refimport_t rimp);
- /*
- ==========================================================================
- DIRECT LINK GLUE
- ==========================================================================
- */
- #define MAXPRINTMSG 4096
- void VID_Printf (int print_level, char *fmt, ...)
- {
- va_list argptr;
- char msg[MAXPRINTMSG];
- va_start (argptr,fmt);
- vsprintf (msg,fmt,argptr);
- va_end (argptr);
- if (print_level == PRINT_ALL)
- Com_Printf ("%s", msg);
- else
- Com_DPrintf ("%s", msg);
- }
- void VID_Error (int err_level, char *fmt, ...)
- {
- va_list argptr;
- char msg[MAXPRINTMSG];
- va_start (argptr,fmt);
- vsprintf (msg,fmt,argptr);
- va_end (argptr);
- Com_Error (err_level, "%s", msg);
- }
- void VID_NewWindow (int width, int height)
- {
- viddef.width = width;
- viddef.height = height;
- }
- /*
- ** VID_GetModeInfo
- */
- typedef struct vidmode_s
- {
- const char *description;
- int width, height;
- int mode;
- } vidmode_t;
- vidmode_t vid_modes[] =
- {
- { "Mode 0: 320x240", 320, 240, 0 },
- { "Mode 1: 400x300", 400, 300, 1 },
- { "Mode 2: 512x384", 512, 384, 2 },
- { "Mode 3: 640x480", 640, 480, 3 },
- { "Mode 4: 800x600", 800, 600, 4 },
- { "Mode 5: 960x720", 960, 720, 5 },
- { "Mode 6: 1024x768", 1024, 768, 6 },
- { "Mode 7: 1152x864", 1152, 864, 7 },
- { "Mode 8: 1280x960", 1280, 960, 8 },
- { "Mode 9: 1600x1200", 1600, 1200, 9 }
- };
- #define VID_NUM_MODES ( sizeof( vid_modes ) / sizeof( vid_modes[0] ) )
- qboolean VID_GetModeInfo( int *width, int *height, int mode )
- {
- if ( mode < 0 || mode >= VID_NUM_MODES )
- return false;
- *width = vid_modes[mode].width;
- *height = vid_modes[mode].height;
- return true;
- }
- void VID_Init (void)
- {
- refimport_t ri;
- viddef.width = 320;
- viddef.height = 240;
- ri.Cmd_AddCommand = Cmd_AddCommand;
- ri.Cmd_RemoveCommand = Cmd_RemoveCommand;
- ri.Cmd_Argc = Cmd_Argc;
- ri.Cmd_Argv = Cmd_Argv;
- ri.Cmd_ExecuteText = Cbuf_ExecuteText;
- ri.Con_Printf = VID_Printf;
- ri.Sys_Error = VID_Error;
- ri.FS_LoadFile = FS_LoadFile;
- ri.FS_FreeFile = FS_FreeFile;
- ri.FS_Gamedir = FS_Gamedir;
- ri.Vid_NewWindow = VID_NewWindow;
- ri.Cvar_Get = Cvar_Get;
- ri.Cvar_Set = Cvar_Set;
- ri.Cvar_SetValue = Cvar_SetValue;
- ri.Vid_GetModeInfo = VID_GetModeInfo;
- re = GetRefAPI(ri);
- if (re.api_version != API_VERSION)
- Com_Error (ERR_FATAL, "Re has incompatible api_version");
-
- // call the init function
- if (re.Init (NULL, NULL) == -1)
- Com_Error (ERR_FATAL, "Couldn't start refresh");
- }
- void VID_Shutdown (void)
- {
- if (re.Shutdown)
- re.Shutdown ();
- }
- void VID_CheckChanges (void)
- {
- }
- void VID_MenuInit (void)
- {
- }
- void VID_MenuDraw (void)
- {
- }
- const char *VID_MenuKey( int k)
- {
- return NULL;
- }
|