From c068f22329d5cc722622a2183bbb22eef2093df7 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 24 Aug 2026 11:16:07 +0200 Subject: initial import --- src/parsec/include/vid_glob.h | 108 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 src/parsec/include/vid_glob.h (limited to 'src/parsec/include/vid_glob.h') diff --git a/src/parsec/include/vid_glob.h b/src/parsec/include/vid_glob.h new file mode 100644 index 0000000..3ccb660 --- /dev/null +++ b/src/parsec/include/vid_glob.h @@ -0,0 +1,108 @@ +/* + * PARSEC HEADER: vid_glob.h + */ + +#ifndef _VID_GLOB_H_ +#define _VID_GLOB_H_ + + +// ---------------------------------------------------------------------------- +// VIDEO SUBSYSTEM (VID) related global declarations and definitions - +// ---------------------------------------------------------------------------- + +// C++ STL vector for the resolution list +#include + +//NOTE: +// the definition of hiresmodeinfo_s would belong into VID_DEFS.H +// but is defined here in order to make the array extdef possible. + +struct resinfo_s { + word width, height; + + resinfo_s(); + + resinfo_s(word w, word h); + + // set to a new resolution + void set(word w, word h); + + // has been set to a real resolution + bool isValid() const; + + // sorting and comparing + bool operator < (const resinfo_s & res) const; + bool operator == (const resinfo_s & res) const; + bool operator != (const resinfo_s & res) const; +}; + +int GetResolutionIndex(word xres, word yres); + + +extern int MaxScreenBPP; + +extern resinfo_s GameScreenRes; +extern int GameScreenBPP; +extern int GameScreenWindowed; + +extern int CurDataColorBits; +extern int CurDataDetail; + +extern resinfo_s Op_Resolution; +extern int Op_ColorDepth; +extern int Op_WindowedMode; + +extern resinfo_s InitOp_Resolution; +extern int InitOp_ColorDepth; +extern int InitOp_WindowedMode; +extern int InitOp_FlipSynched; + +extern float GammaCorrection; + +extern int TextModeActive; + +extern int FlipSynched; + +extern int Screen_Width; +extern int Screen_Height; +extern int Screen_XOfs; +extern int Screen_YOfs; +extern int Screen_BytesPerPixel; +extern int D_Value; +extern int Star_Siz; +extern int RObj_Siz; + +extern geomv_t Near_View_Plane; +extern geomv_t Far_View_Plane; +extern geomv_t Criterion_X; +extern geomv_t Criterion_Y; +extern Plane3 View_Volume[ 6 ]; +extern CullPlane3 Cull_Volume[ 6 ]; +extern Plane3 World_ViewVolume[ 6 ]; +extern CullPlane3 World_CullVolume[ 6 ]; +extern Plane3 Object_ViewVolume[ 6 ]; +extern CullPlane3 Object_CullVolume[ 6 ]; + +extern std::vector Resolutions; + +extern int VidInfo_NumTextureUnits; +extern int VidInfo_MaxTextureSize; +extern int VidInfo_MaxTextureLod; +extern int VidInfo_UseIterForDemoTexts; +extern int* VidInfo_SupportedTexFormats; + + +// determine if video mode is available using mode info table +#define VID_MODE_AVAILABLE(x) ( x >= 0 && x < Resolutions.size() ) + +// determine current color depth +#define VID_CUR_COLBITS ( GameScreenBPP ) + +// determine whether translucency supported in current video mode +#define VID_TRANSLUCENCY_SUPPORTED TRUE + + + +#endif // _VID_GLOB_H_ + + -- cgit v1.2.3