diff --git a/src/game/g_player.pas b/src/game/g_player.pas
index fe38642843d48311e9169bb13b93973c9fcfa0b5..49cd657bb73ba05a37606ec76588e011be622590 100644 (file)
--- a/src/game/g_player.pas
+++ b/src/game/g_player.pas
SavedState.MaxAmmo[i] := FMaxAmmo[i];
SavedState.Rulez := FRulez - [R_KEY_RED, R_KEY_GREEN, R_KEY_BLUE];
- if FSavedStateNum < 0 then
- begin
- for i := Low(SavedStates) to High(SavedStates) do
- if not SavedStates[i].Used then
- begin
- FSavedStateNum := i;
- break;
- end;
- if FSavedStateNum < 0 then
+ FSavedStateNum := -1;
+ for i := Low(SavedStates) to High(SavedStates) do
+ if not SavedStates[i].Used then
begin
- SetLength(SavedStates, Length(SavedStates) + 1);
- FSavedStateNum := High(SavedStates);
+ FSavedStateNum := i;
+ break;
end;
+ if FSavedStateNum < 0 then
+ begin
+ SetLength(SavedStates, Length(SavedStates) + 1);
+ FSavedStateNum := High(SavedStates);
end;
-
SavedState.Used := True;
- SavedStates[i] := SavedState;
+ SavedStates[FSavedStateNum] := SavedState;
end;
procedure TPlayer.RecallState();