Part 1 of code merge

This commit is contained in:
raa-eruanna 2016-09-14 04:03:39 -04:00
parent b17b7446cb
commit 004c7de89b
15 changed files with 34 additions and 34 deletions

View file

@ -75,5 +75,4 @@ struct FColormap
}; };
#endif #endif

View file

@ -71,7 +71,7 @@ struct FakeCmap
}; };
TArray<FakeCmap> fakecmaps; TArray<FakeCmap> fakecmaps;
FColormap realcolormaps; FSWColormap realcolormaps;
size_t numfakecmaps; size_t numfakecmaps;

View file

@ -9,10 +9,10 @@ void R_DeinitColormaps ();
DWORD R_ColormapNumForName(const char *name); // killough 4/4/98 DWORD R_ColormapNumForName(const char *name); // killough 4/4/98
void R_SetDefaultColormap (const char *name); // [RH] change normal fadetable void R_SetDefaultColormap (const char *name); // [RH] change normal fadetable
DWORD R_BlendForColormap (DWORD map); // [RH] return calculated blend for a colormap DWORD R_BlendForColormap (DWORD map); // [RH] return calculated blend for a colormap
extern FColormap realcolormaps; // [RH] make the colormaps externally visible extern FSWColormap realcolormaps; // [RH] make the colormaps externally visible
extern size_t numfakecmaps; extern size_t numfakecmaps;
struct FColormap struct FSWColormap
{ {
BYTE *Maps = nullptr; BYTE *Maps = nullptr;
PalEntry Color = 0xffffffff; PalEntry Color = 0xffffffff;
@ -20,7 +20,7 @@ struct FColormap
int Desaturate = 0; int Desaturate = 0;
}; };
struct FDynamicColormap : FColormap struct FDynamicColormap : FSWColormap
{ {
void ChangeFade (PalEntry fadecolor); void ChangeFade (PalEntry fadecolor);
void ChangeColor (PalEntry lightcolor, int desaturate); void ChangeColor (PalEntry lightcolor, int desaturate);
@ -47,7 +47,7 @@ enum
}; };
struct FSpecialColormap : FColormap struct FSpecialColormap : FSWColormap
{ {
FSpecialColormap() FSpecialColormap()
{ {

View file

@ -1509,13 +1509,13 @@ struct FMiniBSP
// //
typedef BYTE lighttable_t; // This could be wider for >8 bit display. typedef BYTE lighttable_t; // This could be wider for >8 bit display.
struct FColormap; struct FSWColormap;
// This encapsulates the fields of vissprite_t that can be altered by AlterWeaponSprite // This encapsulates the fields of vissprite_t that can be altered by AlterWeaponSprite
struct visstyle_t struct visstyle_t
{ {
int ColormapNum; // Which colormap is rendered int ColormapNum; // Which colormap is rendered
FColormap *BaseColormap; // Base colormap used together with ColormapNum FSWColormap *BaseColormap; // Base colormap used together with ColormapNum
float Alpha; float Alpha;
FRenderStyle RenderStyle; FRenderStyle RenderStyle;
}; };

View file

@ -100,7 +100,7 @@ void (*R_DrawFogBoundary)(int x1, int x2, short *uclip, short *dclip);
void (*R_MapTiltedPlane)(int y, int x1); void (*R_MapTiltedPlane)(int y, int x1);
void (*R_MapColoredPlane)(int y, int x1); void (*R_MapColoredPlane)(int y, int x1);
void (*R_DrawParticle)(vissprite_t *); void (*R_DrawParticle)(vissprite_t *);
void (*R_SetupDrawSlab)(FColormap *base_colormap, float light, int shade); void (*R_SetupDrawSlab)(FSWColormap *base_colormap, float light, int shade);
void (*R_DrawSlab)(int dx, fixed_t v, int dy, fixed_t vi, const BYTE *vptr, BYTE *p); void (*R_DrawSlab)(int dx, fixed_t v, int dy, fixed_t vi, const BYTE *vptr, BYTE *p);
fixed_t (*tmvline1_add)(); fixed_t (*tmvline1_add)();
void (*tmvline4_add)(); void (*tmvline4_add)();
@ -146,7 +146,7 @@ extern "C" {
int dc_pitch=0xABadCafe; // [RH] Distance between rows int dc_pitch=0xABadCafe; // [RH] Distance between rows
lighttable_t* dc_colormap; lighttable_t* dc_colormap;
FColormap *dc_fcolormap; FSWColormap *dc_fcolormap;
ShadeConstants dc_shade_constants; ShadeConstants dc_shade_constants;
fixed_t dc_light; fixed_t dc_light;
int dc_x; int dc_x;
@ -1032,7 +1032,7 @@ int ds_y;
int ds_x1; int ds_x1;
int ds_x2; int ds_x2;
FColormap* ds_fcolormap; FSWColormap* ds_fcolormap;
lighttable_t* ds_colormap; lighttable_t* ds_colormap;
ShadeConstants ds_shade_constants; ShadeConstants ds_shade_constants;
dsfixed_t ds_light; dsfixed_t ds_light;
@ -2413,10 +2413,10 @@ void R_InitColumnDrawers ()
R_DrawParticle = R_DrawParticle_C; R_DrawParticle = R_DrawParticle_C;
#ifdef X86_ASM #ifdef X86_ASM
R_SetupDrawSlab = [](FColormap *colormap, float light, int shade) { R_SetupDrawSlabA(colormap->Maps + (GETPALOOKUP(light, shade) << COLORMAPSHIFT)); }; R_SetupDrawSlab = [](FSWColormap *colormap, float light, int shade) { R_SetupDrawSlabA(colormap->Maps + (GETPALOOKUP(light, shade) << COLORMAPSHIFT)); };
R_DrawSlab = R_DrawSlabA; R_DrawSlab = R_DrawSlabA;
#else #else
R_SetupDrawSlab = [](FColormap *colormap, float light, int shade) { R_SetupDrawSlabC(colormap->Maps + (GETPALOOKUP(light, shade) << COLORMAPSHIFT)); }; R_SetupDrawSlab = [](FSWColormap *colormap, float light, int shade) { R_SetupDrawSlabC(colormap->Maps + (GETPALOOKUP(light, shade) << COLORMAPSHIFT)); };
R_DrawSlab = R_DrawSlabC; R_DrawSlab = R_DrawSlabC;
#endif #endif
@ -2806,7 +2806,7 @@ void R_SetTranslationMap(lighttable_t *translation)
} }
} }
void R_SetColorMapLight(FColormap *base_colormap, float light, int shade) void R_SetColorMapLight(FSWColormap *base_colormap, float light, int shade)
{ {
dc_fcolormap = base_colormap; dc_fcolormap = base_colormap;
if (r_swtruecolor) if (r_swtruecolor)
@ -2830,7 +2830,7 @@ void R_SetColorMapLight(FColormap *base_colormap, float light, int shade)
} }
} }
void R_SetDSColorMapLight(FColormap *base_colormap, float light, int shade) void R_SetDSColorMapLight(FSWColormap *base_colormap, float light, int shade)
{ {
ds_fcolormap = base_colormap; ds_fcolormap = base_colormap;
if (r_swtruecolor) if (r_swtruecolor)

View file

@ -31,7 +31,7 @@ extern "C" int fuzzoffset[FUZZTABLE + 1]; // [RH] +1 for the assembly routine
extern "C" int fuzzpos; extern "C" int fuzzpos;
extern "C" int fuzzviewheight; extern "C" int fuzzviewheight;
struct FColormap; struct FSWColormap;
struct ShadeConstants struct ShadeConstants
{ {
@ -52,7 +52,7 @@ extern "C" int ylookup[MAXHEIGHT];
extern "C" int dc_pitch; // [RH] Distance between rows extern "C" int dc_pitch; // [RH] Distance between rows
extern "C" lighttable_t*dc_colormap; extern "C" lighttable_t*dc_colormap;
extern "C" FColormap *dc_fcolormap; extern "C" FSWColormap *dc_fcolormap;
extern "C" ShadeConstants dc_shade_constants; extern "C" ShadeConstants dc_shade_constants;
extern "C" fixed_t dc_light; extern "C" fixed_t dc_light;
extern "C" int dc_x; extern "C" int dc_x;
@ -288,7 +288,7 @@ void R_FillColumnP_C (void);
void R_FillColumnHorizP_C (void); void R_FillColumnHorizP_C (void);
void R_FillSpan_C (void); void R_FillSpan_C (void);
extern void(*R_SetupDrawSlab)(FColormap *base_colormap, float light, int shade); extern void(*R_SetupDrawSlab)(FSWColormap *base_colormap, float light, int shade);
extern void(*R_DrawSlab)(int dx, fixed_t v, int dy, fixed_t vi, const BYTE *vptr, BYTE *p); extern void(*R_DrawSlab)(int dx, fixed_t v, int dy, fixed_t vi, const BYTE *vptr, BYTE *p);
#ifdef X86_ASM #ifdef X86_ASM
@ -303,7 +303,7 @@ extern "C" int ds_y;
extern "C" int ds_x1; extern "C" int ds_x1;
extern "C" int ds_x2; extern "C" int ds_x2;
extern "C" FColormap* ds_fcolormap; extern "C" FSWColormap* ds_fcolormap;
extern "C" lighttable_t* ds_colormap; extern "C" lighttable_t* ds_colormap;
extern "C" ShadeConstants ds_shade_constants; extern "C" ShadeConstants ds_shade_constants;
extern "C" dsfixed_t ds_light; extern "C" dsfixed_t ds_light;
@ -374,10 +374,10 @@ void maskwallscan (int x1, int x2, short *uwal, short *dwal, float *swal, fixed_
void transmaskwallscan (int x1, int x2, short *uwal, short *dwal, float *swal, fixed_t *lwal, double yrepeat, const BYTE *(*getcol)(FTexture *tex, int col)=R_GetColumn); void transmaskwallscan (int x1, int x2, short *uwal, short *dwal, float *swal, fixed_t *lwal, double yrepeat, const BYTE *(*getcol)(FTexture *tex, int col)=R_GetColumn);
// Sets dc_colormap and dc_light to their appropriate values depending on the output format (pal vs true color) // Sets dc_colormap and dc_light to their appropriate values depending on the output format (pal vs true color)
void R_SetColorMapLight(FColormap *base_colormap, float light, int shade); void R_SetColorMapLight(FSWColormap *base_colormap, float light, int shade);
// Same as R_SetColorMapLight, but for ds_colormap and ds_light // Same as R_SetColorMapLight, but for ds_colormap and ds_light
void R_SetDSColorMapLight(FColormap *base_colormap, float light, int shade); void R_SetDSColorMapLight(FSWColormap *base_colormap, float light, int shade);
void R_SetTranslationMap(lighttable_t *translation); void R_SetTranslationMap(lighttable_t *translation);

View file

@ -2751,7 +2751,7 @@ static ShadeConstants slab_rgba_shade_constants;
static const BYTE *slab_rgba_colormap; static const BYTE *slab_rgba_colormap;
static fixed_t slab_rgba_light; static fixed_t slab_rgba_light;
void R_SetupDrawSlab_rgba(FColormap *base_colormap, float light, int shade) void R_SetupDrawSlab_rgba(FSWColormap *base_colormap, float light, int shade)
{ {
slab_rgba_shade_constants.light_red = base_colormap->Color.r * 256 / 255; slab_rgba_shade_constants.light_red = base_colormap->Color.r * 256 / 255;
slab_rgba_shade_constants.light_green = base_colormap->Color.g * 256 / 255; slab_rgba_shade_constants.light_green = base_colormap->Color.g * 256 / 255;

View file

@ -97,7 +97,7 @@ void R_FillSpan_rgba();
void R_DrawTiltedSpan_rgba(int y, int x1, int x2, const FVector3 &plane_sz, const FVector3 &plane_su, const FVector3 &plane_sv, bool plane_shade, int planeshade, float planelightfloat, fixed_t pviewx, fixed_t pviewy); void R_DrawTiltedSpan_rgba(int y, int x1, int x2, const FVector3 &plane_sz, const FVector3 &plane_su, const FVector3 &plane_sv, bool plane_shade, int planeshade, float planelightfloat, fixed_t pviewx, fixed_t pviewy);
void R_DrawColoredSpan_rgba(int y, int x1, int x2); void R_DrawColoredSpan_rgba(int y, int x1, int x2);
void R_SetupDrawSlab_rgba(FColormap *base_colormap, float light, int shade); void R_SetupDrawSlab_rgba(FSWColormap *base_colormap, float light, int shade);
void R_DrawSlab_rgba(int dx, fixed_t v, int dy, fixed_t vi, const BYTE *vptr, BYTE *p); void R_DrawSlab_rgba(int dx, fixed_t v, int dy, fixed_t vi, const BYTE *vptr, BYTE *p);
void R_DrawFogBoundary_rgba(int x1, int x2, short *uclip, short *dclip); void R_DrawFogBoundary_rgba(int x1, int x2, short *uclip, short *dclip);

View file

@ -120,7 +120,7 @@ double FocalLengthX;
double FocalLengthY; double FocalLengthY;
FDynamicColormap*basecolormap; // [RH] colormap currently drawing with FDynamicColormap*basecolormap; // [RH] colormap currently drawing with
int fixedlightlev; int fixedlightlev;
FColormap *fixedcolormap; FSWColormap *fixedcolormap;
FSpecialColormap *realfixedcolormap; FSpecialColormap *realfixedcolormap;
double WallTMapScale2; double WallTMapScale2;

View file

@ -106,7 +106,7 @@ extern double r_SpriteVisibility;
extern int r_actualextralight; extern int r_actualextralight;
extern bool foggy; extern bool foggy;
extern int fixedlightlev; extern int fixedlightlev;
extern FColormap* fixedcolormap; extern FSWColormap* fixedcolormap;
extern FSpecialColormap*realfixedcolormap; extern FSpecialColormap*realfixedcolormap;

View file

@ -340,7 +340,7 @@ void FSoftwareRenderer::RenderTextureView (FCanvasTexture *tex, AActor *viewpoin
// curse Doom's overuse of global variables in the renderer. // curse Doom's overuse of global variables in the renderer.
// These get clobbered by rendering to a camera texture but they need to be preserved so the final rendering can be done with the correct palette. // These get clobbered by rendering to a camera texture but they need to be preserved so the final rendering can be done with the correct palette.
FColormap *savecolormap = fixedcolormap; FSWColormap *savecolormap = fixedcolormap;
FSpecialColormap *savecm = realfixedcolormap; FSpecialColormap *savecm = realfixedcolormap;
DAngle savedfov = FieldOfView; DAngle savedfov = FieldOfView;

View file

@ -1481,7 +1481,7 @@ void R_DrawPSprite(DPSprite *pspr, AActor *owner, float bobx, float boby, double
if (camera->Inventory != nullptr) if (camera->Inventory != nullptr)
{ {
BYTE oldcolormapnum = vis->Style.ColormapNum; BYTE oldcolormapnum = vis->Style.ColormapNum;
FColormap *oldcolormap = vis->Style.BaseColormap; FSWColormap *oldcolormap = vis->Style.BaseColormap;
camera->Inventory->AlterWeaponSprite (&vis->Style); camera->Inventory->AlterWeaponSprite (&vis->Style);
if (vis->Style.BaseColormap != oldcolormap || vis->Style.ColormapNum != oldcolormapnum) if (vis->Style.BaseColormap != oldcolormap || vis->Style.ColormapNum != oldcolormapnum)
{ {
@ -1960,7 +1960,7 @@ void R_DrawSprite (vissprite_t *spr)
int r1, r2; int r1, r2;
short topclip, botclip; short topclip, botclip;
short *clip1, *clip2; short *clip1, *clip2;
FColormap *colormap = spr->Style.BaseColormap; FSWColormap *colormap = spr->Style.BaseColormap;
int colormapnum = spr->Style.ColormapNum; int colormapnum = spr->Style.ColormapNum;
F3DFloor *rover; F3DFloor *rover;
FDynamicColormap *mybasecolormap; FDynamicColormap *mybasecolormap;
@ -2486,7 +2486,7 @@ void R_ProjectParticle (particle_t *particle, const sector_t *sector, int shade,
int x1, x2, y1, y2; int x1, x2, y1, y2;
vissprite_t* vis; vissprite_t* vis;
sector_t* heightsec = NULL; sector_t* heightsec = NULL;
FColormap* map; FSWColormap* map;
// [ZZ] Particle not visible through the portal plane // [ZZ] Particle not visible through the portal plane
if (CurrentPortal && !!P_PointOnLineSide(particle->Pos, CurrentPortal->dst)) if (CurrentPortal && !!P_PointOnLineSide(particle->Pos, CurrentPortal->dst))
@ -2785,7 +2785,7 @@ extern double BaseYaspectMul;;
void R_DrawVoxel(const FVector3 &globalpos, FAngle viewangle, void R_DrawVoxel(const FVector3 &globalpos, FAngle viewangle,
const FVector3 &dasprpos, DAngle dasprang, const FVector3 &dasprpos, DAngle dasprang,
fixed_t daxscale, fixed_t dayscale, FVoxel *voxobj, fixed_t daxscale, fixed_t dayscale, FVoxel *voxobj,
FColormap *colormap, int colormapnum, short *daumost, short *dadmost, int minslabz, int maxslabz, int flags) FSWColormap *colormap, int colormapnum, short *daumost, short *dadmost, int minslabz, int maxslabz, int flags)
{ {
int i, j, k, x, y, syoff, ggxstart, ggystart, nxoff; int i, j, k, x, y, syoff, ggxstart, ggystart, nxoff;
fixed_t cosang, sinang, sprcosang, sprsinang; fixed_t cosang, sinang, sprcosang, sprsinang;

View file

@ -144,7 +144,7 @@ enum { DVF_OFFSCREEN = 1, DVF_SPANSONLY = 2, DVF_MIRRORED = 4 };
void R_DrawVoxel(const FVector3 &viewpos, FAngle viewangle, void R_DrawVoxel(const FVector3 &viewpos, FAngle viewangle,
const FVector3 &sprpos, DAngle dasprang, const FVector3 &sprpos, DAngle dasprang,
fixed_t daxscale, fixed_t dayscale, struct FVoxel *voxobj, fixed_t daxscale, fixed_t dayscale, struct FVoxel *voxobj,
FColormap *colormap, int colormapnum, short *daumost, short *dadmost, int minslabz, int maxslabz, int flags); FSWColormap *colormap, int colormapnum, short *daumost, short *dadmost, int minslabz, int maxslabz, int flags);
void R_ClipVisSprite (vissprite_t *vis, int xl, int xh); void R_ClipVisSprite (vissprite_t *vis, int xl, int xh);

View file

@ -346,7 +346,8 @@ bool Win32GLVideo::GoFullscreen(bool yes)
// //
//========================================================================== //==========================================================================
DFrameBuffer *Win32GLVideo::CreateFrameBuffer(int width, int height, bool fs, DFrameBuffer *old)
DFrameBuffer *Win32GLVideo::CreateFrameBuffer(int width, int height, bool bgra, bool fs, DFrameBuffer *old)
{ {
Win32GLFrameBuffer *fb; Win32GLFrameBuffer *fb;
@ -860,7 +861,7 @@ IMPLEMENT_ABSTRACT_CLASS(Win32GLFrameBuffer)
// //
//========================================================================== //==========================================================================
Win32GLFrameBuffer::Win32GLFrameBuffer(void *hMonitor, int width, int height, int bits, int refreshHz, bool fullscreen) : BaseWinFB(width, height) Win32GLFrameBuffer::Win32GLFrameBuffer(void *hMonitor, int width, int height, int bits, int refreshHz, bool fullscreen) : BaseWinFB(width, height, false)
{ {
m_Width = width; m_Width = width;
m_Height = height; m_Height = height;

View file

@ -38,7 +38,7 @@ public:
void StartModeIterator (int bits, bool fs); void StartModeIterator (int bits, bool fs);
bool NextMode (int *width, int *height, bool *letterbox); bool NextMode (int *width, int *height, bool *letterbox);
bool GoFullscreen(bool yes); bool GoFullscreen(bool yes);
DFrameBuffer *CreateFrameBuffer (int width, int height, bool fs, DFrameBuffer *old); DFrameBuffer *CreateFrameBuffer (int width, int height, bool bgra, bool fs, DFrameBuffer *old);
virtual bool SetResolution (int width, int height, int bits); virtual bool SetResolution (int width, int height, int bits);
void DumpAdapters(); void DumpAdapters();
bool InitHardware (HWND Window, int multisample); bool InitHardware (HWND Window, int multisample);