mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-01-15 06:01:09 +00:00
Merge branch 'master' into next
This commit is contained in:
commit
a01a0a3dc3
5 changed files with 62 additions and 29 deletions
|
@ -43,10 +43,13 @@ jobs:
|
||||||
- /var/cache/apt/archives
|
- /var/cache/apt/archives
|
||||||
- checkout
|
- checkout
|
||||||
- run:
|
- run:
|
||||||
name: Compile without network support
|
name: Compile without network support and BLUA
|
||||||
command: make -C src LINUX=1 ERRORMODE=1 -k NONET=1
|
command: make -C src LINUX=1 ERRORMODE=1 -k NONET=1 NO_LUA=1
|
||||||
- run:
|
- run:
|
||||||
name: Clean build
|
name: wipe build
|
||||||
|
command: make -C src LINUX=1 cleandep
|
||||||
|
- run:
|
||||||
|
name: rebuild depend
|
||||||
command: make -C src LINUX=1 clean
|
command: make -C src LINUX=1 clean
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
|
|
19
.travis.yml
19
.travis.yml
|
@ -221,9 +221,11 @@ matrix:
|
||||||
# - os: osx
|
# - os: osx
|
||||||
# osx_image: xcode7.2
|
# osx_image: xcode7.2
|
||||||
# #Apple LLVM version 7.0.2 (clang-700.1.81)
|
# #Apple LLVM version 7.0.2 (clang-700.1.81)
|
||||||
|
# - os: osx
|
||||||
|
# osx_image: xcode7.3
|
||||||
|
# #Apple LLVM version 7.3.0 (clang-703.0.31)
|
||||||
- os: osx
|
- os: osx
|
||||||
osx_image: xcode7.3
|
#Default: macOS 10.13 and Xcode 9.4.1
|
||||||
#Apple LLVM version 7.3.0 (clang-703.0.31)
|
|
||||||
allow_failures:
|
allow_failures:
|
||||||
- compiler: clang-3.5
|
- compiler: clang-3.5
|
||||||
- compiler: clang-3.6
|
- compiler: clang-3.6
|
||||||
|
@ -247,6 +249,16 @@ addons:
|
||||||
- libgl1-mesa-dev
|
- libgl1-mesa-dev
|
||||||
- libgme-dev
|
- libgme-dev
|
||||||
- p7zip-full
|
- p7zip-full
|
||||||
|
homebrew:
|
||||||
|
taps:
|
||||||
|
- mazmazz/srb2
|
||||||
|
packages:
|
||||||
|
- sdl2_mixer
|
||||||
|
- game-music-emu
|
||||||
|
- p7zip
|
||||||
|
- cmake
|
||||||
|
update: true
|
||||||
|
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- wget --verbose --server-response -c http://rosenthalcastle.org/srb2/SRB2-v2115-assets-2.7z -O $HOME/srb2_cache/SRB2-v2115-assets-2.7z
|
- wget --verbose --server-response -c http://rosenthalcastle.org/srb2/SRB2-v2115-assets-2.7z -O $HOME/srb2_cache/SRB2-v2115-assets-2.7z
|
||||||
|
@ -258,9 +270,6 @@ before_script:
|
||||||
- cmake .. -DCMAKE_BUILD_TYPE=Release
|
- cmake .. -DCMAKE_BUILD_TYPE=Release
|
||||||
|
|
||||||
before_install:
|
before_install:
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi
|
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install sdl2 sdl2_mixer game-music-emu p7zip; fi
|
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install cmake||true; fi
|
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -O -L https://www.libsdl.org/release/SDL2-2.0.6.dmg; hdiutil attach SDL2-2.0.6.dmg; sudo cp -a /Volumes/SDL2/SDL2.framework /Library/Frameworks/; fi
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -O -L https://www.libsdl.org/release/SDL2-2.0.6.dmg; hdiutil attach SDL2-2.0.6.dmg; sudo cp -a /Volumes/SDL2/SDL2.framework /Library/Frameworks/; fi
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -O -L https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.1.dmg; hdiutil attach SDL2_mixer-2.0.1.dmg; sudo cp -a /Volumes/SDL2_mixer/SDL2_mixer.framework /Library/Frameworks/; fi
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -O -L https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.1.dmg; hdiutil attach SDL2_mixer-2.0.1.dmg; sudo cp -a /Volumes/SDL2_mixer/SDL2_mixer.framework /Library/Frameworks/; fi
|
||||||
- mkdir -p $HOME/srb2_cache
|
- mkdir -p $HOME/srb2_cache
|
||||||
|
|
|
@ -1192,16 +1192,34 @@ void F_CreditDrawer(void)
|
||||||
if (FixedMul(y,vid.dupy) > vid.height)
|
if (FixedMul(y,vid.dupy) > vid.height)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void F_CreditTicker(void)
|
||||||
|
{
|
||||||
|
// "Simulate" the drawing of the credits so that dedicated mode doesn't get stuck
|
||||||
|
UINT16 i;
|
||||||
|
fixed_t y = (80<<FRACBITS) - 5*(animtimer<<FRACBITS)/8;
|
||||||
|
|
||||||
|
// Draw credits text on top
|
||||||
|
for (i = 0; credits[i]; i++)
|
||||||
|
{
|
||||||
|
switch(credits[i][0])
|
||||||
|
{
|
||||||
|
case 0: y += 80<<FRACBITS; break;
|
||||||
|
case 1: y += 30<<FRACBITS; break;
|
||||||
|
default: y += 12<<FRACBITS; break;
|
||||||
|
}
|
||||||
|
if (FixedMul(y,vid.dupy) > vid.height)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do this here rather than in the drawer you doofus! (this is why dedicated mode broke at credits)
|
||||||
if (!credits[i] && y <= 120<<FRACBITS && !finalecount)
|
if (!credits[i] && y <= 120<<FRACBITS && !finalecount)
|
||||||
{
|
{
|
||||||
timetonext = 5*TICRATE+1;
|
timetonext = 5*TICRATE+1;
|
||||||
finalecount = 5*TICRATE;
|
finalecount = 5*TICRATE;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
void F_CreditTicker(void)
|
|
||||||
{
|
|
||||||
if (timetonext)
|
if (timetonext)
|
||||||
timetonext--;
|
timetonext--;
|
||||||
else
|
else
|
||||||
|
|
|
@ -2643,7 +2643,7 @@ static void P_KillPlayer(player_t *player, mobj_t *source, INT32 damage)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void P_SuperDamage(player_t *player, mobj_t *inflictor, mobj_t *source, INT32 damage)
|
static void P_SuperDamage(player_t *player, mobj_t *inflictor, mobj_t *source, INT32 damage)
|
||||||
{
|
{
|
||||||
fixed_t fallbackspeed;
|
fixed_t fallbackspeed;
|
||||||
angle_t ang;
|
angle_t ang;
|
||||||
|
|
37
src/r_segs.c
37
src/r_segs.c
|
@ -862,16 +862,18 @@ void R_RenderThickSideRange(drawseg_t *ds, INT32 x1, INT32 x2, ffloor_t *pfloor)
|
||||||
leftheight -= viewz;
|
leftheight -= viewz;
|
||||||
rightheight -= viewz;
|
rightheight -= viewz;
|
||||||
|
|
||||||
#define OVERFLOWTEST(height, scale) \
|
#define CLAMPMAX INT32_MAX
|
||||||
overflow_test = (INT64)centeryfrac - (((INT64)height*scale)>>FRACBITS); \
|
#define CLAMPMIN (-INT32_MAX) // This is not INT32_MIN on purpose! INT32_MIN makes the drawers freak out.
|
||||||
if (overflow_test < 0) overflow_test = -overflow_test; \
|
// Monster Iestyn (25/03/18): do not skip these lights if they fail overflow test, just clamp them instead so they behave.
|
||||||
if ((UINT64)overflow_test&0xFFFFFFFF80000000ULL) continue;
|
overflow_test = (INT64)centeryfrac - (((INT64)leftheight*ds->scale1)>>FRACBITS);
|
||||||
|
if (overflow_test > (INT64)CLAMPMAX) rlight->height = CLAMPMAX;
|
||||||
|
else if (overflow_test > (INT64)CLAMPMIN) rlight->height = (fixed_t)overflow_test;
|
||||||
|
else rlight->height = CLAMPMIN;
|
||||||
|
|
||||||
OVERFLOWTEST(leftheight, ds->scale1)
|
overflow_test = (INT64)centeryfrac - (((INT64)rightheight*ds->scale2)>>FRACBITS);
|
||||||
OVERFLOWTEST(rightheight, ds->scale2)
|
if (overflow_test > (INT64)CLAMPMAX) rlight->heightstep = CLAMPMAX;
|
||||||
|
else if (overflow_test > (INT64)CLAMPMIN) rlight->heightstep = (fixed_t)overflow_test;
|
||||||
rlight->height = (centeryfrac) - FixedMul(leftheight, ds->scale1);
|
else rlight->heightstep = CLAMPMIN;
|
||||||
rlight->heightstep = (centeryfrac) - FixedMul(rightheight, ds->scale2);
|
|
||||||
rlight->heightstep = (rlight->heightstep-rlight->height)/(range);
|
rlight->heightstep = (rlight->heightstep-rlight->height)/(range);
|
||||||
#else
|
#else
|
||||||
if (light->height < *pfloor->bottomheight)
|
if (light->height < *pfloor->bottomheight)
|
||||||
|
@ -893,12 +895,16 @@ void R_RenderThickSideRange(drawseg_t *ds, INT32 x1, INT32 x2, ffloor_t *pfloor)
|
||||||
leftheight -= viewz;
|
leftheight -= viewz;
|
||||||
rightheight -= viewz;
|
rightheight -= viewz;
|
||||||
|
|
||||||
OVERFLOWTEST(leftheight, ds->scale1)
|
// Monster Iestyn (25/03/18): do not skip these lights if they fail overflow test, just clamp them instead so they behave.
|
||||||
OVERFLOWTEST(rightheight, ds->scale2)
|
overflow_test = (INT64)centeryfrac - (((INT64)leftheight*ds->scale1)>>FRACBITS);
|
||||||
#undef OVERFLOWTEST
|
if (overflow_test > (INT64)CLAMPMAX) rlight->botheight = CLAMPMAX;
|
||||||
|
else if (overflow_test > (INT64)CLAMPMIN) rlight->botheight = (fixed_t)overflow_test;
|
||||||
|
else rlight->botheight = CLAMPMIN;
|
||||||
|
|
||||||
rlight->botheight = (centeryfrac) - FixedMul(leftheight, ds->scale1);
|
overflow_test = (INT64)centeryfrac - (((INT64)rightheight*ds->scale2)>>FRACBITS);
|
||||||
rlight->botheightstep = (centeryfrac) - FixedMul(rightheight, ds->scale2);
|
if (overflow_test > (INT64)CLAMPMAX) rlight->botheightstep = CLAMPMAX;
|
||||||
|
else if (overflow_test > (INT64)CLAMPMIN) rlight->botheightstep = (fixed_t)overflow_test;
|
||||||
|
else rlight->botheightstep = CLAMPMIN;
|
||||||
rlight->botheightstep = (rlight->botheightstep-rlight->botheight)/(range);
|
rlight->botheightstep = (rlight->botheightstep-rlight->botheight)/(range);
|
||||||
#else
|
#else
|
||||||
lheight = *light->caster->bottomheight;// > *pfloor->topheight ? *pfloor->topheight + FRACUNIT : *light->caster->bottomheight;
|
lheight = *light->caster->bottomheight;// > *pfloor->topheight ? *pfloor->topheight + FRACUNIT : *light->caster->bottomheight;
|
||||||
|
@ -1071,9 +1077,6 @@ void R_RenderThickSideRange(drawseg_t *ds, INT32 x1, INT32 x2, ffloor_t *pfloor)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CLAMPMAX INT32_MAX
|
|
||||||
#define CLAMPMIN (-INT32_MAX) // This is not INT32_MIN on purpose! INT32_MIN makes the drawers freak out.
|
|
||||||
|
|
||||||
// draw the columns
|
// draw the columns
|
||||||
for (dc_x = x1; dc_x <= x2; dc_x++)
|
for (dc_x = x1; dc_x <= x2; dc_x++)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue