- Changed pickup sounds of local player to unpaused to resolve problems with
the time freezer and make them behave better. - Fixed: When sounds are paused not all newly started sounds should actually be played. - Fixed: SBARINFO had no means to check if a weapon uses any ammo at all and as a result the inventory icon was misplaced if a no-ammo weapon was selected. SVN r1343 (trunk)
This commit is contained in:
parent
ee8ce6c1e1
commit
6a321fd8f5
11 changed files with 166 additions and 45 deletions
|
|
@ -29,18 +29,35 @@ void AFastProjectile::Tick ()
|
|||
// [RH] Ripping is a little different than it was in Hexen
|
||||
FCheckPosition tm(!!(flags2 & MF2_RIP));
|
||||
|
||||
int shift = 3;
|
||||
int count = 8;
|
||||
if (radius > 0)
|
||||
{
|
||||
while ( ((momx >> shift) > radius) || ((momy >> shift) > radius))
|
||||
{
|
||||
// we need to take smaller steps.
|
||||
shift++;
|
||||
count<<=1;
|
||||
}
|
||||
}
|
||||
|
||||
// Handle movement
|
||||
if (momx || momy || (z != floorz) || momz)
|
||||
{
|
||||
xfrac = momx>>3;
|
||||
yfrac = momy>>3;
|
||||
zfrac = momz>>3;
|
||||
xfrac = momx>>shift;
|
||||
yfrac = momy>>shift;
|
||||
zfrac = momz>>shift;
|
||||
changexy = xfrac || yfrac;
|
||||
for (i = 0; i < 8; i++)
|
||||
int ripcount = count >> 3;
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
if (changexy)
|
||||
{
|
||||
tm.LastRipped = NULL; // [RH] Do rip damage each step, like Hexen
|
||||
if (--ripcount <= 0)
|
||||
{
|
||||
tm.LastRipped = NULL; // [RH] Do rip damage each step, like Hexen
|
||||
ripcount = count >> 3;
|
||||
}
|
||||
if (!P_TryMove (this, x + xfrac,y + yfrac, true, false, tm))
|
||||
{ // Blocked move
|
||||
P_ExplodeMissile (this, BlockingLine, BlockingMobj);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue