mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2024-12-28 13:21:10 +00:00
Merge branch 'master' into next
This commit is contained in:
commit
4dd5abf534
9 changed files with 122 additions and 27 deletions
|
@ -20,6 +20,12 @@
|
||||||
// console vars
|
// console vars
|
||||||
extern consvar_t cv_playername;
|
extern consvar_t cv_playername;
|
||||||
extern consvar_t cv_playercolor;
|
extern consvar_t cv_playercolor;
|
||||||
|
extern consvar_t cv_skin;
|
||||||
|
// secondary splitscreen player
|
||||||
|
extern consvar_t cv_playername2;
|
||||||
|
extern consvar_t cv_playercolor2;
|
||||||
|
extern consvar_t cv_skin2;
|
||||||
|
|
||||||
#ifdef SEENAMES
|
#ifdef SEENAMES
|
||||||
extern consvar_t cv_seenames, cv_allowseenames;
|
extern consvar_t cv_seenames, cv_allowseenames;
|
||||||
#endif
|
#endif
|
||||||
|
@ -32,7 +38,6 @@ extern consvar_t cv_joyport2;
|
||||||
#endif
|
#endif
|
||||||
extern consvar_t cv_joyscale;
|
extern consvar_t cv_joyscale;
|
||||||
extern consvar_t cv_joyscale2;
|
extern consvar_t cv_joyscale2;
|
||||||
extern consvar_t cv_controlperkey;
|
|
||||||
|
|
||||||
// splitscreen with second mouse
|
// splitscreen with second mouse
|
||||||
extern consvar_t cv_mouse2port;
|
extern consvar_t cv_mouse2port;
|
||||||
|
@ -40,11 +45,6 @@ extern consvar_t cv_usemouse2;
|
||||||
#if (defined (__unix__) && !defined (MSDOS)) || defined (UNIXCOMMON)
|
#if (defined (__unix__) && !defined (MSDOS)) || defined (UNIXCOMMON)
|
||||||
extern consvar_t cv_mouse2opt;
|
extern consvar_t cv_mouse2opt;
|
||||||
#endif
|
#endif
|
||||||
extern consvar_t cv_invertmouse2;
|
|
||||||
extern consvar_t cv_alwaysfreelook2;
|
|
||||||
extern consvar_t cv_mousemove2;
|
|
||||||
extern consvar_t cv_mousesens2;
|
|
||||||
extern consvar_t cv_mouseysens2;
|
|
||||||
|
|
||||||
// normally in p_mobj but the .h is not read
|
// normally in p_mobj but the .h is not read
|
||||||
extern consvar_t cv_itemrespawntime;
|
extern consvar_t cv_itemrespawntime;
|
||||||
|
@ -53,13 +53,6 @@ extern consvar_t cv_itemrespawn;
|
||||||
extern consvar_t cv_flagtime;
|
extern consvar_t cv_flagtime;
|
||||||
extern consvar_t cv_suddendeath;
|
extern consvar_t cv_suddendeath;
|
||||||
|
|
||||||
extern consvar_t cv_skin;
|
|
||||||
|
|
||||||
// secondary splitscreen player
|
|
||||||
extern consvar_t cv_playername2;
|
|
||||||
extern consvar_t cv_playercolor2;
|
|
||||||
extern consvar_t cv_skin2;
|
|
||||||
|
|
||||||
extern consvar_t cv_touchtag;
|
extern consvar_t cv_touchtag;
|
||||||
extern consvar_t cv_hidetime;
|
extern consvar_t cv_hidetime;
|
||||||
|
|
||||||
|
@ -77,9 +70,6 @@ extern consvar_t cv_autobalance;
|
||||||
extern consvar_t cv_teamscramble;
|
extern consvar_t cv_teamscramble;
|
||||||
extern consvar_t cv_scrambleonchange;
|
extern consvar_t cv_scrambleonchange;
|
||||||
|
|
||||||
extern consvar_t cv_useranalog, cv_useranalog2;
|
|
||||||
extern consvar_t cv_analog, cv_analog2;
|
|
||||||
|
|
||||||
extern consvar_t cv_netstat;
|
extern consvar_t cv_netstat;
|
||||||
#ifdef WALLSPLATS
|
#ifdef WALLSPLATS
|
||||||
extern consvar_t cv_splats;
|
extern consvar_t cv_splats;
|
||||||
|
@ -121,17 +111,7 @@ extern consvar_t cv_maxping;
|
||||||
|
|
||||||
extern consvar_t cv_skipmapcheck;
|
extern consvar_t cv_skipmapcheck;
|
||||||
|
|
||||||
extern consvar_t cv_sleep, cv_screenshot_option, cv_screenshot_folder;
|
extern consvar_t cv_sleep;
|
||||||
|
|
||||||
extern consvar_t cv_moviemode;
|
|
||||||
|
|
||||||
extern consvar_t cv_zlib_level, cv_zlib_memory, cv_zlib_strategy;
|
|
||||||
|
|
||||||
extern consvar_t cv_zlib_window_bits, cv_zlib_levela, cv_zlib_memorya;
|
|
||||||
|
|
||||||
extern consvar_t cv_zlib_strategya, cv_zlib_window_bitsa;
|
|
||||||
|
|
||||||
extern consvar_t cv_apng_delay;
|
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
|
|
|
@ -56,6 +56,9 @@ extern INT16 rw_maximums[NUM_WEAPONS];
|
||||||
// used in game menu
|
// used in game menu
|
||||||
extern consvar_t cv_crosshair, cv_crosshair2;
|
extern consvar_t cv_crosshair, cv_crosshair2;
|
||||||
extern consvar_t cv_invertmouse, cv_alwaysfreelook, cv_mousemove;
|
extern consvar_t cv_invertmouse, cv_alwaysfreelook, cv_mousemove;
|
||||||
|
extern consvar_t cv_invertmouse2, cv_alwaysfreelook2, cv_mousemove2;
|
||||||
|
extern consvar_t cv_useranalog, cv_useranalog2;
|
||||||
|
extern consvar_t cv_analog, cv_analog2;
|
||||||
extern consvar_t cv_sideaxis,cv_turnaxis,cv_moveaxis,cv_lookaxis,cv_fireaxis,cv_firenaxis;
|
extern consvar_t cv_sideaxis,cv_turnaxis,cv_moveaxis,cv_lookaxis,cv_fireaxis,cv_firenaxis;
|
||||||
extern consvar_t cv_sideaxis2,cv_turnaxis2,cv_moveaxis2,cv_lookaxis2,cv_fireaxis2,cv_firenaxis2;
|
extern consvar_t cv_sideaxis2,cv_turnaxis2,cv_moveaxis2,cv_lookaxis2,cv_fireaxis2,cv_firenaxis2;
|
||||||
extern consvar_t cv_ghost_bestscore, cv_ghost_besttime, cv_ghost_bestrings, cv_ghost_last, cv_ghost_guest;
|
extern consvar_t cv_ghost_bestscore, cv_ghost_besttime, cv_ghost_bestrings, cv_ghost_last, cv_ghost_guest;
|
||||||
|
|
|
@ -126,6 +126,8 @@ typedef enum
|
||||||
|
|
||||||
// mouse values are used once
|
// mouse values are used once
|
||||||
extern consvar_t cv_mousesens, cv_mouseysens;
|
extern consvar_t cv_mousesens, cv_mouseysens;
|
||||||
|
extern consvar_t cv_mousesens2, cv_mouseysens2;
|
||||||
|
extern consvar_t cv_controlperkey;
|
||||||
|
|
||||||
extern INT32 mousex, mousey;
|
extern INT32 mousex, mousey;
|
||||||
extern INT32 mlooky; //mousey with mlookSensitivity
|
extern INT32 mlooky; //mousey with mlookSensitivity
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
#include "tables.h"
|
#include "tables.h"
|
||||||
|
|
||||||
#include "d_event.h" // Screenshot responder
|
#include "d_event.h" // Screenshot responder
|
||||||
|
#include "command.h"
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
MM_OFF = 0,
|
MM_OFF = 0,
|
||||||
|
@ -28,6 +29,12 @@ typedef enum {
|
||||||
} moviemode_t;
|
} moviemode_t;
|
||||||
extern moviemode_t moviemode;
|
extern moviemode_t moviemode;
|
||||||
|
|
||||||
|
extern consvar_t cv_screenshot_option, cv_screenshot_folder;
|
||||||
|
extern consvar_t cv_moviemode;
|
||||||
|
extern consvar_t cv_zlib_memory, cv_zlib_level, cv_zlib_strategy, cv_zlib_window_bits;
|
||||||
|
extern consvar_t cv_zlib_memorya, cv_zlib_levela, cv_zlib_strategya, cv_zlib_window_bitsa;
|
||||||
|
extern consvar_t cv_apng_delay;
|
||||||
|
|
||||||
void M_StartMovie(void);
|
void M_StartMovie(void);
|
||||||
void M_SaveFrame(void);
|
void M_SaveFrame(void);
|
||||||
void M_StopMovie(void);
|
void M_StopMovie(void);
|
||||||
|
|
|
@ -161,6 +161,7 @@ void R_DrawSplat_8(void);
|
||||||
void R_DrawTranslucentSplat_8(void);
|
void R_DrawTranslucentSplat_8(void);
|
||||||
void R_DrawTranslucentSpan_8(void);
|
void R_DrawTranslucentSpan_8(void);
|
||||||
void R_Draw2sMultiPatchColumn_8(void);
|
void R_Draw2sMultiPatchColumn_8(void);
|
||||||
|
void R_Draw2sMultiPatchTranslucentColumn_8(void);
|
||||||
void R_DrawFogSpan_8(void);
|
void R_DrawFogSpan_8(void);
|
||||||
void R_DrawFogColumn_8(void);
|
void R_DrawFogColumn_8(void);
|
||||||
void R_DrawColumnShadowed_8(void);
|
void R_DrawColumnShadowed_8(void);
|
||||||
|
|
|
@ -203,6 +203,103 @@ void R_Draw2sMultiPatchColumn_8(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void R_Draw2sMultiPatchTranslucentColumn_8(void)
|
||||||
|
{
|
||||||
|
INT32 count;
|
||||||
|
register UINT8 *dest;
|
||||||
|
register fixed_t frac;
|
||||||
|
fixed_t fracstep;
|
||||||
|
|
||||||
|
count = dc_yh - dc_yl;
|
||||||
|
|
||||||
|
if (count < 0) // Zero length, column does not exceed a pixel.
|
||||||
|
return;
|
||||||
|
|
||||||
|
#ifdef RANGECHECK
|
||||||
|
if ((unsigned)dc_x >= (unsigned)vid.width || dc_yl < 0 || dc_yh >= vid.height)
|
||||||
|
return;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Framebuffer destination address.
|
||||||
|
// Use ylookup LUT to avoid multiply with ScreenWidth.
|
||||||
|
// Use columnofs LUT for subwindows?
|
||||||
|
|
||||||
|
//dest = ylookup[dc_yl] + columnofs[dc_x];
|
||||||
|
dest = &topleft[dc_yl*vid.width + dc_x];
|
||||||
|
|
||||||
|
count++;
|
||||||
|
|
||||||
|
// Determine scaling, which is the only mapping to be done.
|
||||||
|
fracstep = dc_iscale;
|
||||||
|
//frac = dc_texturemid + (dc_yl - centery)*fracstep;
|
||||||
|
frac = (dc_texturemid + FixedMul((dc_yl << FRACBITS) - centeryfrac, fracstep))*(!dc_hires);
|
||||||
|
|
||||||
|
// Inner loop that does the actual texture mapping, e.g. a DDA-like scaling.
|
||||||
|
// This is as fast as it gets.
|
||||||
|
{
|
||||||
|
register const UINT8 *source = dc_source;
|
||||||
|
register const UINT8 *transmap = dc_transmap;
|
||||||
|
register const lighttable_t *colormap = dc_colormap;
|
||||||
|
register INT32 heightmask = dc_texheight-1;
|
||||||
|
register UINT8 val;
|
||||||
|
if (dc_texheight & heightmask) // not a power of 2 -- killough
|
||||||
|
{
|
||||||
|
heightmask++;
|
||||||
|
heightmask <<= FRACBITS;
|
||||||
|
|
||||||
|
if (frac < 0)
|
||||||
|
while ((frac += heightmask) < 0);
|
||||||
|
else
|
||||||
|
while (frac >= heightmask)
|
||||||
|
frac -= heightmask;
|
||||||
|
|
||||||
|
do
|
||||||
|
{
|
||||||
|
// Re-map color indices from wall texture column
|
||||||
|
// using a lighting/special effects LUT.
|
||||||
|
// heightmask is the Tutti-Frutti fix
|
||||||
|
val = source[frac>>FRACBITS];
|
||||||
|
|
||||||
|
if (val != TRANSPARENTPIXEL)
|
||||||
|
*dest = *(transmap + (colormap[val]<<8) + (*dest));
|
||||||
|
|
||||||
|
dest += vid.width;
|
||||||
|
|
||||||
|
// Avoid overflow.
|
||||||
|
if (fracstep > 0x7FFFFFFF - frac)
|
||||||
|
frac += fracstep - heightmask;
|
||||||
|
else
|
||||||
|
frac += fracstep;
|
||||||
|
|
||||||
|
while (frac >= heightmask)
|
||||||
|
frac -= heightmask;
|
||||||
|
} while (--count);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
while ((count -= 2) >= 0) // texture height is a power of 2
|
||||||
|
{
|
||||||
|
val = source[(frac>>FRACBITS) & heightmask];
|
||||||
|
if (val != TRANSPARENTPIXEL)
|
||||||
|
*dest = *(transmap + (colormap[val]<<8) + (*dest));
|
||||||
|
dest += vid.width;
|
||||||
|
frac += fracstep;
|
||||||
|
val = source[(frac>>FRACBITS) & heightmask];
|
||||||
|
if (val != TRANSPARENTPIXEL)
|
||||||
|
*dest = *(transmap + (colormap[val]<<8) + (*dest));
|
||||||
|
dest += vid.width;
|
||||||
|
frac += fracstep;
|
||||||
|
}
|
||||||
|
if (count & 1)
|
||||||
|
{
|
||||||
|
val = source[(frac>>FRACBITS) & heightmask];
|
||||||
|
if (val != TRANSPARENTPIXEL)
|
||||||
|
*dest = *(transmap + (colormap[val]<<8) + (*dest));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** \brief The R_DrawShadeColumn_8 function
|
/** \brief The R_DrawShadeColumn_8 function
|
||||||
Experiment to make software go faster. Taken from the Boom source
|
Experiment to make software go faster. Taken from the Boom source
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -271,6 +271,8 @@ static void R_Render2sidedMultiPatchColumn(column_t *column)
|
||||||
|
|
||||||
if (colfunc == wallcolfunc)
|
if (colfunc == wallcolfunc)
|
||||||
twosmultipatchfunc();
|
twosmultipatchfunc();
|
||||||
|
else if (colfunc == fuzzcolfunc)
|
||||||
|
twosmultipatchtransfunc();
|
||||||
else
|
else
|
||||||
colfunc();
|
colfunc();
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,6 +49,7 @@ void (*splatfunc)(void); // span drawer w/ transparency
|
||||||
void (*basespanfunc)(void); // default span func for color mode
|
void (*basespanfunc)(void); // default span func for color mode
|
||||||
void (*transtransfunc)(void); // translucent translated column drawer
|
void (*transtransfunc)(void); // translucent translated column drawer
|
||||||
void (*twosmultipatchfunc)(void); // for cols with transparent pixels
|
void (*twosmultipatchfunc)(void); // for cols with transparent pixels
|
||||||
|
void (*twosmultipatchtransfunc)(void); // for cols with transparent pixels AND translucency
|
||||||
|
|
||||||
// ------------------
|
// ------------------
|
||||||
// global video state
|
// global video state
|
||||||
|
@ -127,6 +128,7 @@ void SCR_SetMode(void)
|
||||||
fuzzcolfunc = R_DrawTranslucentColumn_8;
|
fuzzcolfunc = R_DrawTranslucentColumn_8;
|
||||||
walldrawerfunc = R_DrawWallColumn_8;
|
walldrawerfunc = R_DrawWallColumn_8;
|
||||||
twosmultipatchfunc = R_Draw2sMultiPatchColumn_8;
|
twosmultipatchfunc = R_Draw2sMultiPatchColumn_8;
|
||||||
|
twosmultipatchtransfunc = R_Draw2sMultiPatchTranslucentColumn_8;
|
||||||
#ifdef RUSEASM
|
#ifdef RUSEASM
|
||||||
if (R_ASM)
|
if (R_ASM)
|
||||||
{
|
{
|
||||||
|
|
|
@ -136,6 +136,7 @@ extern void (*basespanfunc)(void);
|
||||||
extern void (*splatfunc)(void);
|
extern void (*splatfunc)(void);
|
||||||
extern void (*transtransfunc)(void);
|
extern void (*transtransfunc)(void);
|
||||||
extern void (*twosmultipatchfunc)(void);
|
extern void (*twosmultipatchfunc)(void);
|
||||||
|
extern void (*twosmultipatchtransfunc)(void);
|
||||||
|
|
||||||
// -----
|
// -----
|
||||||
// CPUID
|
// CPUID
|
||||||
|
|
Loading…
Reference in a new issue