|
|
1.1 ! root 1: // vid_null.c -- null video driver to aid porting efforts ! 2: // this assumes that one of the refs is statically linked to the executable ! 3: ! 4: #include "../client/client.h" ! 5: ! 6: viddef_t viddef; // global video state ! 7: ! 8: refexport_t re; ! 9: ! 10: refexport_t GetRefAPI (refimport_t rimp); ! 11: ! 12: /* ! 13: ========================================================================== ! 14: ! 15: DIRECT LINK GLUE ! 16: ! 17: ========================================================================== ! 18: */ ! 19: ! 20: #define MAXPRINTMSG 4096 ! 21: void VID_Printf (int print_level, char *fmt, ...) ! 22: { ! 23: va_list argptr; ! 24: char msg[MAXPRINTMSG]; ! 25: ! 26: va_start (argptr,fmt); ! 27: vsprintf (msg,fmt,argptr); ! 28: va_end (argptr); ! 29: ! 30: if (print_level == PRINT_ALL) ! 31: Com_Printf ("%s", msg); ! 32: else ! 33: Com_DPrintf ("%s", msg); ! 34: } ! 35: ! 36: void VID_Error (int err_level, char *fmt, ...) ! 37: { ! 38: va_list argptr; ! 39: char msg[MAXPRINTMSG]; ! 40: ! 41: va_start (argptr,fmt); ! 42: vsprintf (msg,fmt,argptr); ! 43: va_end (argptr); ! 44: ! 45: Com_Error (err_level, "%s", msg); ! 46: } ! 47: ! 48: void VID_NewWindow (int width, int height) ! 49: { ! 50: viddef.width = width; ! 51: viddef.height = height; ! 52: } ! 53: ! 54: /* ! 55: ** VID_GetModeInfo ! 56: */ ! 57: typedef struct vidmode_s ! 58: { ! 59: const char *description; ! 60: int width, height; ! 61: int mode; ! 62: } vidmode_t; ! 63: ! 64: vidmode_t vid_modes[] = ! 65: { ! 66: { "Mode 0: 320x240", 320, 240, 0 }, ! 67: { "Mode 1: 400x300", 400, 300, 1 }, ! 68: { "Mode 2: 512x384", 512, 384, 2 }, ! 69: { "Mode 3: 640x480", 640, 480, 3 }, ! 70: { "Mode 4: 800x600", 800, 600, 4 }, ! 71: { "Mode 5: 960x720", 960, 720, 5 }, ! 72: { "Mode 6: 1024x768", 1024, 768, 6 }, ! 73: { "Mode 7: 1152x864", 1152, 864, 7 }, ! 74: { "Mode 8: 1280x960", 1280, 960, 8 }, ! 75: { "Mode 9: 1600x1200", 1600, 1200, 9 } ! 76: }; ! 77: #define VID_NUM_MODES ( sizeof( vid_modes ) / sizeof( vid_modes[0] ) ) ! 78: ! 79: qboolean VID_GetModeInfo( int *width, int *height, int mode ) ! 80: { ! 81: if ( mode < 0 || mode >= VID_NUM_MODES ) ! 82: return false; ! 83: ! 84: *width = vid_modes[mode].width; ! 85: *height = vid_modes[mode].height; ! 86: ! 87: return true; ! 88: } ! 89: ! 90: ! 91: void VID_Init (void) ! 92: { ! 93: refimport_t ri; ! 94: ! 95: viddef.width = 320; ! 96: viddef.height = 240; ! 97: ! 98: ri.Cmd_AddCommand = Cmd_AddCommand; ! 99: ri.Cmd_RemoveCommand = Cmd_RemoveCommand; ! 100: ri.Cmd_Argc = Cmd_Argc; ! 101: ri.Cmd_Argv = Cmd_Argv; ! 102: ri.Cmd_ExecuteText = Cbuf_ExecuteText; ! 103: ri.Con_Printf = VID_Printf; ! 104: ri.Sys_Error = VID_Error; ! 105: ri.FS_LoadFile = FS_LoadFile; ! 106: ri.FS_FreeFile = FS_FreeFile; ! 107: ri.FS_Gamedir = FS_Gamedir; ! 108: ri.Vid_NewWindow = VID_NewWindow; ! 109: ri.Cvar_Get = Cvar_Get; ! 110: ri.Cvar_Set = Cvar_Set; ! 111: ri.Cvar_SetValue = Cvar_SetValue; ! 112: ri.Vid_GetModeInfo = VID_GetModeInfo; ! 113: ! 114: re = GetRefAPI(ri); ! 115: ! 116: if (re.api_version != API_VERSION) ! 117: Com_Error (ERR_FATAL, "Re has incompatible api_version"); ! 118: ! 119: // call the init function ! 120: if (re.Init (NULL, NULL) == -1) ! 121: Com_Error (ERR_FATAL, "Couldn't start refresh"); ! 122: } ! 123: ! 124: void VID_Shutdown (void) ! 125: { ! 126: if (re.Shutdown) ! 127: re.Shutdown (); ! 128: } ! 129: ! 130: void VID_CheckChanges (void) ! 131: { ! 132: } ! 133: ! 134: void VID_MenuInit (void) ! 135: { ! 136: } ! 137: ! 138: void VID_MenuDraw (void) ! 139: { ! 140: } ! 141: ! 142: const char *VID_MenuKey( int k) ! 143: { ! 144: return NULL; ! 145: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.