Changeset 28


Ignore:
Timestamp:
Oct 3, 2011, 8:17:16 PM (13 years ago)
Author:
george
Message:
 
Location:
trunk
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Forms/UMainForm.pas

    r24 r28  
    7272
    7373uses
    74   UMapForm, UNewGameForm;
     74  UMapForm, UNewGameForm, UDebugForm;
     75
     76resourcestring
     77  SRound = '%0:s of %1:s';
    7578
    7679{ TMainForm }
     
    9194      //  IntToStr(TPlayer(Engine.Players[0]).Direction);
    9295      StatusBar1.Panels[2].Text := FloatToStr(RoundTo(DrawDuration / OneMillisecond, -2));
    93       //StatusBar1.Panels[3].Text := IntToStr(TPlayer(Engine.Players[0]).Bullets.Count);
     96      StatusBar1.Panels[3].Text := Format(SRound, [IntToStr(Engine.CurrentRound),
     97        IntToStr(Engine.MaxRound)]);
    9498    finally
    9599      Engine.Lock.Release;
     
    200204  PersistentForm.Load(Self);
    201205  CoolTranslator1.Language := CoolTranslator1.Languages.SearchByCode('cs');
     206  DebugForm.Show;
    202207end;
    203208
     
    209214procedure TMainForm.Image1Resize(Sender: TObject);
    210215begin
    211   Image1.Picture.Bitmap.SetSize(Image1.Width, Image1.Height);
    212   Engine.ResizePlayerFrames;
     216  try
     217    Engine.Lock.Acquire;
     218    Image1.Picture.Bitmap.SetSize(Image1.Width, Image1.Height);
     219    Engine.ResizePlayerFrames;
     220  finally
     221    Engine.Lock.Release;
     222  end;
    213223end;
    214224
  • trunk/Languages/tunneler.cs.po

    r23 r28  
    99"MIME-Version: 1.0\n"
    1010"Content-Transfer-Encoding: 8bit\n"
     11
     12#: TDEBUGFORM.DEBUGFORM.CAPTION
     13msgid "Debug"
     14msgstr ""
     15
     16#: TDEBUGFORM.LISTVIEW1.COLUMNS[0].CAPTION
     17msgctxt "TDEBUGFORM.LISTVIEW1.COLUMNS[0].CAPTION"
     18msgid "Player"
     19msgstr ""
     20
     21#: TDEBUGFORM.LISTVIEW1.COLUMNS[1].CAPTION
     22msgid "Frame size"
     23msgstr ""
     24
     25#: TDEBUGFORM.LISTVIEW1.COLUMNS[2].CAPTION
     26msgid "Bullets"
     27msgstr ""
     28
     29#: TGAMERESULTSFORM.GAMERESULTSFORM.CAPTION
     30msgid "Final results"
     31msgstr ""
    1132
    1233#: TMAINFORM.AABOUT.CAPTION
     
    81102
    82103#: ucore.splayer
     104msgctxt "ucore.splayer"
    83105msgid "Player"
     106msgstr ""
     107
     108#: umainform.sround
     109msgid "%0:s of %1:s"
    84110msgstr ""
    85111
  • trunk/Languages/tunneler.po

    r23 r28  
    11msgid ""
    22msgstr "Content-Type: text/plain; charset=UTF-8"
     3
     4#: TDEBUGFORM.DEBUGFORM.CAPTION
     5msgid "Debug"
     6msgstr ""
     7
     8#: TDEBUGFORM.LISTVIEW1.COLUMNS[0].CAPTION
     9msgctxt "TDEBUGFORM.LISTVIEW1.COLUMNS[0].CAPTION"
     10msgid "Player"
     11msgstr ""
     12
     13#: TDEBUGFORM.LISTVIEW1.COLUMNS[1].CAPTION
     14msgid "Frame size"
     15msgstr ""
     16
     17#: TDEBUGFORM.LISTVIEW1.COLUMNS[2].CAPTION
     18msgid "Bullets"
     19msgstr ""
     20
     21#: TGAMERESULTSFORM.GAMERESULTSFORM.CAPTION
     22msgid "Final results"
     23msgstr ""
    324
    425#: TMAINFORM.AABOUT.CAPTION
     
    7394
    7495#: ucore.splayer
     96msgctxt "ucore.splayer"
    7597msgid "Player"
     98msgstr ""
     99
     100#: umainform.sround
     101msgid "%0:s of %1:s"
    76102msgstr ""
    77103
  • trunk/UCore.pas

    r27 r28  
    103103    Engine: TEngine;
    104104    Position: TPoint;
     105    Score: Integer;
    105106    Direction: Integer;
    106107    ScreenFrame: TRectangle;
     
    189190    FBitmap: TBitmap;
    190191    FBitmapLock: TCriticalSection;
     192    FOnGameEnd: TNotifyEvent;
    191193    FRedrawPending: Boolean;
    192194    FBitmapLower: TBitmapTColor;
     
    209211    DigMasks: TListObject; // TListObject<TMatrixByte>
    210212    Lock: TCriticalSection;
     213    CurrentRound: Integer;
     214    MaxRound: Integer;
     215    procedure CheckGameEnd;
    211216    constructor Create;
    212217    destructor Destroy; override;
     
    215220    procedure Draw(Thread: TVirtualThread);
    216221    procedure NewGame;
     222    procedure NewRound;
    217223    property Bitmap: TBitmap read FBitmap write SetBitmap;
    218224    property Active: Boolean read FActive write SetActive;
     225    property OnGameEnd: TNotifyEvent read FOnGameEnd write FOnGameEnd;
    219226  end;
    220227
     
    938945        ItemsXY[ScreenFrame.Left + I, ScreenFrame.Bottom - 1] := clBlack
    939946        else ItemsXY[ScreenFrame.Left + I, ScreenFrame.Bottom - 1] := clAqua;
     947
     948    for I := ScreenFrame.Left to ScreenFrame.Right - 1 do
     949      ItemsXY[I, 0] := $010101 * I;
    940950  end;
    941951end;
     
    9941004  Energy := 0;
    9951005  Shield := 0;
     1006  //Synchronize(Engine.CheckGameEnd);
    9961007end;
    9971008
     
    12261237  BytePerRow: Integer;
    12271238  RawImage: TRawImage;
    1228   Color: Integer;
     1239  Color: Int64;
    12291240  Shift: TPoint;
    12301241  XDiv, XMod, XAcc: Integer;
     
    12371248  if Assigned(FBitmap) then
    12381249  try
     1250    Lock.Acquire;
    12391251    Bitmap.BeginUpdate;
    12401252    RawImage := Bitmap.RawImage;
     
    12831295          Inc(SubPixelSizeX);
    12841296        end;
    1285 
    1286         Color := SwapBRComponent(FBitmapLower.Pixels[X, Y]);
     1297        Color := FBitmapLower.Pixels[X, Y] and $ffffff;
     1298
     1299        Color := SwapBRComponent(Color);
    12871300
    12881301        // Draw large pixel
     
    13021315  finally
    13031316    FBitmap.EndUpdate;
     1317    Lock.Release;
    13041318  end;
    13051319end;
     
    14641478    InitTanks;
    14651479    Name := SPlayer + ' ' + IntToStr(I + 1);
    1466     Enabled := True;
     1480    if I < 8 then Enabled := True;
     1481  end;
     1482end;
     1483
     1484procedure TEngine.CheckGameEnd;
     1485var
     1486  AliveCount: Integer;
     1487  I: Integer;
     1488begin
     1489  AliveCount := 0;
     1490  for I := 0 to Players.Count - 1 do
     1491  with TPlayer(Players[I]) do
     1492    if not Exploded then Inc(AliveCount);
     1493  if AliveCount <= 1 then begin
     1494    for I := 0 to Players.Count - 1 do
     1495    with TPlayer(Players[I]) do
     1496      if not Exploded then Inc(Score);
     1497    if CurrentRound < MaxRound then
     1498      NewRound else
     1499      if Assigned(FOnGameEnd) then
     1500        FOnGameEnd(Self);
    14671501  end;
    14681502end;
     
    15131547  InitDigMasks;
    15141548  Redraw;
     1549  MaxRound := 3;
    15151550end;
    15161551
     
    15741609  for I := 0 to PlayerPool.Count - 1 do
    15751610  with TPlayer(PlayerPool[I]) do
    1576   if Enabled then
     1611  if Enabled then begin
    15771612    Players.Add(PlayerPool[I]);
     1613    Score := 0;
     1614  end;
    15781615  ResizePlayerFrames;
    1579 
     1616  CurrentRound := 0;
     1617  NewRound;
     1618
     1619  Active := True;
     1620end;
     1621
     1622procedure TEngine.NewRound;
     1623var
     1624  I: Integer;
     1625begin
     1626  Active := False;
    15801627  World.Generate;
    15811628
    15821629  for I := 0 to Players.Count - 1 do
    1583   with TPlayer(Players[I]) do
     1630  with TPlayer(Players[I]) do begin
    15841631    Init;
     1632  end;
    15851633  ClearBackground := True;
    15861634  Redraw;
  • trunk/tunneler.lpi

    r27 r28  
    1717      <StringTable ProductVersion=""/>
    1818    </VersionInfo>
    19     <BuildModes Count="1">
    20       <Item1 Name="default" Default="True"/>
     19    <BuildModes Count="2" Active="Debug">
     20      <Item1 Name="Debug" Default="True"/>
     21      <Item2 Name="Release">
     22        <CompilerOptions>
     23          <Version Value="9"/>
     24          <Target>
     25            <Filename Value="tunneler"/>
     26          </Target>
     27          <SearchPaths>
     28            <IncludeFiles Value="$(ProjOutDir)"/>
     29            <OtherUnitFiles Value="Common;Forms"/>
     30            <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
     31          </SearchPaths>
     32          <CodeGeneration>
     33            <SmartLinkUnit Value="True"/>
     34            <Checks>
     35              <IOChecks Value="True"/>
     36              <RangeChecks Value="True"/>
     37              <OverflowChecks Value="True"/>
     38              <StackChecks Value="True"/>
     39            </Checks>
     40            <VerifyObjMethodCallValidity Value="True"/>
     41          </CodeGeneration>
     42          <Linking>
     43            <Debugging>
     44              <UseLineInfoUnit Value="False"/>
     45            </Debugging>
     46            <LinkSmart Value="True"/>
     47            <Options>
     48              <Win32>
     49                <GraphicApplication Value="True"/>
     50              </Win32>
     51            </Options>
     52          </Linking>
     53          <Other>
     54            <CompilerMessages>
     55              <UseMsgFile Value="True"/>
     56            </CompilerMessages>
     57            <CompilerPath Value="$(CompPath)"/>
     58          </Other>
     59        </CompilerOptions>
     60      </Item2>
    2161    </BuildModes>
    2262    <PublishOptions>
     
    4282      </Item3>
    4383    </RequiredPackages>
    44     <Units Count="73">
     84    <Units Count="83">
    4585      <Unit0>
    4686        <Filename Value="tunneler.lpr"/>
    4787        <IsPartOfProject Value="True"/>
    4888        <UnitName Value="tunneler"/>
    49         <WindowIndex Value="0"/>
    50         <TopLine Value="1"/>
    51         <CursorPos X="61" Y="10"/>
    52         <UsageCount Value="128"/>
     89        <EditorIndex Value="8"/>
     90        <WindowIndex Value="0"/>
     91        <TopLine Value="1"/>
     92        <CursorPos X="27" Y="5"/>
     93        <UsageCount Value="139"/>
     94        <Loaded Value="True"/>
    5395      </Unit0>
    5496      <Unit1>
     
    60102        <TopLine Value="203"/>
    61103        <CursorPos X="68" Y="209"/>
    62         <UsageCount Value="90"/>
     104        <UsageCount Value="89"/>
    63105      </Unit1>
    64106      <Unit2>
     
    69111        <EditorIndex Value="0"/>
    70112        <WindowIndex Value="0"/>
    71         <TopLine Value="12"/>
    72         <CursorPos X="1" Y="17"/>
    73         <UsageCount Value="128"/>
     113        <TopLine Value="1467"/>
     114        <CursorPos X="13" Y="1480"/>
     115        <UsageCount Value="139"/>
    74116        <Loaded Value="True"/>
    75117      </Unit2>
     
    80122        <TopLine Value="35"/>
    81123        <CursorPos X="20" Y="51"/>
    82         <UsageCount Value="4"/>
     124        <UsageCount Value="3"/>
    83125      </Unit3>
    84126      <Unit4>
     
    88130        <TopLine Value="52"/>
    89131        <CursorPos X="18" Y="57"/>
    90         <UsageCount Value="3"/>
     132        <UsageCount Value="2"/>
    91133      </Unit4>
    92134      <Unit5>
     
    96138        <TopLine Value="1"/>
    97139        <CursorPos X="61" Y="11"/>
    98         <UsageCount Value="18"/>
     140        <UsageCount Value="17"/>
    99141      </Unit5>
    100142      <Unit6>
     
    103145        <TopLine Value="19"/>
    104146        <CursorPos X="4" Y="36"/>
    105         <UsageCount Value="10"/>
     147        <UsageCount Value="9"/>
    106148      </Unit6>
    107149      <Unit7>
     
    111153        <TopLine Value="2417"/>
    112154        <CursorPos X="3" Y="2459"/>
    113         <UsageCount Value="6"/>
     155        <UsageCount Value="5"/>
    114156      </Unit7>
    115157      <Unit8>
     
    118160        <TopLine Value="453"/>
    119161        <CursorPos X="1" Y="470"/>
    120         <UsageCount Value="10"/>
     162        <UsageCount Value="9"/>
    121163      </Unit8>
    122164      <Unit9>
     
    125167        <TopLine Value="34"/>
    126168        <CursorPos X="1" Y="54"/>
    127         <UsageCount Value="2"/>
     169        <UsageCount Value="1"/>
    128170      </Unit9>
    129171      <Unit10>
     
    133175        <TopLine Value="1314"/>
    134176        <CursorPos X="42" Y="1327"/>
    135         <UsageCount Value="6"/>
     177        <UsageCount Value="5"/>
    136178      </Unit10>
    137179      <Unit11>
    138180        <Filename Value="../../PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericMatrix.inc"/>
    139         <EditorIndex Value="2"/>
    140         <WindowIndex Value="0"/>
    141         <TopLine Value="449"/>
    142         <CursorPos X="17" Y="468"/>
    143         <UsageCount Value="52"/>
     181        <EditorIndex Value="4"/>
     182        <WindowIndex Value="0"/>
     183        <TopLine Value="121"/>
     184        <CursorPos X="57" Y="141"/>
     185        <UsageCount Value="55"/>
    144186        <Loaded Value="True"/>
    145187      </Unit11>
     
    150192        <TopLine Value="16"/>
    151193        <CursorPos X="22" Y="33"/>
    152         <UsageCount Value="16"/>
     194        <UsageCount Value="15"/>
    153195      </Unit12>
    154196      <Unit13>
     
    157199        <TopLine Value="16"/>
    158200        <CursorPos X="19" Y="32"/>
    159         <UsageCount Value="4"/>
     201        <UsageCount Value="3"/>
    160202      </Unit13>
    161203      <Unit14>
     
    165207        <TopLine Value="54"/>
    166208        <CursorPos X="3" Y="70"/>
    167         <UsageCount Value="7"/>
     209        <UsageCount Value="6"/>
    168210      </Unit14>
    169211      <Unit15>
    170212        <Filename Value="../../PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/>
    171         <EditorIndex Value="1"/>
    172213        <WindowIndex Value="0"/>
    173214        <TopLine Value="115"/>
    174215        <CursorPos X="1" Y="134"/>
    175         <UsageCount Value="27"/>
    176         <Loaded Value="True"/>
     216        <UsageCount Value="26"/>
    177217      </Unit15>
    178218      <Unit16>
     
    181221        <TopLine Value="783"/>
    182222        <CursorPos X="3" Y="785"/>
    183         <UsageCount Value="1"/>
     223        <UsageCount Value="10"/>
    184224      </Unit16>
    185225      <Unit17>
     
    188228        <TopLine Value="498"/>
    189229        <CursorPos X="11" Y="515"/>
    190         <UsageCount Value="5"/>
     230        <UsageCount Value="4"/>
    191231      </Unit17>
    192232      <Unit18>
     
    196236        <TopLine Value="665"/>
    197237        <CursorPos X="27" Y="682"/>
    198         <UsageCount Value="3"/>
     238        <UsageCount Value="2"/>
    199239      </Unit18>
    200240      <Unit19>
     
    203243        <TopLine Value="112"/>
    204244        <CursorPos X="10" Y="114"/>
    205         <UsageCount Value="3"/>
     245        <UsageCount Value="2"/>
    206246      </Unit19>
    207247      <Unit20>
     
    211251        <TopLine Value="1035"/>
    212252        <CursorPos X="15" Y="1052"/>
    213         <UsageCount Value="2"/>
     253        <UsageCount Value="1"/>
    214254      </Unit20>
    215255      <Unit21>
     
    218258        <TopLine Value="3003"/>
    219259        <CursorPos X="3" Y="3010"/>
    220         <UsageCount Value="2"/>
     260        <UsageCount Value="1"/>
    221261      </Unit21>
    222262      <Unit22>
     
    225265        <TopLine Value="392"/>
    226266        <CursorPos X="1" Y="411"/>
    227         <UsageCount Value="2"/>
     267        <UsageCount Value="1"/>
    228268      </Unit22>
    229269      <Unit23>
     
    232272        <TopLine Value="85"/>
    233273        <CursorPos X="10" Y="102"/>
    234         <UsageCount Value="4"/>
     274        <UsageCount Value="3"/>
    235275      </Unit23>
    236276      <Unit24>
     
    239279        <TopLine Value="157"/>
    240280        <CursorPos X="3" Y="159"/>
    241         <UsageCount Value="4"/>
     281        <UsageCount Value="3"/>
    242282      </Unit24>
    243283      <Unit25>
     
    246286        <TopLine Value="4360"/>
    247287        <CursorPos X="19" Y="4365"/>
    248         <UsageCount Value="10"/>
     288        <UsageCount Value="9"/>
    249289      </Unit25>
    250290      <Unit26>
     
    253293        <TopLine Value="4226"/>
    254294        <CursorPos X="1" Y="4254"/>
    255         <UsageCount Value="2"/>
     295        <UsageCount Value="1"/>
    256296      </Unit26>
    257297      <Unit27>
     
    263303        <TopLine Value="15"/>
    264304        <CursorPos X="39" Y="45"/>
    265         <UsageCount Value="69"/>
     305        <UsageCount Value="68"/>
    266306      </Unit27>
    267307      <Unit28>
     
    270310        <TopLine Value="858"/>
    271311        <CursorPos X="1" Y="875"/>
    272         <UsageCount Value="3"/>
     312        <UsageCount Value="2"/>
    273313      </Unit28>
    274314      <Unit29>
     
    277317        <TopLine Value="2102"/>
    278318        <CursorPos X="1" Y="2119"/>
    279         <UsageCount Value="3"/>
     319        <UsageCount Value="2"/>
    280320      </Unit29>
    281321      <Unit30>
     
    284324        <TopLine Value="58"/>
    285325        <CursorPos X="14" Y="75"/>
    286         <UsageCount Value="12"/>
     326        <UsageCount Value="11"/>
    287327      </Unit30>
    288328      <Unit31>
     
    291331        <TopLine Value="1"/>
    292332        <CursorPos X="34" Y="12"/>
    293         <UsageCount Value="8"/>
     333        <UsageCount Value="7"/>
    294334      </Unit31>
    295335      <Unit32>
     
    299339        <TopLine Value="3131"/>
    300340        <CursorPos X="42" Y="3148"/>
    301         <UsageCount Value="13"/>
     341        <UsageCount Value="12"/>
    302342      </Unit32>
    303343      <Unit33>
     
    307347        <TopLine Value="104"/>
    308348        <CursorPos X="3" Y="91"/>
    309         <UsageCount Value="4"/>
     349        <UsageCount Value="3"/>
    310350      </Unit33>
    311351      <Unit34>
     
    314354        <TopLine Value="325"/>
    315355        <CursorPos X="3" Y="327"/>
    316         <UsageCount Value="4"/>
     356        <UsageCount Value="3"/>
    317357      </Unit34>
    318358      <Unit35>
     
    322362        <TopLine Value="173"/>
    323363        <CursorPos X="5" Y="190"/>
    324         <UsageCount Value="5"/>
     364        <UsageCount Value="4"/>
    325365      </Unit35>
    326366      <Unit36>
    327367        <Filename Value="../../PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericBitmap.inc"/>
    328         <WindowIndex Value="0"/>
    329         <TopLine Value="1"/>
    330         <CursorPos X="20" Y="26"/>
    331         <UsageCount Value="35"/>
     368        <EditorIndex Value="3"/>
     369        <WindowIndex Value="0"/>
     370        <TopLine Value="11"/>
     371        <CursorPos X="17" Y="26"/>
     372        <UsageCount Value="38"/>
     373        <Loaded Value="True"/>
    332374      </Unit36>
    333375      <Unit37>
    334376        <Filename Value="../../PascalClassLibrary/Generics/TemplateGenerics/Specialized/SpecializedBitmap.pas"/>
    335377        <UnitName Value="SpecializedBitmap"/>
    336         <WindowIndex Value="0"/>
    337         <TopLine Value="47"/>
     378        <EditorIndex Value="2"/>
     379        <WindowIndex Value="0"/>
     380        <TopLine Value="7"/>
    338381        <CursorPos X="22" Y="21"/>
    339         <UsageCount Value="24"/>
     382        <UsageCount Value="27"/>
     383        <Loaded Value="True"/>
    340384      </Unit37>
    341385      <Unit38>
     
    345389        <TopLine Value="91"/>
    346390        <CursorPos X="19" Y="107"/>
    347         <UsageCount Value="6"/>
     391        <UsageCount Value="5"/>
    348392      </Unit38>
    349393      <Unit39>
     
    352396        <TopLine Value="1"/>
    353397        <CursorPos X="1" Y="1"/>
    354         <UsageCount Value="5"/>
     398        <UsageCount Value="4"/>
    355399      </Unit39>
    356400      <Unit40>
     
    359403        <TopLine Value="158"/>
    360404        <CursorPos X="23" Y="175"/>
    361         <UsageCount Value="4"/>
     405        <UsageCount Value="3"/>
    362406      </Unit40>
    363407      <Unit41>
     
    367411        <TopLine Value="1"/>
    368412        <CursorPos X="9" Y="69"/>
    369         <UsageCount Value="4"/>
     413        <UsageCount Value="3"/>
    370414      </Unit41>
    371415      <Unit42>
     
    375419        <TopLine Value="1"/>
    376420        <CursorPos X="1" Y="1"/>
    377         <UsageCount Value="4"/>
     421        <UsageCount Value="3"/>
    378422      </Unit42>
    379423      <Unit43>
     
    383427        <TopLine Value="1"/>
    384428        <CursorPos X="14" Y="20"/>
    385         <UsageCount Value="4"/>
     429        <UsageCount Value="3"/>
    386430      </Unit43>
    387431      <Unit44>
     
    389433        <IsPartOfProject Value="True"/>
    390434        <UnitName Value="UPlatform"/>
    391         <UsageCount Value="87"/>
     435        <UsageCount Value="98"/>
    392436      </Unit44>
    393437      <Unit45>
     
    397441        <TopLine Value="929"/>
    398442        <CursorPos X="5" Y="932"/>
    399         <UsageCount Value="9"/>
     443        <UsageCount Value="8"/>
    400444      </Unit45>
    401445      <Unit46>
     
    405449        <TopLine Value="1"/>
    406450        <CursorPos X="50" Y="5"/>
    407         <UsageCount Value="8"/>
     451        <UsageCount Value="7"/>
    408452      </Unit46>
    409453      <Unit47>
     
    413457        <TopLine Value="1"/>
    414458        <CursorPos X="36" Y="15"/>
    415         <UsageCount Value="4"/>
     459        <UsageCount Value="3"/>
    416460      </Unit47>
    417461      <Unit48>
     
    420464        <TopLine Value="330"/>
    421465        <CursorPos X="35" Y="338"/>
    422         <UsageCount Value="13"/>
     466        <UsageCount Value="12"/>
    423467      </Unit48>
    424468      <Unit49>
     
    428472        <TopLine Value="58"/>
    429473        <CursorPos X="5" Y="75"/>
    430         <UsageCount Value="5"/>
     474        <UsageCount Value="4"/>
    431475      </Unit49>
    432476      <Unit50>
     
    435479        <UnitName Value="URectangle"/>
    436480        <WindowIndex Value="0"/>
    437         <TopLine Value="120"/>
    438         <CursorPos X="44" Y="150"/>
    439         <UsageCount Value="72"/>
     481        <TopLine Value="29"/>
     482        <CursorPos X="3" Y="43"/>
     483        <UsageCount Value="83"/>
    440484      </Unit50>
    441485      <Unit51>
     
    444488        <TopLine Value="147"/>
    445489        <CursorPos X="10" Y="84"/>
    446         <UsageCount Value="8"/>
     490        <UsageCount Value="7"/>
    447491      </Unit51>
    448492      <Unit52>
     
    452496        <TopLine Value="520"/>
    453497        <CursorPos X="35" Y="531"/>
    454         <UsageCount Value="7"/>
     498        <UsageCount Value="6"/>
    455499      </Unit52>
    456500      <Unit53>
     
    461505        <TopLine Value="69"/>
    462506        <CursorPos X="3" Y="90"/>
    463         <UsageCount Value="65"/>
     507        <UsageCount Value="76"/>
    464508      </Unit53>
    465509      <Unit54>
     
    470514        <TopLine Value="29"/>
    471515        <CursorPos X="33" Y="47"/>
    472         <UsageCount Value="65"/>
     516        <UsageCount Value="76"/>
    473517      </Unit54>
    474518      <Unit55>
     
    476520        <IsPartOfProject Value="True"/>
    477521        <UnitName Value="URegistry"/>
    478         <UsageCount Value="64"/>
     522        <UsageCount Value="75"/>
    479523      </Unit55>
    480524      <Unit56>
     
    483527        <TopLine Value="71"/>
    484528        <CursorPos X="10" Y="84"/>
    485         <UsageCount Value="6"/>
     529        <UsageCount Value="5"/>
    486530      </Unit56>
    487531      <Unit57>
     
    490534        <TopLine Value="167"/>
    491535        <CursorPos X="3" Y="169"/>
    492         <UsageCount Value="6"/>
     536        <UsageCount Value="5"/>
    493537      </Unit57>
    494538      <Unit58>
     
    497541        <TopLine Value="466"/>
    498542        <CursorPos X="17" Y="470"/>
    499         <UsageCount Value="6"/>
     543        <UsageCount Value="5"/>
    500544      </Unit58>
    501545      <Unit59>
     
    504548        <UnitName Value="UThreading"/>
    505549        <WindowIndex Value="0"/>
    506         <TopLine Value="34"/>
    507         <CursorPos X="35" Y="51"/>
    508         <UsageCount Value="56"/>
     550        <TopLine Value="60"/>
     551        <CursorPos X="16" Y="77"/>
     552        <UsageCount Value="67"/>
    509553      </Unit59>
    510554      <Unit60>
     
    514558        <TopLine Value="55"/>
    515559        <CursorPos X="3" Y="72"/>
    516         <UsageCount Value="20"/>
     560        <UsageCount Value="19"/>
    517561      </Unit60>
    518562      <Unit61>
     
    522566        <ResourceBaseClass Value="Form"/>
    523567        <UnitName Value="UNewGameForm"/>
    524         <EditorIndex Value="4"/>
     568        <EditorIndex Value="11"/>
    525569        <WindowIndex Value="0"/>
    526570        <TopLine Value="44"/>
    527571        <CursorPos X="23" Y="65"/>
    528         <UsageCount Value="56"/>
     572        <UsageCount Value="67"/>
    529573        <Loaded Value="True"/>
    530574        <LoadedDesigner Value="True"/>
     
    537581        <ResourceBaseClass Value="Form"/>
    538582        <UnitName Value="UMainForm"/>
    539         <EditorIndex Value="3"/>
    540         <WindowIndex Value="0"/>
    541         <TopLine Value="78"/>
    542         <CursorPos X="9" Y="93"/>
    543         <UsageCount Value="56"/>
     583        <EditorIndex Value="9"/>
     584        <WindowIndex Value="0"/>
     585        <TopLine Value="119"/>
     586        <CursorPos X="1" Y="133"/>
     587        <UsageCount Value="67"/>
    544588        <Loaded Value="True"/>
    545589      </Unit62>
     
    554598        <TopLine Value="14"/>
    555599        <CursorPos X="19" Y="32"/>
    556         <UsageCount Value="56"/>
     600        <UsageCount Value="67"/>
    557601      </Unit63>
    558602      <Unit64>
     
    562606        <TopLine Value="3"/>
    563607        <CursorPos X="14" Y="20"/>
    564         <UsageCount Value="20"/>
     608        <UsageCount Value="19"/>
    565609      </Unit64>
    566610      <Unit65>
     
    570614        <TopLine Value="31"/>
    571615        <CursorPos X="39" Y="33"/>
    572         <UsageCount Value="20"/>
     616        <UsageCount Value="19"/>
    573617      </Unit65>
    574618      <Unit66>
     
    578622        <TopLine Value="1206"/>
    579623        <CursorPos X="3" Y="1223"/>
    580         <UsageCount Value="7"/>
     624        <UsageCount Value="6"/>
    581625      </Unit66>
    582626      <Unit67>
     
    585629        <TopLine Value="1508"/>
    586630        <CursorPos X="17" Y="1512"/>
    587         <UsageCount Value="10"/>
     631        <UsageCount Value="9"/>
    588632      </Unit67>
    589633      <Unit68>
     
    592636        <TopLine Value="1"/>
    593637        <CursorPos X="33" Y="15"/>
    594         <UsageCount Value="10"/>
     638        <UsageCount Value="9"/>
    595639      </Unit68>
    596640      <Unit69>
     
    599643        <TopLine Value="50"/>
    600644        <CursorPos X="5" Y="67"/>
    601         <UsageCount Value="10"/>
     645        <UsageCount Value="9"/>
    602646      </Unit69>
    603647      <Unit70>
     
    606650        <TopLine Value="164"/>
    607651        <CursorPos X="27" Y="167"/>
    608         <UsageCount Value="10"/>
     652        <UsageCount Value="9"/>
    609653      </Unit70>
    610654      <Unit71>
     
    612656        <UnitName Value="Graphics"/>
    613657        <WindowIndex Value="0"/>
    614         <TopLine Value="230"/>
    615         <CursorPos X="18" Y="244"/>
    616         <UsageCount Value="12"/>
     658        <TopLine Value="38"/>
     659        <CursorPos X="17" Y="52"/>
     660        <UsageCount Value="11"/>
    617661      </Unit71>
    618662      <Unit72>
     
    622666        <TopLine Value="25"/>
    623667        <CursorPos X="3" Y="39"/>
    624         <UsageCount Value="12"/>
     668        <UsageCount Value="11"/>
    625669      </Unit72>
     670      <Unit73>
     671        <Filename Value="Forms/ugameresultsform.pas"/>
     672        <ComponentName Value="GameResultsForm"/>
     673        <ResourceBaseClass Value="Form"/>
     674        <UnitName Value="UGameResultsForm"/>
     675        <WindowIndex Value="0"/>
     676        <TopLine Value="1"/>
     677        <CursorPos X="19" Y="1"/>
     678        <UsageCount Value="25"/>
     679      </Unit73>
     680      <Unit74>
     681        <Filename Value="/usr/lib64/lazarus/components/codetools/codetoolsstrconsts.pas"/>
     682        <UnitName Value="CodeToolsStrConsts"/>
     683        <WindowIndex Value="0"/>
     684        <TopLine Value="267"/>
     685        <CursorPos X="64" Y="292"/>
     686        <UsageCount Value="10"/>
     687      </Unit74>
     688      <Unit75>
     689        <Filename Value="/usr/lib64/lazarus/lcl/include/customform.inc"/>
     690        <EditorIndex Value="10"/>
     691        <WindowIndex Value="0"/>
     692        <TopLine Value="2095"/>
     693        <CursorPos X="11" Y="2110"/>
     694        <UsageCount Value="13"/>
     695        <Loaded Value="True"/>
     696      </Unit75>
     697      <Unit76>
     698        <Filename Value="/usr/share/fpcsrc/rtl/inc/systemh.inc"/>
     699        <WindowIndex Value="0"/>
     700        <TopLine Value="82"/>
     701        <CursorPos X="18" Y="95"/>
     702        <UsageCount Value="10"/>
     703      </Unit76>
     704      <Unit77>
     705        <Filename Value="/usr/lib64/lazarus/lcl/interfaces/gtk2/gtk2devicecontext.inc"/>
     706        <WindowIndex Value="0"/>
     707        <TopLine Value="1195"/>
     708        <CursorPos X="48" Y="1205"/>
     709        <UsageCount Value="9"/>
     710      </Unit77>
     711      <Unit78>
     712        <Filename Value="Forms/UDebugForm.pas"/>
     713        <IsPartOfProject Value="True"/>
     714        <ComponentName Value="DebugForm"/>
     715        <ResourceBaseClass Value="Form"/>
     716        <UnitName Value="UDebugForm"/>
     717        <EditorIndex Value="7"/>
     718        <WindowIndex Value="0"/>
     719        <TopLine Value="4"/>
     720        <CursorPos X="15" Y="18"/>
     721        <UsageCount Value="27"/>
     722        <Loaded Value="True"/>
     723        <LoadedDesigner Value="True"/>
     724      </Unit78>
     725      <Unit79>
     726        <Filename Value="Forms/UGameResultsForm.pas"/>
     727        <IsPartOfProject Value="True"/>
     728        <HasResources Value="True"/>
     729        <UnitName Value="UGameResultsForm"/>
     730        <UsageCount Value="27"/>
     731      </Unit79>
     732      <Unit80>
     733        <Filename Value="/usr/share/fpcsrc/rtl/inc/objpash.inc"/>
     734        <EditorIndex Value="5"/>
     735        <WindowIndex Value="0"/>
     736        <TopLine Value="171"/>
     737        <CursorPos X="23" Y="185"/>
     738        <UsageCount Value="13"/>
     739        <Loaded Value="True"/>
     740      </Unit80>
     741      <Unit81>
     742        <Filename Value="/usr/share/fpcsrc/rtl/inc/objpas.inc"/>
     743        <EditorIndex Value="6"/>
     744        <WindowIndex Value="0"/>
     745        <TopLine Value="149"/>
     746        <CursorPos X="9" Y="154"/>
     747        <UsageCount Value="13"/>
     748        <Loaded Value="True"/>
     749      </Unit81>
     750      <Unit82>
     751        <Filename Value="/usr/lib64/lazarus/lcl/stringhashlist.pas"/>
     752        <UnitName Value="StringHashList"/>
     753        <EditorIndex Value="1"/>
     754        <WindowIndex Value="0"/>
     755        <TopLine Value="37"/>
     756        <CursorPos X="14" Y="51"/>
     757        <UsageCount Value="10"/>
     758        <Loaded Value="True"/>
     759      </Unit82>
    626760    </Units>
    627761    <JumpHistory Count="30" HistoryIndex="29">
    628762      <Position1>
    629763        <Filename Value="UCore.pas"/>
    630         <Caret Line="860" Column="1" TopLine="844"/>
     764        <Caret Line="1296" Column="1" TopLine="1280"/>
    631765      </Position1>
    632766      <Position2>
    633767        <Filename Value="UCore.pas"/>
    634         <Caret Line="887" Column="1" TopLine="873"/>
     768        <Caret Line="1299" Column="1" TopLine="1280"/>
    635769      </Position2>
    636770      <Position3>
    637771        <Filename Value="UCore.pas"/>
    638         <Caret Line="888" Column="1" TopLine="873"/>
     772        <Caret Line="1296" Column="32" TopLine="1280"/>
    639773      </Position3>
    640774      <Position4>
    641775        <Filename Value="UCore.pas"/>
    642         <Caret Line="889" Column="1" TopLine="856"/>
     776        <Caret Line="1590" Column="31" TopLine="1579"/>
    643777      </Position4>
    644778      <Position5>
    645779        <Filename Value="UCore.pas"/>
    646         <Caret Line="848" Column="1" TopLine="834"/>
     780        <Caret Line="927" Column="35" TopLine="914"/>
    647781      </Position5>
    648782      <Position6>
    649783        <Filename Value="UCore.pas"/>
    650         <Caret Line="866" Column="1" TopLine="842"/>
     784        <Caret Line="948" Column="5" TopLine="925"/>
    651785      </Position6>
    652786      <Position7>
    653787        <Filename Value="UCore.pas"/>
    654         <Caret Line="867" Column="1" TopLine="843"/>
     788        <Caret Line="933" Column="90" TopLine="925"/>
    655789      </Position7>
    656790      <Position8>
    657791        <Filename Value="UCore.pas"/>
    658         <Caret Line="1033" Column="1" TopLine="1019"/>
     792        <Caret Line="926" Column="10" TopLine="911"/>
    659793      </Position8>
    660794      <Position9>
    661795        <Filename Value="UCore.pas"/>
    662         <Caret Line="1034" Column="1" TopLine="1019"/>
     796        <Caret Line="924" Column="1" TopLine="911"/>
    663797      </Position9>
    664798      <Position10>
    665799        <Filename Value="UCore.pas"/>
    666         <Caret Line="1035" Column="1" TopLine="1019"/>
     800        <Caret Line="1307" Column="15" TopLine="1294"/>
    667801      </Position10>
    668802      <Position11>
    669803        <Filename Value="UCore.pas"/>
    670         <Caret Line="1036" Column="1" TopLine="1019"/>
     804        <Caret Line="1599" Column="7" TopLine="1583"/>
    671805      </Position11>
    672806      <Position12>
    673807        <Filename Value="UCore.pas"/>
    674         <Caret Line="1037" Column="1" TopLine="1019"/>
     808        <Caret Line="1481" Column="13" TopLine="1454"/>
    675809      </Position12>
    676810      <Position13>
    677811        <Filename Value="UCore.pas"/>
    678         <Caret Line="1038" Column="1" TopLine="1019"/>
     812        <Caret Line="269" Column="13" TopLine="266"/>
    679813      </Position13>
    680814      <Position14>
    681815        <Filename Value="UCore.pas"/>
    682         <Caret Line="1039" Column="1" TopLine="1019"/>
     816        <Caret Line="1599" Column="5" TopLine="1583"/>
    683817      </Position14>
    684818      <Position15>
    685819        <Filename Value="UCore.pas"/>
    686         <Caret Line="1040" Column="1" TopLine="1019"/>
     820        <Caret Line="1593" Column="7" TopLine="1581"/>
    687821      </Position15>
    688822      <Position16>
    689823        <Filename Value="UCore.pas"/>
    690         <Caret Line="1033" Column="25" TopLine="1019"/>
     824        <Caret Line="1594" Column="32" TopLine="1581"/>
    691825      </Position16>
    692826      <Position17>
    693         <Filename Value="UCore.pas"/>
    694         <Caret Line="866" Column="1" TopLine="852"/>
     827        <Filename Value="Forms/UDebugForm.pas"/>
     828        <Caret Line="7" Column="46" TopLine="1"/>
    695829      </Position17>
    696830      <Position18>
    697         <Filename Value="UCore.pas"/>
    698         <Caret Line="741" Column="35" TopLine="738"/>
     831        <Filename Value="Forms/UDebugForm.pas"/>
     832        <Caret Line="43" Column="37" TopLine="19"/>
    699833      </Position18>
    700834      <Position19>
    701         <Filename Value="UCore.pas"/>
    702         <Caret Line="894" Column="15" TopLine="872"/>
     835        <Filename Value="Forms/UDebugForm.pas"/>
     836        <Caret Line="39" Column="35" TopLine="22"/>
    703837      </Position19>
    704838      <Position20>
    705         <Filename Value="UCore.pas"/>
    706         <Caret Line="844" Column="54" TopLine="834"/>
     839        <Filename Value="Forms/UDebugForm.pas"/>
     840        <Caret Line="40" Column="22" TopLine="27"/>
    707841      </Position20>
    708842      <Position21>
    709         <Filename Value="UCore.pas"/>
    710         <Caret Line="861" Column="46" TopLine="837"/>
     843        <Filename Value="Forms/UDebugForm.pas"/>
     844        <Caret Line="49" Column="45" TopLine="28"/>
    711845      </Position21>
    712846      <Position22>
    713         <Filename Value="UCore.pas"/>
    714         <Caret Line="867" Column="20" TopLine="848"/>
     847        <Filename Value="Forms/UMainForm.pas"/>
     848        <Caret Line="74" Column="38" TopLine="63"/>
    715849      </Position22>
    716850      <Position23>
    717         <Filename Value="UCore.pas"/>
    718         <Caret Line="873" Column="1" TopLine="855"/>
     851        <Filename Value="tunneler.lpr"/>
     852        <Caret Line="12" Column="30" TopLine="7"/>
    719853      </Position23>
    720854      <Position24>
    721         <Filename Value="UCore.pas"/>
    722         <Caret Line="874" Column="1" TopLine="855"/>
     855        <Filename Value="tunneler.lpr"/>
     856        <Caret Line="35" Column="43" TopLine="10"/>
    723857      </Position24>
    724858      <Position25>
    725         <Filename Value="UCore.pas"/>
    726         <Caret Line="735" Column="29" TopLine="718"/>
     859        <Filename Value="tunneler.lpr"/>
     860        <Caret Line="11" Column="71" TopLine="11"/>
    727861      </Position25>
    728862      <Position26>
    729863        <Filename Value="UCore.pas"/>
    730         <Caret Line="113" Column="17" TopLine="108"/>
     864        <Caret Line="1591" Column="7" TopLine="1582"/>
    731865      </Position26>
    732866      <Position27>
    733867        <Filename Value="UCore.pas"/>
    734         <Caret Line="790" Column="56" TopLine="776"/>
     868        <Caret Line="1593" Column="9" TopLine="1582"/>
    735869      </Position27>
    736870      <Position28>
    737871        <Filename Value="UCore.pas"/>
    738         <Caret Line="25" Column="7" TopLine="1"/>
     872        <Caret Line="1536" Column="26" TopLine="1533"/>
    739873      </Position28>
    740874      <Position29>
    741         <Filename Value="UCore.pas"/>
    742         <Caret Line="900" Column="5" TopLine="886"/>
     875        <Filename Value="../../PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericMatrix.inc"/>
     876        <Caret Line="150" Column="17" TopLine="137"/>
    743877      </Position29>
    744878      <Position30>
    745879        <Filename Value="UCore.pas"/>
    746         <Caret Line="26" Column="15" TopLine="12"/>
     880        <Caret Line="1591" Column="9" TopLine="1582"/>
    747881      </Position30>
    748882    </JumpHistory>
     
    758892      <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
    759893    </SearchPaths>
     894    <CodeGeneration>
     895      <SmartLinkUnit Value="True"/>
     896      <Checks>
     897        <IOChecks Value="True"/>
     898        <RangeChecks Value="True"/>
     899        <OverflowChecks Value="True"/>
     900        <StackChecks Value="True"/>
     901      </Checks>
     902      <VerifyObjMethodCallValidity Value="True"/>
     903    </CodeGeneration>
    760904    <Linking>
     905      <Debugging>
     906        <UseHeaptrc Value="True"/>
     907      </Debugging>
     908      <LinkSmart Value="True"/>
    761909      <Options>
    762910        <Win32>
     
    769917        <UseMsgFile Value="True"/>
    770918      </CompilerMessages>
     919      <CustomOptions Value="-dDEBUG"/>
    771920      <CompilerPath Value="$(CompPath)"/>
    772921    </Other>
  • trunk/tunneler.lpr

    r21 r28  
    99  {$ENDIF}{$ENDIF}
    1010  Interfaces, // this includes the LCL widgetset
    11   Forms, UCore, TemplateGenerics, CoolTranslator, UPlatform,
     11  Forms, UCore, TemplateGenerics, CoolTranslator, UPlatform, FileUtil, SysUtils,
    1212  UApplicationInfo, URectangle, UPersistentForm, URegistry, UThreading,
    13 UNewGameForm, UMainForm, UMapForm
     13UNewGameForm, UMainForm, UMapForm, UDebugForm, UGameResultsForm
    1414  { you can add units after this };
    1515
    1616{$R *.res}
    1717
     18{$IFDEF DEBUG}
     19const
     20  HeapTraceLog = 'heaptrclog.trc';
     21{$ENDIF}
     22
    1823begin
     24  {$IFDEF DEBUG}
     25  // Heap trace
     26  DeleteFile(ExtractFilePath(ParamStr(0)) + HeapTraceLog);
     27  SetHeapTraceOutput(ExtractFilePath(ParamStr(0)) + HeapTraceLog);
     28  {$ENDIF}
     29
    1930  Application.Initialize;
    2031  Application.CreateForm(TMainForm, MainForm);
    2132  Application.CreateForm(TMapForm, MapForm);
    2233  Application.CreateForm(TNewGameForm, NewGameForm);
     34  {$IFDEF DEBUG}
     35  Application.CreateForm(TDebugForm, DebugForm);
     36  {$ENDIF}
    2337  Application.Run;
    2438end.
Note: See TracChangeset for help on using the changeset viewer.