Ignore:
Timestamp:
May 19, 2022, 10:39:34 PM (2 years ago)
Author:
chronos
Message:
  • Modified: Use first capital letter in identifiers.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LocalPlayer/Select.pas

    r442 r447  
    3131      WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
    3232    procedure PaintBox1MouseMove(Sender: TObject; Shift: TShiftState;
    33       x, y: integer);
     33      X, Y: Integer);
    3434    procedure FormCreate(Sender: TObject);
    3535    procedure FormDestroy(Sender: TObject);
    3636    procedure PaintBox1MouseDown(Sender: TObject; Button: TMouseButton;
    37       Shift: TShiftState; x, y: integer);
     37      Shift: TShiftState; X, Y: Integer);
    3838    procedure FormPaint(Sender: TObject);
    3939    procedure CloseBtnClick(Sender: TObject);
    40     procedure FormCloseQuery(Sender: TObject; var CanClose: boolean);
     40    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    4141    procedure FormShow(Sender: TObject);
    4242    procedure ModeBtnClick(Sender: TObject);
    4343    procedure ToggleBtnClick(Sender: TObject);
    44     procedure FormKeyDown(Sender: TObject; var Key: word; Shift: TShiftState);
     44    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    4545    procedure PlayerClick(Sender: TObject);
    4646  private
     
    5959    Lines: array [0 .. MaxLayer - 1] of Integer;
    6060    FirstShrinkedLine: array [0 .. MaxLayer - 1] of Integer;
    61     code: array [0 .. MaxLayer - 1, 0 .. 4095] of Integer;
     61    Code: array [0 .. MaxLayer - 1, 0 .. 4095] of Integer;
    6262    Column: array [0 .. nPl - 1] of Integer;
    6363    Closable: Boolean;
     
    6666    procedure ScrollBarUpdate(Sender: TObject);
    6767    procedure InitLines;
    68     procedure line(ca: TCanvas; l: integer; NonText, lit: boolean);
    69     function RenameCity(cix: integer): boolean;
    70     function RenameModel(mix: integer): boolean;
     68    procedure Line(ca: TCanvas; L: Integer; NonText, lit: Boolean);
     69    function RenameCity(cix: Integer): Boolean;
     70    function RenameModel(mix: Integer): Boolean;
    7171    procedure OnScroll(var Msg: TMessage); message WM_VSCROLL;
    7272    procedure OnMouseLeave(var Msg: TMessage); message CM_MOUSELEAVE;
    7373  public
    74     result: integer;
    75     function OnlyChoice(TestKind: TListKind): integer;
     74    Result: Integer;
     75    function OnlyChoice(TestKind: TListKind): Integer;
    7676    // -2=empty, -1=ambiguous, other=only choice
    7777    procedure OffscreenPaint; override;
    7878    procedure ShowNewContent(NewMode: TWindowMode; ListKind: TListKind);
    79     procedure ShowNewContent_CityProject(NewMode: TWindowMode; cix: integer);
    80     procedure ShowNewContent_MilReport(NewMode: TWindowMode; p: integer);
     79    procedure ShowNewContent_CityProject(NewMode: TWindowMode; cix: Integer);
     80    procedure ShowNewContent_MilReport(NewMode: TWindowMode; P: Integer);
    8181    procedure EcoChange;
    8282    procedure TechChange;
     
    135135procedure TListDlg.CloseBtnClick(Sender: TObject);
    136136begin
    137   Closable := true;
     137  Closable := True;
    138138  Close;
    139139end;
    140140
    141 procedure TListDlg.FormCloseQuery(Sender: TObject; var CanClose: boolean);
     141procedure TListDlg.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    142142begin
    143143  CanClose := Closable or not(Kind in MustChooseKind);
     
    149149  if ScrollBar.Process(Msg) then  begin
    150150    Selected := -2;
    151     SmartUpdateContent(true);
     151    SmartUpdateContent(True);
    152152  end;
    153153  }
     
    158158  if not Closable and (Selected <> -2) then
    159159  begin
    160     line(Canvas, Selected, false, false);
     160    Line(Canvas, Selected, False, False);
    161161    Selected := -2;
    162162  end;
     
    165165procedure TListDlg.FormPaint(Sender: TObject);
    166166var
    167   s: string;
     167  S: string;
    168168begin
    169169  inherited;
    170170  Canvas.Font.Assign(UniFont[ftNormal]);
    171171  if Selected <> -2 then
    172     line(Canvas, Selected, false, true);
    173   s := '';
     172    Line(Canvas, Selected, False, True);
     173  S := '';
    174174  if (Kind = kAdvance) and (MyData.FarTech <> adNone) then
    175     s := Format(Phrases.Lookup('TECHFOCUS'),
     175    S := Format(Phrases.Lookup('TECHFOCUS'),
    176176      [Phrases.Lookup('ADVANCES', MyData.FarTech)])
    177177  else if Kind = kModels then
    178     s := Tribe[me].TPhrase('SHORTNAME')
     178    S := Tribe[Me].TPhrase('SHORTNAME')
    179179  else if Kind = kEModels then
    180     s := Tribe[pView].TPhrase('SHORTNAME') + ' (' +
     180    S := Tribe[pView].TPhrase('SHORTNAME') + ' (' +
    181181      TurnToString(MyRO.EnemyReport[pView].TurnOfMilReport) + ')';
    182   if s <> '' then
     182  if S <> '' then
    183183    LoweredTextOut(Canvas, -1, MainTexture,
    184       (ClientWidth - BiColorTextWidth(Canvas, s)) div 2, 31, s);
     184      (ClientWidth - BiColorTextWidth(Canvas, S)) div 2, 31, S);
    185185  if not MultiPage and (Kind in [kProject, kAdvance, kFarAdvance]) and not Phrases2FallenBackToEnglish
    186186  then
    187187  begin
    188     s := Phrases2.Lookup('SHIFTCLICK');
     188    S := Phrases2.Lookup('SHIFTCLICK');
    189189    LoweredTextOut(Canvas, -2, MainTexture,
    190       (ClientWidth - BiColorTextWidth(Canvas, s)) div 2, ClientHeight - 29, s);
    191   end;
    192 end;
    193 
    194 procedure TListDlg.line(ca: TCanvas; l: integer; NonText, lit: boolean);
     190      (ClientWidth - BiColorTextWidth(Canvas, S)) div 2, ClientHeight - 29, S);
     191  end;
     192end;
     193
     194procedure TListDlg.Line(ca: TCanvas; L: Integer; NonText, lit: Boolean);
    195195// paint a line
    196196
    197   procedure DisplayProject(x, y, pix: integer);
     197  procedure DisplayProject(X, Y, pix: Integer);
    198198  begin
    199199    if pix and (cpType or cpImp) = 0 then
    200       with Tribe[me].ModelPicture[pix and cpIndex] do
    201         Sprite(offscreen, HGr, x, y, 64, 48, pix mod 10 * 65 + 1,
     200      with Tribe[Me].ModelPicture[pix and cpIndex] do
     201        Sprite(Offscreen, HGr, X, Y, 64, 48, pix mod 10 * 65 + 1,
    202202          pix div 10 * 49 + 1)
    203203    else
    204204    begin
    205       Frame(offscreen.Canvas, x + (16 - 1), y + (16 - 2), x + (16 + xSizeSmall),
    206         y + (16 - 1 + ySizeSmall), MainTexture.ColorBevelLight,
     205      Frame(Offscreen.Canvas, X + (16 - 1), Y + (16 - 2), X + (16 + xSizeSmall),
     206        Y + (16 - 1 + ySizeSmall), MainTexture.ColorBevelLight,
    207207        MainTexture.ColorBevelShade);
    208208      if pix and cpType = 0 then
    209209        if (pix and cpIndex = imPalace) and (MyRO.Government <> gAnarchy) then
    210           BitBltCanvas(offscreen.Canvas, x + 16, y + (16 - 1), xSizeSmall,
     210          BitBltCanvas(Offscreen.Canvas, X + 16, Y + (16 - 1), xSizeSmall,
    211211            ySizeSmall, SmallImp.Canvas, (MyRO.Government - 1) *
    212212            xSizeSmall, ySizeSmall)
    213213        else
    214           BitBltCanvas(offscreen.Canvas, x + 16, y + (16 - 1), xSizeSmall,
     214          BitBltCanvas(Offscreen.Canvas, X + 16, Y + (16 - 1), xSizeSmall,
    215215            ySizeSmall, SmallImp.Canvas, pix and cpIndex mod 7 *
    216216            xSizeSmall, (pix and cpIndex + SystemIconLines * 7) div 7 *
    217217            ySizeSmall)
    218218      else
    219         BitBltCanvas(offscreen.Canvas, x + 16, y + (16 - 1), xSizeSmall,
     219        BitBltCanvas(Offscreen.Canvas, X + 16, Y + (16 - 1), xSizeSmall,
    220220          ySizeSmall, SmallImp.Canvas, (3 + pix and cpIndex) *
    221221          xSizeSmall, 0);
     
    223223  end;
    224224
    225   procedure ReplaceText(x, y, Color: integer; s: string);
     225  procedure ReplaceText(X, Y, Color: Integer; S: string);
    226226  var
    227227    TextSize: TSize;
     
    229229    if ca = Canvas then
    230230    begin
    231       TextSize.cx := BiColorTextWidth(ca, s);
    232       TextSize.cy := ca.TextHeight(s);
    233       if y + TextSize.cy >= TitleHeight + InnerHeight then
    234         TextSize.cy := TitleHeight + InnerHeight - y;
    235       Fill(ca, x, y, TextSize.cx, TextSize.cy, (Maintexture.Width - ClientWidth)
     231      TextSize.cx := BiColorTextWidth(ca, S);
     232      TextSize.cy := ca.TextHeight(S);
     233      if Y + TextSize.cy >= TitleHeight + InnerHeight then
     234        TextSize.cy := TitleHeight + InnerHeight - Y;
     235      Fill(ca, X, Y, TextSize.cx, TextSize.cy, (Maintexture.Width - ClientWidth)
    236236        div 2, (Maintexture.Height - ClientHeight) div 2);
    237237    end;
    238     LoweredTextOut(ca, Color, MainTexture, x, y, s);
     238    LoweredTextOut(ca, Color, MainTexture, X, Y, S);
    239239  end;
    240240
    241241var
    242   icon, ofs, x, y, y0, lix, i, j, TextColor, Available, first, test,
    243     FutureCount, growth, TrueFood, TrueProd: integer;
     242  icon, ofs, X, Y, y0, lix, I, J, TextColor, Available, first, Test,
     243    FutureCount, growth, TrueFood, TrueProd: Integer;
    244244  CityReport: TCityReportNew;
    245245  mox: ^TModelInfo;
    246   s, number: string;
    247   CanGrow: boolean;
    248 begin
    249   lix := code[Layer, ScrollBar.Position + l];
    250   y0 := 2 + (l + 1) * LineDistance;
    251   if ScrollBar.Position + l >= FirstShrinkedLine[Layer] then
    252     ofs := (ScrollBar.Position + l - FirstShrinkedLine[Layer]) and 1 * 33
     246  S, number: string;
     247  CanGrow: Boolean;
     248begin
     249  lix := Code[Layer, ScrollBar.Position + L];
     250  y0 := 2 + (L + 1) * LineDistance;
     251  if ScrollBar.Position + L >= FirstShrinkedLine[Layer] then
     252    ofs := (ScrollBar.Position + L - FirstShrinkedLine[Layer]) and 1 * 33
    253253  else { if FirstShrinkedLine[Layer]<Lines[Layer] then }
    254254    ofs := 33;
     
    257257    with MyCity[lix] do
    258258    begin
    259       x := 104 - 76;
    260       y := y0;
     259      X := 104 - 76;
     260      Y := y0;
    261261      if ca = Canvas then
    262262      begin
    263         x := x + SideFrame;
    264         y := y + TitleHeight;
     263        X := X + SideFrame;
     264        Y := Y + TitleHeight;
    265265      end;
    266266      if lit then
     
    268268      else
    269269        TextColor := -1;
    270       s := CityName(ID);
    271       while BiColorTextWidth(ca, s) > CityNameSpace do
    272         delete(s, length(s), 1);
    273       ReplaceText(x + 15, y, TextColor, s);
     270      S := CityName(ID);
     271      while BiColorTextWidth(ca, S) > CityNameSpace do
     272        Delete(S, Length(S), 1);
     273      ReplaceText(X + 15, Y, TextColor, S);
    274274
    275275      if NonText then
    276         with offscreen.Canvas do
     276        with Offscreen.Canvas do
    277277        begin // city size
    278           brush.Color := $000000;
    279           fillrect(rect(x - 4 - 11, y + 1, x - 4 + 13, y + 21));
    280           brush.Color := $FFFFFF;
    281           fillrect(rect(x - 4 - 12, y, x - 4 + 12, y + 20));
    282           brush.style := bsClear;
     278          Brush.Color := $000000;
     279          FillRect(rect(X - 4 - 11, Y + 1, X - 4 + 13, Y + 21));
     280          Brush.Color := $FFFFFF;
     281          FillRect(rect(X - 4 - 12, Y, X - 4 + 12, Y + 20));
     282          Brush.style := bsClear;
    283283          Font.Color := $000000;
    284           s := inttostr(MyCity[lix].Size);
    285           TextOut(x - 4 - textwidth(s) div 2, y, s);
     284          S := IntToStr(MyCity[lix].Size);
     285          TextOut(X - 4 - textwidth(S) div 2, Y, S);
    286286        end;
    287287
     
    289289      begin
    290290        first := -1;
    291         for j := 0 to nCityEventPriority - 1 do
    292           if (Flags and CityRepMask and CityEventPriority[j] <> 0) then
    293           begin
    294             first := j;
     291        for J := 0 to nCityEventPriority - 1 do
     292          if (Flags and CityRepMask and CityEventPriority[J] <> 0) then
     293          begin
     294            first := J;
    295295            Break;
    296296          end;
    297297        if first >= 0 then
    298298        begin
    299           i := 0;
    300           test := 1;
    301           while test < CityEventPriority[first] do
    302           begin
    303             inc(i);
    304             inc(test, test);
    305           end;
    306           s := CityEventName(i);
     299          I := 0;
     300          Test := 1;
     301          while Test < CityEventPriority[first] do
     302          begin
     303            Inc(I);
     304            Inc(Test, Test);
     305          end;
     306          S := CityEventName(I);
    307307          { if CityEventPriority[first]=chNoGrowthWarning then
    308308            if Built[imAqueduct]=0 then
    309             s:=Format(s,[Phrases.Lookup('IMPROVEMENTS',imAqueduct)])
    310             else begin s:=Format(s,[Phrases.Lookup('IMPROVEMENTS',imSewer)]); i:=17 end; }
    311           ReplaceText(x + (CityNameSpace + 4 + 40 + 18 + 8), y, TextColor, s);
     309            S:=Format(S,[Phrases.Lookup('IMPROVEMENTS',imAqueduct)])
     310            else begin S:=Format(S,[Phrases.Lookup('IMPROVEMENTS',imSewer)]); I:=17 end; }
     311          ReplaceText(X + (CityNameSpace + 4 + 40 + 18 + 8), Y, TextColor, S);
    312312          if NonText then
    313313          begin
    314             Sprite(offscreen, HGrSystem, 105 - 76 + CityNameSpace + 4 + 40,
    315               y0 + 1, 18, 18, 1 + i mod 3 * 19, 1 + i div 3 * 19);
    316             x := InnerWidth - 26;
    317             for j := nCityEventPriority - 1 downto first + 1 do
    318               if (Flags and CityRepMask and CityEventPriority[j] <> 0) then
     314            Sprite(Offscreen, HGrSystem, 105 - 76 + CityNameSpace + 4 + 40,
     315              y0 + 1, 18, 18, 1 + I mod 3 * 19, 1 + I div 3 * 19);
     316            X := InnerWidth - 26;
     317            for J := nCityEventPriority - 1 downto first + 1 do
     318              if (Flags and CityRepMask and CityEventPriority[J] <> 0) then
    319319              begin
    320                 i := 0;
    321                 test := 1;
    322                 while test < CityEventPriority[j] do
     320                I := 0;
     321                Test := 1;
     322                while Test < CityEventPriority[J] do
    323323                begin
    324                   inc(i);
    325                   inc(test, test);
     324                  Inc(I);
     325                  Inc(Test, Test);
    326326                end;
    327                 if (CityEventPriority[j] = chNoGrowthWarning) and
     327                if (CityEventPriority[J] = chNoGrowthWarning) and
    328328                  (Built[imAqueduct] > 0) then
    329                   i := 17;
    330                 Sprite(offscreen, HGrSystem, x, y0 + 1, 18, 18,
    331                   1 + i mod 3 * 19, 1 + i div 3 * 19);
    332                 dec(x, 20);
     329                  I := 17;
     330                Sprite(Offscreen, HGrSystem, X, y0 + 1, 18, 18,
     331                  1 + I mod 3 * 19, 1 + I div 3 * 19);
     332                Dec(X, 20);
    333333              end;
    334334          end;
     
    340340        CityReport.HypoTaxRate := -1;
    341341        CityReport.HypoLuxuryRate := -1;
    342         Server(sGetCityReportNew, me, lix, CityReport);
     342        Server(sGetCityReportNew, Me, lix, CityReport);
    343343        TrueFood := Food;
    344344        TrueProd := Prod;
    345         if supervising then
     345        if Supervising then
    346346        begin // normalize city from after-turn state
    347           dec(TrueFood, CityReport.FoodSurplus);
     347          Dec(TrueFood, CityReport.FoodSurplus);
    348348          if TrueFood < 0 then
    349349            TrueFood := 0; // shouldn't happen
    350           dec(TrueProd, CityReport.Production);
     350          Dec(TrueProd, CityReport.Production);
    351351          if TrueProd < 0 then
    352352            TrueProd := 0; // shouldn't happen
    353353        end;
    354354
    355         s := ''; // disorder info
     355        S := ''; // disorder info
    356356        if Flags and chCaptured <> 0 then
    357           s := Phrases.Lookup('CITYEVENTS', 14)
     357          S := Phrases.Lookup('CITYEVENTS', 14)
    358358        else if CityReport.HappinessBalance < 0 then
    359           s := Phrases.Lookup('CITYEVENTS', 0);
    360         if s <> '' then
     359          S := Phrases.Lookup('CITYEVENTS', 0);
     360        if S <> '' then
    361361        begin { disorder }
    362362          if NonText then
    363363          begin
    364             DarkGradient(offscreen.Canvas, 99 + 31 + CityNameSpace + 4,
     364            DarkGradient(Offscreen.Canvas, 99 + 31 + CityNameSpace + 4,
    365365              y0 + 2, 131, 3);
    366366            ca.Font.Assign(UniFont[ftSmall]);
    367             RisedTextout(offscreen.Canvas, 103 + CityNameSpace + 4 + 31,
    368               y0 + 1, s);
     367            RisedTextout(Offscreen.Canvas, 103 + CityNameSpace + 4 + 31,
     368              y0 + 1, S);
    369369            ca.Font.Assign(UniFont[ftNormal]);
    370370          end;
     
    373373        begin
    374374          { s:=IntToStr(CityReport.FoodSurplus);
    375             ReplaceText(x+(CityNameSpace+4+48)-BiColorTextWidth(ca,s),y,TextColor,s); }
    376           s := inttostr(CityReport.Science);
    377           ReplaceText(x + CityNameSpace + 4 + 370 + 48 - BiColorTextWidth(ca,
    378             s), y, TextColor, s);
    379           s := inttostr(CityReport.Production);
    380           ReplaceText(x + CityNameSpace + 4 + 132 - BiColorTextWidth(ca, s), y,
    381             TextColor, s);
     375            ReplaceText(X+(CityNameSpace+4+48)-BiColorTextWidth(ca,S),Y,TextColor,S); }
     376          S := IntToStr(CityReport.Science);
     377          ReplaceText(X + CityNameSpace + 4 + 370 + 48 - BiColorTextWidth(ca,
     378            S), Y, TextColor, S);
     379          S := IntToStr(CityReport.Production);
     380          ReplaceText(X + CityNameSpace + 4 + 132 - BiColorTextWidth(ca, S), Y,
     381            TextColor, S);
    382382          if NonText then
    383383          begin
    384384            // Sprite(offscreen,HGrSystem,x+CityNameSpace+4+333+1,y+6,10,10,66,115);
    385             Sprite(offscreen, HGrSystem, x + CityNameSpace + 4 + 370 + 48 + 1,
    386               y + 6, 10, 10, 77, 126);
    387             Sprite(offscreen, HGrSystem, x + CityNameSpace + 4 + 132 + 1, y + 6,
     385            Sprite(Offscreen, HGrSystem, X + CityNameSpace + 4 + 370 + 48 + 1,
     386              Y + 6, 10, 10, 77, 126);
     387            Sprite(Offscreen, HGrSystem, X + CityNameSpace + 4 + 132 + 1, Y + 6,
    388388              10, 10, 88, 115);
    389389          end;
    390390        end;
    391         s := inttostr(CityTaxBalance(lix, CityReport));
    392         ReplaceText(x + CityNameSpace + 4 + 370 - BiColorTextWidth(ca, s), y,
    393           TextColor, s);
     391        S := IntToStr(CityTaxBalance(lix, CityReport));
     392        ReplaceText(X + CityNameSpace + 4 + 370 - BiColorTextWidth(ca, S), Y,
     393          TextColor, S);
    394394        // if Project and (cpImp+cpIndex)<>cpImp+imTrGoods then
    395395        // ReplaceText(x+CityNameSpace+4+333+1,y,TextColor,Format('%d/%d',[TrueProd,CityReport.ProjectCost]));
    396396        if NonText then
    397397        begin
    398           Sprite(offscreen, HGrSystem, x + CityNameSpace + 4 + 370 + 1, y + 6,
     398          Sprite(Offscreen, HGrSystem, X + CityNameSpace + 4 + 370 + 1, Y + 6,
    399399            10, 10, 132, 115);
    400400
     
    404404            ((Size < NeedAqueductSize) or (Built[imAqueduct] = 1) and
    405405            (Size < NeedSewerSize) or (Built[imSewer] = 1));
    406           PaintRelativeProgressBar(offscreen.Canvas, 1, x + 15 + CityNameSpace +
    407             4, y + 7, 68, TrueFood, CutCityFoodSurplus(CityReport.FoodSurplus,
     406          PaintRelativeProgressBar(Offscreen.Canvas, 1, X + 15 + CityNameSpace +
     407            4, Y + 7, 68, TrueFood, CutCityFoodSurplus(CityReport.FoodSurplus,
    408408            (MyRO.Government <> gAnarchy) and (Flags and chCaptured = 0),
    409409            MyRO.Government, Size), CityReport.Storage, CanGrow, MainTexture);
     
    411411          if Project <> cpImp + imTrGoods then
    412412          begin
    413             DisplayProject(ofs + 104 - 76 + x - 28 + CityNameSpace + 4 + 206 -
     413            DisplayProject(ofs + 104 - 76 + X - 28 + CityNameSpace + 4 + 206 -
    414414              60, y0 - 15, Project);
    415415
     
    419419              (Flags and chCaptured <> 0) then
    420420              growth := 0;
    421             PaintRelativeProgressBar(offscreen.Canvas, 4,
    422               x + CityNameSpace + 4 + 304 - 60 + 9, y + 7, 68, TrueProd, growth,
    423               CityReport.ProjectCost, true, MainTexture);
     421            PaintRelativeProgressBar(Offscreen.Canvas, 4,
     422              X + CityNameSpace + 4 + 304 - 60 + 9, Y + 7, 68, TrueProd, growth,
     423              CityReport.ProjectCost, True, MainTexture);
    424424          end;
    425425        end;
     
    428428  else if Kind in [kModels, kEModels] then
    429429  begin
    430     x := 104;
    431     y := y0;
     430    X := 104;
     431    Y := y0;
    432432    if ca = Canvas then
    433433    begin
    434       x := x + SideFrame;
    435       y := y + TitleHeight;
     434      X := X + SideFrame;
     435      Y := Y + TitleHeight;
    436436    end;
    437437    if lit then
     
    442442    begin
    443443      Available := 0;
    444       for j := 0 to MyRO.nUn - 1 do
    445         if (MyUn[j].Loc >= 0) and (MyUn[j].mix = lix) then
    446           inc(Available);
     444      for J := 0 to MyRO.nUn - 1 do
     445        if (MyUn[J].Loc >= 0) and (MyUn[J].mix = lix) then
     446          Inc(Available);
    447447      if MainScreen.mNames.Checked then
    448         s := Tribe[me].ModelName[lix]
     448        S := Tribe[Me].ModelName[lix]
    449449      else
    450         s := Format(Tribe[me].TPhrase('GENMODEL'), [lix]);
     450        S := Format(Tribe[Me].TPhrase('GENMODEL'), [lix]);
    451451      if NonText then
    452452        DisplayProject(8 + ofs, y0 - 15, lix);
     
    456456      Available := MyRO.EnemyReport[pView].UnCount[lix];
    457457      if MainScreen.mNames.Checked then
    458         s := Tribe[pView].ModelName[lix]
     458        S := Tribe[pView].ModelName[lix]
    459459      else
    460         s := Format(Tribe[pView].TPhrase('GENMODEL'), [lix]);
     460        S := Format(Tribe[pView].TPhrase('GENMODEL'), [lix]);
    461461      if NonText then
    462462        with Tribe[pView].ModelPicture[lix] do
    463           Sprite(offscreen, HGr, 8 + ofs, y0 - 15, 64, 48, pix mod 10 * 65 + 1,
     463          Sprite(Offscreen, HGr, 8 + ofs, y0 - 15, 64, 48, pix mod 10 * 65 + 1,
    464464            pix div 10 * 49 + 1);
    465465    end;
    466466    if Available > 0 then
    467       ReplaceText(x + 32 - BiColorTextWidth(ca, inttostr(Available)), y,
    468         TextColor, inttostr(Available));
    469     ReplaceText(x + 40, y, TextColor, s);
     467      ReplaceText(X + 32 - BiColorTextWidth(ca, IntToStr(Available)), Y,
     468        TextColor, IntToStr(Available));
     469    ReplaceText(X + 40, Y, TextColor, S);
    470470  end
    471471  else
     
    474474      kAllEModels, kChooseEModel:
    475475        if lix = mixAll then
    476           s := Phrases.Lookup('PRICECAT_ALLMODEL')
     476          S := Phrases.Lookup('PRICECAT_ALLMODEL')
    477477        else
    478478        begin
     
    480480          if MainScreen.mNames.Checked then
    481481          begin
    482             s := Tribe[mox.Owner].ModelName[mox.mix];
    483             if (Kind = kAllEModels) and (code[1, ScrollBar.Position + l] = 0) then
    484               s := Format(Tribe[mox.Owner].TPhrase('OWNED'), [s]);
     482            S := Tribe[mox.Owner].ModelName[mox.mix];
     483            if (Kind = kAllEModels) and (Code[1, ScrollBar.Position + L] = 0) then
     484              S := Format(Tribe[mox.Owner].TPhrase('OWNED'), [S]);
    485485          end
    486486          else
    487             s := Format(Tribe[mox.Owner].TPhrase('GENMODEL'), [mox.mix]);
     487            S := Format(Tribe[mox.Owner].TPhrase('GENMODEL'), [mox.mix]);
    488488          if NonText then
    489489            with Tribe[mox.Owner].ModelPicture[mox.mix] do
    490               Sprite(offscreen, HGr, 8 + ofs, y0 - 15, 64, 48,
     490              Sprite(Offscreen, HGr, 8 + ofs, y0 - 15, 64, 48,
    491491                pix mod 10 * 65 + 1, pix div 10 * 49 + 1);
    492492        end;
    493493      kChooseModel:
    494494        if lix = mixAll then
    495           s := Phrases.Lookup('PRICECAT_ALLMODEL')
     495          S := Phrases.Lookup('PRICECAT_ALLMODEL')
    496496        else
    497497        begin
    498           s := Tribe[me].ModelName[lix];
     498          S := Tribe[Me].ModelName[lix];
    499499          if NonText then
    500500            DisplayProject(8 + ofs, y0 - 15, lix);
     
    503503        begin
    504504          if lix and cpType <> 0 then
    505             s := Phrases.Lookup('CITYTYPE', lix and cpIndex)
     505            S := Phrases.Lookup('CITYTYPE', lix and cpIndex)
    506506          else if lix and cpImp = 0 then
    507507            with MyModel[lix and cpIndex] do
    508508            begin
    509               s := Tribe[me].ModelName[lix and cpIndex];
     509              S := Tribe[Me].ModelName[lix and cpIndex];
    510510              if lix and cpConscripts <> 0 then
    511                 s := Format(Phrases.Lookup('CONSCRIPTS'), [s]);
     511                S := Format(Phrases.Lookup('CONSCRIPTS'), [S]);
    512512            end
    513513          else
    514514          begin
    515             s := Phrases.Lookup('IMPROVEMENTS', lix and cpIndex);
     515            S := Phrases.Lookup('IMPROVEMENTS', lix and cpIndex);
    516516            if (Imp[lix and cpIndex].Kind in [ikNatLocal, ikNatGlobal]) and
    517517              (MyRO.NatBuilt[lix and cpIndex] > 0) or
     
    519519              (MyCity[cixProject].Built[imPower] + MyCity[cixProject].Built
    520520              [imHydro] + MyCity[cixProject].Built[imNuclear] > 0) then
    521               s := Format(Phrases.Lookup('NATEXISTS'), [s]);
     521              S := Format(Phrases.Lookup('NATEXISTS'), [S]);
    522522          end;
    523523          if NonText then
     
    527527        begin
    528528          if lix = adAll then
    529             s := Phrases.Lookup('PRICECAT_ALLTECH')
     529            S := Phrases.Lookup('PRICECAT_ALLTECH')
    530530          else
    531531          begin
    532532            if lix = adNexus then
    533               s := Phrases.Lookup('NEXUS')
     533              S := Phrases.Lookup('NEXUS')
    534534            else if lix = adNone then
    535               s := Phrases.Lookup('NOFARTECH')
     535              S := Phrases.Lookup('NOFARTECH')
    536536            else if lix = adMilitary then
    537               s := Phrases.Lookup('INITUNIT')
     537              S := Phrases.Lookup('INITUNIT')
    538538            else
    539539            begin
    540               s := Phrases.Lookup('ADVANCES', lix);
     540              S := Phrases.Lookup('ADVANCES', lix);
    541541              if (Kind = kAdvance) and (lix in FutureTech) then
    542542                if MyRO.Tech[lix] < tsApplicable then
    543                   s := s + ' 1'
     543                  S := S + ' 1'
    544544                else
    545                   s := s + ' ' + inttostr(MyRO.Tech[lix] + 1);
     545                  S := S + ' ' + IntToStr(MyRO.Tech[lix] + 1);
    546546            end;
    547             if BiColorTextWidth(ca, s) > TechNameSpace + 8 then
     547            if BiColorTextWidth(ca, S) > TechNameSpace + 8 then
    548548            begin
    549549              repeat
    550                 delete(s, length(s), 1);
    551               until BiColorTextWidth(ca, s) <= TechNameSpace + 5;
    552               s := s + '.';
     550                Delete(S, Length(S), 1);
     551              until BiColorTextWidth(ca, S) <= TechNameSpace + 5;
     552              S := S + '.';
    553553            end;
    554554
     
    557557              if lix = adNexus then
    558558              begin
    559                 Frame(offscreen.Canvas, (8 + 16 - 1), y0 - 1, (8 + 16 + 36),
     559                Frame(Offscreen.Canvas, (8 + 16 - 1), y0 - 1, (8 + 16 + 36),
    560560                  y0 + 20, MainTexture.ColorBevelLight, MainTexture.ColorBevelShade);
    561                 Dump(offscreen, HGrSystem, (8 + 16), y0, 36, 20, 223, 295)
     561                Dump(Offscreen, HGrSystem, (8 + 16), y0, 36, 20, 223, 295)
    562562              end
    563563              else if lix = adNone then
    564564              begin
    565                 Frame(offscreen.Canvas, (8 + 16 - 1), y0 - 1, (8 + 16 + 36),
     565                Frame(Offscreen.Canvas, (8 + 16 - 1), y0 - 1, (8 + 16 + 36),
    566566                  y0 + 20, MainTexture.ColorBevelLight, MainTexture.ColorBevelShade);
    567                 Dump(offscreen, HGrSystem, (8 + 16), y0, 36, 20, 260, 295)
     567                Dump(Offscreen, HGrSystem, (8 + 16), y0, 36, 20, 260, 295)
    568568              end
    569569              else if lix = adMilitary then
    570570              begin
    571                 Frame(offscreen.Canvas, (8 + 16 - 1), y0 - 1, (8 + 16 + 36),
     571                Frame(Offscreen.Canvas, (8 + 16 - 1), y0 - 1, (8 + 16 + 36),
    572572                  y0 + 20, MainTexture.ColorBevelLight, MainTexture.ColorBevelShade);
    573                 Dump(offscreen, HGrSystem, (8 + 16), y0, 36, 20, 38, 295)
     573                Dump(Offscreen, HGrSystem, (8 + 16), y0, 36, 20, 38, 295)
    574574              end
    575575              else
    576576              begin
    577                 Frame(offscreen.Canvas, (8 + 16 - 1), y0 - 1,
     577                Frame(Offscreen.Canvas, (8 + 16 - 1), y0 - 1,
    578578                  (8 + 16 + xSizeSmall), y0 + ySizeSmall,
    579579                  MainTexture.ColorBevelLight, MainTexture.ColorBevelShade);
    580580                if AdvIcon[lix] < 84 then
    581                   BitBltCanvas(offscreen.Canvas, (8 + 16), y0, xSizeSmall,
     581                  BitBltCanvas(Offscreen.Canvas, (8 + 16), y0, xSizeSmall,
    582582                    ySizeSmall, SmallImp.Canvas,
    583583                    (AdvIcon[lix] + SystemIconLines * 7) mod 7 * xSizeSmall,
     
    585585                    ySizeSmall)
    586586                else
    587                   Dump(offscreen, HGrSystem, (8 + 16), y0, 36, 20,
     587                  Dump(Offscreen, HGrSystem, (8 + 16), y0, 36, 20,
    588588                    1 + (AdvIcon[lix] - 84) mod 8 * 37,
    589589                    295 + (AdvIcon[lix] - 84) div 8 * 21);
    590                 j := AdvValue[lix] div 1000;
    591                 BitBltCanvas(offscreen.Canvas, (8 + 16 - 4), y0 + 2, 14, 14,
    592                   HGrSystem.Mask.Canvas, 127 + j * 15,
     590                J := AdvValue[lix] div 1000;
     591                BitBltCanvas(Offscreen.Canvas, (8 + 16 - 4), y0 + 2, 14, 14,
     592                  HGrSystem.Mask.Canvas, 127 + J * 15,
    593593                  85, SRCAND);
    594                 Sprite(offscreen, HGrSystem, (8 + 16 - 5), y0 + 1, 14, 14,
    595                   127 + j * 15, 85);
     594                Sprite(Offscreen, HGrSystem, (8 + 16 - 5), y0 + 1, 14, 14,
     595                  127 + J * 15, 85);
    596596              end;
    597597            end;
     
    600600          if NonText and (Kind in [kAdvance, kScience]) then
    601601          begin // show research state
    602             for j := 0 to nColumn - 1 do
     602            for J := 0 to nColumn - 1 do
    603603            begin
    604604              FutureCount := 0;
    605               if j = 0 then // own science
     605              if J = 0 then // own science
    606606                if lix = MyRO.ResearchTech then
    607607                begin
    608                   Server(sGetTechCost, me, 0, icon);
     608                  Server(sGetTechCost, Me, 0, icon);
    609609                  icon := 4 + MyRO.Research * 4 div icon;
    610610                  if icon > 4 + 3 then
     
    625625                  icon := -1
    626626              else
    627                 with MyRO.EnemyReport[Column[j]]^ do // enemy science
    628                   if (MyRO.Alive and (1 shl Column[j]) <> 0) and
     627                with MyRO.EnemyReport[Column[J]]^ do // enemy science
     628                  if (MyRO.Alive and (1 shl Column[J]) <> 0) and
    629629                    (TurnOfCivilReport >= 0) and (lix = ResearchTech) and
    630630                    ((lix = adMilitary) or (lix in FutureTech) or
     
    649649                    icon := -1;
    650650              if icon >= 0 then
    651                 Sprite(offscreen, HGrSystem, 104 - 33 + 15 + 3 + TechNameSpace +
    652                   24 * j, y0 + 3, 14, 14, 67 + icon * 15, 85)
     651                Sprite(Offscreen, HGrSystem, 104 - 33 + 15 + 3 + TechNameSpace +
     652                  24 * J, y0 + 3, 14, 14, 67 + icon * 15, 85)
    653653              else if (Kind = kScience) and (FutureCount > 0) then
    654654              begin
    655                 number := inttostr(FutureCount);
    656                 RisedTextout(ca, 104 - 33 + 15 + 10 + TechNameSpace + 24 * j -
     655                number := IntToStr(FutureCount);
     656                RisedTextout(ca, 104 - 33 + 15 + 10 + TechNameSpace + 24 * J -
    657657                  BiColorTextWidth(ca, number) div 2, y0, number);
    658658              end;
     
    661661        end; // kAdvance, kScience
    662662      kTribe:
    663         s := TribeNames[lix];
     663        S := TribeNames[lix];
    664664      kShipPart:
    665665        begin
    666           s := Phrases.Lookup('IMPROVEMENTS', imShipComp + lix) + ' (' +
    667             inttostr(MyRO.Ship[me].Parts[lix]) + ')';
     666          S := Phrases.Lookup('IMPROVEMENTS', imShipComp + lix) + ' (' +
     667            IntToStr(MyRO.Ship[Me].Parts[lix]) + ')';
    668668          if NonText then
    669669            DisplayProject(8 + ofs, y0 - 15, cpImp + imShipComp + lix);
     
    671671      kEShipPart:
    672672        begin
    673           s := Phrases.Lookup('IMPROVEMENTS', imShipComp + lix) + ' (' +
    674             inttostr(MyRO.Ship[DipMem[me].pContact].Parts[lix]) + ')';
     673          S := Phrases.Lookup('IMPROVEMENTS', imShipComp + lix) + ' (' +
     674            IntToStr(MyRO.Ship[DipMem[Me].pContact].Parts[lix]) + ')';
    675675          if NonText then
    676676            DisplayProject(8 + ofs, y0 - 15, cpImp + imShipComp + lix);
     
    678678      kGov:
    679679        begin
    680           s := Phrases.Lookup('GOVERNMENT', lix);
     680          S := Phrases.Lookup('GOVERNMENT', lix);
    681681          if NonText then
    682682          begin
    683             Frame(offscreen.Canvas, 8 + 16 - 1, y0 - 15 + (16 - 2),
     683            Frame(Offscreen.Canvas, 8 + 16 - 1, y0 - 15 + (16 - 2),
    684684              8 + 16 + xSizeSmall, y0 - 15 + (16 - 1 + ySizeSmall),
    685685              MainTexture.ColorBevelLight, MainTexture.ColorBevelShade);
    686             BitBltCanvas(offscreen.Canvas, 8 + 16, y0 - 15 + (16 - 1),
     686            BitBltCanvas(Offscreen.Canvas, 8 + 16, y0 - 15 + (16 - 1),
    687687              xSizeSmall, ySizeSmall, SmallImp.Canvas,
    688688              (lix - 1) * xSizeSmall, ySizeSmall);
     
    690690        end;
    691691      kMission:
    692         s := Phrases.Lookup('SPYMISSION', lix);
     692        S := Phrases.Lookup('SPYMISSION', lix);
    693693    end;
    694694    case Kind of
    695695      kTribe, kMission: // center text
    696696        if Lines[0] > MaxLines then
    697           x := (InnerWidth - GetSystemMetrics(SM_CXVSCROLL)) div 2 -
    698             BiColorTextWidth(ca, s) div 2
     697          X := (InnerWidth - GetSystemMetrics(SM_CXVSCROLL)) div 2 -
     698            BiColorTextWidth(ca, S) div 2
    699699        else
    700           x := InnerWidth div 2 - BiColorTextWidth(ca, s) div 2;
     700          X := InnerWidth div 2 - BiColorTextWidth(ca, S) div 2;
    701701      kAdvance, kFarAdvance, kScience, kChooseTech, kChooseETech,
    702702        kStealTech, kGov:
    703         x := 104 - 33;
     703        X := 104 - 33;
    704704      kAllEModels:
    705         x := 104;
     705        X := 104;
    706706    else
    707       x := 104 + 15;
     707      X := 104 + 15;
    708708    end;
    709     y := y0;
     709    Y := y0;
    710710    if ca = Canvas then
    711711    begin
    712       x := x + SideFrame;
    713       y := y + TitleHeight;
     712      X := X + SideFrame;
     713      Y := Y + TitleHeight;
    714714    end;
    715715    if lit then
     
    718718      TextColor := -1;
    719719    { if Kind=kTribe then ReplaceText_Tribe(x,y,TextColor,
    720       integer(TribeNames.Objects[lix]),s)
    721       else } ReplaceText(x, y, TextColor, s);
     720      Integer(TribeNames.Objects[lix]),S)
     721      else } ReplaceText(X, Y, TextColor, S);
    722722  end;
    723723end;
     
    725725procedure TListDlg.OffscreenPaint;
    726726var
    727   i, j: integer;
     727  I, J: Integer;
    728728begin
    729729  case Kind of
    730730    kCities:
    731       Caption := Tribe[me].TPhrase('TITLE_CITIES');
     731      Caption := Tribe[Me].TPhrase('TITLE_CITIES');
    732732    kCityEvents:
    733733      Caption := Format(Phrases.Lookup('TITLE_EVENTS'),
     
    736736
    737737  inherited;
    738   offscreen.Canvas.Font.Assign(UniFont[ftNormal]);
     738  Offscreen.Canvas.Font.Assign(UniFont[ftNormal]);
    739739  FillOffscreen(0, 0, InnerWidth, InnerHeight);
    740   with offscreen.Canvas do
     740  with Offscreen.Canvas do
    741741  begin
    742742    if Kind = kScience then
    743       for i := 1 to nColumn - 1 do
     743      for I := 1 to nColumn - 1 do
    744744      begin
    745745        Pen.Color := $000000;
    746         MoveTo(104 - 33 + 15 + TechNameSpace + 24 * i, 0);
    747         LineTo(104 - 33 + 15 + TechNameSpace + 24 * i, InnerHeight);
    748         MoveTo(104 - 33 + 15 + TechNameSpace + 9 * 2 + 24 * i, 0);
    749         LineTo(104 - 33 + 15 + TechNameSpace + 9 * 2 + 24 * i, InnerHeight);
    750         if MyRO.EnemyReport[Column[i]].TurnOfCivilReport >= MyRO.Turn - 1 then
    751         begin
    752           brush.Color := Tribe[Column[i]].Color;
    753           fillrect(rect(104 - 33 + 14 + TechNameSpace + 24 * i + 1 * 2, 0,
    754             104 - 33 + 17 + TechNameSpace + 24 * i + 8 * 2, InnerHeight));
    755           brush.style := bsClear;
     746        MoveTo(104 - 33 + 15 + TechNameSpace + 24 * I, 0);
     747        LineTo(104 - 33 + 15 + TechNameSpace + 24 * I, InnerHeight);
     748        MoveTo(104 - 33 + 15 + TechNameSpace + 9 * 2 + 24 * I, 0);
     749        LineTo(104 - 33 + 15 + TechNameSpace + 9 * 2 + 24 * I, InnerHeight);
     750        if MyRO.EnemyReport[Column[I]].TurnOfCivilReport >= MyRO.Turn - 1 then
     751        begin
     752          Brush.Color := Tribe[Column[I]].Color;
     753          FillRect(rect(104 - 33 + 14 + TechNameSpace + 24 * I + 1 * 2, 0,
     754            104 - 33 + 17 + TechNameSpace + 24 * I + 8 * 2, InnerHeight));
     755          Brush.style := bsClear;
    756756        end
    757757        else
    758758        begin // colored player columns
    759           Pen.Color := Tribe[Column[i]].Color;
    760           for j := 1 to 8 do
    761           begin
    762             MoveTo(104 - 33 + 15 + TechNameSpace + 24 * i + j * 2, 0);
    763             LineTo(104 - 33 + 15 + TechNameSpace + 24 * i + j * 2, InnerHeight);
    764           end;
    765         end;
    766       end;
    767 
    768     for i := -1 to DispLines do
    769       if (i + ScrollBar.Position >= 0) and (i + ScrollBar.Position < Lines[Layer]) then
    770         Self.line(offscreen.Canvas, i, true, false);
     759          Pen.Color := Tribe[Column[I]].Color;
     760          for J := 1 to 8 do
     761          begin
     762            MoveTo(104 - 33 + 15 + TechNameSpace + 24 * I + J * 2, 0);
     763            LineTo(104 - 33 + 15 + TechNameSpace + 24 * I + J * 2, InnerHeight);
     764          end;
     765        end;
     766      end;
     767
     768    for I := -1 to DispLines do
     769      if (I + ScrollBar.Position >= 0) and (I + ScrollBar.Position < Lines[Layer]) then
     770        Self.Line(Offscreen.Canvas, I, True, False);
    771771  end;
    772772  MarkUsedOffscreen(InnerWidth, 8 + 48 + DispLines * LineDistance);
     
    774774
    775775procedure TListDlg.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState;
    776   x, y: integer);
     776  X, Y: Integer);
    777777var
    778   i0, Sel0, iColumn, OldScienceNation, xScreen: integer;
    779   s: string;
    780 begin
    781   y := y - TitleHeight;
     778  i0, Sel0, iColumn, OldScienceNation, xScreen: Integer;
     779  S: string;
     780begin
     781  Y := Y - TitleHeight;
    782782  i0 := ScrollBar.Position;
    783783  Sel0 := Selected;
    784   if (x >= SideFrame) and (x < SideFrame + InnerWidth) and (y >= 0) and
    785     (y < InnerHeight) and (y mod LineDistance >= 4) and (y mod LineDistance < 20)
     784  if (X >= SideFrame) and (X < SideFrame + InnerWidth) and (Y >= 0) and
     785    (Y < InnerHeight) and (Y mod LineDistance >= 4) and (Y mod LineDistance < 20)
    786786  then
    787     Selected := y div LineDistance - 1
     787    Selected := Y div LineDistance - 1
    788788  else
    789789    Selected := -2;
     
    794794  begin
    795795    if Sel0 <> -2 then
    796       line(Canvas, Sel0, false, false);
     796      Line(Canvas, Sel0, False, False);
    797797    if Selected <> -2 then
    798       line(Canvas, Selected, false, true);
     798      Line(Canvas, Selected, False, True);
    799799  end;
    800800
     
    803803    OldScienceNation := ScienceNation;
    804804    ScienceNation := -1;
    805     if (x >= SideFrame + (104 - 33 + 15 + TechNameSpace)) and
    806       ((x - SideFrame - (104 - 33 + 15 + TechNameSpace)) mod 24 <= 18) and
    807       (y >= 0) and (y < InnerHeight) then
     805    if (X >= SideFrame + (104 - 33 + 15 + TechNameSpace)) and
     806      ((X - SideFrame - (104 - 33 + 15 + TechNameSpace)) mod 24 <= 18) and
     807      (Y >= 0) and (Y < InnerHeight) then
    808808    begin
    809       iColumn := (x - SideFrame - (104 - 33 + 15 + TechNameSpace)) div 24;
     809      iColumn := (X - SideFrame - (104 - 33 + 15 + TechNameSpace)) div 24;
    810810      if (iColumn >= 1) and (iColumn < nColumn) then
    811811        ScienceNation := Column[iColumn];
     
    818818      if ScienceNation >= 0 then
    819819      begin
    820         s := Tribe[ScienceNation].TPhrase('SHORTNAME');
     820        S := Tribe[ScienceNation].TPhrase('SHORTNAME');
    821821        if MyRO.Alive and (1 shl ScienceNation) = 0 then
    822           s := Format(Phrases.Lookup('SCIENCEREPORT_EXTINCT'), [s]) // extinct
     822          S := Format(Phrases.Lookup('SCIENCEREPORT_EXTINCT'), [S]) // extinct
    823823        else if MyRO.EnemyReport[ScienceNation].TurnOfCivilReport < MyRO.Turn - 1
    824824        then
    825           s := s + ' (' + TurnToString(MyRO.EnemyReport[ScienceNation]
     825          S := S + ' (' + TurnToString(MyRO.EnemyReport[ScienceNation]
    826826            .TurnOfCivilReport) + ')'; // old report
    827         xScreen := (ClientWidth - BiColorTextWidth(Canvas, s)) div 2;
     827        xScreen := (ClientWidth - BiColorTextWidth(Canvas, S)) div 2;
    828828        LoweredTextOut(Canvas, -1, MainTexture, xScreen + 10,
    829           ClientHeight - 29, s);
     829          ClientHeight - 29, S);
    830830        BitBltCanvas(ScienceNationDotBuffer.Canvas, 0, 0, ScienceNationDot.Width,
    831831          ScienceNationDot.Height, Canvas, xScreen - 10, ClientHeight - 27);
     
    853853end;
    854854
    855 function TListDlg.RenameCity(cix: integer): boolean;
     855function TListDlg.RenameCity(cix: Integer): Boolean;
    856856var
    857857  CityNameInfo: TCityNameInfo;
     
    870870        (CityNameInfo.GetCommandDataSize - 1 - CommandDataMaxSize), MaxInt);
    871871    Server(CommandWithData(cSetCityName, CityNameInfo.GetCommandDataSize),
    872       me, 0, CityNameInfo);
     872      Me, 0, CityNameInfo);
    873873    if CityDlg.Visible then
    874874    begin
     
    882882end;
    883883
    884 function TListDlg.RenameModel(mix: integer): boolean;
     884function TListDlg.RenameModel(mix: Integer): Boolean;
    885885var
    886886  ModelNameInfo: TModelNameInfo;
    887887begin
    888888  InputDlg.Caption := Phrases.Lookup('TITLE_MODELNAME');
    889   InputDlg.EInput.Text := Tribe[me].ModelName[mix];
     889  InputDlg.EInput.Text := Tribe[Me].ModelName[mix];
    890890  InputDlg.CenterToRect(BoundsRect);
    891891  InputDlg.ShowModal;
    892892  if (InputDlg.ModalResult = mrOK) and (InputDlg.EInput.Text <> '') and
    893     (InputDlg.EInput.Text <> Tribe[me].ModelName[mix]) then
     893    (InputDlg.EInput.Text <> Tribe[Me].ModelName[mix]) then
    894894  begin
    895895    ModelNameInfo.mix := mix;
     
    899899        (ModelNameInfo.GetCommandDataSize - 1 - CommandDataMaxSize), MaxInt);
    900900    Server(CommandWithData(cSetModelName, ModelNameInfo.GetCommandDataSize),
    901       me, 0, ModelNameInfo);
     901      Me, 0, ModelNameInfo);
    902902    if UnitStatDlg.Visible then
    903903    begin
     
    905905      UnitStatDlg.Invalidate;
    906906    end;
    907     result := true;
     907    Result := True;
    908908  end
    909909  else
    910     result := false;
     910    Result := False;
    911911end;
    912912
    913913procedure TListDlg.PaintBox1MouseDown(Sender: TObject; Button: TMouseButton;
    914   Shift: TShiftState; x, y: integer);
     914  Shift: TShiftState; X, Y: Integer);
    915915var
    916   lix: integer;
     916  lix: Integer;
    917917begin
    918918  if ScrollBar.Position + Selected >= 0 then
    919     lix := code[Layer, ScrollBar.Position + Selected];
     919    lix := Code[Layer, ScrollBar.Position + Selected];
    920920  if Kind in [kScience, kCities, kCityEvents, kModels, kEModels, kAllEModels]
    921921  then
    922     include(Shift, ssShift); // don't close list window
     922    Include(Shift, ssShift); // don't close list window
    923923  if (ssLeft in Shift) and not(ssShift in Shift) then
    924924  begin
    925925    if Selected <> -2 then
    926926    begin
    927       result := lix;
    928       Closable := true;
     927      Result := lix;
     928      Closable := True;
    929929      Close;
    930930    end;
     
    937937          MainScreen.ZoomToCity(MyCity[lix].Loc);
    938938        kCityEvents:
    939           MainScreen.ZoomToCity(MyCity[lix].Loc, false, MyCity[lix].Flags and
     939          MainScreen.ZoomToCity(MyCity[lix].Loc, False, MyCity[lix].Flags and
    940940            CityRepMask);
    941941        kModels, kChooseModel:
     
    944944        kEModels:
    945945          UnitStatDlg.ShowNewContent_EnemyModel(wmPersistent,
    946             code[1, ScrollBar.Position + Selected]);
     946            Code[1, ScrollBar.Position + Selected]);
    947947        kAllEModels, kChooseEModel:
    948948          if lix <> mixAll then
     
    987987procedure TListDlg.InitLines;
    988988var
    989   required: array [0 .. nAdv - 1] of integer;
    990 
    991   procedure TryAddImpLine(Layer, Project: integer);
    992   begin
    993     if Server(sSetCityProject - sExecute, me, cixProject, Project) >= rExecuted
     989  required: array [0 .. nAdv - 1] of Integer;
     990
     991  procedure TryAddImpLine(Layer, Project: Integer);
     992  begin
     993    if Server(sSetCityProject - sExecute, Me, cixProject, Project) >= rExecuted
    994994    then
    995995    begin
    996       code[Layer, Lines[Layer]] := Project;
    997       inc(Lines[Layer]);
     996      Code[Layer, Lines[Layer]] := Project;
     997      Inc(Lines[Layer]);
    998998    end;
    999999  end;
     
    10011001  procedure SortTechs;
    10021002  var
    1003     i, j, swap: integer;
     1003    I, J, swap: Integer;
    10041004  begin // sort by advancedness
    1005     for i := 0 to Lines[0] - 2 do
    1006       if code[0, i] < adMilitary then
    1007         for j := i + 1 to Lines[0] - 1 do
    1008           if AdvValue[code[0, i]] * nAdv + code[0, i] < AdvValue[code[0, j]] *
    1009             nAdv + code[0, j] then
    1010           begin
    1011             swap := code[0, i];
    1012             code[0, i] := code[0, j];
    1013             code[0, j] := swap;
     1005    for I := 0 to Lines[0] - 2 do
     1006      if Code[0, I] < adMilitary then
     1007        for J := I + 1 to Lines[0] - 1 do
     1008          if AdvValue[Code[0, I]] * nAdv + Code[0, I] < AdvValue[Code[0, J]] *
     1009            nAdv + Code[0, J] then
     1010          begin
     1011            swap := Code[0, I];
     1012            Code[0, I] := Code[0, J];
     1013            Code[0, J] := swap;
    10141014          end;
    10151015  end;
     
    10171017  procedure SortCities;
    10181018  var
    1019     i, j, swap: integer;
    1020   begin
    1021     for i := 0 to Lines[0] - 2 do
    1022       for j := i + 1 to Lines[0] - 1 do
    1023         if CityName(MyCity[code[0, i]].ID) > CityName(MyCity[code[0, j]].ID)
     1019    I, J, swap: Integer;
     1020  begin
     1021    for I := 0 to Lines[0] - 2 do
     1022      for J := I + 1 to Lines[0] - 1 do
     1023        if CityName(MyCity[Code[0, I]].ID) > CityName(MyCity[Code[0, J]].ID)
    10241024        then
    10251025        begin
    1026           swap := code[0, i];
    1027           code[0, i] := code[0, j];
    1028           code[0, j] := swap;
     1026          swap := Code[0, I];
     1027          Code[0, I] := Code[0, J];
     1028          Code[0, J] := swap;
    10291029        end;
    10301030  end;
    10311031
    10321032  function ModelSortValue(const mi: TModelInfo;
    1033     MixPlayers: boolean = false): integer;
    1034   begin
    1035     result := (mi.Domain + 1) shl 28 - mi.mix;
     1033    MixPlayers: Boolean = False): Integer;
     1034  begin
     1035    Result := (mi.Domain + 1) shl 28 - mi.mix;
    10361036    if MixPlayers then
    1037       dec(result, ModelCode(mi) shl 16);
     1037      Dec(Result, ModelCode(mi) shl 16);
    10381038  end;
    10391039
    10401040  procedure SortModels;
    10411041  var
    1042     i, j, swap: integer;
     1042    I, J, swap: Integer;
    10431043  begin // sort by code[2]
    1044     for i := 0 to Lines[0] - 2 do
    1045       for j := i + 1 to Lines[0] - 1 do
    1046         if code[2, i] > code[2, j] then
    1047         begin
    1048           swap := code[0, i];
    1049           code[0, i] := code[0, j];
    1050           code[0, j] := swap;
    1051           swap := code[1, i];
    1052           code[1, i] := code[1, j];
    1053           code[1, j] := swap;
    1054           swap := code[2, i];
    1055           code[2, i] := code[2, j];
    1056           code[2, j] := swap;
    1057         end;
    1058   end;
    1059 
    1060   procedure MarkPreqs(i: integer);
    1061   begin
    1062     required[i] := 1;
    1063     if MyRO.Tech[i] < tsSeen then
     1044    for I := 0 to Lines[0] - 2 do
     1045      for J := I + 1 to Lines[0] - 1 do
     1046        if Code[2, I] > Code[2, J] then
     1047        begin
     1048          swap := Code[0, I];
     1049          Code[0, I] := Code[0, J];
     1050          Code[0, J] := swap;
     1051          swap := Code[1, I];
     1052          Code[1, I] := Code[1, J];
     1053          Code[1, J] := swap;
     1054          swap := Code[2, I];
     1055          Code[2, I] := Code[2, J];
     1056          Code[2, J] := swap;
     1057        end;
     1058  end;
     1059
     1060  procedure MarkPreqs(I: Integer);
     1061  begin
     1062    required[I] := 1;
     1063    if MyRO.Tech[I] < tsSeen then
    10641064    begin
    1065       if (AdvPreq[i, 0] >= 0) then
    1066         MarkPreqs(AdvPreq[i, 0]);
    1067       if (AdvPreq[i, 1] >= 0) then
    1068         MarkPreqs(AdvPreq[i, 1]);
     1065      if (AdvPreq[I, 0] >= 0) then
     1066        MarkPreqs(AdvPreq[I, 0]);
     1067      if (AdvPreq[I, 1] >= 0) then
     1068        MarkPreqs(AdvPreq[I, 1]);
    10691069    end;
    10701070  end;
    10711071
    10721072var
    1073   Loc1, i, j, p1, dx, dy, mix, emix, EnemyType, TestEnemyType: integer;
     1073  Loc1, I, J, p1, dx, dy, mix, emix, EnemyType, TestEnemyType: Integer;
    10741074  mi: TModelInfo;
    10751075  PPicture, PTestPicture: ^TModelPicture;
    1076   ModelOk: array [0 .. 4095] of boolean;
    1077   ok: boolean;
    1078 begin
    1079   for i := 0 to MaxLayer - 1 do
    1080   begin
    1081     Lines[i] := 0;
    1082     FirstShrinkedLine[i] := MaxInt;
     1076  ModelOk: array [0 .. 4095] of Boolean;
     1077  ok: Boolean;
     1078begin
     1079  for I := 0 to MaxLayer - 1 do
     1080  begin
     1081    Lines[I] := 0;
     1082    FirstShrinkedLine[I] := MaxInt;
    10831083  end;
    10841084  case Kind of
     
    10861086      begin
    10871087        // improvements
    1088         code[0, 0] := cpImp + imTrGoods;
     1088        Code[0, 0] := cpImp + imTrGoods;
    10891089        Lines[0] := 1;
    1090         for i := nWonder to nImp - 1 do
    1091           if Imp[i].Kind = ikCommon then
    1092             TryAddImpLine(0, i + cpImp);
    1093         for i := nWonder to nImp - 1 do
    1094           if not(Imp[i].Kind in [ikCommon, ikTrGoods]) and
    1095             ((MyRO.NatBuilt[i] = 0) or (Imp[i].Kind = ikNatLocal)) then
    1096             TryAddImpLine(0, i + cpImp);
    1097         for i := 0 to nCityType - 1 do
    1098           if MyData.ImpOrder[i, 0] >= 0 then
    1099           begin
    1100             code[0, Lines[0]] := cpType + i;
    1101             inc(Lines[0]);
     1090        for I := nWonder to nImp - 1 do
     1091          if Imp[I].Kind = ikCommon then
     1092            TryAddImpLine(0, I + cpImp);
     1093        for I := nWonder to nImp - 1 do
     1094          if not(Imp[I].Kind in [ikCommon, ikTrGoods]) and
     1095            ((MyRO.NatBuilt[I] = 0) or (Imp[I].Kind = ikNatLocal)) then
     1096            TryAddImpLine(0, I + cpImp);
     1097        for I := 0 to nCityType - 1 do
     1098          if MyData.ImpOrder[I, 0] >= 0 then
     1099          begin
     1100            Code[0, Lines[0]] := cpType + I;
     1101            Inc(Lines[0]);
    11021102          end;
    11031103
    11041104        // wonders
    1105         for i := 0 to nWonder - 1 do
    1106           TryAddImpLine(1, i + cpImp);
     1105        for I := 0 to nWonder - 1 do
     1106          TryAddImpLine(1, I + cpImp);
    11071107
    11081108        // units
    1109         for i := 0 to MyRO.nModel - 1 do
     1109        for I := 0 to MyRO.nModel - 1 do
    11101110        begin
    11111111          { if MyModel[i].Kind=mkSlaves then
    1112             ok:= MyRO.Wonder[woPyramids].EffectiveOwner=me
    1113             else } if MyModel[i].Domain = dSea then
    1114           begin
    1115             ok := false;
     1112            ok:= MyRO.Wonder[woPyramids].EffectiveOwner=Me
     1113            else } if MyModel[I].Domain = dSea then
     1114          begin
     1115            ok := False;
    11161116            for dx := -2 to 2 do
    11171117              for dy := -2 to 2 do
     
    11221122                    ((MyMap[Loc1] and fTerrain = fShore) or
    11231123                    (MyMap[Loc1] and fCanal > 0)) then
    1124                     ok := true;
     1124                    ok := True;
    11251125                end;
    11261126          end
    11271127          else
    1128             ok := true;
     1128            ok := True;
    11291129          if ok then
    11301130          begin
    1131             if MyModel[i].Status and msObsolete = 0 then
     1131            if MyModel[I].Status and msObsolete = 0 then
    11321132            begin
    1133               code[2, Lines[2]] := i;
    1134               inc(Lines[2]);
     1133              Code[2, Lines[2]] := I;
     1134              Inc(Lines[2]);
    11351135            end;
    1136             if MyModel[i].Status and msAllowConscripts <> 0 then
     1136            if MyModel[I].Status and msAllowConscripts <> 0 then
    11371137            begin
    1138               code[2, Lines[2]] := i + cpConscripts;
    1139               inc(Lines[2]);
     1138              Code[2, Lines[2]] := I + cpConscripts;
     1139              Inc(Lines[2]);
    11401140            end;
    11411141          end;
     
    11511151          MarkPreqs(MyData.FarTech);
    11521152        end;
    1153         for i := 0 to nAdv - 1 do
    1154           if ((i in FutureTech) or (MyRO.Tech[i] < tsApplicable)) and
    1155             (Server(sSetResearch - sExecute, me, i, nil^) >= rExecuted) and
    1156             ((MyData.FarTech = adNone) or (required[i] > 0)) then
    1157           begin
    1158             code[0, Lines[0]] := i;
    1159             inc(Lines[0]);
     1153        for I := 0 to nAdv - 1 do
     1154          if ((I in FutureTech) or (MyRO.Tech[I] < tsApplicable)) and
     1155            (Server(sSetResearch - sExecute, Me, I, nil^) >= rExecuted) and
     1156            ((MyData.FarTech = adNone) or (required[I] > 0)) then
     1157          begin
     1158            Code[0, Lines[0]] := I;
     1159            Inc(Lines[0]);
    11601160          end;
    11611161        SortTechs;
    11621162        if Lines[0] = 0 then // no more techs -- offer nexus
    11631163        begin
    1164           code[0, Lines[0]] := adNexus;
    1165           inc(Lines[0]);
    1166         end;
    1167         ok := false;
    1168         for i := 0 to nDomains - 1 do
    1169           if (upgrade[i, 0].Preq = preNone) or
    1170             (MyRO.Tech[upgrade[i, 0].Preq] >= tsApplicable) then
    1171             ok := true;
     1164          Code[0, Lines[0]] := adNexus;
     1165          Inc(Lines[0]);
     1166        end;
     1167        ok := False;
     1168        for I := 0 to nDomains - 1 do
     1169          if (upgrade[I, 0].Preq = preNone) or
     1170            (MyRO.Tech[upgrade[I, 0].Preq] >= tsApplicable) then
     1171            ok := True;
    11721172        if ok then { new unit class }
    11731173        begin
    1174           code[0, Lines[0]] := adMilitary;
    1175           inc(Lines[0]);
     1174          Code[0, Lines[0]] := adMilitary;
     1175          Inc(Lines[0]);
    11761176        end;
    11771177      end;
    11781178    kFarAdvance:
    11791179      begin
    1180         code[0, Lines[0]] := adNone;
    1181         inc(Lines[0]);
    1182         for i := 0 to nAdv - 1 do
    1183           if not(i in FutureTech) and (MyRO.Tech[i] < tsApplicable) and
    1184             ((AdvValue[i] < 2000) or (MyRO.Tech[adMassProduction] > tsNA)) and
    1185             ((AdvValue[i] < 1000) or (MyRO.Tech[adScience] > tsNA)) then
    1186           begin
    1187             code[0, Lines[0]] := i;
    1188             inc(Lines[0]);
     1180        Code[0, Lines[0]] := adNone;
     1181        Inc(Lines[0]);
     1182        for I := 0 to nAdv - 1 do
     1183          if not(I in FutureTech) and (MyRO.Tech[I] < tsApplicable) and
     1184            ((AdvValue[I] < 2000) or (MyRO.Tech[adMassProduction] > tsNA)) and
     1185            ((AdvValue[I] < 1000) or (MyRO.Tech[adScience] > tsNA)) then
     1186          begin
     1187            Code[0, Lines[0]] := I;
     1188            Inc(Lines[0]);
    11891189          end;
    11901190        SortTechs;
     
    11921192    kChooseTech:
    11931193      begin
    1194         for i := 0 to nAdv - 1 do
    1195           if not(i in FutureTech) and (MyRO.Tech[i] >= tsApplicable) and
    1196             (MyRO.EnemyReport[DipMem[me].pContact].Tech[i] < tsSeen) then
    1197           begin
    1198             code[0, Lines[0]] := i;
    1199             inc(Lines[0]);
     1194        for I := 0 to nAdv - 1 do
     1195          if not(I in FutureTech) and (MyRO.Tech[I] >= tsApplicable) and
     1196            (MyRO.EnemyReport[DipMem[Me].pContact].Tech[I] < tsSeen) then
     1197          begin
     1198            Code[0, Lines[0]] := I;
     1199            Inc(Lines[0]);
    12001200          end;
    12011201        SortTechs;
    12021202        // if Lines[0]>1 then
    12031203        begin
    1204           code[0, Lines[0]] := adAll;
    1205           inc(Lines[0]);
     1204          Code[0, Lines[0]] := adAll;
     1205          Inc(Lines[0]);
    12061206        end;
    12071207      end;
    12081208    kChooseETech:
    12091209      begin
    1210         for i := 0 to nAdv - 1 do
    1211           if not(i in FutureTech) and (MyRO.Tech[i] < tsSeen) and
    1212             (MyRO.EnemyReport[DipMem[me].pContact].Tech[i] >= tsApplicable) then
    1213           begin
    1214             code[0, Lines[0]] := i;
    1215             inc(Lines[0]);
     1210        for I := 0 to nAdv - 1 do
     1211          if not(I in FutureTech) and (MyRO.Tech[I] < tsSeen) and
     1212            (MyRO.EnemyReport[DipMem[Me].pContact].Tech[I] >= tsApplicable) then
     1213          begin
     1214            Code[0, Lines[0]] := I;
     1215            Inc(Lines[0]);
    12161216          end;
    12171217        SortTechs;
    12181218        // if Lines[0]>1 then
    12191219        begin
    1220           code[0, Lines[0]] := adAll;
    1221           inc(Lines[0]);
     1220          Code[0, Lines[0]] := adAll;
     1221          Inc(Lines[0]);
    12221222        end;
    12231223      end;
    12241224    kStealTech:
    12251225      begin
    1226         for i := 0 to nAdv - 1 do
    1227           if Server(sStealTech - sExecute, me, i, nil^) >= rExecuted then
    1228           begin
    1229             code[0, Lines[0]] := i;
    1230             inc(Lines[0]);
     1226        for I := 0 to nAdv - 1 do
     1227          if Server(sStealTech - sExecute, Me, I, nil^) >= rExecuted then
     1228          begin
     1229            Code[0, Lines[0]] := I;
     1230            Inc(Lines[0]);
    12311231          end;
    12321232        SortTechs;
     
    12341234    kScience:
    12351235      begin
    1236         Column[0] := me;
     1236        Column[0] := Me;
    12371237        nColumn := 1;
    12381238        for EnemyType := 0 to 2 do
     
    12521252              begin
    12531253                Column[nColumn] := p1;
    1254                 inc(nColumn);
     1254                Inc(nColumn);
    12551255              end;
    12561256            end;
    1257         for i := 0 to nAdv - 1 do
    1258         begin
    1259           ok := (MyRO.Tech[i] <> tsNA) or (MyRO.ResearchTech = i);
    1260           for j := 1 to nColumn - 1 do
    1261             with MyRO.EnemyReport[Column[j]]^ do
    1262               if (Tech[i] <> tsNA) or (TurnOfCivilReport >= 0) and
    1263                 (ResearchTech = i) then
    1264                 ok := true;
     1257        for I := 0 to nAdv - 1 do
     1258        begin
     1259          ok := (MyRO.Tech[I] <> tsNA) or (MyRO.ResearchTech = I);
     1260          for J := 1 to nColumn - 1 do
     1261            with MyRO.EnemyReport[Column[J]]^ do
     1262              if (Tech[I] <> tsNA) or (TurnOfCivilReport >= 0) and
     1263                (ResearchTech = I) then
     1264                ok := True;
    12651265          if ok then
    12661266          begin
    1267             code[0, Lines[0]] := i;
    1268             inc(Lines[0]);
     1267            Code[0, Lines[0]] := I;
     1268            Inc(Lines[0]);
    12691269          end;
    12701270        end;
     
    12721272
    12731273        ok := MyRO.ResearchTech = adMilitary;
    1274         for j := 1 to nColumn - 1 do
    1275           with MyRO.EnemyReport[Column[j]]^ do
    1276             if (MyRO.Alive and (1 shl Column[j]) <> 0) and
     1274        for J := 1 to nColumn - 1 do
     1275          with MyRO.EnemyReport[Column[J]]^ do
     1276            if (MyRO.Alive and (1 shl Column[J]) <> 0) and
    12771277              (TurnOfCivilReport >= 0) and (ResearchTech = adMilitary) then
    1278               ok := true;
     1278              ok := True;
    12791279        if ok then
    12801280        begin
    1281           code[0, Lines[0]] := adMilitary;
    1282           inc(Lines[0]);
     1281          Code[0, Lines[0]] := adMilitary;
     1282          Inc(Lines[0]);
    12831283        end
    12841284      end;
     
    12861286      begin
    12871287        if ClientMode < scContact then
    1288           for i := 0 to MyRO.nCity - 1 do
    1289             if MyCity[i].Loc >= 0 then
     1288          for I := 0 to MyRO.nCity - 1 do
     1289            if MyCity[I].Loc >= 0 then
    12901290            begin
    1291               code[0, Lines[0]] := i;
    1292               inc(Lines[0]);
     1291              Code[0, Lines[0]] := I;
     1292              Inc(Lines[0]);
    12931293            end;
    12941294        SortCities;
     
    12971297    kCityEvents:
    12981298      begin
    1299         for i := 0 to MyRO.nCity - 1 do
    1300           if (MyCity[i].Loc >= 0) and (MyCity[i].Flags and CityRepMask <> 0)
     1299        for I := 0 to MyRO.nCity - 1 do
     1300          if (MyCity[I].Loc >= 0) and (MyCity[I].Flags and CityRepMask <> 0)
    13011301          then
    13021302          begin
    1303             code[0, Lines[0]] := i;
    1304             inc(Lines[0]);
     1303            Code[0, Lines[0]] := I;
     1304            Inc(Lines[0]);
    13051305          end;
    13061306        SortCities;
     
    13091309    { kChooseECity:
    13101310      begin
    1311       for i:=0 to MyRO.nEnemyCity-1 do
    1312       if (MyRO.EnemyCity[i].Loc>=0)
    1313       and (MyRO.EnemyCity[i].owner=DipMem[me].pContact) then
    1314       begin code[0,Lines[0]]:=i; inc(Lines[0]); end;
     1311      for I:=0 to MyRO.nEnemyCity-1 do
     1312      if (MyRO.EnemyCity[I].Loc>=0)
     1313      and (MyRO.EnemyCity[I].owner=DipMem[Me].pContact) then
     1314      begin Code[0,Lines[0]]:=I; Inc(Lines[0]); end;
    13151315      FirstShrinkedLine:=0
    13161316      end; }
     
    13191319        for mix := 0 to MyRO.nModel - 1 do
    13201320        begin
    1321           code[0, mix] := mix;
    1322           MakeModelInfo(me, mix, MyModel[mix], mi);
    1323           code[2, mix] := ModelSortValue(mi);
     1321          Code[0, mix] := mix;
     1322          MakeModelInfo(Me, mix, MyModel[mix], mi);
     1323          Code[2, mix] := ModelSortValue(mi);
    13241324        end;
    13251325        Lines[0] := MyRO.nModel;
     
    13311331        for mix := 3 to MyRO.nModel - 1 do
    13321332        begin // check if opponent already has this model
    1333           MakeModelInfo(me, mix, MyModel[mix], mi);
    1334           ok := true;
     1333          MakeModelInfo(Me, mix, MyModel[mix], mi);
     1334          ok := True;
    13351335          for emix := 0 to MyRO.nEnemyModel - 1 do
    1336             if (MyRO.EnemyModel[emix].Owner = DipMem[me].pContact) and
     1336            if (MyRO.EnemyModel[emix].Owner = DipMem[Me].pContact) and
    13371337              IsSameModel(MyRO.EnemyModel[emix], mi) then
    1338               ok := false;
     1338              ok := False;
    13391339          if ok then
    13401340          begin
    1341             code[0, Lines[0]] := mix;
    1342             MakeModelInfo(me, mix, MyModel[mix], mi);
    1343             code[2, Lines[0]] := ModelSortValue(mi);
    1344             inc(Lines[0]);
     1341            Code[0, Lines[0]] := mix;
     1342            MakeModelInfo(Me, mix, MyModel[mix], mi);
     1343            Code[2, Lines[0]] := ModelSortValue(mi);
     1344            Inc(Lines[0]);
    13451345          end;
    13461346        end;
     
    13481348        // if Lines[0]>1 then
    13491349        begin
    1350           code[0, Lines[0]] := mixAll;
    1351           inc(Lines[0]);;
     1350          Code[0, Lines[0]] := mixAll;
     1351          Inc(Lines[0]);;
    13521352        end;
    13531353        FirstShrinkedLine[0] := 0;
     
    13561356      begin
    13571357        if MyRO.TestFlags and tfUncover <> 0 then
    1358           Server(sGetModels, me, 0, nil^);
     1358          Server(sGetModels, Me, 0, nil^);
    13591359        for emix := 0 to MyRO.nEnemyModel - 1 do
    1360           ModelOk[emix] := MyRO.EnemyModel[emix].Owner = DipMem[me].pContact;
     1360          ModelOk[emix] := MyRO.EnemyModel[emix].Owner = DipMem[Me].pContact;
    13611361        for mix := 0 to MyRO.nModel - 1 do
    13621362        begin // don't list models I already have
    1363           MakeModelInfo(me, mix, MyModel[mix], mi);
     1363          MakeModelInfo(Me, mix, MyModel[mix], mi);
    13641364          for emix := 0 to MyRO.nEnemyModel - 1 do
    13651365            ModelOk[emix] := ModelOk[emix] and
     
    13691369          if ModelOk[emix] then
    13701370          begin
    1371             if not Assigned(Tribe[DipMem[me].pContact].ModelPicture
     1371            if not Assigned(Tribe[DipMem[Me].pContact].ModelPicture
    13721372              [MyRO.EnemyModel[emix].mix].HGr) then
    13731373              InitEnemyModel(emix);
    1374             code[0, Lines[0]] := emix;
    1375             code[2, Lines[0]] := ModelSortValue(MyRO.EnemyModel[emix]);
    1376             inc(Lines[0]);
     1374            Code[0, Lines[0]] := emix;
     1375            Code[2, Lines[0]] := ModelSortValue(MyRO.EnemyModel[emix]);
     1376            Inc(Lines[0]);
    13771377          end;
    13781378        SortModels;
    13791379        // if not IsMilReportNew(DipMem[me].pContact) or (Lines[0]>1) then
    13801380        begin
    1381           code[0, Lines[0]] := mixAll;
    1382           inc(Lines[0]);
     1381          Code[0, Lines[0]] := mixAll;
     1382          Inc(Lines[0]);
    13831383        end;
    13841384        FirstShrinkedLine[0] := 0;
     
    13861386    kEModels:
    13871387      begin
    1388         for i := 0 to MyRO.EnemyReport[pView].nModelCounted - 1 do
    1389         begin
    1390           code[1, Lines[0]] := MyRO.nEnemyModel - 1;
    1391           while (code[1, Lines[0]] >= 0) and
    1392             not((MyRO.EnemyModel[code[1, Lines[0]]].Owner = pView) and
    1393             (MyRO.EnemyModel[code[1, Lines[0]]].mix = i)) do
    1394             dec(code[1, Lines[0]]);
    1395           if not Assigned(Tribe[pView].ModelPicture[i].HGr) then
    1396             InitEnemyModel(code[1, Lines[0]]);
    1397           code[0, Lines[0]] := i;
    1398           code[2, Lines[0]] :=
    1399             ModelSortValue(MyRO.EnemyModel[code[1, Lines[0]]]);
    1400           inc(Lines[0]);
     1388        for I := 0 to MyRO.EnemyReport[pView].nModelCounted - 1 do
     1389        begin
     1390          Code[1, Lines[0]] := MyRO.nEnemyModel - 1;
     1391          while (Code[1, Lines[0]] >= 0) and
     1392            not((MyRO.EnemyModel[Code[1, Lines[0]]].Owner = pView) and
     1393            (MyRO.EnemyModel[Code[1, Lines[0]]].mix = I)) do
     1394            Dec(Code[1, Lines[0]]);
     1395          if not Assigned(Tribe[pView].ModelPicture[I].HGr) then
     1396            InitEnemyModel(Code[1, Lines[0]]);
     1397          Code[0, Lines[0]] := I;
     1398          Code[2, Lines[0]] :=
     1399            ModelSortValue(MyRO.EnemyModel[Code[1, Lines[0]]]);
     1400          Inc(Lines[0]);
    14011401        end;
    14021402        SortModels;
     
    14051405    kAllEModels:
    14061406      begin
    1407         if (MyRO.TestFlags and tfUncover <> 0) or (G.Difficulty[me] = 0) then
    1408           Server(sGetModels, me, 0, nil^);
     1407        if (MyRO.TestFlags and tfUncover <> 0) or (G.Difficulty[Me] = 0) then
     1408          Server(sGetModels, Me, 0, nil^);
    14091409        for emix := 0 to MyRO.nEnemyModel - 1 do
    14101410          if (MyRO.EnemyModel[emix].mix >= 3) and
     
    14161416            if not Assigned(PPicture.HGr) then
    14171417              InitEnemyModel(emix);
    1418             ok := true;
     1418            ok := True;
    14191419            if MainScreen.mNames.Checked then
    1420               for j := 0 to Lines[0] - 1 do
     1420              for J := 0 to Lines[0] - 1 do
    14211421              begin
    1422                 PTestPicture := @Tribe[MyRO.EnemyModel[code[0, j]].Owner]
    1423                   .ModelPicture[MyRO.EnemyModel[code[0, j]].mix];
     1422                PTestPicture := @Tribe[MyRO.EnemyModel[Code[0, J]].Owner]
     1423                  .ModelPicture[MyRO.EnemyModel[Code[0, J]].mix];
    14241424                if (PPicture.HGr = PTestPicture.HGr) and
    14251425                  (PPicture.pix = PTestPicture.pix) and
    14261426                  (ModelHash(MyRO.EnemyModel[emix])
    1427                   = ModelHash(MyRO.EnemyModel[code[0, j]])) then
     1427                  = ModelHash(MyRO.EnemyModel[Code[0, J]])) then
    14281428                begin
    1429                   code[1, j] := 1;
    1430                   ok := false;
     1429                  Code[1, J] := 1;
     1430                  ok := False;
    14311431                  Break;
    14321432                end;
     
    14341434            if ok then
    14351435            begin
    1436               code[0, Lines[0]] := emix;
    1437               code[1, Lines[0]] := 0;
    1438               code[2, Lines[0]] := ModelSortValue(MyRO.EnemyModel[emix], true);
    1439               inc(Lines[0]);
     1436              Code[0, Lines[0]] := emix;
     1437              Code[1, Lines[0]] := 0;
     1438              Code[2, Lines[0]] := ModelSortValue(MyRO.EnemyModel[emix], True);
     1439              Inc(Lines[0]);
    14401440            end;
    14411441          end;
     
    14441444      end;
    14451445    kTribe:
    1446       for i := 0 to TribeNames.Count - 1 do
    1447       begin
    1448         code[0, Lines[0]] := i;
    1449         inc(Lines[0]);
     1446      for I := 0 to TribeNames.Count - 1 do
     1447      begin
     1448        Code[0, Lines[0]] := I;
     1449        Inc(Lines[0]);
    14501450      end;
    14511451    (* kDeliver:
    1452       if MyRO.Treaty[DipMem[me].pContact]<trAlliance then
     1452      if MyRO.Treaty[DipMem[Me].pContact]<trAlliance then
    14531453      begin // suggest next treaty level
    1454       code[0,Lines[0]]:=opTreaty+MyRO.Treaty[DipMem[me].pContact]+1;
    1455       inc(Lines[0]);
    1456       end;
    1457       if MyRO.Treaty[DipMem[me].pContact]=trNone then
     1454      Code[0,Lines[0]]:=opTreaty+MyRO.Treaty[DipMem[Me].pContact]+1;
     1455      Inc(Lines[0]);
     1456      end;
     1457      if MyRO.Treaty[DipMem[Me].pContact]=trNone then
    14581458      begin // suggest peace
    1459       code[0,Lines[0]]:=opTreaty+trPeace;
    1460       inc(Lines[0]);
    1461       end;
    1462       if MyRO.Treaty[DipMem[me].pContact]>trNone then
     1459      Code[0,Lines[0]]:=opTreaty+trPeace;
     1460      Inc(Lines[0]);
     1461      end;
     1462      if MyRO.Treaty[DipMem[Me].pContact]>trNone then
    14631463      begin // suggest next treaty level
    1464       code[0,Lines[0]]:=opTreaty+MyRO.Treaty[DipMem[me].pContact]-1;
    1465       inc(Lines[0]);
     1464      Code[0,Lines[0]]:=opTreaty+MyRO.Treaty[DipMem[Me].pContact]-1;
     1465      Inc(Lines[0]);
    14661466      end; *)
    14671467    kShipPart:
    14681468      begin
    14691469        Lines[0] := 0;
    1470         for i := 0 to nShipPart - 1 do
    1471           if MyRO.Ship[me].Parts[i] > 0 then
    1472           begin
    1473             code[0, Lines[0]] := i;
    1474             inc(Lines[0]);
     1470        for I := 0 to nShipPart - 1 do
     1471          if MyRO.Ship[Me].Parts[I] > 0 then
     1472          begin
     1473            Code[0, Lines[0]] := I;
     1474            Inc(Lines[0]);
    14751475          end;
    14761476      end;
     
    14781478      begin
    14791479        Lines[0] := 0;
    1480         for i := 0 to nShipPart - 1 do
    1481           if MyRO.Ship[DipMem[me].pContact].Parts[i] > 0 then
    1482           begin
    1483             code[0, Lines[0]] := i;
    1484             inc(Lines[0]);
     1480        for I := 0 to nShipPart - 1 do
     1481          if MyRO.Ship[DipMem[Me].pContact].Parts[I] > 0 then
     1482          begin
     1483            Code[0, Lines[0]] := I;
     1484            Inc(Lines[0]);
    14851485          end;
    14861486      end;
    14871487    kGov:
    1488       for i := 1 to nGov - 1 do
    1489         if (GovPreq[i] <> preNA) and
    1490           ((GovPreq[i] = preNone) or (MyRO.Tech[GovPreq[i]] >= tsApplicable))
     1488      for I := 1 to nGov - 1 do
     1489        if (GovPreq[I] <> preNA) and
     1490          ((GovPreq[I] = preNone) or (MyRO.Tech[GovPreq[I]] >= tsApplicable))
    14911491        then
    14921492        begin
    1493           code[0, Lines[0]] := i;
    1494           inc(Lines[0]);
     1493          Code[0, Lines[0]] := I;
     1494          Inc(Lines[0]);
    14951495        end;
    14961496    kMission:
    1497       for i := 0 to nSpyMission - 1 do
    1498       begin
    1499         code[0, Lines[0]] := i;
    1500         inc(Lines[0]);
     1497      for I := 0 to nSpyMission - 1 do
     1498      begin
     1499        Code[0, Lines[0]] := I;
     1500        Inc(Lines[0]);
    15011501      end;
    15021502  end;
     
    15051505    if Lines[0] + Lines[1] + Lines[2] <= MaxLines then
    15061506    begin
    1507       for i := 0 to Lines[1] - 1 do // add wonders to first page
    1508       begin
    1509         code[0, Lines[0]] := code[1, i];
    1510         inc(Lines[0]);
     1507      for I := 0 to Lines[1] - 1 do // add wonders to first page
     1508      begin
     1509        Code[0, Lines[0]] := Code[1, I];
     1510        Inc(Lines[0]);
    15111511      end;
    15121512      Lines[1] := 0;
    15131513      FirstShrinkedLine[0] := Lines[0];
    1514       for i := 0 to Lines[2] - 1 do // add models to first page
    1515       begin
    1516         code[0, Lines[0]] := code[2, i];
    1517         inc(Lines[0]);
     1514      for I := 0 to Lines[2] - 1 do // add models to first page
     1515      begin
     1516        Code[0, Lines[0]] := Code[2, I];
     1517        Inc(Lines[0]);
    15181518      end;
    15191519      Lines[2] := 0;
     
    15211521end;
    15221522
    1523 function TListDlg.OnlyChoice(TestKind: TListKind): integer;
     1523function TListDlg.OnlyChoice(TestKind: TListKind): Integer;
    15241524begin
    15251525  Kind := TestKind;
    15261526  InitLines;
    15271527  if Lines[0] = 0 then
    1528     result := -2
     1528    Result := -2
    15291529  else if Lines[0] > 1 then
    1530     result := -1
     1530    Result := -1
    15311531  else
    1532     result := code[0, 0];
     1532    Result := Code[0, 0];
    15331533end;
    15341534
    15351535procedure TListDlg.FormShow(Sender: TObject);
    15361536var
    1537   i: integer;
    1538 begin
    1539   result := -1;
    1540   Closable := false;
     1537  I: Integer;
     1538begin
     1539  Result := -1;
     1540  Closable := False;
    15411541
    15421542  if Kind = kTribe then
     
    15541554  InitLines;
    15551555
    1556   MultiPage := false;
    1557   for i := 1 to MaxLayer - 1 do
    1558     if Lines[i] > 0 then
    1559       MultiPage := true;
     1556  MultiPage := False;
     1557  for I := 1 to MaxLayer - 1 do
     1558    if Lines[I] > 0 then
     1559      MultiPage := True;
    15601560  WideBottom := MultiPage or (Kind = kScience) or
    15611561    not Phrases2FallenBackToEnglish and
     
    15711571
    15721572  DispLines := Lines[0];
    1573   for i := 0 to MaxLayer - 1 do
    1574     if Lines[i] > DispLines then
    1575       DispLines := Lines[i];
     1573  for I := 0 to MaxLayer - 1 do
     1574    if Lines[I] > DispLines then
     1575      DispLines := Lines[I];
    15761576  if WideBottom then
    15771577  begin
     
    15881588    ClientHeight := InnerHeight + TitleHeight + NarrowFrame;
    15891589  end;
    1590   assert(ClientHeight <= Maintexture.Height);
     1590  Assert(ClientHeight <= Maintexture.Height);
    15911591
    15921592  TechNameSpace := 224;
     
    16491649    Layer0Btn.Top := ClientHeight - 31;
    16501650    Layer0Btn.Left := ClientWidth div 2 - (12 + 29);
    1651     Layer0Btn.Down := true;
     1651    Layer0Btn.Down := True;
    16521652    Layer1Btn.Top := ClientHeight - 31;
    16531653    Layer1Btn.Left := ClientWidth div 2 - (12 - 29);
    1654     Layer1Btn.Down := false;
     1654    Layer1Btn.Down := False;
    16551655    Layer2Btn.Top := ClientHeight - 31;
    16561656    Layer2Btn.Left := ClientWidth div 2 - 12;
    1657     Layer2Btn.Down := false;
     1657    Layer2Btn.Down := False;
    16581658  end;
    16591659
     
    16681668procedure TListDlg.ShowNewContent(NewMode: TWindowMode; ListKind: TListKind);
    16691669var
    1670   i: integer;
    1671   ShowFocus, forceclose: boolean;
     1670  I: Integer;
     1671  ShowFocus, forceclose: Boolean;
    16721672begin
    16731673  forceclose := (ListKind <> Kind) and
     
    17331733  if Kind = kAdvance then // show focus button?
    17341734    if MyData.FarTech <> adNone then
    1735       ShowFocus := true
     1735      ShowFocus := True
    17361736    else
    17371737    begin
    1738       ShowFocus := false;
    1739       for i := 0 to nAdv - 1 do
    1740         if not(i in FutureTech) and (MyRO.Tech[i] < tsApplicable) and
    1741           ((AdvValue[i] < 2000) or (MyRO.Tech[adMassProduction] > tsNA)) and
    1742           ((AdvValue[i] < 1000) or (MyRO.Tech[adScience] > tsNA)) and
    1743           (Server(sSetResearch - sExecute, me, i, nil^) < rExecuted) then
    1744           ShowFocus := true;
     1738      ShowFocus := False;
     1739      for I := 0 to nAdv - 1 do
     1740        if not(I in FutureTech) and (MyRO.Tech[I] < tsApplicable) and
     1741          ((AdvValue[I] < 2000) or (MyRO.Tech[adMassProduction] > tsNA)) and
     1742          ((AdvValue[I] < 1000) or (MyRO.Tech[adScience] > tsNA)) and
     1743          (Server(sSetResearch - sExecute, Me, I, nil^) < rExecuted) then
     1744          ShowFocus := True;
    17451745    end;
    1746   ToggleBtn.Visible := (Kind = kCities) and not supervising or (Kind = kAdvance)
     1746  ToggleBtn.Visible := (Kind = kCities) and not Supervising or (Kind = kAdvance)
    17471747    and ShowFocus or (Kind = kModels) or (Kind = kEModels);
    17481748  CloseBtn.Visible := not(Kind in MustChooseKind);
     
    17511751end;
    17521752
    1753 procedure TListDlg.ShowNewContent_CityProject(NewMode: TWindowMode; cix: integer);
     1753procedure TListDlg.ShowNewContent_CityProject(NewMode: TWindowMode; cix: Integer);
    17541754begin
    17551755  cixProject := cix;
     
    17571757end;
    17581758
    1759 procedure TListDlg.ShowNewContent_MilReport(NewMode: TWindowMode; p: integer);
    1760 begin
    1761   pView := p;
    1762   if p = me then
     1759procedure TListDlg.ShowNewContent_MilReport(NewMode: TWindowMode; P: Integer);
     1760begin
     1761  pView := P;
     1762  if P = Me then
    17631763    ShowNewContent(NewMode, kModels)
    17641764  else
     
    17681768procedure TListDlg.PlayerClick(Sender: TObject);
    17691769begin
    1770   if TComponent(Sender).Tag = me then
     1770  if TComponent(Sender).Tag = Me then
    17711771    Kind := kModels
    17721772  else
     
    17961796procedure TListDlg.ToggleBtnClick(Sender: TObject);
    17971797var
    1798   p1: integer;
    1799   m: TMenuItem;
     1798  p1: Integer;
     1799  M: TMenuItem;
    18001800begin
    18011801  case Kind of
    18021802    kAdvance:
    18031803      begin
    1804         result := adFar;
    1805         Closable := true;
     1804        Result := adFar;
     1805        Closable := True;
    18061806        Close;
    18071807      end;
     
    18181818      begin
    18191819        EmptyMenu(Popup.Items);
    1820         if G.Difficulty[me] > 0 then
    1821         begin
    1822           m := TMenuItem.Create(Popup);
    1823           m.RadioItem := true;
    1824           m.Caption := Tribe[me].TPhrase('SHORTNAME');
    1825           m.Tag := me;
    1826           m.OnClick := PlayerClick;
     1820        if G.Difficulty[Me] > 0 then
     1821        begin
     1822          M := TMenuItem.Create(Popup);
     1823          M.RadioItem := True;
     1824          M.Caption := Tribe[Me].TPhrase('SHORTNAME');
     1825          M.Tag := Me;
     1826          M.OnClick := PlayerClick;
    18271827          if Kind = kModels then
    1828             m.Checked := true;
    1829           Popup.Items.Add(m);
     1828            M.Checked := True;
     1829          Popup.Items.Add(M);
    18301830        end;
    18311831        for p1 := 0 to nPl - 1 do
    1832           if (p1 <> me) and (MyRO.EnemyReport[p1] <> nil) and
     1832          if (p1 <> Me) and (MyRO.EnemyReport[p1] <> nil) and
    18331833            (MyRO.EnemyReport[p1].TurnOfMilReport >= 0) then
    18341834          begin
    1835             m := TMenuItem.Create(Popup);
    1836             m.RadioItem := true;
    1837             m.Caption := Tribe[p1].TPhrase('SHORTNAME');
    1838             m.Tag := p1;
    1839             m.OnClick := PlayerClick;
     1835            M := TMenuItem.Create(Popup);
     1836            M.RadioItem := True;
     1837            M.Caption := Tribe[p1].TPhrase('SHORTNAME');
     1838            M.Tag := p1;
     1839            M.OnClick := PlayerClick;
    18401840            if (Kind = kEModels) and (p1 = pView) then
    1841               m.Checked := true;
    1842             Popup.Items.Add(m);
     1841              M.Checked := True;
     1842            Popup.Items.Add(M);
    18431843          end;
    18441844        Popup.Popup(Left + ToggleBtn.Left, Top + ToggleBtn.Top +
     
    18481848end;
    18491849
    1850 procedure TListDlg.FormKeyDown(Sender: TObject; var Key: word;
     1850procedure TListDlg.FormKeyDown(Sender: TObject; var Key: Word;
    18511851  Shift: TShiftState);
    18521852begin
     
    18941894begin
    18951895  Selected := -2;
    1896   SmartUpdateContent(true);
     1896  SmartUpdateContent(True);
    18971897end;
    18981898
Note: See TracChangeset for help on using the changeset viewer.