- Added A_ClearReFire code pointer for weapons. Preferably A_WeaponReady should

reset this counter but that can't be done due to unwanted side effects with
  existing weapons.
- Changed the 'scale' variable in CVAR(turbo) to double because the calculations
  depended on the current floating point precision setting and only worked properly
  when set to 'precise' in VC++.


SVN r1057 (trunk)
This commit is contained in:
Christoph Oelckers 2008-06-30 23:30:06 +00:00
parent 2afac5c716
commit ac32bd72bb
6 changed files with 25 additions and 4 deletions

View file

@ -1,3 +1,11 @@
June 30, 2008 (Changes by Graf Zahl)
- Added A_ClearReFire code pointer for weapons. Preferably A_WeaponReady should
reset this counter but that can't be done due to unwanted side effects with
existing weapons.
- Changed the 'scale' variable in CVAR(turbo) to double because the calculations
depended on the current floating point precision setting and only worked properly
when set to 'precise' in VC++.
June 29, 2008 (Changes by Graf Zahl) June 29, 2008 (Changes by Graf Zahl)
- Changed: I_Error and I_FatalError now use ZDoom's internal string formatting - Changed: I_Error and I_FatalError now use ZDoom's internal string formatting
code to process their messages. This was necessary to handle the %zu format code to process their messages. This was necessary to handle the %zu format

View file

@ -112,3 +112,4 @@ ACTOR(DamageMaster)
ACTOR(DamageChildren) ACTOR(DamageChildren)
ACTOR(CheckForReload) ACTOR(CheckForReload)
ACTOR(ResetReloadCounter) ACTOR(ResetReloadCounter)
ACTOR(ClearReFire)

View file

@ -217,7 +217,7 @@ CUSTOM_CVAR (Float, turbo, 100.f, 0)
} }
else else
{ {
float scale = self * 0.01f; double scale = self * 0.01;
forwardmove[0] = (int)(normforwardmove[0]*scale); forwardmove[0] = (int)(normforwardmove[0]*scale);
forwardmove[1] = (int)(normforwardmove[1]*scale); forwardmove[1] = (int)(normforwardmove[1]*scale);

View file

@ -488,6 +488,16 @@ void A_ReFire (AActor *actor)
} }
} }
void A_ClearReFire(AActor *actor)
{
player_t *player = actor->player;
if (NULL != player)
{
player->refire = 0;
}
}
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// //
// PROC A_CheckReload // PROC A_CheckReload

View file

@ -1011,9 +1011,10 @@ void FMultiPatchTexture::ParsePatch(FScanner &sc, TexPart & part)
else if (sc.Compare("rotate")) else if (sc.Compare("rotate"))
{ {
sc.MustGetNumber(); sc.MustGetNumber();
if (sc.Number != 0 && sc.Number !=90 && sc.Number != 180 && sc.Number != -90) sc.Number = (((sc.Number + 90)%360)-90);
{ if (sc.Number != 0 && sc.Number !=90 && sc.Number != 180 && sc.Number != -90)
sc.ScriptError("Rotation must be 0, 90, 180 or -90 degrees"); {
sc.ScriptError("Rotation must be a multiple of 90 degrees.");
} }
part.Rotate = (sc.Number / 90) & 3; part.Rotate = (sc.Number / 90) & 3;
} }

View file

@ -212,6 +212,7 @@ class Inventory extends Actor
action native A_BFGsound(); action native A_BFGsound();
action native A_FireBFG(); action native A_FireBFG();
action native A_ReFire(); action native A_ReFire();
action native A_ClearReFire();
action native A_CheckReload(); action native A_CheckReload();
action native A_GunFlash(); action native A_GunFlash();
action native A_Saw(optional coerce sound fullsound, optional coerce sound hitsound, optional eval int damage, optional class<Actor> pufftype); action native A_Saw(optional coerce sound fullsound, optional coerce sound hitsound, optional eval int damage, optional class<Actor> pufftype);