mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-02-02 06:23:03 +00:00
Merge remote-tracking branch 'stjr/next' into translations
This commit is contained in:
commit
f3ee20dde0
8 changed files with 52 additions and 27 deletions
|
@ -1,4 +1,4 @@
|
||||||
version: 2.2.13.{branch}-{build}
|
version: 2.2.14.{branch}-{build}
|
||||||
os: MinGW
|
os: MinGW
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
|
|
13
src/p_map.c
13
src/p_map.c
|
@ -3073,11 +3073,14 @@ static boolean P_ThingHeightClip(mobj_t *thing)
|
||||||
if (!rover || ((rover->fofflags & FOF_EXISTS) && (rover->fofflags & FOF_SOLID)))
|
if (!rover || ((rover->fofflags & FOF_EXISTS) && (rover->fofflags & FOF_SOLID)))
|
||||||
{
|
{
|
||||||
hitfloor = bouncing;
|
hitfloor = bouncing;
|
||||||
if (thing->eflags & MFE_VERTICALFLIP)
|
if (!(thing->player) || !(thing->player->pflags & PF_JUMPED || bouncing))
|
||||||
thing->pmomz = thing->ceilingz - (thing->z + thing->height);
|
{
|
||||||
else
|
if (thing->eflags & MFE_VERTICALFLIP)
|
||||||
thing->pmomz = thing->floorz - thing->z;
|
thing->pmomz = thing->ceilingz - (thing->z + thing->height);
|
||||||
thing->eflags |= MFE_APPLYPMOMZ;
|
else
|
||||||
|
thing->pmomz = thing->floorz - thing->z;
|
||||||
|
thing->eflags |= MFE_APPLYPMOMZ;
|
||||||
|
}
|
||||||
|
|
||||||
if (thing->eflags & MFE_VERTICALFLIP)
|
if (thing->eflags & MFE_VERTICALFLIP)
|
||||||
thing->z = thing->ceilingz - thing->height;
|
thing->z = thing->ceilingz - thing->height;
|
||||||
|
|
|
@ -843,16 +843,7 @@ void P_Ticker(boolean run)
|
||||||
countdown2--;
|
countdown2--;
|
||||||
|
|
||||||
if (quake.time)
|
if (quake.time)
|
||||||
{
|
|
||||||
fixed_t ir = quake.intensity>>1;
|
|
||||||
/// \todo Calculate distance from epicenter if set and modulate the intensity accordingly based on radius.
|
|
||||||
quake.x = M_RandomRange(-ir,ir);
|
|
||||||
quake.y = M_RandomRange(-ir,ir);
|
|
||||||
quake.z = M_RandomRange(-ir,ir);
|
|
||||||
--quake.time;
|
--quake.time;
|
||||||
}
|
|
||||||
else
|
|
||||||
quake.x = quake.y = quake.z = 0;
|
|
||||||
|
|
||||||
if (metalplayback)
|
if (metalplayback)
|
||||||
G_ReadMetalTic(metalplayback);
|
G_ReadMetalTic(metalplayback);
|
||||||
|
|
25
src/r_main.c
25
src/r_main.c
|
@ -1085,6 +1085,7 @@ void R_SetupFrame(player_t *player)
|
||||||
{
|
{
|
||||||
camera_t *thiscam;
|
camera_t *thiscam;
|
||||||
boolean chasecam = R_ViewpointHasChasecam(player);
|
boolean chasecam = R_ViewpointHasChasecam(player);
|
||||||
|
boolean ispaused = paused || P_AutoPause();
|
||||||
|
|
||||||
if (splitscreen && player == &players[secondarydisplayplayer] && player != &players[consoleplayer])
|
if (splitscreen && player == &players[secondarydisplayplayer] && player != &players[consoleplayer])
|
||||||
thiscam = &camera2;
|
thiscam = &camera2;
|
||||||
|
@ -1135,6 +1136,30 @@ void R_SetupFrame(player_t *player)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (quake.time && !ispaused)
|
||||||
|
{
|
||||||
|
fixed_t ir = quake.intensity>>1;
|
||||||
|
|
||||||
|
if (quake.epicenter) {
|
||||||
|
// Calculate 3D distance from epicenter, using the camera.
|
||||||
|
fixed_t xydist = R_PointToDist2(thiscam->x, thiscam->y, quake.epicenter->x, quake.epicenter->y);
|
||||||
|
fixed_t dist = R_PointToDist2(0, thiscam->z, xydist, quake.epicenter->z);
|
||||||
|
|
||||||
|
// More effect closer to epicenter, outside of radius = no effect
|
||||||
|
if (!quake.radius || dist > quake.radius)
|
||||||
|
ir = 0;
|
||||||
|
else
|
||||||
|
ir = FixedMul(ir, FRACUNIT - FixedDiv(dist, quake.radius));
|
||||||
|
}
|
||||||
|
|
||||||
|
quake.x = M_RandomRange(-ir,ir);
|
||||||
|
quake.y = M_RandomRange(-ir,ir);
|
||||||
|
quake.z = M_RandomRange(-ir,ir);
|
||||||
|
}
|
||||||
|
else if (!ispaused)
|
||||||
|
quake.x = quake.y = quake.z = 0;
|
||||||
|
|
||||||
newview->z += quake.z;
|
newview->z += quake.z;
|
||||||
|
|
||||||
newview->player = player;
|
newview->player = player;
|
||||||
|
|
|
@ -513,7 +513,7 @@ void S_StartCaption(sfxenum_t sfx_id, INT32 cnum, UINT16 lifespan)
|
||||||
closedcaptions[set].c = ((cnum == -1) ? NULL : &channels[cnum]);
|
closedcaptions[set].c = ((cnum == -1) ? NULL : &channels[cnum]);
|
||||||
closedcaptions[set].s = sfx;
|
closedcaptions[set].s = sfx;
|
||||||
closedcaptions[set].t = lifespan;
|
closedcaptions[set].t = lifespan;
|
||||||
closedcaptions[set].b = 2; // bob
|
closedcaptions[set].b = 3; // bob
|
||||||
}
|
}
|
||||||
|
|
||||||
void S_StartSoundAtVolume(const void *origin_p, sfxenum_t sfx_id, INT32 volume)
|
void S_StartSoundAtVolume(const void *origin_p, sfxenum_t sfx_id, INT32 volume)
|
||||||
|
|
18
src/screen.c
18
src/screen.c
|
@ -552,7 +552,7 @@ void SCR_ClosedCaptions(void)
|
||||||
{
|
{
|
||||||
UINT8 i;
|
UINT8 i;
|
||||||
boolean gamestopped = (paused || P_AutoPause());
|
boolean gamestopped = (paused || P_AutoPause());
|
||||||
INT32 basey = BASEVIDHEIGHT;
|
INT32 basey = BASEVIDHEIGHT - 20;
|
||||||
|
|
||||||
if (gamestate != wipegamestate)
|
if (gamestate != wipegamestate)
|
||||||
return;
|
return;
|
||||||
|
@ -572,7 +572,8 @@ void SCR_ClosedCaptions(void)
|
||||||
|
|
||||||
for (i = 0; i < NUMCAPTIONS; i++)
|
for (i = 0; i < NUMCAPTIONS; i++)
|
||||||
{
|
{
|
||||||
INT32 flags, y;
|
INT32 flags;
|
||||||
|
fixed_t y;
|
||||||
char dot;
|
char dot;
|
||||||
boolean music;
|
boolean music;
|
||||||
|
|
||||||
|
@ -585,14 +586,19 @@ void SCR_ClosedCaptions(void)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
flags = V_SNAPTORIGHT|V_SNAPTOBOTTOM|V_ALLOWLOWERCASE;
|
flags = V_SNAPTORIGHT|V_SNAPTOBOTTOM|V_ALLOWLOWERCASE;
|
||||||
y = basey-((i + 2)*10);
|
y = (basey-(i*10)) * FRACUNIT;
|
||||||
|
|
||||||
if (closedcaptions[i].b)
|
if (closedcaptions[i].b)
|
||||||
{
|
{
|
||||||
y -= closedcaptions[i].b * vid.dup;
|
|
||||||
if (renderisnewtic)
|
if (renderisnewtic)
|
||||||
{
|
|
||||||
closedcaptions[i].b--;
|
closedcaptions[i].b--;
|
||||||
|
|
||||||
|
if (closedcaptions[i].b) // If the caption hasn't reached its final destination...
|
||||||
|
{
|
||||||
|
y -= closedcaptions[i].b * 4 * FRACUNIT; // ...move it per tic...
|
||||||
|
y += (rendertimefrac % FRACUNIT) * 4; // ...and interpolate it per frame
|
||||||
|
// We have to modulo it by FRACUNIT, so that it won't be a tic ahead with interpolation disabled
|
||||||
|
// Unlike everything else, captions are (intentionally) interpolated from T to T+1 instead of T-1 to T
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -606,7 +612,7 @@ void SCR_ClosedCaptions(void)
|
||||||
else
|
else
|
||||||
dot = ' ';
|
dot = ' ';
|
||||||
|
|
||||||
V_DrawRightAlignedString(BASEVIDWIDTH - 20, y, flags,
|
V_DrawRightAlignedStringAtFixed((BASEVIDWIDTH-20) * FRACUNIT, y, flags,
|
||||||
va("%c [%s]", dot, (closedcaptions[i].s->caption[0] ? closedcaptions[i].s->caption : closedcaptions[i].s->name)));
|
va("%c [%s]", dot, (closedcaptions[i].s->caption[0] ? closedcaptions[i].s->caption : closedcaptions[i].s->name)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#define SRB2VERSION "2.2.13"/* this must be the first line, for cmake !! */
|
#define SRB2VERSION "2.2.14"/* this must be the first line, for cmake !! */
|
||||||
|
|
||||||
// The Modification ID; must be obtained from a Master Server Admin ( https://mb.srb2.org/members/?key=ms_admin ).
|
// The Modification ID; must be obtained from a Master Server Admin ( https://mb.srb2.org/members/?key=ms_admin ).
|
||||||
// DO NOT try to set this otherwise, or your modification will be unplayable through the Master Server.
|
// DO NOT try to set this otherwise, or your modification will be unplayable through the Master Server.
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
// it's only for detection of the version the player is using so the MS can alert them of an update.
|
// it's only for detection of the version the player is using so the MS can alert them of an update.
|
||||||
// Only set it higher, not lower, obviously.
|
// Only set it higher, not lower, obviously.
|
||||||
// Note that we use this to help keep internal testing in check; this is why v2.2.0 is not version "1".
|
// Note that we use this to help keep internal testing in check; this is why v2.2.0 is not version "1".
|
||||||
#define MODVERSION 54
|
#define MODVERSION 55
|
||||||
|
|
||||||
// Define this as a prerelease version suffix (pre#, RC#)
|
// Define this as a prerelease version suffix (pre#, RC#)
|
||||||
//#define BETAVERSION "pre1"
|
#define BETAVERSION "nightly"
|
||||||
|
|
|
@ -77,8 +77,8 @@ END
|
||||||
#include "../doomdef.h" // Needed for version string
|
#include "../doomdef.h" // Needed for version string
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 2,2,13,0
|
FILEVERSION 2,2,14,0
|
||||||
PRODUCTVERSION 2,2,13,0
|
PRODUCTVERSION 2,2,14,0
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
|
|
Loading…
Reference in a new issue