Changeset 23
- Timestamp:
- Sep 28, 2011, 8:34:06 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Forms/UMainForm.lfm
r21 r23 5 5 Width = 514 6 6 Caption = 'Tunneler' 7 ClientHeight = 38 97 ClientHeight = 385 8 8 ClientWidth = 514 9 9 Menu = MainMenu1 … … 18 18 object StatusBar1: TStatusBar 19 19 Left = 0 20 Height = 1721 Top = 3 7220 Height = 21 21 Top = 364 22 22 Width = 514 23 23 Panels = < … … 47 47 object Image1: TImage 48 48 Left = 0 49 Height = 3 7249 Height = 364 50 50 Top = 0 51 51 Width = 514 -
trunk/Forms/UMainForm.pas
r22 r23 43 43 procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); 44 44 procedure FormCreate(Sender: TObject); 45 procedure FormDestroy(Sender: TObject); 45 46 procedure FormDeactivate(Sender: TObject); 46 procedure FormDestroy(Sender: TObject);47 47 procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); 48 48 procedure FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); … … 60 60 public 61 61 PersistentForm: TPersistentForm; 62 Engine: TEngine; 62 63 end; 63 64 … … 85 86 try 86 87 Engine.Lock.Acquire; 87 StatusBar1.Panels[1].Text := IntToStr(TPlayer(Engine.Players[0]).Position.X) + ', ' +88 IntToStr(TPlayer(Engine.Players[0]).Position.Y) + ' ' +89 IntToStr(TPlayer(Engine.Players[0]).Direction);88 //StatusBar1.Panels[1].Text := IntToStr(TPlayer(Engine.Players[0]).Position.X) + ', ' + 89 // IntToStr(TPlayer(Engine.Players[0]).Position.Y) + ' ' + 90 // IntToStr(TPlayer(Engine.Players[0]).Direction); 90 91 StatusBar1.Panels[2].Text := FloatToStr(RoundTo(DrawDuration / OneMillisecond, -2)); 91 StatusBar1.Panels[3].Text := IntToStr(TPlayer(Engine.Players[0]).Bullets.Count);92 //StatusBar1.Panels[3].Text := IntToStr(TPlayer(Engine.Players[0]).Bullets.Count); 92 93 finally 93 94 Engine.Lock.Release; … … 111 112 Randomize; 112 113 DoubleBuffered := True; 114 Engine := TEngine.Create; 113 115 Engine.Bitmap := Image1.Picture.Bitmap; 114 with Engine do begin115 PlayerCount := 4;116 with TPlayer(Players[0]) do begin117 Name := 'Player 1';118 Keys.Left := 65;119 Keys.Down := 83;120 Keys.Right := 68;121 Keys.Up := 87;122 Keys.Shoot := 69;123 end;124 with TPlayer(Players[1]) do begin125 Name := 'Player 2';126 Keys.Left := 37;127 Keys.Down := 40;128 Keys.Right := 39;129 Keys.Up := 38;130 Keys.Shoot := 17;131 end;132 with TPlayer(Players[2]) do begin133 Name := 'Player 3';134 Keys.Left := 76;135 Keys.Down := 186;136 Keys.Right := 222;137 Keys.Up := 80;138 Keys.Shoot := 191;139 end;140 with TPlayer(Players[3]) do begin141 Name := 'Player 4';142 Keys.Left := 100;143 Keys.Down := 98;144 Keys.Right := 102;145 Keys.Up := 104;146 Keys.Shoot := 105;147 end;148 end;149 116 Engine.NewGame; 150 117 Engine.Active := True; … … 160 127 begin 161 128 PersistentForm.Free; 129 Engine.Free; 162 130 end; 163 131 -
trunk/Forms/UNewGameForm.lfm
r22 r23 7 7 ClientHeight = 387 8 8 ClientWidth = 560 9 On Create = FormCreate9 OnShow = FormShow 10 10 LCLVersion = '0.9.31' 11 11 object ButtonStart: TButton … … 32 32 object Label1: TLabel 33 33 Left = 8 34 Height = 1 434 Height = 18 35 35 Top = 8 36 Width = 4436 Width = 53 37 37 Caption = 'Players:' 38 38 ParentColor = False -
trunk/Forms/UNewGameForm.pas
r22 r23 19 19 ListView1: TListView; 20 20 procedure ButtonStartClick(Sender: TObject); 21 procedure Form Create(Sender: TObject);21 procedure FormShow(Sender: TObject); 22 22 procedure ListView1Change(Sender: TObject; Item: TListItem; 23 23 Change: TItemChange); … … 40 40 { TNewGameForm } 41 41 42 procedure TNewGameForm.FormCreate(Sender: TObject);43 var44 NewItem: TListItem;45 I: Integer;46 begin47 with ListView1 do try48 BeginUpdate;49 Clear;50 for I := 0 to Engine.Players.Count - 1 do51 with TPlayer(Engine.Players[I]) do begin52 NewItem := Items.Add;53 NewItem.Caption := Name;54 NewItem.SubItems.Add(IntToStr(Color));55 NewItem.SubItems.Add('');56 NewItem.Checked := Enabled;57 NewItem.Data := Pointer(Engine.Players[I]);58 end;59 finally60 EndUpdate;61 end;62 end;63 64 42 procedure TNewGameForm.ListView1Change(Sender: TObject; Item: TListItem; 65 43 Change: TItemChange); … … 74 52 end; 75 53 54 procedure TNewGameForm.FormShow(Sender: TObject); 55 var 56 NewItem: TListItem; 57 I: Integer; 58 begin 59 with ListView1 do try 60 BeginUpdate; 61 Clear; 62 for I := 0 to Engine.PlayerPool.Count - 1 do 63 with TPlayer(Engine.PlayerPool[I]) do begin 64 NewItem := Items.Add; 65 NewItem.Caption := Name; 66 NewItem.SubItems.Add(IntToStr(Color)); 67 NewItem.SubItems.Add(''); 68 NewItem.Checked := Enabled; 69 NewItem.Data := Pointer(Engine.PlayerPool[I]); 70 end; 71 finally 72 EndUpdate; 73 end; 74 end; 75 76 76 end. 77 77 -
trunk/Languages/tunneler.cs.po
r22 r23 80 80 msgstr "OvládánÃ" 81 81 82 #: ucore.splayer 83 msgid "Player" 84 msgstr "" 85 82 86 #: uthreading.scurrentthreadnotfound 83 87 msgid "Current thread ID %d not found in virtual thread list." -
trunk/Languages/tunneler.po
r22 r23 72 72 msgstr "" 73 73 74 #: ucore.splayer 75 msgid "Player" 76 msgstr "" 77 74 78 #: uthreading.scurrentthreadnotfound 75 79 msgid "Current thread ID %d not found in virtual thread list." -
trunk/UCore.pas
r22 r23 8 8 Dialogs, Classes, SysUtils, Contnrs, Graphics, SpecializedMatrix, SpecializedList, 9 9 IntfGraphics, FPImage, LCLType, SpecializedBitmap, GraphType, Math, URectangle, 10 Syncobjs, UThreading ;10 Syncobjs, UThreading, Forms; 11 11 12 12 const … … 173 173 IntfImage: TLazIntfImage; 174 174 ClearBackground: Boolean; 175 function GetPlayerCount: Integer;176 175 procedure SetActive(const AValue: Boolean); 177 176 procedure SetBitmap(const AValue: TBitmap); 178 procedure SetPlayerCount(const AValue: Integer);179 177 procedure Redraw; 180 178 function IsInsideHouses(Pos: TPoint): Boolean; 181 179 procedure DoDrawToBitmap; 180 procedure InitPlayerPool; 182 181 public 183 182 Keyboard: TKeyboard; 184 183 World: TWorld; 184 PlayerPool: TListObject; // TListObject<TPlayer> 185 185 Players: TListObject; // TListObject<TPlayer> 186 186 Lock: TCriticalSection; … … 189 189 procedure ResizePlayerFrames; 190 190 procedure Tick; 191 procedure Draw ;191 procedure Draw(Thread: TVirtualThread); 192 192 procedure NewGame; 193 property PlayerCount: Integer read GetPlayerCount write SetPlayerCount;194 193 property Bitmap: TBitmap read FBitmap write SetBitmap; 195 194 property Active: Boolean read FActive write SetActive; … … 213 212 implementation 214 213 214 resourcestring 215 SPlayer = 'Player'; 216 217 215 218 function SwapBRComponent(Value: Integer): Integer; 216 219 begin … … 236 239 begin 237 240 repeat 238 Engine.Draw ;241 Engine.Draw(Self); 239 242 Sleep(50); 240 243 until Terminated; … … 589 592 var 590 593 I: Integer; 594 P: Integer; 591 595 Pos: TPoint; 592 596 D: Real; … … 660 664 end; 661 665 end else begin 662 if (ItemsXY[Pos.X, Pos.Y] = Byte(miPlayer1TankBody)) or 663 (ItemsXY[Pos.X, Pos.Y] = Byte(miPlayer1TankBody2)) then 664 with TPlayer(Engine.Players[0]) do begin 665 Shield := Shield - 1 / ShieldSteps; 666 end; 667 if (ItemsXY[Pos.X, Pos.Y] = Byte(miPlayer2Tankbody)) or 668 (ItemsXY[Pos.X, Pos.Y] = Byte(miPlayer2TankBody2)) then 669 with TPlayer(Engine.Players[1]) do begin 670 Shield := Shield - 1 / ShieldSteps; 671 end; 672 if (ItemsXY[Pos.X, Pos.Y] = Byte(miPlayer3TankBody)) or 673 (ItemsXY[Pos.X, Pos.Y] = Byte(miPlayer3TankBody2)) then 674 with TPlayer(Engine.Players[2]) do begin 675 Shield := Shield - 1 / ShieldSteps; 676 end; 677 if (ItemsXY[Pos.X, Pos.Y] = Byte(miPlayer4TankBody)) or 678 (ItemsXY[Pos.X, Pos.Y] = Byte(miPlayer4TankBody2)) then 679 with TPlayer(Engine.Players[3]) do begin 680 Shield := Shield - 1 / ShieldSteps; 681 end; 666 for P := 0 to Engine.Players.Count - 1 do 667 with TPlayer(Engine.Players[P]) do 668 if Enabled and (TMatter(Engine.World.Matter[ItemsXY[Pos.X, Pos.Y]]).Kind = mkTankBody) then 669 Shield := Shield - 1 / ShieldSteps; 682 670 if StopByDirt then Explosion(LastPos, BulletExplosionRange); 683 671 Bullets.Delete(I); … … 753 741 not (((Y = 0) or (Y = (HouseSize - 1))) and (X > ((HouseSize - DoorSize) div 2)) and 754 742 (X < ((HouseSize - 1 + DoorSize) div 2))) 755 then Matter := Byte(miPlayer1 Cannon) + Id * 4743 then Matter := Byte(miPlayer1Home) + Id * 4 756 744 else Matter := Byte(miSpace); 757 745 Engine.World.Surface.ItemsXY[House.Left + X, … … 965 953 { TEngine } 966 954 967 function TEngine.GetPlayerCount: Integer;968 begin969 Result := Players.Count;970 end;971 972 955 procedure TEngine.SetActive(const AValue: Boolean); 973 956 begin … … 986 969 FSystemThread.Start; 987 970 end else begin 971 FDrawThread.Terminate; 972 Application.ProcessMessages; 988 973 FreeAndNil(FDrawThread); 989 974 FreeAndNil(FSystemThread); … … 994 979 begin 995 980 FBitmap := AValue; 996 ResizePlayerFrames;997 end;998 999 procedure TEngine.SetPlayerCount(const AValue: Integer);1000 var1001 NewPlayer: TPlayer;1002 I: Integer;1003 begin1004 if Players.Count < AValue then begin1005 for I := Players.Count to AValue - 1 do begin1006 NewPlayer := TPlayer.Create;1007 NewPlayer.Engine := Self;1008 NewPlayer.Id := I;1009 NewPlayer.Name := 'Player ' + IntToStr(I);1010 NewPlayer.InitTanks;1011 Players.Add(NewPlayer);1012 end;1013 end else1014 if Players.Count > AValue then begin1015 for I := Players.Count - 1 downto AValue do1016 Players.Delete(I);1017 end;1018 981 ResizePlayerFrames; 1019 982 end; … … 1125 1088 end; 1126 1089 1090 procedure TEngine.InitPlayerPool; 1091 var 1092 I: Integer; 1093 begin 1094 PlayerPool.Clear; 1095 with TPlayer(PlayerPool.AddNew(TPlayer.Create)) do begin 1096 Keys.Left := 65; 1097 Keys.Down := 83; 1098 Keys.Right := 68; 1099 Keys.Up := 87; 1100 Keys.Shoot := 69; 1101 Enabled := True; 1102 end; 1103 with TPlayer(PlayerPool.AddNew(TPlayer.Create)) do begin 1104 Keys.Left := 37; 1105 Keys.Down := 40; 1106 Keys.Right := 39; 1107 Keys.Up := 38; 1108 Keys.Shoot := 17; 1109 Enabled := True; 1110 end; 1111 with TPlayer(PlayerPool.AddNew(TPlayer.Create)) do begin 1112 Keys.Left := 76; 1113 Keys.Down := 186; 1114 Keys.Right := 222; 1115 Keys.Up := 80; 1116 Keys.Shoot := 191; 1117 end; 1118 with TPlayer(PlayerPool.AddNew(TPlayer.Create)) do begin 1119 Keys.Left := 100; 1120 Keys.Down := 98; 1121 Keys.Right := 102; 1122 Keys.Up := 104; 1123 Keys.Shoot := 105; 1124 end; 1125 for I := 0 to PlayerPool.Count - 1 do 1126 with TPlayer(PlayerPool[I]) do begin 1127 Engine := Self; 1128 Id := I; 1129 InitTanks; 1130 Name := SPlayer + ' ' + IntToStr(I + 1); 1131 end; 1132 end; 1133 1127 1134 procedure TEngine.ResizePlayerFrames; 1128 1135 var … … 1159 1166 FBitmapLock := TCriticalSection.Create; 1160 1167 IntfImage := TLazIntfImage.Create(1, 1); 1168 PlayerPool := TListObject.Create; 1161 1169 Players := TListObject.Create; 1170 Players.OwnsObjects := False; 1162 1171 Keyboard := TKeyboard.Create; 1163 1172 World := TWorld.Create; 1164 1173 World.Engine := Self; 1174 InitPlayerPool; 1165 1175 Redraw; 1166 1176 end; … … 1172 1182 FBitmapLock.Free; 1173 1183 IntfImage.Free; 1184 PlayerPool.Free; 1174 1185 Players.Free; 1175 1186 Keyboard.Free; … … 1194 1205 end; 1195 1206 1196 procedure TEngine.Draw ;1207 procedure TEngine.Draw(Thread: TVirtualThread); 1197 1208 var 1198 1209 I: Integer; … … 1210 1221 Lock.Release; 1211 1222 end; 1212 Synchronize(DoDrawToBitmap);1223 if not Thread.Terminated then Thread.Synchronize(DoDrawToBitmap); 1213 1224 end; 1214 1225 end; … … 1219 1230 I2: Integer; 1220 1231 begin 1232 Players.Clear; 1233 for I := 0 to PlayerPool.Count - 1 do 1234 with TPlayer(PlayerPool[I]) do 1235 if Enabled then 1236 Players.Add(PlayerPool[I]); 1237 ResizePlayerFrames; 1238 1221 1239 World.Generate; 1222 1240 … … 1227 1245 end; 1228 1246 1229 initialization1230 1231 Engine := TEngine.Create;1232 1233 finalization1234 1235 Engine.Free;1236 1237 1247 end. 1238 1248 -
trunk/tunneler.lpi
r22 r23 46 46 </Item4> 47 47 </RequiredPackages> 48 <Units Count=" 67">48 <Units Count="71"> 49 49 <Unit0> 50 50 <Filename Value="tunneler.lpr"/> 51 51 <IsPartOfProject Value="True"/> 52 52 <UnitName Value="tunneler"/> 53 <EditorIndex Value=" 5"/>53 <EditorIndex Value="7"/> 54 54 <WindowIndex Value="0"/> 55 55 <TopLine Value="1"/> 56 56 <CursorPos X="61" Y="10"/> 57 <UsageCount Value="1 03"/>57 <UsageCount Value="114"/> 58 58 <Loaded Value="True"/> 59 59 </Unit0> … … 66 66 <TopLine Value="203"/> 67 67 <CursorPos X="68" Y="209"/> 68 <UsageCount Value="9 2"/>68 <UsageCount Value="91"/> 69 69 </Unit1> 70 70 <Unit2> … … 75 75 <EditorIndex Value="0"/> 76 76 <WindowIndex Value="0"/> 77 <TopLine Value=" 208"/>78 <CursorPos X=" 3" Y="68"/>79 <UsageCount Value="1 03"/>77 <TopLine Value="954"/> 78 <CursorPos X="9" Y="970"/> 79 <UsageCount Value="114"/> 80 80 <Loaded Value="True"/> 81 81 </Unit2> … … 86 86 <TopLine Value="35"/> 87 87 <CursorPos X="20" Y="51"/> 88 <UsageCount Value=" 6"/>88 <UsageCount Value="5"/> 89 89 </Unit3> 90 90 <Unit4> … … 94 94 <TopLine Value="52"/> 95 95 <CursorPos X="18" Y="57"/> 96 <UsageCount Value=" 5"/>96 <UsageCount Value="4"/> 97 97 </Unit4> 98 98 <Unit5> … … 102 102 <TopLine Value="1"/> 103 103 <CursorPos X="61" Y="11"/> 104 <UsageCount Value=" 20"/>104 <UsageCount Value="19"/> 105 105 </Unit5> 106 106 <Unit6> … … 109 109 <TopLine Value="19"/> 110 110 <CursorPos X="4" Y="36"/> 111 <UsageCount Value="1 2"/>111 <UsageCount Value="11"/> 112 112 </Unit6> 113 113 <Unit7> … … 117 117 <TopLine Value="2417"/> 118 118 <CursorPos X="3" Y="2459"/> 119 <UsageCount Value=" 8"/>119 <UsageCount Value="7"/> 120 120 </Unit7> 121 121 <Unit8> 122 122 <Filename Value="../../../lazarus/lcl/include/rasterimage.inc"/> 123 <WindowIndex Value="0"/> 124 <TopLine Value="548"/> 125 <CursorPos X="22" Y="552"/> 126 <UsageCount Value="6"/> 123 <EditorIndex Value="1"/> 124 <WindowIndex Value="0"/> 125 <TopLine Value="453"/> 126 <CursorPos X="1" Y="470"/> 127 <UsageCount Value="10"/> 128 <Loaded Value="True"/> 127 129 </Unit8> 128 130 <Unit9> … … 131 133 <TopLine Value="34"/> 132 134 <CursorPos X="1" Y="54"/> 133 <UsageCount Value=" 4"/>135 <UsageCount Value="3"/> 134 136 </Unit9> 135 137 <Unit10> … … 139 141 <TopLine Value="1314"/> 140 142 <CursorPos X="42" Y="1327"/> 141 <UsageCount Value=" 8"/>143 <UsageCount Value="7"/> 142 144 </Unit10> 143 145 <Unit11> 144 146 <Filename Value="../../PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericMatrix.inc"/> 145 <EditorIndex Value="1 0"/>147 <EditorIndex Value="16"/> 146 148 <WindowIndex Value="0"/> 147 149 <TopLine Value="154"/> 148 150 <CursorPos X="3" Y="156"/> 149 <UsageCount Value="4 3"/>151 <UsageCount Value="49"/> 150 152 <Loaded Value="True"/> 151 153 </Unit11> … … 156 158 <TopLine Value="16"/> 157 159 <CursorPos X="22" Y="33"/> 158 <UsageCount Value="1 8"/>160 <UsageCount Value="17"/> 159 161 </Unit12> 160 162 <Unit13> … … 163 165 <TopLine Value="16"/> 164 166 <CursorPos X="19" Y="32"/> 165 <UsageCount Value=" 6"/>167 <UsageCount Value="5"/> 166 168 </Unit13> 167 169 <Unit14> … … 171 173 <TopLine Value="54"/> 172 174 <CursorPos X="3" Y="70"/> 173 <UsageCount Value=" 9"/>175 <UsageCount Value="8"/> 174 176 </Unit14> 175 177 <Unit15> 176 178 <Filename Value="../../PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/> 177 <WindowIndex Value="0"/> 178 <TopLine Value="10"/> 179 <CursorPos X="21" Y="13"/> 180 <UsageCount Value="21"/> 179 <EditorIndex Value="2"/> 180 <WindowIndex Value="0"/> 181 <TopLine Value="115"/> 182 <CursorPos X="1" Y="132"/> 183 <UsageCount Value="26"/> 184 <Loaded Value="True"/> 181 185 </Unit15> 182 186 <Unit16> … … 185 189 <TopLine Value="783"/> 186 190 <CursorPos X="3" Y="785"/> 187 <UsageCount Value=" 3"/>191 <UsageCount Value="2"/> 188 192 </Unit16> 189 193 <Unit17> … … 192 196 <TopLine Value="498"/> 193 197 <CursorPos X="11" Y="515"/> 194 <UsageCount Value=" 7"/>198 <UsageCount Value="6"/> 195 199 </Unit17> 196 200 <Unit18> … … 200 204 <TopLine Value="665"/> 201 205 <CursorPos X="27" Y="682"/> 202 <UsageCount Value=" 5"/>206 <UsageCount Value="4"/> 203 207 </Unit18> 204 208 <Unit19> … … 207 211 <TopLine Value="112"/> 208 212 <CursorPos X="10" Y="114"/> 209 <UsageCount Value=" 5"/>213 <UsageCount Value="4"/> 210 214 </Unit19> 211 215 <Unit20> … … 215 219 <TopLine Value="1035"/> 216 220 <CursorPos X="15" Y="1052"/> 217 <UsageCount Value=" 4"/>221 <UsageCount Value="3"/> 218 222 </Unit20> 219 223 <Unit21> … … 222 226 <TopLine Value="3003"/> 223 227 <CursorPos X="3" Y="3010"/> 224 <UsageCount Value=" 4"/>228 <UsageCount Value="3"/> 225 229 </Unit21> 226 230 <Unit22> … … 229 233 <TopLine Value="392"/> 230 234 <CursorPos X="1" Y="411"/> 231 <UsageCount Value=" 4"/>235 <UsageCount Value="3"/> 232 236 </Unit22> 233 237 <Unit23> … … 236 240 <TopLine Value="85"/> 237 241 <CursorPos X="10" Y="102"/> 238 <UsageCount Value=" 6"/>242 <UsageCount Value="5"/> 239 243 </Unit23> 240 244 <Unit24> … … 243 247 <TopLine Value="157"/> 244 248 <CursorPos X="3" Y="159"/> 245 <UsageCount Value=" 6"/>249 <UsageCount Value="5"/> 246 250 </Unit24> 247 251 <Unit25> … … 250 254 <TopLine Value="4360"/> 251 255 <CursorPos X="19" Y="4365"/> 252 <UsageCount Value="1 2"/>256 <UsageCount Value="11"/> 253 257 </Unit25> 254 258 <Unit26> … … 257 261 <TopLine Value="4226"/> 258 262 <CursorPos X="1" Y="4254"/> 259 <UsageCount Value=" 4"/>263 <UsageCount Value="3"/> 260 264 </Unit26> 261 265 <Unit27> … … 267 271 <TopLine Value="15"/> 268 272 <CursorPos X="39" Y="45"/> 269 <UsageCount Value="7 1"/>273 <UsageCount Value="70"/> 270 274 </Unit27> 271 275 <Unit28> … … 274 278 <TopLine Value="858"/> 275 279 <CursorPos X="1" Y="875"/> 276 <UsageCount Value=" 5"/>280 <UsageCount Value="4"/> 277 281 </Unit28> 278 282 <Unit29> … … 281 285 <TopLine Value="2102"/> 282 286 <CursorPos X="1" Y="2119"/> 283 <UsageCount Value=" 5"/>287 <UsageCount Value="4"/> 284 288 </Unit29> 285 289 <Unit30> … … 288 292 <TopLine Value="58"/> 289 293 <CursorPos X="14" Y="75"/> 290 <UsageCount Value="1 4"/>294 <UsageCount Value="13"/> 291 295 </Unit30> 292 296 <Unit31> … … 295 299 <TopLine Value="1"/> 296 300 <CursorPos X="34" Y="12"/> 297 <UsageCount Value=" 10"/>301 <UsageCount Value="9"/> 298 302 </Unit31> 299 303 <Unit32> … … 303 307 <TopLine Value="3131"/> 304 308 <CursorPos X="42" Y="3148"/> 305 <UsageCount Value="1 5"/>309 <UsageCount Value="14"/> 306 310 </Unit32> 307 311 <Unit33> … … 311 315 <TopLine Value="104"/> 312 316 <CursorPos X="3" Y="91"/> 313 <UsageCount Value=" 6"/>317 <UsageCount Value="5"/> 314 318 </Unit33> 315 319 <Unit34> … … 318 322 <TopLine Value="325"/> 319 323 <CursorPos X="3" Y="327"/> 320 <UsageCount Value=" 6"/>324 <UsageCount Value="5"/> 321 325 </Unit34> 322 326 <Unit35> … … 326 330 <TopLine Value="173"/> 327 331 <CursorPos X="5" Y="190"/> 328 <UsageCount Value=" 7"/>332 <UsageCount Value="6"/> 329 333 </Unit35> 330 334 <Unit36> 331 335 <Filename Value="../../PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericBitmap.inc"/> 332 <EditorIndex Value=" 9"/>336 <EditorIndex Value="15"/> 333 337 <WindowIndex Value="0"/> 334 338 <TopLine Value="1"/> 335 339 <CursorPos X="20" Y="26"/> 336 <UsageCount Value="3 0"/>340 <UsageCount Value="36"/> 337 341 <Loaded Value="True"/> 338 342 </Unit36> … … 340 344 <Filename Value="../../PascalClassLibrary/Generics/TemplateGenerics/Specialized/SpecializedBitmap.pas"/> 341 345 <UnitName Value="SpecializedBitmap"/> 342 <EditorIndex Value=" 8"/>346 <EditorIndex Value="14"/> 343 347 <WindowIndex Value="0"/> 344 348 <TopLine Value="47"/> 345 349 <CursorPos X="22" Y="21"/> 346 <UsageCount Value=" 19"/>350 <UsageCount Value="25"/> 347 351 <Loaded Value="True"/> 348 352 </Unit37> … … 353 357 <TopLine Value="91"/> 354 358 <CursorPos X="19" Y="107"/> 355 <UsageCount Value=" 8"/>359 <UsageCount Value="7"/> 356 360 </Unit38> 357 361 <Unit39> … … 360 364 <TopLine Value="1"/> 361 365 <CursorPos X="1" Y="1"/> 362 <UsageCount Value=" 7"/>366 <UsageCount Value="6"/> 363 367 </Unit39> 364 368 <Unit40> … … 367 371 <TopLine Value="158"/> 368 372 <CursorPos X="23" Y="175"/> 369 <UsageCount Value=" 6"/>373 <UsageCount Value="5"/> 370 374 </Unit40> 371 375 <Unit41> … … 375 379 <TopLine Value="1"/> 376 380 <CursorPos X="9" Y="69"/> 377 <UsageCount Value=" 6"/>381 <UsageCount Value="5"/> 378 382 </Unit41> 379 383 <Unit42> … … 383 387 <TopLine Value="1"/> 384 388 <CursorPos X="1" Y="1"/> 385 <UsageCount Value=" 6"/>389 <UsageCount Value="5"/> 386 390 </Unit42> 387 391 <Unit43> … … 391 395 <TopLine Value="1"/> 392 396 <CursorPos X="14" Y="20"/> 393 <UsageCount Value=" 6"/>397 <UsageCount Value="5"/> 394 398 </Unit43> 395 399 <Unit44> … … 397 401 <IsPartOfProject Value="True"/> 398 402 <UnitName Value="UPlatform"/> 399 <UsageCount Value=" 62"/>403 <UsageCount Value="73"/> 400 404 </Unit44> 401 405 <Unit45> … … 405 409 <TopLine Value="929"/> 406 410 <CursorPos X="5" Y="932"/> 407 <UsageCount Value="1 1"/>411 <UsageCount Value="10"/> 408 412 </Unit45> 409 413 <Unit46> … … 413 417 <TopLine Value="1"/> 414 418 <CursorPos X="50" Y="5"/> 415 <UsageCount Value=" 10"/>419 <UsageCount Value="9"/> 416 420 </Unit46> 417 421 <Unit47> … … 421 425 <TopLine Value="1"/> 422 426 <CursorPos X="36" Y="15"/> 423 <UsageCount Value=" 6"/>427 <UsageCount Value="5"/> 424 428 </Unit47> 425 429 <Unit48> … … 428 432 <TopLine Value="330"/> 429 433 <CursorPos X="35" Y="338"/> 430 <UsageCount Value="1 5"/>434 <UsageCount Value="14"/> 431 435 </Unit48> 432 436 <Unit49> … … 436 440 <TopLine Value="58"/> 437 441 <CursorPos X="5" Y="75"/> 438 <UsageCount Value=" 7"/>442 <UsageCount Value="6"/> 439 443 </Unit49> 440 444 <Unit50> … … 442 446 <IsPartOfProject Value="True"/> 443 447 <UnitName Value="URectangle"/> 444 <EditorIndex Value="1 3"/>448 <EditorIndex Value="19"/> 445 449 <WindowIndex Value="0"/> 446 450 <TopLine Value="120"/> 447 451 <CursorPos X="44" Y="150"/> 448 <UsageCount Value=" 47"/>452 <UsageCount Value="58"/> 449 453 <Loaded Value="True"/> 450 454 </Unit50> … … 454 458 <TopLine Value="147"/> 455 459 <CursorPos X="10" Y="84"/> 456 <UsageCount Value=" 10"/>460 <UsageCount Value="9"/> 457 461 </Unit51> 458 462 <Unit52> … … 462 466 <TopLine Value="520"/> 463 467 <CursorPos X="35" Y="531"/> 464 <UsageCount Value=" 9"/>468 <UsageCount Value="8"/> 465 469 </Unit52> 466 470 <Unit53> … … 468 472 <IsPartOfProject Value="True"/> 469 473 <UnitName Value="UPersistentForm"/> 470 <EditorIndex Value="1 1"/>474 <EditorIndex Value="17"/> 471 475 <WindowIndex Value="0"/> 472 476 <TopLine Value="69"/> 473 477 <CursorPos X="3" Y="90"/> 474 <UsageCount Value=" 40"/>478 <UsageCount Value="51"/> 475 479 <Loaded Value="True"/> 476 480 </Unit53> … … 479 483 <IsPartOfProject Value="True"/> 480 484 <UnitName Value="UApplicationInfo"/> 481 <EditorIndex Value="1 2"/>485 <EditorIndex Value="18"/> 482 486 <WindowIndex Value="0"/> 483 487 <TopLine Value="1"/> 484 488 <CursorPos X="70" Y="42"/> 485 <UsageCount Value=" 40"/>489 <UsageCount Value="51"/> 486 490 <Loaded Value="True"/> 487 491 </Unit54> … … 490 494 <IsPartOfProject Value="True"/> 491 495 <UnitName Value="URegistry"/> 492 <UsageCount Value=" 39"/>496 <UsageCount Value="50"/> 493 497 </Unit55> 494 498 <Unit56> … … 497 501 <TopLine Value="71"/> 498 502 <CursorPos X="10" Y="84"/> 499 <UsageCount Value=" 8"/>503 <UsageCount Value="7"/> 500 504 </Unit56> 501 505 <Unit57> … … 504 508 <TopLine Value="167"/> 505 509 <CursorPos X="3" Y="169"/> 506 <UsageCount Value=" 8"/>510 <UsageCount Value="7"/> 507 511 </Unit57> 508 512 <Unit58> … … 511 515 <TopLine Value="466"/> 512 516 <CursorPos X="17" Y="470"/> 513 <UsageCount Value=" 8"/>517 <UsageCount Value="7"/> 514 518 </Unit58> 515 519 <Unit59> … … 517 521 <IsPartOfProject Value="True"/> 518 522 <UnitName Value="UThreading"/> 519 <EditorIndex Value=" 7"/>520 <WindowIndex Value="0"/> 521 <TopLine Value=" 79"/>522 <CursorPos X=" 13" Y="95"/>523 <UsageCount Value=" 31"/>523 <EditorIndex Value="9"/> 524 <WindowIndex Value="0"/> 525 <TopLine Value="34"/> 526 <CursorPos X="35" Y="51"/> 527 <UsageCount Value="42"/> 524 528 <Loaded Value="True"/> 525 529 </Unit59> … … 527 531 <Filename Value="/usr/share/fpcsrc/2.4.2/packages/fcl-base/src/contnrs.pp"/> 528 532 <UnitName Value="contnrs"/> 529 <EditorIndex Value=" 6"/>533 <EditorIndex Value="8"/> 530 534 <WindowIndex Value="0"/> 531 535 <TopLine Value="55"/> 532 536 <CursorPos X="3" Y="72"/> 533 <UsageCount Value=" 15"/>537 <UsageCount Value="21"/> 534 538 <Loaded Value="True"/> 535 539 </Unit60> … … 540 544 <ResourceBaseClass Value="Form"/> 541 545 <UnitName Value="UNewGameForm"/> 542 <EditorIndex Value=" 1"/>543 <WindowIndex Value="0"/> 544 <TopLine Value="4 3"/>545 <CursorPos X=" 47" Y="68"/>546 <UsageCount Value=" 31"/>546 <EditorIndex Value="3"/> 547 <WindowIndex Value="0"/> 548 <TopLine Value="41"/> 549 <CursorPos X="1" Y="74"/> 550 <UsageCount Value="42"/> 547 551 <Loaded Value="True"/> 548 552 <LoadedDesigner Value="True"/> … … 555 559 <ResourceBaseClass Value="Form"/> 556 560 <UnitName Value="UMainForm"/> 557 <EditorIndex Value=" 2"/>558 <WindowIndex Value="0"/> 559 <TopLine Value=" 112"/>560 <CursorPos X=" 54" Y="140"/>561 <UsageCount Value=" 31"/>561 <EditorIndex Value="4"/> 562 <WindowIndex Value="0"/> 563 <TopLine Value="29"/> 564 <CursorPos X="1" Y="46"/> 565 <UsageCount Value="42"/> 562 566 <Loaded Value="True"/> 563 567 <LoadedDesigner Value="True"/> … … 570 574 <ResourceBaseClass Value="Form"/> 571 575 <UnitName Value="UMapForm"/> 572 <EditorIndex Value=" 14"/>576 <EditorIndex Value="20"/> 573 577 <WindowIndex Value="0"/> 574 578 <TopLine Value="1"/> 575 579 <CursorPos X="10" Y="5"/> 576 <UsageCount Value=" 31"/>580 <UsageCount Value="42"/> 577 581 <Loaded Value="True"/> 578 582 <LoadedDesigner Value="True"/> … … 581 585 <Filename Value="../../PascalClassLibrary/CoolTranslator/ULanguages.pas"/> 582 586 <UnitName Value="ULanguages"/> 583 <EditorIndex Value=" 4"/>587 <EditorIndex Value="6"/> 584 588 <WindowIndex Value="0"/> 585 589 <TopLine Value="3"/> 586 590 <CursorPos X="14" Y="20"/> 587 <UsageCount Value=" 15"/>591 <UsageCount Value="21"/> 588 592 <Loaded Value="True"/> 589 593 </Unit64> … … 591 595 <Filename Value="../../PascalClassLibrary/CoolTranslator/UCoolTranslator.pas"/> 592 596 <UnitName Value="UCoolTranslator"/> 593 <EditorIndex Value=" 3"/>597 <EditorIndex Value="5"/> 594 598 <WindowIndex Value="0"/> 595 599 <TopLine Value="31"/> 596 600 <CursorPos X="39" Y="33"/> 597 <UsageCount Value=" 15"/>601 <UsageCount Value="21"/> 598 602 <Loaded Value="True"/> 599 603 </Unit65> … … 604 608 <TopLine Value="1206"/> 605 609 <CursorPos X="3" Y="1223"/> 606 <UsageCount Value=" 9"/>610 <UsageCount Value="8"/> 607 611 </Unit66> 612 <Unit67> 613 <Filename Value="/usr/share/fpcsrc/2.4.2/rtl/objpas/classes/classesh.inc"/> 614 <EditorIndex Value="10"/> 615 <WindowIndex Value="0"/> 616 <TopLine Value="1508"/> 617 <CursorPos X="17" Y="1512"/> 618 <UsageCount Value="10"/> 619 <Loaded Value="True"/> 620 </Unit67> 621 <Unit68> 622 <Filename Value="/usr/share/fpcsrc/2.4.2/rtl/unix/tthread.inc"/> 623 <EditorIndex Value="11"/> 624 <WindowIndex Value="0"/> 625 <TopLine Value="1"/> 626 <CursorPos X="33" Y="15"/> 627 <UsageCount Value="10"/> 628 <Loaded Value="True"/> 629 </Unit68> 630 <Unit69> 631 <Filename Value="/usr/share/fpcsrc/2.4.2/rtl/inc/threadh.inc"/> 632 <EditorIndex Value="12"/> 633 <WindowIndex Value="0"/> 634 <TopLine Value="50"/> 635 <CursorPos X="5" Y="67"/> 636 <UsageCount Value="10"/> 637 <Loaded Value="True"/> 638 </Unit69> 639 <Unit70> 640 <Filename Value="/usr/share/fpcsrc/2.4.2/rtl/inc/thread.inc"/> 641 <EditorIndex Value="13"/> 642 <WindowIndex Value="0"/> 643 <TopLine Value="164"/> 644 <CursorPos X="27" Y="167"/> 645 <UsageCount Value="10"/> 646 <Loaded Value="True"/> 647 </Unit70> 608 648 </Units> 609 649 <JumpHistory Count="30" HistoryIndex="29"> 610 650 <Position1> 611 <Filename Value=" UCore.pas"/>612 <Caret Line=" 110" Column="74" TopLine="94"/>651 <Filename Value="Common/UThreading.pas"/> 652 <Caret Line="272" Column="11" TopLine="255"/> 613 653 </Position1> 614 654 <Position2> 615 655 <Filename Value="UCore.pas"/> 616 <Caret Line=" 311" Column="30" TopLine="295"/>656 <Caret Line="241" Column="14" TopLine="238"/> 617 657 </Position2> 618 658 <Position3> 619 659 <Filename Value="UCore.pas"/> 620 <Caret Line=" 348" Column="30" TopLine="332"/>660 <Caret Line="1221" Column="9" TopLine="1205"/> 621 661 </Position3> 622 662 <Position4> 623 <Filename Value=" UCore.pas"/>624 <Caret Line=" 438" Column="41" TopLine="420"/>663 <Filename Value="Common/UThreading.pas"/> 664 <Caret Line="167" Column="19" TopLine="158"/> 625 665 </Position4> 626 666 <Position5> 627 667 <Filename Value="UCore.pas"/> 628 <Caret Line=" 445" Column="39" TopLine="428"/>668 <Caret Line="972" Column="57" TopLine="955"/> 629 669 </Position5> 630 670 <Position6> 631 671 <Filename Value="UCore.pas"/> 632 <Caret Line=" 475" Column="61" TopLine="455"/>672 <Caret Line="16" Column="41" TopLine="1"/> 633 673 </Position6> 634 674 <Position7> 635 <Filename Value=" UCore.pas"/>636 <Caret Line=" 519" Column="64" TopLine="501"/>675 <Filename Value="Common/UThreading.pas"/> 676 <Caret Line="272" Column="5" TopLine="255"/> 637 677 </Position7> 638 678 <Position8> 639 <Filename Value=" UCore.pas"/>640 <Caret Line=" 535" Column="23" TopLine="518"/>679 <Filename Value="Common/UThreading.pas"/> 680 <Caret Line="274" Column="54" TopLine="255"/> 641 681 </Position8> 642 682 <Position9> 643 683 <Filename Value="UCore.pas"/> 644 <Caret Line=" 564" Column="18" TopLine="547"/>684 <Caret Line="972" Column="31" TopLine="957"/> 645 685 </Position9> 646 686 <Position10> 647 <Filename Value=" UCore.pas"/>648 <Caret Line=" 93" Column="41" TopLine="76"/>687 <Filename Value="Common/UThreading.pas"/> 688 <Caret Line="43" Column="48" TopLine="26"/> 649 689 </Position10> 650 690 <Position11> 651 691 <Filename Value="UCore.pas"/> 652 <Caret Line=" 756" Column="45" TopLine="756"/>692 <Caret Line="960" Column="29" TopLine="947"/> 653 693 </Position11> 654 694 <Position12> 655 695 <Filename Value="UCore.pas"/> 656 <Caret Line=" 71" Column="3" TopLine="52"/>696 <Caret Line="241" Column="14" TopLine="238"/> 657 697 </Position12> 658 698 <Position13> 659 <Filename Value=" UCore.pas"/>660 <Caret Line=" 567" Column="55" TopLine="548"/>699 <Filename Value="Common/UThreading.pas"/> 700 <Caret Line="61" Column="31" TopLine="53"/> 661 701 </Position13> 662 702 <Position14> 663 <Filename Value=" UCore.pas"/>664 <Caret Line=" 641" Column="47" TopLine="614"/>703 <Filename Value="Common/UThreading.pas"/> 704 <Caret Line="51" Column="33" TopLine="41"/> 665 705 </Position14> 666 706 <Position15> 667 707 <Filename Value="UCore.pas"/> 668 <Caret Line=" 59" Column="75" TopLine="52"/>708 <Caret Line="1205" Column="23" TopLine="1205"/> 669 709 </Position15> 670 710 <Position16> 671 711 <Filename Value="UCore.pas"/> 672 <Caret Line=" 633" Column="52" TopLine="616"/>712 <Caret Line="204" Column="32" TopLine="191"/> 673 713 </Position16> 674 714 <Position17> 675 <Filename Value=" UCore.pas"/>676 <Caret Line="6 91" Column="37" TopLine="675"/>715 <Filename Value="Common/UThreading.pas"/> 716 <Caret Line="61" Column="26" TopLine="43"/> 677 717 </Position17> 678 718 <Position18> 679 <Filename Value=" UCore.pas"/>680 <Caret Line=" 653" Column="48" TopLine="636"/>719 <Filename Value="Common/UThreading.pas"/> 720 <Caret Line="51" Column="35" TopLine="34"/> 681 721 </Position18> 682 722 <Position19> 683 <Filename Value=" UCore.pas"/>684 <Caret Line="6 85" Column="59" TopLine="652"/>723 <Filename Value="/usr/share/fpcsrc/2.4.2/rtl/unix/tthread.inc"/> 724 <Caret Line="6" Column="64" TopLine="1"/> 685 725 </Position19> 686 726 <Position20> 687 727 <Filename Value="UCore.pas"/> 688 <Caret Line=" 677" Column="43" TopLine="650"/>728 <Caret Line="971" Column="35" TopLine="955"/> 689 729 </Position20> 690 730 <Position21> 691 <Filename Value=" UCore.pas"/>692 <Caret Line=" 713" Column="89" TopLine="696"/>731 <Filename Value="../../../lazarus/lcl/include/rasterimage.inc"/> 732 <Caret Line="470" Column="1" TopLine="453"/> 693 733 </Position21> 694 734 <Position22> 695 735 <Filename Value="UCore.pas"/> 696 <Caret Line=" 714" Column="58" TopLine="697"/>736 <Caret Line="966" Column="65" TopLine="955"/> 697 737 </Position22> 698 738 <Position23> 699 739 <Filename Value="UCore.pas"/> 700 <Caret Line=" 722" Column="88" TopLine="705"/>740 <Caret Line="971" Column="1" TopLine="955"/> 701 741 </Position23> 702 742 <Position24> 703 743 <Filename Value="UCore.pas"/> 704 <Caret Line=" 754" Column="36" TopLine="737"/>744 <Caret Line="1180" Column="1" TopLine="1163"/> 705 745 </Position24> 706 746 <Position25> 707 <Filename Value=" UCore.pas"/>708 <Caret Line=" 755" Column="36" TopLine="737"/>747 <Filename Value="Forms/UMainForm.pas"/> 748 <Caret Line="46" Column="1" TopLine="29"/> 709 749 </Position25> 710 750 <Position26> 711 <Filename Value=" UCore.pas"/>712 <Caret Line=" 778" Column="42" TopLine="749"/>751 <Filename Value="Forms/UNewGameForm.pas"/> 752 <Caret Line="22" Column="1" TopLine="5"/> 713 753 </Position26> 714 754 <Position27> 715 <Filename Value=" UCore.pas"/>716 <Caret Line="7 75" Column="19" TopLine="758"/>755 <Filename Value="Forms/UNewGameForm.pas"/> 756 <Caret Line="74" Column="1" TopLine="41"/> 717 757 </Position27> 718 758 <Position28> 719 759 <Filename Value="UCore.pas"/> 720 <Caret Line=" 779" Column="31" TopLine="752"/>760 <Caret Line="971" Column="1" TopLine="954"/> 721 761 </Position28> 722 762 <Position29> 723 763 <Filename Value="UCore.pas"/> 724 <Caret Line="9 02" Column="40" TopLine="891"/>764 <Caret Line="972" Column="1" TopLine="954"/> 725 765 </Position29> 726 766 <Position30> 727 767 <Filename Value="UCore.pas"/> 728 <Caret Line="9 13" Column="63" TopLine="890"/>768 <Caret Line="973" Column="1" TopLine="954"/> 729 769 </Position30> 730 770 </JumpHistory>
Note:
See TracChangeset
for help on using the changeset viewer.