mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge public master
This commit is contained in:
commit
a2d11a61f1
6 changed files with 40 additions and 28 deletions
|
|
@ -17,9 +17,12 @@ Debian testing GCC:
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-testing-gcc"
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-testing-gcc"
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
CC: gcc
|
CC: /usr/bin/x86_64-linux-gnu-gcc
|
||||||
CXX: g++
|
CXX: /usr/bin/x86_64-linux-gnu-g++
|
||||||
LDFLAGS: -Wl,-fuse-ld=gold
|
OBJCOPY: /usr/bin/x86_64-linux-gnu-objcopy
|
||||||
|
OBJDUMP: /usr/bin/x86_64-linux-gnu-objdump
|
||||||
|
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig
|
||||||
|
LD: /usr/bin/x86_64-linux-gnu-ld
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- - |
|
- - |
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,8 @@ Windows x64:
|
||||||
|
|
||||||
when: manual
|
when: manual
|
||||||
|
|
||||||
|
timeout: 2h
|
||||||
|
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
|
||||||
artifacts:
|
artifacts:
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,8 @@ Windows x86:
|
||||||
|
|
||||||
when: on_success
|
when: on_success
|
||||||
|
|
||||||
|
timeout: 2h
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
- key: ccache-$CI_JOB_NAME_SLUG-$CI_COMMIT_REF_SLUG
|
- key: ccache-$CI_JOB_NAME_SLUG-$CI_COMMIT_REF_SLUG
|
||||||
fallback_keys:
|
fallback_keys:
|
||||||
|
|
|
||||||
|
|
@ -1762,7 +1762,7 @@ static void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom
|
||||||
if (rover->alpha < 256 || rover->blend)
|
if (rover->alpha < 256 || rover->blend)
|
||||||
{
|
{
|
||||||
blendmode = HWR_GetBlendModeFlag(rover->blend);
|
blendmode = HWR_GetBlendModeFlag(rover->blend);
|
||||||
Surf.PolyColor.s.alpha = (UINT8)(rover->alpha-1);
|
Surf.PolyColor.s.alpha = max(0, min(rover->alpha, 255));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1891,7 +1891,7 @@ static void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom
|
||||||
if (rover->alpha < 256 || rover->blend)
|
if (rover->alpha < 256 || rover->blend)
|
||||||
{
|
{
|
||||||
blendmode = HWR_GetBlendModeFlag(rover->blend);
|
blendmode = HWR_GetBlendModeFlag(rover->blend);
|
||||||
Surf.PolyColor.s.alpha = (UINT8)(rover->alpha-1);
|
Surf.PolyColor.s.alpha = max(0, min(rover->alpha, 255));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2636,7 +2636,7 @@ static void HWR_Subsector(size_t num)
|
||||||
false,
|
false,
|
||||||
*rover->bottomheight,
|
*rover->bottomheight,
|
||||||
*gl_frontsector->lightlist[light].lightlevel,
|
*gl_frontsector->lightlist[light].lightlevel,
|
||||||
rover->alpha-1, rover->master->frontsector, blendmode,
|
max(0, min(rover->alpha, 255)), rover->master->frontsector, blendmode,
|
||||||
false, *gl_frontsector->lightlist[light].extra_colormap);
|
false, *gl_frontsector->lightlist[light].extra_colormap);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -2684,7 +2684,7 @@ static void HWR_Subsector(size_t num)
|
||||||
true,
|
true,
|
||||||
*rover->topheight,
|
*rover->topheight,
|
||||||
*gl_frontsector->lightlist[light].lightlevel,
|
*gl_frontsector->lightlist[light].lightlevel,
|
||||||
rover->alpha-1, rover->master->frontsector, blendmode,
|
max(0, min(rover->alpha, 255)), rover->master->frontsector, blendmode,
|
||||||
false, *gl_frontsector->lightlist[light].extra_colormap);
|
false, *gl_frontsector->lightlist[light].extra_colormap);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -724,6 +724,8 @@ static int player_get(lua_State *L)
|
||||||
lua_pushinteger(L, plr->griefWarned);
|
lua_pushinteger(L, plr->griefWarned);
|
||||||
else if (fastcmp(field,"splitscreenindex"))
|
else if (fastcmp(field,"splitscreenindex"))
|
||||||
lua_pushinteger(L, plr->splitscreenindex);
|
lua_pushinteger(L, plr->splitscreenindex);
|
||||||
|
else if (fastcmp(field,"whip"))
|
||||||
|
LUA_PushUserdata(L, plr->whip, META_MOBJ);
|
||||||
#ifdef HWRENDER
|
#ifdef HWRENDER
|
||||||
else if (fastcmp(field,"fovadd"))
|
else if (fastcmp(field,"fovadd"))
|
||||||
lua_pushfixed(L, plr->fovadd);
|
lua_pushfixed(L, plr->fovadd);
|
||||||
|
|
@ -1321,6 +1323,13 @@ static int player_set(lua_State *L)
|
||||||
plr->griefWarned = luaL_checkinteger(L, 3);
|
plr->griefWarned = luaL_checkinteger(L, 3);
|
||||||
else if (fastcmp(field,"splitscreenindex"))
|
else if (fastcmp(field,"splitscreenindex"))
|
||||||
return NOSET;
|
return NOSET;
|
||||||
|
else if (fastcmp(field,"whip"))
|
||||||
|
{
|
||||||
|
mobj_t *mo = NULL;
|
||||||
|
if (!lua_isnil(L, 3))
|
||||||
|
mo = *((mobj_t **)luaL_checkudata(L, 3, META_MOBJ));
|
||||||
|
P_SetTarget(&plr->whip, mo);
|
||||||
|
}
|
||||||
#ifdef HWRENDER
|
#ifdef HWRENDER
|
||||||
else if (fastcmp(field,"fovadd"))
|
else if (fastcmp(field,"fovadd"))
|
||||||
plr->fovadd = luaL_checkfixed(L, 3);
|
plr->fovadd = luaL_checkfixed(L, 3);
|
||||||
|
|
|
||||||
38
src/p_spec.c
38
src/p_spec.c
|
|
@ -3883,19 +3883,18 @@ boolean P_ProcessSpecial(activator_t *activator, INT16 special, INT32 *args, cha
|
||||||
foundrover = true;
|
foundrover = true;
|
||||||
|
|
||||||
// If fading an invisible FOF whose render flags we did not yet set,
|
// If fading an invisible FOF whose render flags we did not yet set,
|
||||||
// initialize its alpha to 1
|
// initialize its alpha to 0 for relative alpha calculation
|
||||||
// for relative alpha calc
|
|
||||||
if (!(args[3] & TMST_DONTDOTRANSLUCENT) && // do translucent
|
if (!(args[3] & TMST_DONTDOTRANSLUCENT) && // do translucent
|
||||||
(rover->spawnflags & FOF_NOSHADE) && // do not include light blocks, which don't set FOF_NOSHADE
|
(rover->spawnflags & FOF_NOSHADE) && // do not include light blocks, which don't set FOF_NOSHADE
|
||||||
!(rover->spawnflags & FOF_RENDERSIDES) &&
|
!(rover->spawnflags & FOF_RENDERSIDES) &&
|
||||||
!(rover->spawnflags & FOF_RENDERPLANES) &&
|
!(rover->spawnflags & FOF_RENDERPLANES) &&
|
||||||
!(rover->fofflags & FOF_RENDERALL))
|
!(rover->fofflags & FOF_RENDERALL))
|
||||||
rover->alpha = 1;
|
rover->alpha = 0;
|
||||||
|
|
||||||
P_RemoveFakeFloorFader(rover);
|
P_RemoveFakeFloorFader(rover);
|
||||||
P_FadeFakeFloor(rover,
|
P_FadeFakeFloor(rover,
|
||||||
rover->alpha,
|
rover->alpha,
|
||||||
max(1, min(256, (args[3] & TMST_RELATIVE) ? rover->alpha + destvalue : destvalue)),
|
max(0, min(255, (args[3] & TMST_RELATIVE) ? rover->alpha + destvalue : destvalue)),
|
||||||
0, // set alpha immediately
|
0, // set alpha immediately
|
||||||
false, NULL, // tic-based logic
|
false, NULL, // tic-based logic
|
||||||
false, // do not handle FOF_EXISTS
|
false, // do not handle FOF_EXISTS
|
||||||
|
|
@ -3969,19 +3968,18 @@ boolean P_ProcessSpecial(activator_t *activator, INT16 special, INT32 *args, cha
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// If fading an invisible FOF whose render flags we did not yet set,
|
// If fading an invisible FOF whose render flags we did not yet set,
|
||||||
// initialize its alpha to 1
|
// initialize its alpha to 0 for relative alpha calculation
|
||||||
// for relative alpha calc
|
|
||||||
if (!(args[4] & TMFT_DONTDOTRANSLUCENT) && // do translucent
|
if (!(args[4] & TMFT_DONTDOTRANSLUCENT) && // do translucent
|
||||||
(rover->spawnflags & FOF_NOSHADE) && // do not include light blocks, which don't set FOF_NOSHADE
|
(rover->spawnflags & FOF_NOSHADE) && // do not include light blocks, which don't set FOF_NOSHADE
|
||||||
!(rover->spawnflags & FOF_RENDERSIDES) &&
|
!(rover->spawnflags & FOF_RENDERSIDES) &&
|
||||||
!(rover->spawnflags & FOF_RENDERPLANES) &&
|
!(rover->spawnflags & FOF_RENDERPLANES) &&
|
||||||
!(rover->fofflags & FOF_RENDERALL))
|
!(rover->fofflags & FOF_RENDERALL))
|
||||||
rover->alpha = 1;
|
rover->alpha = 0;
|
||||||
|
|
||||||
P_RemoveFakeFloorFader(rover);
|
P_RemoveFakeFloorFader(rover);
|
||||||
P_FadeFakeFloor(rover,
|
P_FadeFakeFloor(rover,
|
||||||
rover->alpha,
|
rover->alpha,
|
||||||
max(1, min(256, (args[4] & TMFT_RELATIVE) ? rover->alpha + destvalue : destvalue)),
|
max(0, min(255, (args[4] & TMFT_RELATIVE) ? rover->alpha + destvalue : destvalue)),
|
||||||
0, // set alpha immediately
|
0, // set alpha immediately
|
||||||
false, NULL, // tic-based logic
|
false, NULL, // tic-based logic
|
||||||
!(args[4] & TMFT_DONTDOEXISTS), // do not handle FOF_EXISTS
|
!(args[4] & TMFT_DONTDOEXISTS), // do not handle FOF_EXISTS
|
||||||
|
|
@ -8557,15 +8555,14 @@ static boolean P_FadeFakeFloor(ffloor_t *rover, INT16 sourcevalue, INT16 destval
|
||||||
if (rover->master->special == 258) // Laser block
|
if (rover->master->special == 258) // Laser block
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// If fading an invisible FOF whose render flags we did not yet set,
|
// If fading an invisible FOF whose render flags we did not yet set, initialize its alpha to 0
|
||||||
// initialize its alpha to 1
|
|
||||||
if (dotranslucent &&
|
if (dotranslucent &&
|
||||||
(rover->spawnflags & FOF_NOSHADE) && // do not include light blocks, which don't set FOF_NOSHADE
|
(rover->spawnflags & FOF_NOSHADE) && // do not include light blocks, which don't set FOF_NOSHADE
|
||||||
!(rover->fofflags & FOF_FOG) && // do not include fog
|
!(rover->fofflags & FOF_FOG) && // do not include fog
|
||||||
!(rover->spawnflags & FOF_RENDERSIDES) &&
|
!(rover->spawnflags & FOF_RENDERSIDES) &&
|
||||||
!(rover->spawnflags & FOF_RENDERPLANES) &&
|
!(rover->spawnflags & FOF_RENDERPLANES) &&
|
||||||
!(rover->fofflags & FOF_RENDERALL))
|
!(rover->fofflags & FOF_RENDERALL))
|
||||||
rover->alpha = 1;
|
rover->alpha = 0;
|
||||||
|
|
||||||
if (fadingdata)
|
if (fadingdata)
|
||||||
alpha = fadingdata->alpha;
|
alpha = fadingdata->alpha;
|
||||||
|
|
@ -8651,7 +8648,7 @@ static boolean P_FadeFakeFloor(ffloor_t *rover, INT16 sourcevalue, INT16 destval
|
||||||
{
|
{
|
||||||
if (doexists && !(rover->spawnflags & FOF_BUSTUP))
|
if (doexists && !(rover->spawnflags & FOF_BUSTUP))
|
||||||
{
|
{
|
||||||
if (alpha <= 1)
|
if (alpha <= 0)
|
||||||
rover->fofflags &= ~FOF_EXISTS;
|
rover->fofflags &= ~FOF_EXISTS;
|
||||||
else
|
else
|
||||||
rover->fofflags |= FOF_EXISTS;
|
rover->fofflags |= FOF_EXISTS;
|
||||||
|
|
@ -8663,7 +8660,7 @@ static boolean P_FadeFakeFloor(ffloor_t *rover, INT16 sourcevalue, INT16 destval
|
||||||
|
|
||||||
if (dotranslucent && !(rover->fofflags & FOF_FOG))
|
if (dotranslucent && !(rover->fofflags & FOF_FOG))
|
||||||
{
|
{
|
||||||
if (alpha >= 256)
|
if (alpha >= 255)
|
||||||
{
|
{
|
||||||
if (!(rover->fofflags & FOF_CUTSOLIDS) &&
|
if (!(rover->fofflags & FOF_CUTSOLIDS) &&
|
||||||
(rover->spawnflags & FOF_CUTSOLIDS))
|
(rover->spawnflags & FOF_CUTSOLIDS))
|
||||||
|
|
@ -8763,11 +8760,11 @@ static boolean P_FadeFakeFloor(ffloor_t *rover, INT16 sourcevalue, INT16 destval
|
||||||
else // clamp fadingdata->alpha to software's alpha levels
|
else // clamp fadingdata->alpha to software's alpha levels
|
||||||
{
|
{
|
||||||
if (alpha < 12)
|
if (alpha < 12)
|
||||||
rover->alpha = destvalue < 12 ? destvalue : 1; // Don't even draw it
|
rover->alpha = destvalue < 12 ? destvalue : 0; // Don't even draw it
|
||||||
else if (alpha < 38)
|
else if (alpha < 38)
|
||||||
rover->alpha = destvalue >= 12 && destvalue < 38 ? destvalue : 25;
|
rover->alpha = destvalue >= 12 && destvalue < 38 ? destvalue : 25;
|
||||||
else if (alpha < 64)
|
else if (alpha < 64)
|
||||||
rover->alpha = destvalue >=38 && destvalue < 64 ? destvalue : 51;
|
rover->alpha = destvalue >= 38 && destvalue < 64 ? destvalue : 51;
|
||||||
else if (alpha < 89)
|
else if (alpha < 89)
|
||||||
rover->alpha = destvalue >= 64 && destvalue < 89 ? destvalue : 76;
|
rover->alpha = destvalue >= 64 && destvalue < 89 ? destvalue : 76;
|
||||||
else if (alpha < 115)
|
else if (alpha < 115)
|
||||||
|
|
@ -8783,7 +8780,7 @@ static boolean P_FadeFakeFloor(ffloor_t *rover, INT16 sourcevalue, INT16 destval
|
||||||
else if (alpha < 243)
|
else if (alpha < 243)
|
||||||
rover->alpha = destvalue >= 217 && destvalue < 243 ? destvalue : 230;
|
rover->alpha = destvalue >= 217 && destvalue < 243 ? destvalue : 230;
|
||||||
else // Opaque
|
else // Opaque
|
||||||
rover->alpha = destvalue >= 243 ? destvalue : 256;
|
rover->alpha = destvalue >= 243 ? destvalue : 255;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -8813,17 +8810,16 @@ static void P_AddFakeFloorFader(ffloor_t *rover, size_t sectornum, size_t ffloor
|
||||||
{
|
{
|
||||||
fade_t *d;
|
fade_t *d;
|
||||||
|
|
||||||
// If fading an invisible FOF whose render flags we did not yet set,
|
// If fading an invisible FOF whose render flags we did not yet set, initialize its alpha to 0
|
||||||
// initialize its alpha to 1
|
|
||||||
if (dotranslucent &&
|
if (dotranslucent &&
|
||||||
(rover->spawnflags & FOF_NOSHADE) && // do not include light blocks, which don't set FOF_NOSHADE
|
(rover->spawnflags & FOF_NOSHADE) && // do not include light blocks, which don't set FOF_NOSHADE
|
||||||
!(rover->spawnflags & FOF_RENDERSIDES) &&
|
!(rover->spawnflags & FOF_RENDERSIDES) &&
|
||||||
!(rover->spawnflags & FOF_RENDERPLANES) &&
|
!(rover->spawnflags & FOF_RENDERPLANES) &&
|
||||||
!(rover->fofflags & FOF_RENDERALL))
|
!(rover->fofflags & FOF_RENDERALL))
|
||||||
rover->alpha = 1;
|
rover->alpha = 0;
|
||||||
|
|
||||||
// already equal, nothing to do
|
// already equal, nothing to do
|
||||||
if (rover->alpha == max(1, min(256, relative ? rover->alpha + destvalue : destvalue)))
|
if (rover->alpha == max(0, min(255, relative ? rover->alpha + destvalue : destvalue)))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
d = Z_LevelPoolCalloc(sizeof (*d));
|
d = Z_LevelPoolCalloc(sizeof (*d));
|
||||||
|
|
@ -8836,7 +8832,7 @@ static void P_AddFakeFloorFader(ffloor_t *rover, size_t sectornum, size_t ffloor
|
||||||
d->ffloornum = (UINT32)ffloornum;
|
d->ffloornum = (UINT32)ffloornum;
|
||||||
|
|
||||||
d->alpha = d->sourcevalue = rover->alpha;
|
d->alpha = d->sourcevalue = rover->alpha;
|
||||||
d->destvalue = max(1, min(256, relative ? rover->alpha + destvalue : destvalue)); // rover->alpha is 1-256
|
d->destvalue = max(0, min(255, relative ? rover->alpha + destvalue : destvalue)); // rover->alpha is 0-255
|
||||||
|
|
||||||
if (ticbased)
|
if (ticbased)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue