X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_player.pas;h=8628d4a436e982b1027ae5048d86465a732b305b;hb=dec9e3260140baab3645be36492a1e0c1ea1fe32;hp=9048859a9ba464972c6df80d77cc4ac955213381;hpb=48a252493005343483d9ea943c350cac146ab295;p=d2df-sdl.git diff --git a/src/game/g_player.pas b/src/game/g_player.pas index 9048859..8628d4a 100644 --- a/src/game/g_player.pas +++ b/src/game/g_player.pas @@ -163,7 +163,7 @@ type FSecrets: Integer; FCurrWeap: Byte; FNextWeap: WORD; - FNextWeapDelay: Byte; // frames (unused) + FNextWeapDelay: Byte; // frames FBFGFireCounter: SmallInt; FLastSpawnerUID: Word; FLastHit: Byte; @@ -200,9 +200,6 @@ type FNetTime: LongWord; mEDamageType: Integer; - // client-side only - weaponSwitchKeyReleased: array[0..16] of Boolean; // true: was release - function CollideLevel(XInc, YInc: Integer): Boolean; function StayOnStep(XInc, YInc: Integer): Boolean; @@ -337,10 +334,6 @@ type procedure getMapBox (out x, y, w, h: Integer); inline; procedure moveBy (dx, dy: Integer); inline; - procedure releaseAllWeaponSwitchKeys (); - procedure weaponSwitchKeysStateChange (index: Integer; pressed: Boolean); - function isWeaponSwitchKeyReleased (index: Integer): Boolean; - public property Vel: TPoint2i read FObj.Vel; property Obj: TObj read FObj; @@ -2137,38 +2130,8 @@ begin FNetTime := 0; resetWeaponQueue(); - releaseAllWeaponSwitchKeys(); -end; - - -procedure TPlayer.releaseAllWeaponSwitchKeys (); -var - f: Integer; -begin - for f := 0 to High(weaponSwitchKeyReleased) do weaponSwitchKeyReleased[f] := true; -end; - -procedure TPlayer.weaponSwitchKeysStateChange (index: Integer; pressed: Boolean); -begin - Inc(index, 2); // -2: prev; -1: next - if (index < 0) or (index > High(weaponSwitchKeyReleased)) then exit; - weaponSwitchKeyReleased[index] := not pressed; end; -function TPlayer.isWeaponSwitchKeyReleased (index: Integer): Boolean; -begin - Inc(index, 2); // -2: prev; -1: next - if (index < 0) or (index > High(weaponSwitchKeyReleased)) then - begin - result := true; - end - else - begin - result := weaponSwitchKeyReleased[index]; - end; -end; - - procedure TPlayer.positionChanged (); inline; begin end; @@ -3611,8 +3574,8 @@ begin result := false; case weapon of WEAPON_KASTET, WEAPON_SAW: result := true; - WEAPON_SHOTGUN1, WEAPON_SHOTGUN2, WEAPON_SUPERPULEMET: result := (FAmmo[A_SHELLS] > 0); - WEAPON_PISTOL, WEAPON_CHAINGUN: result := (FAmmo[A_BULLETS] > 0); + WEAPON_SHOTGUN1, WEAPON_SHOTGUN2: result := (FAmmo[A_SHELLS] > 0); + WEAPON_PISTOL, WEAPON_CHAINGUN, WEAPON_SUPERPULEMET: result := (FAmmo[A_BULLETS] > 0); WEAPON_ROCKETLAUNCHER: result := (FAmmo[A_ROCKETS] > 0); WEAPON_PLASMA, WEAPON_BFG: result := (FAmmo[A_CELLS] > 0); WEAPON_FLAMETHROWER: result := (FAmmo[A_FUEL] > 0); @@ -3717,7 +3680,7 @@ begin begin //e_WriteLog(Format(' SWITCH: cur=%d; new=%d (dir=%d; log=%d)', [FCurrWeap, rwidx, dir, cwi]), TMsgType.Warning); result := Byte(rwidx); - //FNextWeapDelay := 10; //k8: not needed anymore + FNextWeapDelay := 10; exit; end; end; @@ -3781,7 +3744,7 @@ begin // i found her! result := Byte(rwidx); resetWeaponQueue(); - //FNextWeapDelay := 10; // anyway, 'cause why not; k8: not needed anymore + FNextWeapDelay := 10; // anyway, 'cause why not exit; end; end; @@ -3811,9 +3774,7 @@ var begin //e_WriteLog(Format('***RealizeCurrentWeapon: FNextWeap=%x; FNextWeapDelay=%d', [FNextWeap, FNextWeapDelay]), MSG_WARNING); //FNextWeap := FNextWeap and $1FFF; - //HACK: alteration delay will be reset when player released any weapon switch key - FNextWeapDelay := 0; //k8: just in case - //if FNextWeapDelay > 0 then Dec(FNextWeapDelay); // "alteration delay" + if FNextWeapDelay > 0 then Dec(FNextWeapDelay); // "alteration delay" if not switchAllowed then begin