mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2024-11-18 10:41:32 +00:00
Merge branch 'next' into public_next
This commit is contained in:
commit
a93d07172d
8 changed files with 43 additions and 31 deletions
|
@ -42,4 +42,4 @@ before_install:
|
||||||
- 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
|
||||||
|
|
||||||
script: make
|
script: make -k
|
||||||
|
|
|
@ -51,7 +51,7 @@ before_build:
|
||||||
|
|
||||||
build_script:
|
build_script:
|
||||||
- cmd: mingw32-make.exe %SRB2_MFLAGS% %CONFIGURATION%=1 clean
|
- cmd: mingw32-make.exe %SRB2_MFLAGS% %CONFIGURATION%=1 clean
|
||||||
- cmd: mingw32-make.exe %SRB2_MFLAGS% %CONFIGURATION%=1 ERRORMODE=1
|
- cmd: mingw32-make.exe %SRB2_MFLAGS% %CONFIGURATION%=1 ERRORMODE=1 -k
|
||||||
|
|
||||||
after_build:
|
after_build:
|
||||||
- ccache -s
|
- ccache -s
|
||||||
|
|
|
@ -372,7 +372,7 @@ else
|
||||||
|
|
||||||
# build a normal optimised version
|
# build a normal optimised version
|
||||||
WINDRESFLAGS = -DNDEBUG
|
WINDRESFLAGS = -DNDEBUG
|
||||||
#CFLAGS+=-O2
|
CFLAGS+=-O3
|
||||||
endif
|
endif
|
||||||
CFLAGS+=-g $(OPTS) $(M5) $(WINDRESFLAGS)
|
CFLAGS+=-g $(OPTS) $(M5) $(WINDRESFLAGS)
|
||||||
|
|
||||||
|
|
|
@ -173,6 +173,9 @@ endif
|
||||||
ifdef GCC43
|
ifdef GCC43
|
||||||
#WFLAGS+=-Wno-error=clobbered
|
#WFLAGS+=-Wno-error=clobbered
|
||||||
endif
|
endif
|
||||||
|
ifdef GCC46
|
||||||
|
WFLAGS+=-Wno-error=suggest-attribute=noreturn
|
||||||
|
endif
|
||||||
WFLAGS+=$(OLDWFLAGS)
|
WFLAGS+=$(OLDWFLAGS)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3280,16 +3280,18 @@ static void HWR_AddPolyObjectPlanes(void)
|
||||||
if (po_ptrs[i]->translucency > 0)
|
if (po_ptrs[i]->translucency > 0)
|
||||||
{
|
{
|
||||||
FSurfaceInfo Surf;
|
FSurfaceInfo Surf;
|
||||||
FBITFIELD blendmode = HWR_TranstableToAlpha(po_ptrs[i]->translucency, &Surf);
|
FBITFIELD blendmode;
|
||||||
|
memset(&Surf, 0x00, sizeof(Surf));
|
||||||
|
blendmode = HWR_TranstableToAlpha(po_ptrs[i]->translucency, &Surf);
|
||||||
HWR_AddTransparentPolyobjectFloor(levelflats[polyobjsector->ceilingpic].lumpnum, po_ptrs[i], polyobjsector->ceilingheight,
|
HWR_AddTransparentPolyobjectFloor(levelflats[polyobjsector->ceilingpic].lumpnum, po_ptrs[i], polyobjsector->ceilingheight,
|
||||||
polyobjsector->lightlevel, Surf.FlatColor.s.alpha, polyobjsector, blendmode, NULL);
|
polyobjsector->lightlevel, Surf.FlatColor.s.alpha, polyobjsector, blendmode, NULL);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
HWR_GetFlat(levelflats[polyobjsector->ceilingpic].lumpnum);
|
HWR_GetFlat(levelflats[polyobjsector->ceilingpic].lumpnum);
|
||||||
HWR_RenderPolyObjectPlane(po_ptrs[i], polyobjsector->ceilingheight, PF_Occlude,
|
HWR_RenderPolyObjectPlane(po_ptrs[i], polyobjsector->ceilingheight, PF_Occlude,
|
||||||
polyobjsector->lightlevel, levelflats[polyobjsector->floorpic].lumpnum,
|
polyobjsector->lightlevel, levelflats[polyobjsector->floorpic].lumpnum,
|
||||||
polyobjsector, 255, NULL);
|
polyobjsector, 255, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1387,10 +1387,7 @@ void HWR_DrawMD2(gr_vissprite_t *spr)
|
||||||
// SRB2CBTODO: MD2 scaling support
|
// SRB2CBTODO: MD2 scaling support
|
||||||
finalscale *= FIXED_TO_FLOAT(spr->mobj->scale);
|
finalscale *= FIXED_TO_FLOAT(spr->mobj->scale);
|
||||||
|
|
||||||
if (postimgtype == postimg_flip)
|
p.flip = atransform.flip;
|
||||||
p.flip = true;
|
|
||||||
else
|
|
||||||
p.flip = false;
|
|
||||||
|
|
||||||
HWD.pfnDrawMD2i(buff, curr, durs, tics, next, &p, finalscale, flip, color);
|
HWD.pfnDrawMD2i(buff, curr, durs, tics, next, &p, finalscale, flip, color);
|
||||||
}
|
}
|
||||||
|
|
|
@ -108,7 +108,7 @@ static inline void P_UnArchivePlayer(void)
|
||||||
//
|
//
|
||||||
// P_NetArchivePlayers
|
// P_NetArchivePlayers
|
||||||
//
|
//
|
||||||
static inline void P_NetArchivePlayers(void)
|
static void P_NetArchivePlayers(void)
|
||||||
{
|
{
|
||||||
INT32 i, j;
|
INT32 i, j;
|
||||||
UINT16 flags;
|
UINT16 flags;
|
||||||
|
@ -280,7 +280,7 @@ static inline void P_NetArchivePlayers(void)
|
||||||
//
|
//
|
||||||
// P_NetUnArchivePlayers
|
// P_NetUnArchivePlayers
|
||||||
//
|
//
|
||||||
static inline void P_NetUnArchivePlayers(void)
|
static void P_NetUnArchivePlayers(void)
|
||||||
{
|
{
|
||||||
INT32 i, j;
|
INT32 i, j;
|
||||||
UINT16 flags;
|
UINT16 flags;
|
||||||
|
|
46
src/p_user.c
46
src/p_user.c
|
@ -8123,6 +8123,8 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall
|
||||||
{
|
{
|
||||||
fixed_t myfloorz, myceilingz;
|
fixed_t myfloorz, myceilingz;
|
||||||
fixed_t midz = thiscam->z + (thiscam->z - mo->z)/2;
|
fixed_t midz = thiscam->z + (thiscam->z - mo->z)/2;
|
||||||
|
fixed_t midx = ((mo->x>>FRACBITS) + (thiscam->x>>FRACBITS))<<(FRACBITS-1);
|
||||||
|
fixed_t midy = ((mo->y>>FRACBITS) + (thiscam->y>>FRACBITS))<<(FRACBITS-1);
|
||||||
|
|
||||||
// Cameras use the heightsec's heights rather then the actual sector heights.
|
// Cameras use the heightsec's heights rather then the actual sector heights.
|
||||||
// If you can see through it, why not move the camera through it too?
|
// If you can see through it, why not move the camera through it too?
|
||||||
|
@ -8138,8 +8140,8 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
myfloorz = newsubsec->sector->floorheight;
|
myfloorz = P_CameraGetFloorZ(thiscam, newsubsec->sector, midx, midy, NULL);
|
||||||
myceilingz = newsubsec->sector->ceilingheight;
|
myceilingz = P_CameraGetCeilingZ(thiscam, newsubsec->sector, midx, midy, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check list of fake floors and see if floorz/ceilingz need to be altered.
|
// Check list of fake floors and see if floorz/ceilingz need to be altered.
|
||||||
|
@ -8151,17 +8153,21 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall
|
||||||
|
|
||||||
for (rover = newsubsec->sector->ffloors; rover; rover = rover->next)
|
for (rover = newsubsec->sector->ffloors; rover; rover = rover->next)
|
||||||
{
|
{
|
||||||
|
fixed_t topheight, bottomheight;
|
||||||
if (!(rover->flags & FF_BLOCKOTHERS) || !(rover->flags & FF_EXISTS) || !(rover->flags & FF_RENDERALL) || GETSECSPECIAL(rover->master->frontsector->special, 4) == 12)
|
if (!(rover->flags & FF_BLOCKOTHERS) || !(rover->flags & FF_EXISTS) || !(rover->flags & FF_RENDERALL) || GETSECSPECIAL(rover->master->frontsector->special, 4) == 12)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
delta1 = midz - (*rover->bottomheight
|
topheight = P_CameraGetFOFTopZ(thiscam, newsubsec->sector, rover, midx, midy, NULL);
|
||||||
+ ((*rover->topheight - *rover->bottomheight)/2));
|
bottomheight = P_CameraGetFOFBottomZ(thiscam, newsubsec->sector, rover, midx, midy, NULL);
|
||||||
delta2 = thingtop - (*rover->bottomheight
|
|
||||||
+ ((*rover->topheight - *rover->bottomheight)/2));
|
delta1 = midz - (bottomheight
|
||||||
if (*rover->topheight > myfloorz && abs(delta1) < abs(delta2))
|
+ ((topheight - bottomheight)/2));
|
||||||
myfloorz = *rover->topheight;
|
delta2 = thingtop - (bottomheight
|
||||||
if (*rover->bottomheight < myceilingz && abs(delta1) >= abs(delta2))
|
+ ((topheight - bottomheight)/2));
|
||||||
myceilingz = *rover->bottomheight;
|
if (topheight > myfloorz && abs(delta1) < abs(delta2))
|
||||||
|
myfloorz = topheight;
|
||||||
|
if (bottomheight < myceilingz && abs(delta1) >= abs(delta2))
|
||||||
|
myceilingz = bottomheight;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8275,18 +8281,22 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall
|
||||||
|
|
||||||
for (rover = newsubsec->sector->ffloors; rover; rover = rover->next)
|
for (rover = newsubsec->sector->ffloors; rover; rover = rover->next)
|
||||||
{
|
{
|
||||||
|
fixed_t topheight, bottomheight;
|
||||||
if ((rover->flags & FF_BLOCKOTHERS) && (rover->flags & FF_RENDERALL) && (rover->flags & FF_EXISTS) && GETSECSPECIAL(rover->master->frontsector->special, 4) != 12)
|
if ((rover->flags & FF_BLOCKOTHERS) && (rover->flags & FF_RENDERALL) && (rover->flags & FF_EXISTS) && GETSECSPECIAL(rover->master->frontsector->special, 4) != 12)
|
||||||
{
|
{
|
||||||
if (*rover->bottomheight - thiscam->height < z
|
topheight = P_CameraGetFOFTopZ(thiscam, newsubsec->sector, rover, midx, midy, NULL);
|
||||||
&& midz < *rover->bottomheight)
|
bottomheight = P_CameraGetFOFBottomZ(thiscam, newsubsec->sector, rover, midx, midy, NULL);
|
||||||
z = *rover->bottomheight - thiscam->height-FixedMul(11*FRACUNIT, mo->scale);
|
|
||||||
|
|
||||||
else if (*rover->topheight + thiscam->height > z
|
if (bottomheight - thiscam->height < z
|
||||||
&& midz > *rover->topheight)
|
&& midz < bottomheight)
|
||||||
z = *rover->topheight;
|
z = bottomheight - thiscam->height-FixedMul(11*FRACUNIT, mo->scale);
|
||||||
|
|
||||||
if ((mo->z >= *rover->topheight && midz < *rover->bottomheight)
|
else if (topheight + thiscam->height > z
|
||||||
|| ((mo->z < *rover->bottomheight && mo->z+mo->height < *rover->topheight) && midz >= *rover->topheight))
|
&& midz > topheight)
|
||||||
|
z = topheight;
|
||||||
|
|
||||||
|
if ((mo->z >= topheight && midz < bottomheight)
|
||||||
|
|| ((mo->z < bottomheight && mo->z+mo->height < topheight) && midz >= topheight))
|
||||||
{
|
{
|
||||||
// Can't see
|
// Can't see
|
||||||
if (!resetcalled)
|
if (!resetcalled)
|
||||||
|
|
Loading…
Reference in a new issue