static int osdcmd_vidmode(const osdfuncparm_t *parm) { int newbpp = ScreenBPP, newwidth = ScreenWidth, newheight = ScreenHeight, newfs = ScreenMode; if (parm->numparms < 1 || parm->numparms > 4) return OSDCMD_SHOWHELP; switch (parm->numparms) { case 1: // bpp switch newbpp = Batol(parm->parms[0]); break; case 2: // res switch newwidth = Batol(parm->parms[0]); newheight = Batol(parm->parms[1]); break; case 3: // res & bpp switch case 4: newwidth = Batol(parm->parms[0]); newheight = Batol(parm->parms[1]); newbpp = Batol(parm->parms[2]); if (parm->numparms == 4) newfs = (Batol(parm->parms[3]) != 0); break; } if (setgamemode(newfs,newwidth,newheight,newbpp)) { initprintf("vidmode: Mode change failed!\n"); if (setgamemode(ScreenMode, ScreenWidth, ScreenHeight, ScreenBPP)) gameexit("vidmode: Reset failed!\n"); } ScreenBPP = newbpp; ScreenWidth = newwidth; ScreenHeight = newheight; ScreenMode = newfs; onvideomodechange(ScreenBPP>8); vscrn(); return OSDCMD_OK; }
void setvsync(int32_t sync) { if (vsync_render == sync) return; vsync_render = sync; resetvideomode(); if (setgamemode(fullscreen, xdim, ydim, bpp)) OSD_Printf("restartvid: Reset failed...\n"); }
static int osdcmd_restartvid(const osdfuncparm_t *parm) { extern long qsetmode; resetvideomode(); if (setgamemode(ScreenMode,ScreenWidth,ScreenHeight,ScreenBPP)) gameexit("restartvid: Reset failed...\n"); onvideomodechange(ScreenBPP>8); vscrn(); return OSDCMD_OK; }