Annotation of quake2/null/vid_null.c, revision 1.1.1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.