- Merged TTileList into TScreenBuffer

- Added shortcuts to TScreenBuffer to speed up the InsertionSort
- Renamed TScreenBuffer.Store to TScreenBuffer.Insert
- Added TScreenBuffer.Add to append to the list
- Added TScreenBuffer.Sort to sort the list using MergeSort
- Changed TLandscape.FillDrawList to just append to the list and sort afterwards
- Added screen buffer invalidation on TfrmMain.OnLandscapeChanged
This commit is contained in:
2009-05-20 18:16:18 +02:00
parent 0d6c151c5f
commit 7fdfd1ee23
3 changed files with 204 additions and 117 deletions

View File

@@ -838,6 +838,7 @@ begin
oglGameWindow.Repaint;
FLastDraw := Now;
end;
Done := False;
end;
procedure TfrmMain.btnAddLocationClick(Sender: TObject);
@@ -1540,7 +1541,6 @@ begin
edY.Value := FY;
dmNetwork.Send(TUpdateClientPosPacket.Create(AX, AY));
InvalidateScreenBuffer;
Repaint;
if frmRadarMap <> nil then frmRadarMap.Repaint;
end;
end;
@@ -1921,6 +1921,7 @@ end;
procedure TfrmMain.OnLandscapeChanged;
begin
InvalidateScreenBuffer;
oglGameWindow.Repaint;
UpdateCurrentTile;
end;
@@ -2155,6 +2156,7 @@ begin
end;
end;
FScreenBuffer.UpdateShortcuts;
FScreenBufferValid := True;
end;