Bit cleaner now.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@515 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
991128372e
commit
1a4aa4ae5e
1 changed files with 473 additions and 242 deletions
|
@ -567,6 +567,9 @@ void (*Draw_FadeScreen) (void);
|
||||||
void (*Draw_BeginDisc) (void);
|
void (*Draw_BeginDisc) (void);
|
||||||
void (*Draw_EndDisc) (void);
|
void (*Draw_EndDisc) (void);
|
||||||
|
|
||||||
|
void (*Draw_Image) (float x, float y, float w, float h, float s1, float t1, float s2, float t2, qpic_t *pic); //gl-style scaled/coloured/subpic
|
||||||
|
void (*Draw_ImageColours) (float r, float g, float b, float a);
|
||||||
|
|
||||||
void (*R_Init) (void);
|
void (*R_Init) (void);
|
||||||
void (*R_DeInit) (void);
|
void (*R_DeInit) (void);
|
||||||
void (*R_ReInit) (void);
|
void (*R_ReInit) (void);
|
||||||
|
@ -599,6 +602,8 @@ struct mleaf_s *(*Mod_PointInLeaf) (float *p, struct model_s *model);
|
||||||
qbyte *(*Mod_Q1LeafPVS) (struct mleaf_s *leaf, struct model_s *model, qbyte *buffer);
|
qbyte *(*Mod_Q1LeafPVS) (struct mleaf_s *leaf, struct model_s *model, qbyte *buffer);
|
||||||
void (*Mod_NowLoadExternal) (void);
|
void (*Mod_NowLoadExternal) (void);
|
||||||
void (*Mod_Think) (void);
|
void (*Mod_Think) (void);
|
||||||
|
void (*Mod_GetTag) (struct model_s *model, int tagnum, int frame, float **org, float **axis);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
qboolean (*VID_Init) (rendererstate_t *info, unsigned char *palette);
|
qboolean (*VID_Init) (rendererstate_t *info, unsigned char *palette);
|
||||||
|
@ -622,7 +627,403 @@ char *q_renderername = "Non-Selected renderer";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
struct {
|
||||||
|
char *name[4];
|
||||||
|
r_qrenderer_t rtype;
|
||||||
|
|
||||||
|
qpic_t *(*Draw_PicFromWad) (char *name);
|
||||||
|
qpic_t *(*Draw_SafePicFromWad) (char *name);
|
||||||
|
qpic_t *(*Draw_CachePic) (char *path);
|
||||||
|
qpic_t *(*Draw_SafeCachePic) (char *path);
|
||||||
|
void (*Draw_Init) (void);
|
||||||
|
void (*Draw_ReInit) (void);
|
||||||
|
void (*Draw_Character) (int x, int y, unsigned int num);
|
||||||
|
void (*Draw_ColouredCharacter) (int x, int y, unsigned int num);
|
||||||
|
void (*Draw_String) (int x, int y, const qbyte *str);
|
||||||
|
void (*Draw_Alt_String) (int x, int y, const qbyte *str);
|
||||||
|
void (*Draw_Crosshair) (void);
|
||||||
|
void (*Draw_DebugChar) (qbyte num);
|
||||||
|
void (*Draw_Pic) (int x, int y, qpic_t *pic);
|
||||||
|
void (*Draw_ScalePic) (int x, int y, int width, int height, qpic_t *pic);
|
||||||
|
void (*Draw_SubPic) (int x, int y, qpic_t *pic, int srcx, int srcy, int width, int height);
|
||||||
|
void (*Draw_TransPic) (int x, int y, qpic_t *pic);
|
||||||
|
void (*Draw_TransPicTranslate) (int x, int y, qpic_t *pic, qbyte *translation);
|
||||||
|
void (*Draw_ConsoleBackground) (int lines);
|
||||||
|
void (*Draw_EditorBackground) (int lines);
|
||||||
|
void (*Draw_TileClear) (int x, int y, int w, int h);
|
||||||
|
void (*Draw_Fill) (int x, int y, int w, int h, int c);
|
||||||
|
void (*Draw_FadeScreen) (void);
|
||||||
|
void (*Draw_BeginDisc) (void);
|
||||||
|
void (*Draw_EndDisc) (void);
|
||||||
|
|
||||||
|
void (*Draw_Image) (float x, float y, float w, float h, float s1, float t1, float s2, float t2, qpic_t *pic); //gl-style scaled/coloured/subpic
|
||||||
|
void (*Draw_ImageColours) (float r, float g, float b, float a);
|
||||||
|
|
||||||
|
void (*R_Init) (void);
|
||||||
|
void (*R_DeInit) (void);
|
||||||
|
void (*R_ReInit) (void);
|
||||||
|
void (*R_RenderView) (void); // must set r_refdef first
|
||||||
|
|
||||||
|
void (*R_InitSky) (struct texture_s *mt); // called at level load
|
||||||
|
qboolean (*R_CheckSky) (void);
|
||||||
|
void (*R_SetSky) (char *name, float rotate, vec3_t axis);
|
||||||
|
|
||||||
|
void (*R_NewMap) (void);
|
||||||
|
void (*R_PreNewMap) (void);
|
||||||
|
int (*R_LightPoint) (vec3_t point);
|
||||||
|
|
||||||
|
void (*R_PushDlights) (void);
|
||||||
|
void (*R_AddStain) (vec3_t org, float red, float green, float blue, float radius);
|
||||||
|
void (*R_LessenStains) (void);
|
||||||
|
|
||||||
|
void (*Media_ShowFrameBGR_24_Flip) (qbyte *framedata, int inwidth, int inheight); //input is bottom up...
|
||||||
|
void (*Media_ShowFrameRGBA_32) (qbyte *framedata, int inwidth, int inheight); //top down
|
||||||
|
void (*Media_ShowFrame8bit) (qbyte *framedata, int inwidth, int inheight, qbyte *palette); //paletted topdown (framedata is 8bit indexes into palette)
|
||||||
|
|
||||||
|
void (*Mod_Init) (void);
|
||||||
|
void (*Mod_ClearAll) (void);
|
||||||
|
struct model_s *(*Mod_ForName) (char *name, qboolean crash);
|
||||||
|
struct model_s *(*Mod_FindName) (char *name);
|
||||||
|
void *(*Mod_Extradata) (struct model_s *mod); // handles caching
|
||||||
|
void (*Mod_TouchModel) (char *name);
|
||||||
|
|
||||||
|
struct mleaf_s *(*Mod_PointInLeaf) (float *p, struct model_s *model);
|
||||||
|
qbyte *(*Mod_Q1LeafPVS) (struct mleaf_s *leaf, struct model_s *model, qbyte *buffer);
|
||||||
|
void (*Mod_NowLoadExternal) (void);
|
||||||
|
void (*Mod_Think) (void);
|
||||||
|
void (*Mod_GetTag) (struct model_s *model, int tagnum, int frame, float **org, float **axis);
|
||||||
|
|
||||||
|
|
||||||
|
qboolean (*VID_Init) (rendererstate_t *info, unsigned char *palette);
|
||||||
|
void (*VID_DeInit) (void);
|
||||||
|
void (*VID_HandlePause) (qboolean pause);
|
||||||
|
void (*VID_LockBuffer) (void);
|
||||||
|
void (*VID_UnlockBuffer) (void);
|
||||||
|
void (*D_BeginDirectRect) (int x, int y, qbyte *pbitmap, int width, int height);
|
||||||
|
void (*D_EndDirectRect) (int x, int y, int width, int height);
|
||||||
|
void (*VID_ForceLockState) (int lk);
|
||||||
|
int (*VID_ForceUnlockedAndReturnState) (void);
|
||||||
|
void (*VID_SetPalette) (unsigned char *palette);
|
||||||
|
void (*VID_ShiftPalette) (unsigned char *palette);
|
||||||
|
char *(*VID_GetRGBInfo) (int prepad, int *truevidwidth, int *truevidheight);
|
||||||
|
void (*VID_SetWindowCaption) (char *msg);
|
||||||
|
|
||||||
|
void (*SCR_UpdateScreen) (void);
|
||||||
|
|
||||||
|
char *alignment;
|
||||||
|
} rendererinfo[] = {
|
||||||
|
{ //ALL builds need a 'none' renderer, as 0.
|
||||||
|
{
|
||||||
|
"none",
|
||||||
|
"dedicated",
|
||||||
|
"terminal",
|
||||||
|
"sw"
|
||||||
|
},
|
||||||
|
QR_NONE,
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
NULL, //Draw_PicFromWad;
|
||||||
|
NULL, //Draw_PicFromWad; //Not supported
|
||||||
|
NULL, //Draw_CachePic;
|
||||||
|
NULL, //Draw_SafeCachePic;
|
||||||
|
NULL, //Draw_Init;
|
||||||
|
NULL, //Draw_Init;
|
||||||
|
NULL, //Draw_Character;
|
||||||
|
NULL, //Draw_ColouredCharacter;
|
||||||
|
NULL, //Draw_String;
|
||||||
|
NULL, //Draw_Alt_String;
|
||||||
|
NULL, //Draw_Crosshair;
|
||||||
|
NULL, //Draw_DebugChar;
|
||||||
|
NULL, //Draw_Pic;
|
||||||
|
NULL, //Draw_SubPic;
|
||||||
|
NULL, //Draw_TransPic;
|
||||||
|
NULL, //Draw_TransPicTranslate;
|
||||||
|
NULL, //Draw_ConsoleBackground;
|
||||||
|
NULL, //Draw_EditorBackground;
|
||||||
|
NULL, //Draw_TileClear;
|
||||||
|
NULL, //Draw_Fill;
|
||||||
|
NULL, //Draw_FadeScreen;
|
||||||
|
NULL, //Draw_BeginDisc;
|
||||||
|
NULL, //Draw_EndDisc;
|
||||||
|
NULL, //I'm lazy.
|
||||||
|
|
||||||
|
NULL, //Draw_Image
|
||||||
|
NULL, //Draw_ImageColours
|
||||||
|
|
||||||
|
NULL, //R_Init;
|
||||||
|
NULL, //R_DeInit;
|
||||||
|
NULL, //R_ReInit;
|
||||||
|
NULL, //R_RenderView;
|
||||||
|
NULL, //R_InitSky;
|
||||||
|
NULL, //R_CheckSky;
|
||||||
|
NULL, //R_SetSky;
|
||||||
|
|
||||||
|
NULL, //R_NewMap;
|
||||||
|
NULL, //R_PreNewMap
|
||||||
|
NULL, //R_LightPoint;
|
||||||
|
NULL, //R_PushDlights;
|
||||||
|
|
||||||
|
|
||||||
|
NULL, //R_AddStain;
|
||||||
|
NULL, //R_LessenStains;
|
||||||
|
|
||||||
|
NULL, //Media_ShowFrameBGR_24_Flip;
|
||||||
|
NULL, //Media_ShowFrameRGBA_32;
|
||||||
|
NULL, //Media_ShowFrame8bit;
|
||||||
|
|
||||||
|
#ifdef SWQUAKE
|
||||||
|
SWMod_Init,
|
||||||
|
SWMod_ClearAll,
|
||||||
|
SWMod_ForName,
|
||||||
|
SWMod_FindName,
|
||||||
|
SWMod_Extradata,
|
||||||
|
SWMod_TouchModel,
|
||||||
|
|
||||||
|
SWMod_PointInLeaf,
|
||||||
|
SWMod_LeafPVS,
|
||||||
|
SWMod_NowLoadExternal,
|
||||||
|
SWMod_Think,
|
||||||
|
#elif defined(RGLQUAKE)
|
||||||
|
GLMod_Init,
|
||||||
|
GLMod_ClearAll,
|
||||||
|
GLMod_ForName,
|
||||||
|
GLMod_FindName,
|
||||||
|
GLMod_Extradata,
|
||||||
|
GLMod_TouchModel,
|
||||||
|
|
||||||
|
GLMod_PointInLeaf,
|
||||||
|
GLMod_LeafPVS,
|
||||||
|
GLMod_NowLoadExternal,
|
||||||
|
GLMod_Think,
|
||||||
|
#else
|
||||||
|
#error "No renderer in client build"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
NULL, //Mod_GetTag
|
||||||
|
|
||||||
|
NULL, //VID_Init,
|
||||||
|
NULL, //VID_DeInit,
|
||||||
|
NULL, //VID_HandlePause,
|
||||||
|
NULL, //VID_LockBuffer,
|
||||||
|
NULL, //VID_UnlockBuffer,
|
||||||
|
NULL, //D_BeginDirectRect,
|
||||||
|
NULL, //D_EndDirectRect,
|
||||||
|
NULL, //VID_ForceLockState,
|
||||||
|
NULL, //VID_ForceUnlockedAndReturnState,
|
||||||
|
NULL, //VID_SetPalette,
|
||||||
|
NULL, //VID_ShiftPalette,
|
||||||
|
NULL, //VID_GetRGBInfo,
|
||||||
|
|
||||||
|
|
||||||
|
NULL, //set caption
|
||||||
|
|
||||||
|
NULL, //SCR_UpdateScreen;
|
||||||
|
|
||||||
|
""
|
||||||
|
}
|
||||||
|
#ifdef SWQUAKE
|
||||||
|
,
|
||||||
|
{
|
||||||
|
{
|
||||||
|
"sw",
|
||||||
|
"software",
|
||||||
|
},
|
||||||
|
QR_SOFTWARE,
|
||||||
|
|
||||||
|
SWDraw_PicFromWad,
|
||||||
|
SWDraw_PicFromWad, //Not supported
|
||||||
|
SWDraw_CachePic,
|
||||||
|
SWDraw_SafeCachePic,
|
||||||
|
SWDraw_Init,
|
||||||
|
SWDraw_Init,
|
||||||
|
SWDraw_Character,
|
||||||
|
SWDraw_ColouredCharacter,
|
||||||
|
SWDraw_String,
|
||||||
|
SWDraw_Alt_String,
|
||||||
|
SWDraw_Crosshair,
|
||||||
|
SWDraw_DebugChar,
|
||||||
|
SWDraw_Pic,
|
||||||
|
NULL,//SWDraw_ScaledPic,
|
||||||
|
SWDraw_SubPic,
|
||||||
|
SWDraw_TransPic,
|
||||||
|
SWDraw_TransPicTranslate,
|
||||||
|
SWDraw_ConsoleBackground,
|
||||||
|
SWDraw_EditorBackground,
|
||||||
|
SWDraw_TileClear,
|
||||||
|
SWDraw_Fill,
|
||||||
|
SWDraw_FadeScreen,
|
||||||
|
SWDraw_BeginDisc,
|
||||||
|
SWDraw_EndDisc,
|
||||||
|
|
||||||
|
SWDraw_Image,
|
||||||
|
SWDraw_ImageColours,
|
||||||
|
|
||||||
|
SWR_Init,
|
||||||
|
SWR_DeInit,
|
||||||
|
NULL,//SWR_ReInit,
|
||||||
|
SWR_RenderView,
|
||||||
|
|
||||||
|
SWR_InitSky,
|
||||||
|
SWR_CheckSky,
|
||||||
|
SWR_SetSky,
|
||||||
|
|
||||||
|
SWR_NewMap,
|
||||||
|
NULL,
|
||||||
|
SWR_LightPoint,
|
||||||
|
SWR_PushDlights,
|
||||||
|
|
||||||
|
SWR_AddStain,
|
||||||
|
SWR_LessenStains,
|
||||||
|
|
||||||
|
MediaSW_ShowFrameBGR_24_Flip,
|
||||||
|
MediaSW_ShowFrameRGBA_32,
|
||||||
|
MediaSW_ShowFrame8bit,
|
||||||
|
|
||||||
|
SWMod_Init,
|
||||||
|
SWMod_ClearAll,
|
||||||
|
SWMod_ForName,
|
||||||
|
SWMod_FindName,
|
||||||
|
SWMod_Extradata,
|
||||||
|
SWMod_TouchModel,
|
||||||
|
|
||||||
|
SWMod_PointInLeaf,
|
||||||
|
SWMod_LeafPVS,
|
||||||
|
SWMod_NowLoadExternal,
|
||||||
|
SWMod_Think,
|
||||||
|
|
||||||
|
NULL, //Mod_GetTag
|
||||||
|
|
||||||
|
SWVID_Init,
|
||||||
|
SWVID_Shutdown,
|
||||||
|
SWVID_HandlePause,
|
||||||
|
SWVID_LockBuffer,
|
||||||
|
SWVID_UnlockBuffer,
|
||||||
|
SWD_BeginDirectRect,
|
||||||
|
SWD_EndDirectRect,
|
||||||
|
SWVID_ForceLockState,
|
||||||
|
SWVID_ForceUnlockedAndReturnState,
|
||||||
|
SWVID_SetPalette,
|
||||||
|
SWVID_ShiftPalette,
|
||||||
|
SWVID_GetRGBInfo,
|
||||||
|
|
||||||
|
NULL,
|
||||||
|
|
||||||
|
SWSCR_UpdateScreen,
|
||||||
|
|
||||||
|
""
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
,
|
||||||
|
{
|
||||||
|
{
|
||||||
|
NULL
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#ifdef RGLQUAKE
|
||||||
|
,
|
||||||
|
{
|
||||||
|
{
|
||||||
|
"gl",
|
||||||
|
"opengl",
|
||||||
|
"hardware",
|
||||||
|
},
|
||||||
|
QR_SOFTWARE,
|
||||||
|
|
||||||
|
|
||||||
|
GLDraw_PicFromWad,
|
||||||
|
GLDraw_SafePicFromWad,
|
||||||
|
GLDraw_CachePic,
|
||||||
|
GLDraw_SafeCachePic,
|
||||||
|
GLDraw_Init,
|
||||||
|
GLDraw_ReInit,
|
||||||
|
GLDraw_Character,
|
||||||
|
GLDraw_ColouredCharacter,
|
||||||
|
GLDraw_String,
|
||||||
|
GLDraw_Alt_String,
|
||||||
|
GLDraw_Crosshair,
|
||||||
|
GLDraw_DebugChar,
|
||||||
|
GLDraw_Pic,
|
||||||
|
GLDraw_ScalePic,
|
||||||
|
GLDraw_SubPic,
|
||||||
|
GLDraw_TransPic,
|
||||||
|
GLDraw_TransPicTranslate,
|
||||||
|
GLDraw_ConsoleBackground,
|
||||||
|
GLDraw_EditorBackground,
|
||||||
|
GLDraw_TileClear,
|
||||||
|
GLDraw_Fill,
|
||||||
|
GLDraw_FadeScreen,
|
||||||
|
GLDraw_BeginDisc,
|
||||||
|
GLDraw_EndDisc,
|
||||||
|
|
||||||
|
GLDraw_Image,
|
||||||
|
GLDraw_ImageColours,
|
||||||
|
|
||||||
|
GLR_Init,
|
||||||
|
GLR_DeInit,
|
||||||
|
GLR_ReInit,
|
||||||
|
GLR_RenderView,
|
||||||
|
|
||||||
|
|
||||||
|
GLR_InitSky,
|
||||||
|
GLR_CheckSky,
|
||||||
|
GLR_SetSky,
|
||||||
|
|
||||||
|
GLR_NewMap,
|
||||||
|
GLR_PreNewMap,
|
||||||
|
GLR_LightPoint,
|
||||||
|
GLR_PushDlights,
|
||||||
|
|
||||||
|
|
||||||
|
GLR_AddStain,
|
||||||
|
GLR_LessenStains,
|
||||||
|
|
||||||
|
MediaGL_ShowFrameBGR_24_Flip,
|
||||||
|
MediaGL_ShowFrameRGBA_32,
|
||||||
|
MediaGL_ShowFrame8bit,
|
||||||
|
|
||||||
|
|
||||||
|
GLMod_Init,
|
||||||
|
GLMod_ClearAll,
|
||||||
|
GLMod_ForName,
|
||||||
|
GLMod_FindName,
|
||||||
|
GLMod_Extradata,
|
||||||
|
GLMod_TouchModel,
|
||||||
|
|
||||||
|
GLMod_PointInLeaf,
|
||||||
|
GLMod_LeafPVS,
|
||||||
|
GLMod_NowLoadExternal,
|
||||||
|
GLMod_Think,
|
||||||
|
|
||||||
|
GLMod_GetTag,
|
||||||
|
|
||||||
|
GLVID_Init,
|
||||||
|
GLVID_DeInit,
|
||||||
|
GLVID_HandlePause,
|
||||||
|
GLVID_LockBuffer,
|
||||||
|
GLVID_UnlockBuffer,
|
||||||
|
GLD_BeginDirectRect,
|
||||||
|
GLD_EndDirectRect,
|
||||||
|
GLVID_ForceLockState,
|
||||||
|
GLVID_ForceUnlockedAndReturnState,
|
||||||
|
GLVID_SetPalette,
|
||||||
|
GLVID_ShiftPalette,
|
||||||
|
GLVID_GetRGBInfo,
|
||||||
|
|
||||||
|
NULL, //setcaption
|
||||||
|
|
||||||
|
|
||||||
|
GLSCR_UpdateScreen,
|
||||||
|
|
||||||
|
""
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -784,259 +1185,84 @@ void M_Menu_Video_f (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void R_SetRenderer(r_qrenderer_t wanted)
|
void R_SetRenderer(int wanted)
|
||||||
{
|
{
|
||||||
switch(wanted)
|
q_renderername = rendererinfo[wanted].name[0];
|
||||||
{
|
|
||||||
case QR_NONE: //special case.
|
|
||||||
q_renderername = "Terminal";
|
|
||||||
|
|
||||||
Draw_PicFromWad = NULL;
|
Draw_PicFromWad = rendererinfo[wanted].Draw_PicFromWad;
|
||||||
Draw_SafePicFromWad = NULL; //Not supported
|
Draw_SafePicFromWad = rendererinfo[wanted].Draw_SafePicFromWad; //Not supported
|
||||||
Draw_CachePic = NULL;
|
Draw_CachePic = rendererinfo[wanted].Draw_CachePic;
|
||||||
Draw_SafeCachePic = NULL;
|
Draw_SafeCachePic = rendererinfo[wanted].Draw_SafeCachePic;
|
||||||
Draw_Init = NULL;
|
Draw_Init = rendererinfo[wanted].Draw_Init;
|
||||||
Draw_ReInit = NULL;
|
Draw_ReInit = rendererinfo[wanted].Draw_Init;
|
||||||
Draw_Character = NULL;
|
Draw_Character = rendererinfo[wanted].Draw_Character;
|
||||||
Draw_ColouredCharacter = NULL;
|
Draw_ColouredCharacter = rendererinfo[wanted].Draw_ColouredCharacter;
|
||||||
Draw_String = NULL;
|
Draw_String = rendererinfo[wanted].Draw_String;
|
||||||
Draw_Alt_String = NULL;
|
Draw_Alt_String = rendererinfo[wanted].Draw_Alt_String;
|
||||||
Draw_Crosshair = NULL;
|
Draw_Crosshair = rendererinfo[wanted].Draw_Crosshair;
|
||||||
Draw_DebugChar = NULL;
|
Draw_DebugChar = rendererinfo[wanted].Draw_DebugChar;
|
||||||
Draw_Pic = NULL;
|
Draw_Pic = rendererinfo[wanted].Draw_Pic;
|
||||||
Draw_SubPic = NULL;
|
Draw_SubPic = rendererinfo[wanted].Draw_SubPic;
|
||||||
Draw_TransPic = NULL;
|
Draw_TransPic = rendererinfo[wanted].Draw_TransPic;
|
||||||
Draw_TransPicTranslate = NULL;
|
Draw_TransPicTranslate = rendererinfo[wanted].Draw_TransPicTranslate;
|
||||||
Draw_ConsoleBackground = NULL;
|
Draw_ConsoleBackground = rendererinfo[wanted].Draw_ConsoleBackground;
|
||||||
Draw_EditorBackground = NULL;
|
Draw_EditorBackground = rendererinfo[wanted].Draw_EditorBackground;
|
||||||
Draw_TileClear = NULL;
|
Draw_TileClear = rendererinfo[wanted].Draw_TileClear;
|
||||||
Draw_Fill = NULL;
|
Draw_Fill = rendererinfo[wanted].Draw_Fill;
|
||||||
Draw_FadeScreen = NULL;
|
Draw_FadeScreen = rendererinfo[wanted].Draw_FadeScreen;
|
||||||
Draw_BeginDisc = NULL;
|
Draw_BeginDisc = rendererinfo[wanted].Draw_BeginDisc;
|
||||||
Draw_EndDisc = NULL;
|
Draw_EndDisc = rendererinfo[wanted].Draw_EndDisc;
|
||||||
Draw_ScalePic = NULL; //I'm lazy.
|
Draw_ScalePic = rendererinfo[wanted].Draw_ScalePic;
|
||||||
|
|
||||||
R_Init = NULL;
|
Draw_Image = rendererinfo[wanted].Draw_Image;
|
||||||
R_DeInit = NULL;
|
Draw_ImageColours = rendererinfo[wanted].Draw_ImageColours;
|
||||||
R_RenderView = NULL;
|
|
||||||
R_NewMap = NULL;
|
|
||||||
R_PreNewMap = NULL;
|
|
||||||
R_LightPoint = NULL;
|
|
||||||
R_PushDlights = NULL;
|
|
||||||
R_InitSky = NULL;
|
|
||||||
R_CheckSky = NULL;
|
|
||||||
R_SetSky = NULL;
|
|
||||||
|
|
||||||
R_AddStain = NULL;
|
R_Init = rendererinfo[wanted].R_Init;
|
||||||
R_LessenStains = NULL;
|
R_DeInit = rendererinfo[wanted].R_DeInit;
|
||||||
|
R_RenderView = rendererinfo[wanted].R_RenderView;
|
||||||
|
R_NewMap = rendererinfo[wanted].R_NewMap;
|
||||||
|
R_PreNewMap = rendererinfo[wanted].R_PreNewMap;
|
||||||
|
R_LightPoint = rendererinfo[wanted].R_LightPoint;
|
||||||
|
R_PushDlights = rendererinfo[wanted].R_PushDlights;
|
||||||
|
R_InitSky = rendererinfo[wanted].R_InitSky;
|
||||||
|
R_CheckSky = rendererinfo[wanted].R_CheckSky;
|
||||||
|
R_SetSky = rendererinfo[wanted].R_SetSky;
|
||||||
|
|
||||||
VID_Init = NULL;
|
R_AddStain = rendererinfo[wanted].R_AddStain;
|
||||||
VID_DeInit = NULL;
|
R_LessenStains = rendererinfo[wanted].R_LessenStains;
|
||||||
VID_HandlePause = NULL;
|
|
||||||
VID_LockBuffer = NULL;
|
|
||||||
VID_UnlockBuffer = NULL;
|
|
||||||
D_BeginDirectRect = NULL;
|
|
||||||
D_EndDirectRect = NULL;
|
|
||||||
VID_ForceLockState = NULL;
|
|
||||||
VID_ForceUnlockedAndReturnState = NULL;
|
|
||||||
VID_SetPalette = NULL;
|
|
||||||
VID_ShiftPalette = NULL;
|
|
||||||
VID_GetRGBInfo = NULL;
|
|
||||||
|
|
||||||
Media_ShowFrame8bit = NULL;
|
VID_Init = rendererinfo[wanted].VID_Init;
|
||||||
Media_ShowFrameRGBA_32 = NULL;
|
VID_DeInit = rendererinfo[wanted].VID_DeInit;
|
||||||
Media_ShowFrameBGR_24_Flip = NULL;
|
VID_HandlePause = rendererinfo[wanted].VID_HandlePause;
|
||||||
|
VID_LockBuffer = rendererinfo[wanted].VID_LockBuffer;
|
||||||
|
VID_UnlockBuffer = rendererinfo[wanted].VID_UnlockBuffer;
|
||||||
|
D_BeginDirectRect = rendererinfo[wanted].D_BeginDirectRect;
|
||||||
|
D_EndDirectRect = rendererinfo[wanted].D_EndDirectRect;
|
||||||
|
VID_ForceLockState = rendererinfo[wanted].VID_ForceLockState;
|
||||||
|
VID_ForceUnlockedAndReturnState = rendererinfo[wanted].VID_ForceUnlockedAndReturnState;
|
||||||
|
VID_SetPalette = rendererinfo[wanted].VID_SetPalette;
|
||||||
|
VID_ShiftPalette = rendererinfo[wanted].VID_ShiftPalette;
|
||||||
|
VID_GetRGBInfo = rendererinfo[wanted].VID_GetRGBInfo;
|
||||||
|
|
||||||
#ifdef SWQUAKE //Any one of them that works.
|
Media_ShowFrame8bit = rendererinfo[wanted].Media_ShowFrame8bit;
|
||||||
Mod_Init = SWMod_Init;
|
Media_ShowFrameRGBA_32 = rendererinfo[wanted].Media_ShowFrameRGBA_32;
|
||||||
Mod_Think = SWMod_Think;
|
Media_ShowFrameBGR_24_Flip = rendererinfo[wanted].Media_ShowFrameBGR_24_Flip;
|
||||||
Mod_ClearAll = SWMod_ClearAll;
|
|
||||||
Mod_ForName = SWMod_ForName;
|
|
||||||
Mod_FindName = SWMod_FindName;
|
|
||||||
Mod_Extradata = SWMod_Extradata;
|
|
||||||
Mod_TouchModel = SWMod_TouchModel;
|
|
||||||
|
|
||||||
Mod_PointInLeaf = SWMod_PointInLeaf;
|
Mod_Init = rendererinfo[wanted].Mod_Init;
|
||||||
Mod_Q1LeafPVS = SWMod_LeafPVS;
|
Mod_Think = rendererinfo[wanted].Mod_Think;
|
||||||
Mod_NowLoadExternal = SWMod_NowLoadExternal;
|
Mod_ClearAll = rendererinfo[wanted].Mod_ClearAll;
|
||||||
#elif defined(RGLQUAKE)
|
Mod_ForName = rendererinfo[wanted].Mod_ForName;
|
||||||
Mod_Init = GLMod_Init;
|
Mod_FindName = rendererinfo[wanted].Mod_FindName;
|
||||||
Mod_Think = GLMod_Think;
|
Mod_Extradata = rendererinfo[wanted].Mod_Extradata;
|
||||||
Mod_ClearAll = GLMod_ClearAll;
|
Mod_TouchModel = rendererinfo[wanted].Mod_TouchModel;
|
||||||
Mod_ForName = GLMod_ForName;
|
|
||||||
Mod_FindName = GLMod_FindName;
|
|
||||||
Mod_Extradata = GLMod_Extradata;
|
|
||||||
Mod_TouchModel = GLMod_TouchModel;
|
|
||||||
|
|
||||||
Mod_PointInLeaf = GLMod_PointInLeaf;
|
Mod_PointInLeaf = rendererinfo[wanted].Mod_PointInLeaf;
|
||||||
Mod_Q1LeafPVS = GLMod_LeafPVS;
|
Mod_Q1LeafPVS = rendererinfo[wanted].Mod_Q1LeafPVS;
|
||||||
Mod_NowLoadExternal = GLMod_NowLoadExternal;
|
Mod_NowLoadExternal = rendererinfo[wanted].Mod_NowLoadExternal;
|
||||||
#else
|
|
||||||
#error "No renderer in client build"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
SCR_UpdateScreen = NULL;
|
|
||||||
break;
|
|
||||||
#ifdef SWQUAKE
|
|
||||||
case QR_SOFTWARE:
|
|
||||||
// wanted = QR_SOFTWARE;
|
|
||||||
q_renderername = "Software";
|
|
||||||
|
|
||||||
Draw_PicFromWad = SWDraw_PicFromWad;
|
|
||||||
Draw_SafePicFromWad = SWDraw_PicFromWad; //Not supported
|
|
||||||
Draw_CachePic = SWDraw_CachePic;
|
|
||||||
Draw_SafeCachePic = SWDraw_SafeCachePic;
|
|
||||||
Draw_Init = SWDraw_Init;
|
|
||||||
Draw_ReInit = SWDraw_Init;
|
|
||||||
Draw_Character = SWDraw_Character;
|
|
||||||
Draw_ColouredCharacter = SWDraw_ColouredCharacter;
|
|
||||||
Draw_String = SWDraw_String;
|
|
||||||
Draw_Alt_String = SWDraw_Alt_String;
|
|
||||||
Draw_Crosshair = SWDraw_Crosshair;
|
|
||||||
Draw_DebugChar = SWDraw_DebugChar;
|
|
||||||
Draw_Pic = SWDraw_Pic;
|
|
||||||
Draw_SubPic = SWDraw_SubPic;
|
|
||||||
Draw_TransPic = SWDraw_TransPic;
|
|
||||||
Draw_TransPicTranslate = SWDraw_TransPicTranslate;
|
|
||||||
Draw_ConsoleBackground = SWDraw_ConsoleBackground;
|
|
||||||
Draw_EditorBackground = SWDraw_EditorBackground;
|
|
||||||
Draw_TileClear = SWDraw_TileClear;
|
|
||||||
Draw_Fill = SWDraw_Fill;
|
|
||||||
Draw_FadeScreen = SWDraw_FadeScreen;
|
|
||||||
Draw_BeginDisc = SWDraw_BeginDisc;
|
|
||||||
Draw_EndDisc = SWDraw_EndDisc;
|
|
||||||
Draw_ScalePic = NULL; //I'm lazy.
|
|
||||||
|
|
||||||
R_Init = SWR_Init;
|
|
||||||
R_DeInit = SWR_DeInit;
|
|
||||||
R_RenderView = SWR_RenderView;
|
|
||||||
R_NewMap = SWR_NewMap;
|
|
||||||
R_PreNewMap = NULL;
|
|
||||||
R_LightPoint = SWR_LightPoint;
|
|
||||||
R_PushDlights = SWR_PushDlights;
|
|
||||||
R_InitSky = SWR_InitSky;
|
|
||||||
R_CheckSky = SWR_CheckSky;
|
|
||||||
R_SetSky = SWR_SetSky;
|
|
||||||
|
|
||||||
R_AddStain = SWR_AddStain;
|
|
||||||
R_LessenStains = SWR_LessenStains;
|
|
||||||
|
|
||||||
VID_Init = SWVID_Init;
|
|
||||||
VID_DeInit = SWVID_Shutdown;
|
|
||||||
VID_HandlePause = SWVID_HandlePause;
|
|
||||||
VID_LockBuffer = SWVID_LockBuffer;
|
|
||||||
VID_UnlockBuffer = SWVID_UnlockBuffer;
|
|
||||||
D_BeginDirectRect = SWD_BeginDirectRect;
|
|
||||||
D_EndDirectRect = SWD_EndDirectRect;
|
|
||||||
VID_ForceLockState = SWVID_ForceLockState;
|
|
||||||
VID_ForceUnlockedAndReturnState = SWVID_ForceUnlockedAndReturnState;
|
|
||||||
VID_SetPalette = SWVID_SetPalette;
|
|
||||||
VID_ShiftPalette = SWVID_ShiftPalette;
|
|
||||||
VID_GetRGBInfo = SWVID_GetRGBInfo;
|
|
||||||
|
|
||||||
Media_ShowFrame8bit = MediaSW_ShowFrame8bit;
|
|
||||||
Media_ShowFrameRGBA_32 = MediaSW_ShowFrameRGBA_32;
|
|
||||||
Media_ShowFrameBGR_24_Flip = MediaSW_ShowFrameBGR_24_Flip;
|
|
||||||
|
|
||||||
Mod_Init = SWMod_Init;
|
|
||||||
Mod_Think = SWMod_Think;
|
|
||||||
Mod_ClearAll = SWMod_ClearAll;
|
|
||||||
Mod_ForName = SWMod_ForName;
|
|
||||||
Mod_FindName = SWMod_FindName;
|
|
||||||
Mod_Extradata = SWMod_Extradata;
|
|
||||||
Mod_TouchModel = SWMod_TouchModel;
|
|
||||||
|
|
||||||
Mod_PointInLeaf = SWMod_PointInLeaf;
|
|
||||||
Mod_Q1LeafPVS = SWMod_LeafPVS;
|
|
||||||
Mod_NowLoadExternal = SWMod_NowLoadExternal;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
SCR_UpdateScreen = SWSCR_UpdateScreen;
|
SCR_UpdateScreen = rendererinfo[wanted].SCR_UpdateScreen;
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
#ifdef RGLQUAKE
|
|
||||||
case QR_OPENGL:
|
|
||||||
// wanted = QR_OPENGL;
|
|
||||||
q_renderername = "OpenGL";
|
|
||||||
|
|
||||||
Draw_PicFromWad = GLDraw_PicFromWad;
|
|
||||||
Draw_SafePicFromWad = GLDraw_SafePicFromWad;
|
|
||||||
Draw_CachePic = GLDraw_CachePic;
|
|
||||||
Draw_SafeCachePic = GLDraw_SafeCachePic;
|
|
||||||
Draw_Init = GLDraw_Init;
|
|
||||||
Draw_ReInit = GLDraw_ReInit;
|
|
||||||
Draw_Character = GLDraw_Character;
|
|
||||||
Draw_ColouredCharacter = GLDraw_ColouredCharacter;
|
|
||||||
Draw_String = GLDraw_String;
|
|
||||||
Draw_Alt_String = GLDraw_Alt_String;
|
|
||||||
Draw_Crosshair = GLDraw_Crosshair;
|
|
||||||
Draw_DebugChar = GLDraw_DebugChar;
|
|
||||||
Draw_Pic = GLDraw_Pic;
|
|
||||||
Draw_SubPic = GLDraw_SubPic;
|
|
||||||
Draw_TransPic = GLDraw_TransPic;
|
|
||||||
Draw_TransPicTranslate = GLDraw_TransPicTranslate;
|
|
||||||
Draw_ConsoleBackground = GLDraw_ConsoleBackground;
|
|
||||||
Draw_EditorBackground = GLDraw_EditorBackground;
|
|
||||||
Draw_TileClear = GLDraw_TileClear;
|
|
||||||
Draw_Fill = GLDraw_Fill;
|
|
||||||
Draw_FadeScreen = GLDraw_FadeScreen;
|
|
||||||
Draw_BeginDisc = GLDraw_BeginDisc;
|
|
||||||
Draw_EndDisc = GLDraw_EndDisc;
|
|
||||||
Draw_ScalePic = GLDraw_ScalePic;
|
|
||||||
|
|
||||||
R_Init = GLR_Init;
|
|
||||||
R_DeInit = GLR_DeInit;
|
|
||||||
R_RenderView = GLR_RenderView;
|
|
||||||
R_NewMap = GLR_NewMap;
|
|
||||||
R_PreNewMap = GLR_PreNewMap;
|
|
||||||
R_LightPoint = GLR_LightPoint;
|
|
||||||
R_PushDlights = GLR_PushDlights;
|
|
||||||
R_InitSky = GLR_InitSky;
|
|
||||||
R_CheckSky = GLR_CheckSky;
|
|
||||||
R_SetSky = GLR_SetSky;
|
|
||||||
|
|
||||||
R_AddStain = GLR_AddStain;
|
|
||||||
R_LessenStains = GLR_LessenStains;
|
|
||||||
|
|
||||||
VID_Init = GLVID_Init;
|
|
||||||
VID_DeInit = GLVID_DeInit;
|
|
||||||
VID_HandlePause = GLVID_HandlePause;
|
|
||||||
VID_LockBuffer = GLVID_LockBuffer;
|
|
||||||
VID_UnlockBuffer = GLVID_UnlockBuffer;
|
|
||||||
D_BeginDirectRect = GLD_BeginDirectRect;
|
|
||||||
D_EndDirectRect = GLD_EndDirectRect;
|
|
||||||
VID_ForceLockState = GLVID_ForceLockState;
|
|
||||||
VID_ForceUnlockedAndReturnState = GLVID_ForceUnlockedAndReturnState;
|
|
||||||
VID_SetPalette = GLVID_SetPalette;
|
|
||||||
VID_ShiftPalette = GLVID_ShiftPalette;
|
|
||||||
VID_GetRGBInfo = GLVID_GetRGBInfo;
|
|
||||||
|
|
||||||
Media_ShowFrame8bit = MediaGL_ShowFrame8bit;
|
|
||||||
Media_ShowFrameRGBA_32 = MediaGL_ShowFrameRGBA_32;
|
|
||||||
Media_ShowFrameBGR_24_Flip = MediaGL_ShowFrameBGR_24_Flip;
|
|
||||||
|
|
||||||
Mod_Init = GLMod_Init;
|
|
||||||
Mod_Think = GLMod_Think;
|
|
||||||
Mod_ClearAll = GLMod_ClearAll;
|
|
||||||
Mod_ForName = GLMod_ForName;
|
|
||||||
Mod_FindName = GLMod_FindName;
|
|
||||||
Mod_Extradata = GLMod_Extradata;
|
|
||||||
Mod_TouchModel = GLMod_TouchModel;
|
|
||||||
|
|
||||||
Mod_PointInLeaf = GLMod_PointInLeaf;
|
|
||||||
Mod_Q1LeafPVS = GLMod_LeafPVS;
|
|
||||||
Mod_NowLoadExternal = GLMod_NowLoadExternal;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
SCR_UpdateScreen = GLSCR_UpdateScreen;
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
default:
|
|
||||||
Sys_Error("Bad render chosen\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
qrenderer = wanted;
|
qrenderer = wanted;
|
||||||
}
|
}
|
||||||
|
@ -1387,6 +1613,9 @@ void R_RestartRenderer_f (void)
|
||||||
{
|
{
|
||||||
rendererstate_t oldr;
|
rendererstate_t oldr;
|
||||||
rendererstate_t newr;
|
rendererstate_t newr;
|
||||||
|
|
||||||
|
MP_Shutdown();
|
||||||
|
|
||||||
memset(&newr, 0, sizeof(newr));
|
memset(&newr, 0, sizeof(newr));
|
||||||
|
|
||||||
TRACE(("dbg: R_RestartRenderer_f\n"));
|
TRACE(("dbg: R_RestartRenderer_f\n"));
|
||||||
|
@ -1485,6 +1714,8 @@ TRACE(("dbg: R_RestartRenderer_f\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
TRACE(("dbg: R_RestartRenderer_f success\n"));
|
TRACE(("dbg: R_RestartRenderer_f success\n"));
|
||||||
|
|
||||||
|
MP_Init();
|
||||||
}
|
}
|
||||||
|
|
||||||
void R_SetRenderer_f (void)
|
void R_SetRenderer_f (void)
|
||||||
|
|
Loading…
Reference in a new issue