mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-27 20:41:46 +00:00
Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook
This commit is contained in:
commit
5495fef76c
12 changed files with 155 additions and 128 deletions
|
|
@ -760,6 +760,7 @@ linedeftypes
|
||||||
flags128text = "[7] Intangible";
|
flags128text = "[7] Intangible";
|
||||||
flags256text = "[8] Stopped by pushables";
|
flags256text = "[8] Stopped by pushables";
|
||||||
flags512text = "[9] Render flats";
|
flags512text = "[9] Render flats";
|
||||||
|
flags8192text = "[13] Cut cyan flat pixels";
|
||||||
}
|
}
|
||||||
|
|
||||||
30
|
30
|
||||||
|
|
@ -914,6 +915,7 @@ linedeftypes
|
||||||
flags32text = "[5] Only block player";
|
flags32text = "[5] Only block player";
|
||||||
flags64text = "[6] Render insides";
|
flags64text = "[6] Render insides";
|
||||||
flags128text = "[7] Only block non-players";
|
flags128text = "[7] Only block non-players";
|
||||||
|
flags8192text = "[13] Cut cyan flat pixels";
|
||||||
3dfloor = true;
|
3dfloor = true;
|
||||||
3dfloorflags = "195F";
|
3dfloorflags = "195F";
|
||||||
flags643dfloorflagsadd = "7C80";
|
flags643dfloorflagsadd = "7C80";
|
||||||
|
|
@ -973,6 +975,7 @@ linedeftypes
|
||||||
flags32text = "[5] Only block player";
|
flags32text = "[5] Only block player";
|
||||||
flags64text = "[6] Don't cast shadow";
|
flags64text = "[6] Don't cast shadow";
|
||||||
flags128text = "[7] Render insides/block non-plr";
|
flags128text = "[7] Render insides/block non-plr";
|
||||||
|
flags8192text = "[13] Cut cyan flat pixels";
|
||||||
3dfloor = true;
|
3dfloor = true;
|
||||||
3dfloorflags = "200191F";
|
3dfloorflags = "200191F";
|
||||||
flags1283dfloorflagsadd = "7C80";
|
flags1283dfloorflagsadd = "7C80";
|
||||||
|
|
@ -986,6 +989,7 @@ linedeftypes
|
||||||
flags32text = "[5] Only block player";
|
flags32text = "[5] Only block player";
|
||||||
flags64text = "[6] Don't cast shadow";
|
flags64text = "[6] Don't cast shadow";
|
||||||
flags128text = "[7] Render insides/block non-plr";
|
flags128text = "[7] Render insides/block non-plr";
|
||||||
|
flags8192text = "[13] Cut cyan flat pixels";
|
||||||
3dfloor = true;
|
3dfloor = true;
|
||||||
3dfloorflags = "2001917";
|
3dfloorflags = "2001917";
|
||||||
flags1283dfloorflagsadd = "7C80";
|
flags1283dfloorflagsadd = "7C80";
|
||||||
|
|
@ -1013,6 +1017,7 @@ linedeftypes
|
||||||
flags32text = "[5] Only block player";
|
flags32text = "[5] Only block player";
|
||||||
flags64text = "[6] Don't cast shadow";
|
flags64text = "[6] Don't cast shadow";
|
||||||
flags128text = "[7] Render insides/block non-plr";
|
flags128text = "[7] Render insides/block non-plr";
|
||||||
|
flags8192text = "[13] Cut cyan flat pixels";
|
||||||
3dfloor = true;
|
3dfloor = true;
|
||||||
3dfloorflags = "400191F";
|
3dfloorflags = "400191F";
|
||||||
flags1283dfloorflagsadd = "7C80";
|
flags1283dfloorflagsadd = "7C80";
|
||||||
|
|
@ -1026,6 +1031,7 @@ linedeftypes
|
||||||
flags32text = "[5] Only block player";
|
flags32text = "[5] Only block player";
|
||||||
flags64text = "[6] Don't cast shadow";
|
flags64text = "[6] Don't cast shadow";
|
||||||
flags128text = "[7] Render insides/block non-plr";
|
flags128text = "[7] Render insides/block non-plr";
|
||||||
|
flags8192text = "[13] Cut cyan flat pixels";
|
||||||
3dfloor = true;
|
3dfloor = true;
|
||||||
3dfloorflags = "4001917";
|
3dfloorflags = "4001917";
|
||||||
flags1283dfloorflagsadd = "7C80";
|
flags1283dfloorflagsadd = "7C80";
|
||||||
|
|
@ -1071,6 +1077,7 @@ linedeftypes
|
||||||
flags64text = "[6] Use two light levels";
|
flags64text = "[6] Use two light levels";
|
||||||
flags512text = "[9] Use target light level";
|
flags512text = "[9] Use target light level";
|
||||||
flags1024text = "[10] Ripple effect";
|
flags1024text = "[10] Ripple effect";
|
||||||
|
flags8192text = "[13] Cut cyan flat pixels";
|
||||||
3dfloor = true;
|
3dfloor = true;
|
||||||
3dfloorflags = "9F39";
|
3dfloorflags = "9F39";
|
||||||
flags643dfloorflagsadd = "20000";
|
flags643dfloorflagsadd = "20000";
|
||||||
|
|
@ -1099,6 +1106,7 @@ linedeftypes
|
||||||
flags64text = "[6] Use two light levels";
|
flags64text = "[6] Use two light levels";
|
||||||
flags512text = "[9] Use target light level";
|
flags512text = "[9] Use target light level";
|
||||||
flags1024text = "[10] Ripple effect";
|
flags1024text = "[10] Ripple effect";
|
||||||
|
flags8192text = "[13] Cut cyan flat pixels";
|
||||||
3dfloor = true;
|
3dfloor = true;
|
||||||
3dfloorflags = "1F31";
|
3dfloorflags = "1F31";
|
||||||
flags643dfloorflagsadd = "20000";
|
flags643dfloorflagsadd = "20000";
|
||||||
|
|
@ -1114,6 +1122,7 @@ linedeftypes
|
||||||
flags64text = "[6] Use two light levels";
|
flags64text = "[6] Use two light levels";
|
||||||
flags512text = "[9] Use target light level";
|
flags512text = "[9] Use target light level";
|
||||||
flags1024text = "[10] Ripple effect";
|
flags1024text = "[10] Ripple effect";
|
||||||
|
flags8192text = "[13] Cut cyan flat pixels";
|
||||||
3dfloor = true;
|
3dfloor = true;
|
||||||
3dfloorflags = "209F39";
|
3dfloorflags = "209F39";
|
||||||
flags643dfloorflagsadd = "20000";
|
flags643dfloorflagsadd = "20000";
|
||||||
|
|
@ -1128,6 +1137,7 @@ linedeftypes
|
||||||
flags64text = "[6] Use two light levels";
|
flags64text = "[6] Use two light levels";
|
||||||
flags512text = "[9] Use target light level";
|
flags512text = "[9] Use target light level";
|
||||||
flags1024text = "[10] Ripple effect";
|
flags1024text = "[10] Ripple effect";
|
||||||
|
flags8192text = "[13] Cut cyan flat pixels";
|
||||||
3dfloor = true;
|
3dfloor = true;
|
||||||
3dfloorflags = "201F31";
|
3dfloorflags = "201F31";
|
||||||
flags643dfloorflagsadd = "20000";
|
flags643dfloorflagsadd = "20000";
|
||||||
|
|
@ -1150,6 +1160,7 @@ linedeftypes
|
||||||
prefix = "(221)";
|
prefix = "(221)";
|
||||||
flags8text = "[3] Slope skew sides";
|
flags8text = "[3] Slope skew sides";
|
||||||
flags64text = "[6] Cast shadow";
|
flags64text = "[6] Cast shadow";
|
||||||
|
flags8192text = "[13] Cut cyan flat pixels";
|
||||||
3dfloor = true;
|
3dfloor = true;
|
||||||
3dfloorflags = "1B59";
|
3dfloorflags = "1B59";
|
||||||
flags643dfloorflagsremove = "40";
|
flags643dfloorflagsremove = "40";
|
||||||
|
|
@ -1273,6 +1284,7 @@ linedeftypes
|
||||||
flags32text = "[5] Only block player";
|
flags32text = "[5] Only block player";
|
||||||
flags64text = "[6] Spindash to move";
|
flags64text = "[6] Spindash to move";
|
||||||
flags128text = "[7] Only block non-players";
|
flags128text = "[7] Only block non-players";
|
||||||
|
flags8192text = "[13] Cut cyan flat pixels";
|
||||||
3dfloor = true;
|
3dfloor = true;
|
||||||
3dfloorflags = "195F";
|
3dfloorflags = "195F";
|
||||||
}
|
}
|
||||||
|
|
@ -1312,6 +1324,7 @@ linedeftypes
|
||||||
flags32text = "[5] Only block player";
|
flags32text = "[5] Only block player";
|
||||||
flags64text = "[6] Spindash, no shadow";
|
flags64text = "[6] Spindash, no shadow";
|
||||||
flags128text = "[7] Only block non-players";
|
flags128text = "[7] Only block non-players";
|
||||||
|
flags8192text = "[13] Cut cyan flat pixels";
|
||||||
3dfloor = true;
|
3dfloor = true;
|
||||||
3dfloorflags = "2009D1F";
|
3dfloorflags = "2009D1F";
|
||||||
flags643dfloorflagsadd = "40";
|
flags643dfloorflagsadd = "40";
|
||||||
|
|
@ -1378,6 +1391,7 @@ linedeftypes
|
||||||
flags32text = "[5] Only block player";
|
flags32text = "[5] Only block player";
|
||||||
flags64text = "[6] Don't cast shadow";
|
flags64text = "[6] Don't cast shadow";
|
||||||
flags128text = "[7] Only block non-players";
|
flags128text = "[7] Only block non-players";
|
||||||
|
flags8192text = "[13] Cut cyan flat pixels";
|
||||||
3dfloor = true;
|
3dfloor = true;
|
||||||
3dfloorflags = "210959F";
|
3dfloorflags = "210959F";
|
||||||
flags643dfloorflagsadd = "40";
|
flags643dfloorflagsadd = "40";
|
||||||
|
|
@ -1391,6 +1405,7 @@ linedeftypes
|
||||||
flags32text = "[5] Only block player";
|
flags32text = "[5] Only block player";
|
||||||
flags64text = "[6] Don't cast shadow";
|
flags64text = "[6] Don't cast shadow";
|
||||||
flags128text = "[7] Only block non-players";
|
flags128text = "[7] Only block non-players";
|
||||||
|
flags8192text = "[13] Cut cyan flat pixels";
|
||||||
3dfloor = true;
|
3dfloor = true;
|
||||||
3dfloorflags = "218959F";
|
3dfloorflags = "218959F";
|
||||||
flags643dfloorflagsadd = "40";
|
flags643dfloorflagsadd = "40";
|
||||||
|
|
@ -1529,6 +1544,7 @@ linedeftypes
|
||||||
flags8text = "[3] Slope skew sides";
|
flags8text = "[3] Slope skew sides";
|
||||||
flags512text = "[9] Shattered by pushables";
|
flags512text = "[9] Shattered by pushables";
|
||||||
flags1024text = "[10] Trigger linedef executor";
|
flags1024text = "[10] Trigger linedef executor";
|
||||||
|
flags8192text = "[13] Cut cyan flat pixels";
|
||||||
3dfloor = true;
|
3dfloor = true;
|
||||||
3dfloorflags = "880101D";
|
3dfloorflags = "880101D";
|
||||||
}
|
}
|
||||||
|
|
@ -1570,6 +1586,7 @@ linedeftypes
|
||||||
flags128text = "[7] Only block non-players";
|
flags128text = "[7] Only block non-players";
|
||||||
flags512text = "[9] Shattered by pushables";
|
flags512text = "[9] Shattered by pushables";
|
||||||
flags1024text = "[10] Trigger linedef executor";
|
flags1024text = "[10] Trigger linedef executor";
|
||||||
|
flags8192text = "[13] Cut cyan flat pixels";
|
||||||
3dfloor = true;
|
3dfloor = true;
|
||||||
3dfloorflags = "1080101F";
|
3dfloorflags = "1080101F";
|
||||||
}
|
}
|
||||||
|
|
@ -1591,6 +1608,7 @@ linedeftypes
|
||||||
prefix = "(258)";
|
prefix = "(258)";
|
||||||
flags8text = "[3] Slope skew sides";
|
flags8text = "[3] Slope skew sides";
|
||||||
flags32text = "[5] Don't damage bosses";
|
flags32text = "[5] Don't damage bosses";
|
||||||
|
flags8192text = "[13] Cut cyan flat pixels";
|
||||||
3dfloor = true;
|
3dfloor = true;
|
||||||
3dfloorflags = "959";
|
3dfloorflags = "959";
|
||||||
}
|
}
|
||||||
|
|
@ -1604,6 +1622,7 @@ linedeftypes
|
||||||
flags128text = "[7] Only block non-players";
|
flags128text = "[7] Only block non-players";
|
||||||
flags512text = "[9] Shattered by pushables";
|
flags512text = "[9] Shattered by pushables";
|
||||||
flags1024text = "[10] Trigger linedef executor";
|
flags1024text = "[10] Trigger linedef executor";
|
||||||
|
flags8192text = "[13] Cut cyan flat pixels";
|
||||||
3dfloor = true;
|
3dfloor = true;
|
||||||
3dfloorcustom = true;
|
3dfloorcustom = true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -395,7 +395,7 @@ static void readPlayer(MYFILE *f, INT32 num)
|
||||||
// It works down here, though.
|
// It works down here, though.
|
||||||
{
|
{
|
||||||
INT32 numline = 0;
|
INT32 numline = 0;
|
||||||
for (i = 0; i < MAXLINELEN-1; i++)
|
for (i = 0; (size_t)i < sizeof(description[num].notes)-1; i++)
|
||||||
{
|
{
|
||||||
if (numline < 20 && description[num].notes[i] == '\n')
|
if (numline < 20 && description[num].notes[i] == '\n')
|
||||||
numline++;
|
numline++;
|
||||||
|
|
@ -1265,7 +1265,7 @@ static void readgametype(MYFILE *f, char *gtname)
|
||||||
// It works down here, though.
|
// It works down here, though.
|
||||||
{
|
{
|
||||||
INT32 numline = 0;
|
INT32 numline = 0;
|
||||||
for (i = 0; i < MAXLINELEN-1; i++)
|
for (i = 0; (size_t)i < sizeof(gtdescription)-1; i++)
|
||||||
{
|
{
|
||||||
if (numline < 20 && gtdescription[i] == '\n')
|
if (numline < 20 && gtdescription[i] == '\n')
|
||||||
numline++;
|
numline++;
|
||||||
|
|
|
||||||
10
src/g_demo.c
10
src/g_demo.c
|
|
@ -765,7 +765,7 @@ void G_GhostTicker(void)
|
||||||
if (xziptic & EZT_THOKMASK)
|
if (xziptic & EZT_THOKMASK)
|
||||||
{ // Let's only spawn ONE of these per frame, thanks.
|
{ // Let's only spawn ONE of these per frame, thanks.
|
||||||
mobj_t *mobj;
|
mobj_t *mobj;
|
||||||
INT32 type = -1;
|
UINT32 type = MT_NULL;
|
||||||
if (g->mo->skin)
|
if (g->mo->skin)
|
||||||
{
|
{
|
||||||
skin_t *skin = (skin_t *)g->mo->skin;
|
skin_t *skin = (skin_t *)g->mo->skin;
|
||||||
|
|
@ -997,7 +997,11 @@ void G_ReadMetalTic(mobj_t *metal)
|
||||||
// Read changes from the tic
|
// Read changes from the tic
|
||||||
if (ziptic & GZT_XYZ)
|
if (ziptic & GZT_XYZ)
|
||||||
{
|
{
|
||||||
P_TeleportMove(metal, READFIXED(metal_p), READFIXED(metal_p), READFIXED(metal_p));
|
// make sure the values are read in the right order
|
||||||
|
oldmetal.x = READFIXED(metal_p);
|
||||||
|
oldmetal.y = READFIXED(metal_p);
|
||||||
|
oldmetal.z = READFIXED(metal_p);
|
||||||
|
P_TeleportMove(metal, oldmetal.x, oldmetal.y, oldmetal.z);
|
||||||
oldmetal.x = metal->x;
|
oldmetal.x = metal->x;
|
||||||
oldmetal.y = metal->y;
|
oldmetal.y = metal->y;
|
||||||
oldmetal.z = metal->z;
|
oldmetal.z = metal->z;
|
||||||
|
|
@ -1052,7 +1056,7 @@ void G_ReadMetalTic(mobj_t *metal)
|
||||||
if (xziptic & EZT_THOKMASK)
|
if (xziptic & EZT_THOKMASK)
|
||||||
{ // Let's only spawn ONE of these per frame, thanks.
|
{ // Let's only spawn ONE of these per frame, thanks.
|
||||||
mobj_t *mobj;
|
mobj_t *mobj;
|
||||||
INT32 type = -1;
|
UINT32 type = MT_NULL;
|
||||||
if (metal->skin)
|
if (metal->skin)
|
||||||
{
|
{
|
||||||
skin_t *skin = (skin_t *)metal->skin;
|
skin_t *skin = (skin_t *)metal->skin;
|
||||||
|
|
|
||||||
|
|
@ -1771,7 +1771,7 @@ void P_XYMovement(mobj_t *mo)
|
||||||
fixed_t oldx, oldy; // reducing bobbing/momentum on ice when up against walls
|
fixed_t oldx, oldy; // reducing bobbing/momentum on ice when up against walls
|
||||||
boolean moved;
|
boolean moved;
|
||||||
pslope_t *oldslope = NULL;
|
pslope_t *oldslope = NULL;
|
||||||
vector3_t slopemom;
|
vector3_t slopemom = {0,0,0};
|
||||||
fixed_t predictedz = 0;
|
fixed_t predictedz = 0;
|
||||||
|
|
||||||
I_Assert(mo != NULL);
|
I_Assert(mo != NULL);
|
||||||
|
|
@ -2981,6 +2981,8 @@ static void P_PlayerZMovement(mobj_t *mo)
|
||||||
|
|
||||||
mo->eflags |= MFE_JUSTHITFLOOR; // Spin Attack
|
mo->eflags |= MFE_JUSTHITFLOOR; // Spin Attack
|
||||||
|
|
||||||
|
clipmomz = P_PlayerHitFloor(mo->player, true);
|
||||||
|
|
||||||
if (!P_PlayerPolyObjectZMovement(mo))
|
if (!P_PlayerPolyObjectZMovement(mo))
|
||||||
{
|
{
|
||||||
// Cut momentum in half when you hit the ground and
|
// Cut momentum in half when you hit the ground and
|
||||||
|
|
@ -2992,8 +2994,6 @@ static void P_PlayerZMovement(mobj_t *mo)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
clipmomz = P_PlayerHitFloor(mo->player, true);
|
|
||||||
|
|
||||||
if (!(mo->player->pflags & PF_SPINNING) && mo->player->powers[pw_carry] != CR_NIGHTSMODE)
|
if (!(mo->player->pflags & PF_SPINNING) && mo->player->powers[pw_carry] != CR_NIGHTSMODE)
|
||||||
mo->player->pflags &= ~PF_STARTDASH;
|
mo->player->pflags &= ~PF_STARTDASH;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -240,6 +240,9 @@ static void Polyobj_GetInfo(polyobj_t *po)
|
||||||
/*if (lines[i].flags & ML_EFFECT5)
|
/*if (lines[i].flags & ML_EFFECT5)
|
||||||
po->flags &= ~POF_CLIPPLANES;*/
|
po->flags &= ~POF_CLIPPLANES;*/
|
||||||
|
|
||||||
|
if (lines[i].flags & ML_EFFECT6)
|
||||||
|
po->flags |= POF_SPLAT;
|
||||||
|
|
||||||
if (lines[i].flags & ML_NOCLIMB) // Has a linedef executor
|
if (lines[i].flags & ML_NOCLIMB) // Has a linedef executor
|
||||||
po->flags |= POF_LDEXEC;
|
po->flags |= POF_LDEXEC;
|
||||||
}
|
}
|
||||||
|
|
@ -1039,7 +1042,7 @@ static boolean Polyobj_moveXY(polyobj_t *po, fixed_t x, fixed_t y, boolean check
|
||||||
// The formula for this can be found here:
|
// The formula for this can be found here:
|
||||||
// http://www.inversereality.org/tutorials/graphics%20programming/2dtransformations.html
|
// http://www.inversereality.org/tutorials/graphics%20programming/2dtransformations.html
|
||||||
// It is, of course, just a vector-matrix multiplication.
|
// It is, of course, just a vector-matrix multiplication.
|
||||||
static inline void Polyobj_rotatePoint(vertex_t *v, const vertex_t *c, angle_t ang)
|
static inline void Polyobj_rotatePoint(vertex_t *v, const vector2_t *c, angle_t ang)
|
||||||
{
|
{
|
||||||
vertex_t tmp = *v;
|
vertex_t tmp = *v;
|
||||||
|
|
||||||
|
|
@ -1092,7 +1095,7 @@ static void Polyobj_rotateLine(line_t *ld)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Causes objects resting on top of the rotating polyobject to 'ride' with its movement.
|
// Causes objects resting on top of the rotating polyobject to 'ride' with its movement.
|
||||||
static void Polyobj_rotateThings(polyobj_t *po, vertex_t origin, angle_t delta, UINT8 turnthings)
|
static void Polyobj_rotateThings(polyobj_t *po, vector2_t origin, angle_t delta, UINT8 turnthings)
|
||||||
{
|
{
|
||||||
static INT32 pomovecount = 10000;
|
static INT32 pomovecount = 10000;
|
||||||
INT32 x, y;
|
INT32 x, y;
|
||||||
|
|
@ -1172,7 +1175,7 @@ static boolean Polyobj_rotate(polyobj_t *po, angle_t delta, UINT8 turnthings, bo
|
||||||
{
|
{
|
||||||
size_t i;
|
size_t i;
|
||||||
angle_t angle;
|
angle_t angle;
|
||||||
vertex_t origin;
|
vector2_t origin;
|
||||||
INT32 hitflags = 0;
|
INT32 hitflags = 0;
|
||||||
|
|
||||||
// don't move bad polyobjects
|
// don't move bad polyobjects
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ typedef enum
|
||||||
POF_SOLID = 0x3, ///< Clips things.
|
POF_SOLID = 0x3, ///< Clips things.
|
||||||
POF_TESTHEIGHT = 0x4, ///< Test line collision with heights
|
POF_TESTHEIGHT = 0x4, ///< Test line collision with heights
|
||||||
POF_RENDERSIDES = 0x8, ///< Renders the sides.
|
POF_RENDERSIDES = 0x8, ///< Renders the sides.
|
||||||
POF_RENDERTOP = 0x10, ///< Renders the top..
|
POF_RENDERTOP = 0x10, ///< Renders the top.
|
||||||
POF_RENDERBOTTOM = 0x20, ///< Renders the bottom.
|
POF_RENDERBOTTOM = 0x20, ///< Renders the bottom.
|
||||||
POF_RENDERPLANES = 0x30, ///< Renders top and bottom.
|
POF_RENDERPLANES = 0x30, ///< Renders top and bottom.
|
||||||
POF_RENDERALL = 0x38, ///< Renders everything.
|
POF_RENDERALL = 0x38, ///< Renders everything.
|
||||||
|
|
@ -49,6 +49,7 @@ typedef enum
|
||||||
POF_LDEXEC = 0x400, ///< This PO triggers a linedef executor.
|
POF_LDEXEC = 0x400, ///< This PO triggers a linedef executor.
|
||||||
POF_ONESIDE = 0x800, ///< Only use the first side of the linedef.
|
POF_ONESIDE = 0x800, ///< Only use the first side of the linedef.
|
||||||
POF_NOSPECIALS = 0x1000, ///< Don't apply sector specials.
|
POF_NOSPECIALS = 0x1000, ///< Don't apply sector specials.
|
||||||
|
POF_SPLAT = 0x2000, ///< Use splat flat renderer (treat cyan pixels as invisible).
|
||||||
} polyobjflags_e;
|
} polyobjflags_e;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
||||||
|
|
@ -943,23 +943,23 @@ void R_DrawSinglePlane(visplane_t *pl)
|
||||||
#endif
|
#endif
|
||||||
spanfunc = spanfuncs[BASEDRAWFUNC];
|
spanfunc = spanfuncs[BASEDRAWFUNC];
|
||||||
|
|
||||||
if (pl->polyobj && pl->polyobj->translucency != 0)
|
if (pl->polyobj)
|
||||||
{
|
{
|
||||||
spanfunctype = SPANDRAWFUNC_TRANS;
|
|
||||||
|
|
||||||
// Hacked up support for alpha value in software mode Tails 09-24-2002 (sidenote: ported to polys 10-15-2014, there was no time travel involved -Red)
|
// Hacked up support for alpha value in software mode Tails 09-24-2002 (sidenote: ported to polys 10-15-2014, there was no time travel involved -Red)
|
||||||
if (pl->polyobj->translucency >= 10)
|
if (pl->polyobj->translucency >= 10)
|
||||||
return; // Don't even draw it
|
return; // Don't even draw it
|
||||||
else if (pl->polyobj->translucency > 0)
|
else if (pl->polyobj->translucency > 0)
|
||||||
|
{
|
||||||
|
spanfunctype = (pl->polyobj->flags & POF_SPLAT) ? SPANDRAWFUNC_TRANSSPLAT : SPANDRAWFUNC_TRANS;
|
||||||
ds_transmap = transtables + ((pl->polyobj->translucency-1)<<FF_TRANSSHIFT);
|
ds_transmap = transtables + ((pl->polyobj->translucency-1)<<FF_TRANSSHIFT);
|
||||||
else // Opaque, but allow transparent flat pixels
|
}
|
||||||
|
else if (pl->polyobj->flags & POF_SPLAT) // Opaque, but allow transparent flat pixels
|
||||||
spanfunctype = SPANDRAWFUNC_SPLAT;
|
spanfunctype = SPANDRAWFUNC_SPLAT;
|
||||||
|
|
||||||
if ((spanfunctype == SPANDRAWFUNC_SPLAT) || (pl->extra_colormap && (pl->extra_colormap->flags & CMF_FOG)))
|
if (pl->polyobj->translucency == 0 || (pl->extra_colormap && (pl->extra_colormap->flags & CMF_FOG)))
|
||||||
light = (pl->lightlevel >> LIGHTSEGSHIFT);
|
light = (pl->lightlevel >> LIGHTSEGSHIFT);
|
||||||
else
|
else
|
||||||
light = LIGHTLEVELS-1;
|
light = LIGHTLEVELS-1;
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -984,7 +984,7 @@ void R_DrawSinglePlane(visplane_t *pl)
|
||||||
|
|
||||||
if (pl->ffloor->flags & FF_TRANSLUCENT)
|
if (pl->ffloor->flags & FF_TRANSLUCENT)
|
||||||
{
|
{
|
||||||
spanfunctype = SPANDRAWFUNC_TRANS;
|
spanfunctype = (pl->ffloor->master->flags & ML_EFFECT6) ? SPANDRAWFUNC_TRANSSPLAT : SPANDRAWFUNC_TRANS;
|
||||||
|
|
||||||
// Hacked up support for alpha value in software mode Tails 09-24-2002
|
// Hacked up support for alpha value in software mode Tails 09-24-2002
|
||||||
if (pl->ffloor->alpha < 12)
|
if (pl->ffloor->alpha < 12)
|
||||||
|
|
|
||||||
|
|
@ -338,6 +338,7 @@
|
||||||
<ClCompile Include="..\blua\lfunc.c" />
|
<ClCompile Include="..\blua\lfunc.c" />
|
||||||
<ClCompile Include="..\blua\lgc.c" />
|
<ClCompile Include="..\blua\lgc.c" />
|
||||||
<ClCompile Include="..\blua\linit.c" />
|
<ClCompile Include="..\blua\linit.c" />
|
||||||
|
<ClCompile Include="..\blua\liolib.c" />
|
||||||
<ClCompile Include="..\blua\llex.c" />
|
<ClCompile Include="..\blua\llex.c" />
|
||||||
<ClCompile Include="..\blua\lmem.c" />
|
<ClCompile Include="..\blua\lmem.c" />
|
||||||
<ClCompile Include="..\blua\lobject.c" />
|
<ClCompile Include="..\blua\lobject.c" />
|
||||||
|
|
|
||||||
|
|
@ -534,6 +534,9 @@
|
||||||
<ClCompile Include="..\blua\linit.c">
|
<ClCompile Include="..\blua\linit.c">
|
||||||
<Filter>BLUA</Filter>
|
<Filter>BLUA</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\blua\liolib.c">
|
||||||
|
<Filter>BLUA</Filter>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="..\blua\llex.c">
|
<ClCompile Include="..\blua\llex.c">
|
||||||
<Filter>BLUA</Filter>
|
<Filter>BLUA</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
|
|
||||||
171
src/sdl/i_main.c
171
src/sdl/i_main.c
|
|
@ -103,6 +103,93 @@ static inline VOID MakeCodeWritable(VOID)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef LOGMESSAGES
|
||||||
|
static void InitLogging(void)
|
||||||
|
{
|
||||||
|
const char *logdir = NULL;
|
||||||
|
time_t my_time;
|
||||||
|
struct tm * timeinfo;
|
||||||
|
const char *format;
|
||||||
|
const char *reldir;
|
||||||
|
int left;
|
||||||
|
boolean fileabs;
|
||||||
|
#if defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)
|
||||||
|
const char *link;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
logdir = D_Home();
|
||||||
|
|
||||||
|
my_time = time(NULL);
|
||||||
|
timeinfo = localtime(&my_time);
|
||||||
|
|
||||||
|
if (M_CheckParm("-logfile") && M_IsNextParm())
|
||||||
|
{
|
||||||
|
format = M_GetNextParm();
|
||||||
|
fileabs = M_IsPathAbsolute(format);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
format = "log-%Y-%m-%d_%H-%M-%S.txt";
|
||||||
|
fileabs = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fileabs)
|
||||||
|
{
|
||||||
|
strftime(logfilename, sizeof logfilename, format, timeinfo);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (M_CheckParm("-logdir") && M_IsNextParm())
|
||||||
|
reldir = M_GetNextParm();
|
||||||
|
else
|
||||||
|
reldir = "logs";
|
||||||
|
|
||||||
|
if (M_IsPathAbsolute(reldir))
|
||||||
|
{
|
||||||
|
left = snprintf(logfilename, sizeof logfilename,
|
||||||
|
"%s"PATHSEP, reldir);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
#ifdef DEFAULTDIR
|
||||||
|
if (logdir)
|
||||||
|
{
|
||||||
|
left = snprintf(logfilename, sizeof logfilename,
|
||||||
|
"%s"PATHSEP DEFAULTDIR PATHSEP"%s"PATHSEP, logdir, reldir);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
#endif/*DEFAULTDIR*/
|
||||||
|
{
|
||||||
|
left = snprintf(logfilename, sizeof logfilename,
|
||||||
|
"."PATHSEP"%s"PATHSEP, reldir);
|
||||||
|
}
|
||||||
|
|
||||||
|
strftime(&logfilename[left], sizeof logfilename - left,
|
||||||
|
format, timeinfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
M_MkdirEachUntil(logfilename,
|
||||||
|
M_PathParts(logdir) - 1,
|
||||||
|
M_PathParts(logfilename) - 1, 0755);
|
||||||
|
|
||||||
|
#if defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)
|
||||||
|
logstream = fopen(logfilename, "w");
|
||||||
|
#ifdef DEFAULTDIR
|
||||||
|
if (logdir)
|
||||||
|
link = va("%s/"DEFAULTDIR"/latest-log.txt", logdir);
|
||||||
|
else
|
||||||
|
#endif/*DEFAULTDIR*/
|
||||||
|
link = "latest-log.txt";
|
||||||
|
unlink(link);
|
||||||
|
if (symlink(logfilename, link) == -1)
|
||||||
|
{
|
||||||
|
I_OutputMsg("Error symlinking latest-log.txt: %s\n", strerror(errno));
|
||||||
|
}
|
||||||
|
#else/*defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)*/
|
||||||
|
logstream = fopen("latest-log.txt", "wt+");
|
||||||
|
#endif/*defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)*/
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/** \brief The main function
|
/** \brief The main function
|
||||||
|
|
||||||
|
|
@ -121,7 +208,6 @@ int SDL_main(int argc, char **argv)
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
const char *logdir = NULL;
|
|
||||||
myargc = argc;
|
myargc = argc;
|
||||||
myargv = argv; /// \todo pull out path to exe from this string
|
myargv = argv; /// \todo pull out path to exe from this string
|
||||||
|
|
||||||
|
|
@ -135,90 +221,9 @@ int main(int argc, char **argv)
|
||||||
|
|
||||||
#ifdef LOGMESSAGES
|
#ifdef LOGMESSAGES
|
||||||
if (!M_CheckParm("-nolog"))
|
if (!M_CheckParm("-nolog"))
|
||||||
{
|
InitLogging();
|
||||||
time_t my_time;
|
|
||||||
struct tm * timeinfo;
|
|
||||||
const char *format;
|
|
||||||
const char *reldir;
|
|
||||||
int left;
|
|
||||||
boolean fileabs;
|
|
||||||
#if defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)
|
|
||||||
const char *link;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
logdir = D_Home();
|
|
||||||
|
|
||||||
my_time = time(NULL);
|
|
||||||
timeinfo = localtime(&my_time);
|
|
||||||
|
|
||||||
if (M_CheckParm("-logfile") && M_IsNextParm())
|
|
||||||
{
|
|
||||||
format = M_GetNextParm();
|
|
||||||
fileabs = M_IsPathAbsolute(format);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
format = "log-%Y-%m-%d_%H-%M-%S.txt";
|
|
||||||
fileabs = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (fileabs)
|
|
||||||
{
|
|
||||||
strftime(logfilename, sizeof logfilename, format, timeinfo);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (M_CheckParm("-logdir") && M_IsNextParm())
|
|
||||||
reldir = M_GetNextParm();
|
|
||||||
else
|
|
||||||
reldir = "logs";
|
|
||||||
|
|
||||||
if (M_IsPathAbsolute(reldir))
|
|
||||||
{
|
|
||||||
left = snprintf(logfilename, sizeof logfilename,
|
|
||||||
"%s"PATHSEP, reldir);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
#ifdef DEFAULTDIR
|
|
||||||
if (logdir)
|
|
||||||
{
|
|
||||||
left = snprintf(logfilename, sizeof logfilename,
|
|
||||||
"%s"PATHSEP DEFAULTDIR PATHSEP"%s"PATHSEP, logdir, reldir);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
#endif/*DEFAULTDIR*/
|
|
||||||
{
|
|
||||||
left = snprintf(logfilename, sizeof logfilename,
|
|
||||||
"."PATHSEP"%s"PATHSEP, reldir);
|
|
||||||
}
|
|
||||||
#endif/*LOGMESSAGES*/
|
#endif/*LOGMESSAGES*/
|
||||||
|
|
||||||
strftime(&logfilename[left], sizeof logfilename - left,
|
|
||||||
format, timeinfo);
|
|
||||||
}
|
|
||||||
|
|
||||||
M_MkdirEachUntil(logfilename,
|
|
||||||
M_PathParts(logdir) - 1,
|
|
||||||
M_PathParts(logfilename) - 1, 0755);
|
|
||||||
|
|
||||||
#if defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)
|
|
||||||
logstream = fopen(logfilename, "w");
|
|
||||||
#ifdef DEFAULTDIR
|
|
||||||
if (logdir)
|
|
||||||
link = va("%s/"DEFAULTDIR"/latest-log.txt", logdir);
|
|
||||||
else
|
|
||||||
#endif/*DEFAULTDIR*/
|
|
||||||
link = "latest-log.txt";
|
|
||||||
unlink(link);
|
|
||||||
if (symlink(logfilename, link) == -1)
|
|
||||||
{
|
|
||||||
I_OutputMsg("Error symlinking latest-log.txt: %s\n", strerror(errno));
|
|
||||||
}
|
|
||||||
#else/*defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)*/
|
|
||||||
logstream = fopen("latest-log.txt", "wt+");
|
|
||||||
#endif/*defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)*/
|
|
||||||
}
|
|
||||||
|
|
||||||
//I_OutputMsg("I_StartupSystem() ...\n");
|
//I_OutputMsg("I_StartupSystem() ...\n");
|
||||||
I_StartupSystem();
|
I_StartupSystem();
|
||||||
#if defined (_WIN32)
|
#if defined (_WIN32)
|
||||||
|
|
|
||||||
|
|
@ -3710,7 +3710,7 @@ void V_Init(void)
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
CONS_Debug(DBG_RENDER, "V_Init done:\n");
|
CONS_Debug(DBG_RENDER, "V_Init done:\n");
|
||||||
for (i = 0; i < NUMSCREENS+1; i++)
|
for (i = 0; i < NUMSCREENS; i++)
|
||||||
CONS_Debug(DBG_RENDER, " screens[%d] = %x\n", i, screens[i]);
|
CONS_Debug(DBG_RENDER, " screens[%d] = %x\n", i, screens[i]);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -643,37 +643,28 @@ int WINAPI WinMain (HINSTANCE hInstance,
|
||||||
int nCmdShow)
|
int nCmdShow)
|
||||||
{
|
{
|
||||||
int Result = -1;
|
int Result = -1;
|
||||||
|
|
||||||
#if 0
|
|
||||||
// Win95 and NT <4 don't have this, so link at runtime.
|
|
||||||
p_IsDebuggerPresent pfnIsDebuggerPresent = (p_IsDebuggerPresent)GetProcAddress(GetModuleHandleA("kernel32.dll"),"IsDebuggerPresent");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
UNREFERENCED_PARAMETER(hPrevInstance);
|
UNREFERENCED_PARAMETER(hPrevInstance);
|
||||||
UNREFERENCED_PARAMETER(lpCmdLine);
|
UNREFERENCED_PARAMETER(lpCmdLine);
|
||||||
UNREFERENCED_PARAMETER(nCmdShow);
|
UNREFERENCED_PARAMETER(nCmdShow);
|
||||||
|
|
||||||
#if 0
|
|
||||||
#ifdef BUGTRAP
|
|
||||||
// Try BugTrap first.
|
|
||||||
if((!pfnIsDebuggerPresent || !pfnIsDebuggerPresent()) && InitBugTrap())
|
|
||||||
Result = HandledWinMain(hInstance);
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
#endif
|
#if 0
|
||||||
// Try Dr MinGW's exception handler.
|
p_IsDebuggerPresent pfnIsDebuggerPresent = (p_IsDebuggerPresent)GetProcAddress(GetModuleHandleA("kernel32.dll"),"IsDebuggerPresent");
|
||||||
if (!pfnIsDebuggerPresent || !pfnIsDebuggerPresent())
|
if((!pfnIsDebuggerPresent || !pfnIsDebuggerPresent())
|
||||||
#endif
|
#ifdef BUGTRAP
|
||||||
LoadLibraryA("exchndl.dll");
|
&& !InitBugTrap()
|
||||||
|
#endif
|
||||||
#ifndef __MINGW32__
|
)
|
||||||
prevExceptionFilter = SetUnhandledExceptionFilter(RecordExceptionInfo);
|
#endif
|
||||||
#endif
|
{
|
||||||
|
LoadLibraryA("exchndl.dll");
|
||||||
Result = HandledWinMain(hInstance);
|
}
|
||||||
|
}
|
||||||
|
#ifndef __MINGW32__
|
||||||
|
prevExceptionFilter = SetUnhandledExceptionFilter(RecordExceptionInfo);
|
||||||
|
#endif
|
||||||
|
Result = HandledWinMain(hInstance);
|
||||||
#ifdef BUGTRAP
|
#ifdef BUGTRAP
|
||||||
} // BT failure clause.
|
|
||||||
|
|
||||||
// This is safe even if BT didn't start.
|
// This is safe even if BT didn't start.
|
||||||
ShutdownBugTrap();
|
ShutdownBugTrap();
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue