Annotation of quake2/null/vid_null.c, revision 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.