mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-05-10 19:01:50 +00:00
Merge branch 'master' into neutral-explosion-hitlag
This commit is contained in:
commit
ae8df1b97b
3 changed files with 41 additions and 10 deletions
|
|
@ -152,7 +152,11 @@ set(SRB2_CONFIG_USEASM OFF CACHE BOOL
|
||||||
set(SRB2_CONFIG_YASM OFF CACHE BOOL
|
set(SRB2_CONFIG_YASM OFF CACHE BOOL
|
||||||
"Use YASM in place of NASM.")
|
"Use YASM in place of NASM.")
|
||||||
set(SRB2_CONFIG_DEV_BUILD OFF CACHE BOOL
|
set(SRB2_CONFIG_DEV_BUILD OFF CACHE BOOL
|
||||||
"Compile a development build of SRB2Kart.")
|
"Compile a development build of Dr Robotnik's Ring Racers.")
|
||||||
|
set(SRB2_CONFIG_TESTERS OFF CACHE BOOL
|
||||||
|
"Compile a build for testers.")
|
||||||
|
set(SRB2_CONFIG_HOSTTESTERS OFF CACHE BOOL
|
||||||
|
"Compile a build to host netgames for testers builds.")
|
||||||
|
|
||||||
add_subdirectory(blua)
|
add_subdirectory(blua)
|
||||||
|
|
||||||
|
|
@ -236,7 +240,7 @@ if(${SRB2_CONFIG_HAVE_ZLIB})
|
||||||
set(SRB2_HAVE_ZLIB ON)
|
set(SRB2_HAVE_ZLIB ON)
|
||||||
target_compile_definitions(SRB2SDL2 PRIVATE -DHAVE_ZLIB)
|
target_compile_definitions(SRB2SDL2 PRIVATE -DHAVE_ZLIB)
|
||||||
else()
|
else()
|
||||||
message(WARNING "You have specified that ZLIB is available but it was not found. SRB2Kart may not compile correctly.")
|
message(WARNING "You have specified that ZLIB is available but it was not found. Dr Robotnik's Ring Racers may not compile correctly.")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
@ -259,7 +263,7 @@ if(${SRB2_CONFIG_HAVE_PNG} AND ${SRB2_CONFIG_HAVE_ZLIB})
|
||||||
target_compile_definitions(SRB2SDL2 PRIVATE -D_LARGEFILE64_SOURCE)
|
target_compile_definitions(SRB2SDL2 PRIVATE -D_LARGEFILE64_SOURCE)
|
||||||
target_sources(SRB2SDL2 PRIVATE apng.c)
|
target_sources(SRB2SDL2 PRIVATE apng.c)
|
||||||
else()
|
else()
|
||||||
message(WARNING "You have specified that PNG is available but it was not found. SRB2Kart may not compile correctly.")
|
message(WARNING "You have specified that PNG is available but it was not found. Dr Robotnik's Ring Racers may not compile correctly.")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
@ -485,6 +489,12 @@ target_compile_definitions(SRB2SDL2 PRIVATE -DCMAKECONFIG)
|
||||||
if(SRB2_CONFIG_DEBUGMODE)
|
if(SRB2_CONFIG_DEBUGMODE)
|
||||||
target_compile_definitions(SRB2SDL2 PRIVATE -DZDEBUG -DPARANOIA -DRANGECHECK -DPACKETDROP)
|
target_compile_definitions(SRB2SDL2 PRIVATE -DZDEBUG -DPARANOIA -DRANGECHECK -DPACKETDROP)
|
||||||
endif()
|
endif()
|
||||||
|
if(SRB2_CONFIG_TESTERS)
|
||||||
|
target_compile_definitions(SRB2SDL2 PRIVATE -DTESTERS)
|
||||||
|
endif()
|
||||||
|
if(SRB2_CONFIG_HOSTTESTERS)
|
||||||
|
target_compile_definitions(SRB2SDL2 PRIVATE -DHOSTTESTERS)
|
||||||
|
endif()
|
||||||
if(SRB2_CONFIG_MOBJCONSISTANCY)
|
if(SRB2_CONFIG_MOBJCONSISTANCY)
|
||||||
target_compile_definitions(SRB2SDL2 PRIVATE -DMOBJCONSISTANCY)
|
target_compile_definitions(SRB2SDL2 PRIVATE -DMOBJCONSISTANCY)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
||||||
27
src/p_map.c
27
src/p_map.c
|
|
@ -277,6 +277,12 @@ P_DoSpringEx
|
||||||
angle_t finalAngle,
|
angle_t finalAngle,
|
||||||
UINT16 starcolor)
|
UINT16 starcolor)
|
||||||
{
|
{
|
||||||
|
if (object->eflags & MFE_SPRUNG)
|
||||||
|
{
|
||||||
|
// Object was already sprung this tic
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (horizspeed < 0)
|
if (horizspeed < 0)
|
||||||
{
|
{
|
||||||
horizspeed = -(horizspeed);
|
horizspeed = -(horizspeed);
|
||||||
|
|
@ -402,7 +408,7 @@ boolean P_DoSpring(mobj_t *spring, mobj_t *object)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
spring->flags &= ~(MF_SOLID|MF_SPECIAL); // De-solidify
|
spring->flags |= MF_NOCLIPTHING; // De-solidify
|
||||||
|
|
||||||
if (spring->eflags & MFE_VERTICALFLIP)
|
if (spring->eflags & MFE_VERTICALFLIP)
|
||||||
vertispeed *= -1;
|
vertispeed *= -1;
|
||||||
|
|
@ -445,7 +451,7 @@ boolean P_DoSpring(mobj_t *spring, mobj_t *object)
|
||||||
spring->angle, starcolor);
|
spring->angle, starcolor);
|
||||||
|
|
||||||
// Re-solidify
|
// Re-solidify
|
||||||
spring->flags |= (spring->info->flags & (MF_SPRING|MF_SPECIAL));
|
spring->flags = (spring->flags & ~(MF_NOCLIPTHING)) | (spring->info->flags & (MF_NOCLIPTHING));
|
||||||
|
|
||||||
if (object->player)
|
if (object->player)
|
||||||
{
|
{
|
||||||
|
|
@ -2131,9 +2137,6 @@ boolean P_CheckPosition(mobj_t *thing, fixed_t x, fixed_t y, TryMoveResult_t *re
|
||||||
// reset special lines
|
// reset special lines
|
||||||
numspechit = 0U;
|
numspechit = 0U;
|
||||||
|
|
||||||
if (tm.flags & MF_NOCLIP)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
// Check things first, possibly picking things up.
|
// Check things first, possibly picking things up.
|
||||||
|
|
||||||
// MF_NOCLIPTHING: used by camera to not be blocked by things
|
// MF_NOCLIPTHING: used by camera to not be blocked by things
|
||||||
|
|
@ -2160,6 +2163,15 @@ boolean P_CheckPosition(mobj_t *thing, fixed_t x, fixed_t y, TryMoveResult_t *re
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (tm.flags & MF_NOCLIP)
|
||||||
|
{
|
||||||
|
// Sal 12/19/2022 -- PIT_CheckThing code will still run
|
||||||
|
// with MF_NOCLIP enabled, but they won't be blocked
|
||||||
|
// regardless of the result. This allows for SPBs and
|
||||||
|
// the UFO to collide.
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
validcount++;
|
validcount++;
|
||||||
|
|
||||||
// check lines
|
// check lines
|
||||||
|
|
@ -2628,7 +2640,10 @@ increment_move
|
||||||
radius = min(radius, 16*mapobjectscale);
|
radius = min(radius, 16*mapobjectscale);
|
||||||
|
|
||||||
do {
|
do {
|
||||||
if (thing->flags & MF_NOCLIP)
|
// Sal 12/19/2022 -- PIT_CheckThing code now runs
|
||||||
|
// with MF_NOCLIP enabled, so we want step-by-step
|
||||||
|
// for anything that doesn't have both enabled.
|
||||||
|
if ((thing->flags & (MF_NOCLIP|MF_NOCLIPTHING)) == (MF_NOCLIP|MF_NOCLIPTHING))
|
||||||
{
|
{
|
||||||
tryx = x;
|
tryx = x;
|
||||||
tryy = y;
|
tryy = y;
|
||||||
|
|
|
||||||
|
|
@ -525,7 +525,7 @@ static void P_NetUnArchivePlayers(void)
|
||||||
players[i].skincolor = READUINT8(save_p);
|
players[i].skincolor = READUINT8(save_p);
|
||||||
players[i].skin = READINT32(save_p);
|
players[i].skin = READINT32(save_p);
|
||||||
|
|
||||||
for (j = 0; i < MAXAVAILABILITY; j++)
|
for (j = 0; j < MAXAVAILABILITY; j++)
|
||||||
{
|
{
|
||||||
players[i].availabilities[j] = READUINT8(save_p);
|
players[i].availabilities[j] = READUINT8(save_p);
|
||||||
}
|
}
|
||||||
|
|
@ -4875,6 +4875,7 @@ static inline boolean P_NetUnArchiveMisc(boolean reloading)
|
||||||
{
|
{
|
||||||
size_t i, j;
|
size_t i, j;
|
||||||
size_t numTasks;
|
size_t numTasks;
|
||||||
|
UINT8 *old_save_p;
|
||||||
|
|
||||||
if (READUINT32(save_p) != ARCHIVEBLOCK_MISC)
|
if (READUINT32(save_p) != ARCHIVEBLOCK_MISC)
|
||||||
I_Error("Bad $$$.sav at archive block Misc");
|
I_Error("Bad $$$.sav at archive block Misc");
|
||||||
|
|
@ -4917,12 +4918,17 @@ static inline boolean P_NetUnArchiveMisc(boolean reloading)
|
||||||
|
|
||||||
encoremode = (boolean)READUINT8(save_p);
|
encoremode = (boolean)READUINT8(save_p);
|
||||||
|
|
||||||
|
// FIXME: save_p should not be global!!!
|
||||||
|
old_save_p = save_p;
|
||||||
|
|
||||||
if (!P_LoadLevel(true, reloading))
|
if (!P_LoadLevel(true, reloading))
|
||||||
{
|
{
|
||||||
CONS_Alert(CONS_ERROR, M_GetText("Can't load the level!\n"));
|
CONS_Alert(CONS_ERROR, M_GetText("Can't load the level!\n"));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
save_p = old_save_p;
|
||||||
|
|
||||||
// get the time
|
// get the time
|
||||||
leveltime = READUINT32(save_p);
|
leveltime = READUINT32(save_p);
|
||||||
lastmap = READINT16(save_p);
|
lastmap = READINT16(save_p);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue