Changeset 73 for trunk


Ignore:
Timestamp:
Mar 26, 2024, 6:13:44 PM (9 months ago)
Author:
chronos
Message:
  • Modified: Removed U prefix from unit names.
Location:
trunk
Files:
4 edited
24 moved

Legend:

Unmodified
Added
Removed
  • trunk/Core.pas

    r72 r73  
    1 unit UCore;
     1unit Core;
    22
    33interface
  • trunk/Engine.pas

    r72 r73  
    1 unit UEngine;
     1unit Engine;
    22
    33interface
     
    77  IntfGraphics, FPImage, LCLType, SpecializedBitmap, GraphType, Math, URectangle,
    88  Syncobjs, UThreading, Forms, DateUtils, UAudioSystem, Generics.Collections,
    9   UWorld, UMatter, USound;
     9  World, Matter, Sound;
    1010
    1111const
     
    275275
    276276uses
    277   UPlatform, UFastPixel;
     277  Platform, FastPixel;
    278278
    279279resourcestring
  • trunk/FastPixel.pas

    r72 r73  
    1 unit UFastPixel;
     1unit FastPixel;
    22
    33interface
  • trunk/Forms/FormDebug.pas

    r72 r73  
    1 unit UFormDebug;
     1unit FormDebug;
    22
    33interface
     
    1010  end;
    1111
    12 var
    13   FormDebug: TFormDebug;
    1412
    1513implementation
  • trunk/Forms/FormGameResult.pas

    r72 r73  
    1 unit UFormGameResult;
     1unit FormGameResult;
    22
    33interface
     
    1010  end;
    1111
    12 var
    13   FormGameResult: TFormGameResult;
    14 
    1512
    1613implementation
  • trunk/Forms/FormMain.pas

    r72 r73  
    1 unit UFormMain;
     1unit FormMain;
    22
    33interface
     
    55uses
    66  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, LCLType,
    7   Dialogs, ExtCtrls, ComCtrls, Menus, ActnList, UEngine, UPlatform, Math,
     7  Dialogs, ExtCtrls, ComCtrls, Menus, ActnList, Engine, Platform, Math,
    88  DateUtils, GraphType, UPersistentForm, UApplicationInfo, UTranslator,
    9   URegistry, UAboutDialog;
     9  URegistry, UAboutDialog, FormNewGame, FormMap;
    1010
    1111type
     
    6161    PersistentForm: TPersistentForm;
    6262    Engine: TEngine;
     63    FormNewGame: TFormNewGame;
     64    FormMap: TFormMap;
    6365    procedure EraseBackground(DC: HDC); override;
    6466  end;
     
    7375
    7476uses
    75   UCore, UFormMap, UFormNewGame;
     77  Core;
    7678
    7779resourcestring
     
    115117  with TRegistryEx.Create do
    116118  try
    117     CurrentContext := Core.ApplicationInfo.GetRegistryContext;
     119    CurrentContext := Core.Core.ApplicationInfo.GetRegistryContext;
    118120
    119121    if ValueExists('LanguageCode') then begin
    120122      LangCode := ReadStringWithDefault('LanguageCode', '');
    121       Core.Translator1.Language := Core.Translator1.Languages.SearchByCode(LangCode);
    122     end else Core.Translator1.Language := Core.Translator1.Languages.SearchByCode('');
     123      Core.Core.Translator1.Language := Core.Core.Translator1.Languages.SearchByCode(LangCode);
     124    end else Core.Core.Translator1.Language := Core.Core.Translator1.Languages.SearchByCode('');
    123125    Engine.LoadFromRegistry(CurrentContext);
    124126  finally
     
    131133  with TRegistryEx.Create do
    132134  try
    133     CurrentContext := Core.ApplicationInfo.GetRegistryContext;
    134 
    135     if Assigned(Core.Translator1.Language) and (Core.Translator1.Language.Code <> '') then
    136       WriteString('LanguageCode', Core.Translator1.Language.Code)
     135    CurrentContext := Core.Core.ApplicationInfo.GetRegistryContext;
     136
     137    if Assigned(Core.Core.Translator1.Language) and (Core.Core.Translator1.Language.Code <> '') then
     138      WriteString('LanguageCode', Core.Core.Translator1.Language.Code)
    137139      else DeleteValue('LanguageCode');
    138140    Engine.SaveToRegistry(CurrentContext);
     
    167169  {$IFDEF UNIX}
    168170  // If installed in UNIX system then use installation directory for po files
    169   if not DirectoryExists(Core.Translator1.POFilesFolder) and DirectoryExists(UnixLanguagesDir) then
    170     Core.Translator1.POFilesFolder := UnixLanguagesDir;
     171  if not DirectoryExists(Core.Core.Translator1.POFilesFolder) and DirectoryExists(UnixLanguagesDir) then
     172    Core.Core.Translator1.POFilesFolder := UnixLanguagesDir;
    171173  {$ENDIF}
    172174
     
    175177
    176178  PersistentForm := TPersistentForm.Create(nil);
    177   PersistentForm.RegistryContext := TRegistryContext.Create(Core.ApplicationInfo.RegistryRoot,
    178     Core.ApplicationInfo.RegistryKey);
     179  PersistentForm.RegistryContext := TRegistryContext.Create(Core.Core.ApplicationInfo.RegistryRoot,
     180    Core.Core.ApplicationInfo.RegistryKey);
    179181
    180182  Application.OnDeactivate := FormDeactivate;
     
    265267procedure TFormMain.FormShow(Sender: TObject);
    266268begin
    267   PersistentForm.RegistryContext := Core.ApplicationInfo.GetRegistryContext;
     269  PersistentForm.RegistryContext := Core.Core.ApplicationInfo.GetRegistryContext;
    268270  PersistentForm.Load(Self, False, True);
    269271  FullScreenEnabled := PersistentForm.FormFullScreen;
  • trunk/Forms/FormMap.pas

    r72 r73  
    1 unit UFormMap;
     1unit FormMap;
    22
    33interface
     
    1616  end;
    1717
    18 var
    19   FormMap: TFormMap;
    20 
    2118
    2219implementation
     
    2522
    2623uses
    27   UFormMain;
     24  FormMain;
    2825
    2926{ TFormMap }
     
    3229begin
    3330  Image1.Picture.Bitmap.SetSize(Image1.Width, Image1.Height);
    34   FormMain.Engine.World.DrawToBitmap(Image1.Picture.Bitmap);
     31  FormMain.FormMain.Engine.World.DrawToBitmap(Image1.Picture.Bitmap);
    3532end;
    3633
  • trunk/Forms/FormNewGame.pas

    r72 r73  
    1 unit UFormNewGame;
     1unit FormNewGame;
    22
    33interface
     
    55uses
    66  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
    7   ComCtrls, UEngine;
     7  ComCtrls, Engine;
    88
    99type
     
    7272  end;
    7373
    74 var
    75   FormNewGame: TFormNewGame;
    76 
    7774
    7875implementation
     
    8178
    8279uses
    83   UCore;
     80  Core;
    8481
    8582{ TFormNewGame }
     
    286283procedure TFormNewGame.FormCreate(Sender: TObject);
    287284begin
    288   Core.Translator1.TranslateComponentRecursive(Self);
     285  Core.Core.Translator1.TranslateComponentRecursive(Self);
    289286  Players := TPlayers.Create;
    290287end;
  • trunk/Languages/Tunneler.cs.po

    r71 r73  
    1212"X-Generator: Poedit 3.0.1\n"
    1313
     14#: engine.sblue
     15#, fuzzy
     16msgctxt "engine.sblue"
     17msgid "Blue"
     18msgstr "Modrá"
     19
     20#: engine.scyan
     21#, fuzzy
     22msgctxt "engine.scyan"
     23msgid "Cyan"
     24msgstr "Tyrkysová"
     25
     26#: engine.sexit
     27#, fuzzy
     28msgctxt "engine.sexit"
     29msgid "Exit"
     30msgstr "Odejít"
     31
     32#: engine.sgray
     33#, fuzzy
     34msgctxt "engine.sgray"
     35msgid "Gray"
     36msgstr "Å edá"
     37
     38#: engine.sgreen
     39#, fuzzy
     40msgctxt "engine.sgreen"
     41msgid "Green"
     42msgstr "Zelená"
     43
     44#: engine.sinformation
     45#, fuzzy
     46msgctxt "engine.sinformation"
     47msgid "Information"
     48msgstr "Informace"
     49
     50#: engine.sinformationdetails
     51#, fuzzy
     52msgctxt "engine.sinformationdetails"
     53msgid "Tunneler is written from scratch in Lazarus/FPC. It is designed to be as similar as the original MS-DOS game (https://tunneler.org/) but also with some modern extensions. The program uses standard canvas drawing with combination of low resolution fast pixel matrix. It supports High DPI scaling. It supports up to eight players."
     54msgstr "Tunneler je napsán od začátku v Lazarus/FPC. Je navrÅŸen jako co nejvíce podobnÃœ původní MS-DOS hře (https://tunneler.org/), ale také s některÃœmi moderními rozšířeními. Program pouşívá standardní plátno pro kreslení s kombinací matice rychlÃœch obrazovÃœch bodů v malém rozliÅ¡ení. Podporuje Å¡kálování vysokého rozliÅ¡ení. Podporuje aÅŸ osm hráčů."
     55
     56#: engine.sinformationdetails2
     57#, fuzzy
     58msgctxt "engine.sinformationdetails2"
     59msgid "This is a public domain open source program: feel free to copy it for friends and study the source code. \\n Homepage: https://app.zdechov.net/Tunneler"
     60msgstr "Toto je volně Å¡iřitelnÃœ program s otevřenÃœm kódem: klidně jej zkopírujte svÃœm přátelům a studujte jeho zdrojovÃœ kód. \\n Domovská stránka: https://app.zdechov.net/Tunneler"
     61
     62#: engine.sinstructions
     63#, fuzzy
     64msgctxt "engine.sinstructions"
     65msgid "Instructions"
     66msgstr "Instrukce"
     67
     68#: engine.sinstructionsdetails
     69#, fuzzy
     70msgctxt "engine.sinstructionsdetails"
     71msgid "Tunneler is a two player game. The objective of the game is to be the first to win three rounds. A round continues until one tank blows up (from being shot or simply running out of energy)."
     72msgstr "Tunneler je hra pro dva hráče. Cílem hry je bÃœt první, kdo vyhraje tři kola. Kolo pokračuje dokud jeden tak vybuchne (zastřelením nebo vyčerpáním energie)."
     73
     74#: engine.sinstructionsdetails2
     75#, fuzzy
     76msgctxt "engine.sinstructionsdetails2"
     77msgid "The display: Each player has a view screen and an instrument panel with two meters. The view screen shows your surroundings from above (about 1% of the entire \"worlds\"). The two meters indicate the player's energy and shield condition."
     78msgstr "Zobrazení: KaÅŸdÃœ hráč má pohledovou obrazovku a nástrojovÃœ panel s dvěma měřiči. Pohledová obrazovka ukazuje vaÅ¡e okolí z vrchu (okolo 1% celého \"světa\"). Dva měřiče indikují stav hráčovy energie a Å¡títu."
     79
     80#: engine.sinstructionsdetails3
     81#, fuzzy
     82msgctxt "engine.sinstructionsdetails3"
     83msgid "The Game: Players can move in one of 8 directions. Movement in tunnels is three times as fast as normal digging. Fast digging can be accomplished by firing the tank's cannon while moving. Various actions use up different amounts of energy : moving costs some energy, digging costs more, and shotting costs the most. Shields are damaged when hit by the other player's cannon. Players can refuel at either base but can repair their shields only at their own bases."
     84msgstr "Hra: Hráči se mohou pohybovat v jednom z osmi směrů. Pohyb tunely je třikrát rychlejší neÅŸ obyčejné kopání. Rychlého kopání lze dosáhnout střílením z hlavně tanku při pohybu. Různé akce pouşívají různé mnoÅŸství energie: pohyb stojí nějakou energii, kopání stojí více a střílení nejvíce. Å tít je poÅ¡kozen, kdyÅŸ je zasaÅŸen dělem jiného hráče. Hráči mohou dotankovat v kterékoliv základně, ale mohou se opravit svůj Å¡tít jen ve svÃœch vlastních základnách."
     85
     86#: engine.sinstructionsdetails4
     87#, fuzzy
     88msgctxt "engine.sinstructionsdetails4"
     89msgid "Controls: \\n Blue: W - up, A - left, S - down, D - right, E - shoot \\n Green: arrows key, CTRL - shoot"
     90msgstr "Ovládání: \\n Modrá: W - nahoru, A - vlevo, S - dolů, D - vpravo, E - střelba \\n ZelenÃœ: kurzorové Å¡ipky, CTRL + střelba"
     91
     92#: engine.smetersdug
     93#, fuzzy
     94msgctxt "engine.smetersdug"
     95msgid "Meters dug"
     96msgstr "VykopanÃœch metrů"
     97
     98#: engine.smeterstravelled
     99#, fuzzy
     100msgctxt "engine.smeterstravelled"
     101msgid "Meters travelled"
     102msgstr "UraÅŸenÃœch metrů"
     103
     104#: engine.sorange
     105#, fuzzy
     106msgctxt "engine.sorange"
     107msgid "Orange"
     108msgstr "OranÅŸová"
     109
     110#: engine.spercenthit
     111#, fuzzy
     112msgctxt "engine.spercenthit"
     113msgid "Percent hit"
     114msgstr "Procento zásahů"
     115
     116#: engine.spink
     117#, fuzzy
     118msgctxt "engine.spink"
     119msgid "Pink"
     120msgstr "Růşová"
     121
     122#: engine.spressesc
     123#, fuzzy
     124msgctxt "engine.spressesc"
     125msgid "Press ESC to continue"
     126msgstr "Stiskni ESC pro pokračování"
     127
     128#: engine.sred
     129#, fuzzy
     130msgctxt "engine.sred"
     131msgid "Red"
     132msgstr "Červená"
     133
     134#: engine.sround
     135#, fuzzy
     136msgctxt "engine.sround"
     137msgid "Round"
     138msgstr "Kolo"
     139
     140#: engine.sshotsfired
     141#, fuzzy
     142msgctxt "engine.sshotsfired"
     143msgid "Shots fired"
     144msgstr "Vystřeleno"
     145
     146#: engine.sshotshit
     147#, fuzzy
     148msgctxt "engine.sshotshit"
     149msgid "Shots hit"
     150msgstr "Zásahů"
     151
     152#: engine.sstartgame
     153#, fuzzy
     154msgctxt "engine.sstartgame"
     155msgid "Start game"
     156msgstr "Spustit hru"
     157
     158#: engine.sstatistics
     159#, fuzzy
     160msgctxt "engine.sstatistics"
     161msgid "Statistics"
     162msgstr "Statistika"
     163
     164#: engine.swinneris
     165#, fuzzy
     166msgctxt "engine.swinneris"
     167msgid "The winner is"
     168msgstr "Vítězem je"
     169
     170#: engine.sworldready
     171#, fuzzy
     172msgctxt "engine.sworldready"
     173msgid "World ready"
     174msgstr "Svět připraven"
     175
     176#: engine.syellow
     177#, fuzzy
     178msgctxt "engine.syellow"
     179msgid "Yellow"
     180msgstr "Åœlutá"
     181
     182#: formmain.sround
     183#, object-pascal-format, fuzzy
     184msgctxt "formmain.sround"
     185msgid "%0:s of %1:s"
     186msgstr "%0:s z %1:s"
     187
     188#: sound.splaynotsupported
     189#, object-pascal-format
     190msgctxt "sound.splaynotsupported"
     191msgid "The play command %s does not work on your system"
     192msgstr ""
     193
     194#: sound.sunabletoplay
     195msgctxt "sound.sunabletoplay"
     196msgid "Unable to play "
     197msgstr ""
     198
    14199#: tformdebug.caption
    15200msgctxt "tformdebug.caption"
     
    161346msgstr "Ovládání"
    162347
    163 #: uengine.sblue
    164 msgid "Blue"
    165 msgstr "Modrá"
    166 
    167 #: uengine.scyan
    168 msgid "Cyan"
    169 msgstr "Tyrkysová"
    170 
    171 #: uengine.sexit
    172 msgctxt "uengine.sexit"
    173 msgid "Exit"
    174 msgstr "Odejít"
    175 
    176 #: uengine.sgray
    177 msgid "Gray"
    178 msgstr "Å edá"
    179 
    180 #: uengine.sgreen
    181 msgid "Green"
    182 msgstr "Zelená"
    183 
    184 #: uengine.sinformation
    185 msgid "Information"
    186 msgstr "Informace"
    187 
    188 #: uengine.sinformationdetails
    189 msgid "Tunneler is written from scratch in Lazarus/FPC. It is designed to be as similar as the original MS-DOS game (https://tunneler.org/) but also with some modern extensions. The program uses standard canvas drawing with combination of low resolution fast pixel matrix. It supports High DPI scaling. It supports up to eight players."
    190 msgstr "Tunneler je napsán od začátku v Lazarus/FPC. Je navrÅŸen jako co nejvíce podobnÃœ původní MS-DOS hře (https://tunneler.org/), ale také s některÃœmi moderními rozšířeními. Program pouşívá standardní plátno pro kreslení s kombinací matice rychlÃœch obrazovÃœch bodů v malém rozliÅ¡ení. Podporuje Å¡kálování vysokého rozliÅ¡ení. Podporuje aÅŸ osm hráčů."
    191 
    192 #: uengine.sinformationdetails2
    193 msgid "This is a public domain open source program: feel free to copy it for friends and study the source code. \\n Homepage: https://app.zdechov.net/Tunneler"
    194 msgstr "Toto je volně Å¡iřitelnÃœ program s otevřenÃœm kódem: klidně jej zkopírujte svÃœm přátelům a studujte jeho zdrojovÃœ kód. \\n Domovská stránka: https://app.zdechov.net/Tunneler"
    195 
    196 #: uengine.sinstructions
    197 msgid "Instructions"
    198 msgstr "Instrukce"
    199 
    200 #: uengine.sinstructionsdetails
    201 msgid "Tunneler is a two player game. The objective of the game is to be the first to win three rounds. A round continues until one tank blows up (from being shot or simply running out of energy)."
    202 msgstr "Tunneler je hra pro dva hráče. Cílem hry je bÃœt první, kdo vyhraje tři kola. Kolo pokračuje dokud jeden tak vybuchne (zastřelením nebo vyčerpáním energie)."
    203 
    204 #: uengine.sinstructionsdetails2
    205 msgid "The display: Each player has a view screen and an instrument panel with two meters. The view screen shows your surroundings from above (about 1% of the entire \"worlds\"). The two meters indicate the player's energy and shield condition."
    206 msgstr "Zobrazení: KaÅŸdÃœ hráč má pohledovou obrazovku a nástrojovÃœ panel s dvěma měřiči. Pohledová obrazovka ukazuje vaÅ¡e okolí z vrchu (okolo 1% celého \"světa\"). Dva měřiče indikují stav hráčovy energie a Å¡títu."
    207 
    208 #: uengine.sinstructionsdetails3
    209 msgid "The Game: Players can move in one of 8 directions. Movement in tunnels is three times as fast as normal digging. Fast digging can be accomplished by firing the tank's cannon while moving. Various actions use up different amounts of energy : moving costs some energy, digging costs more, and shotting costs the most. Shields are damaged when hit by the other player's cannon. Players can refuel at either base but can repair their shields only at their own bases."
    210 msgstr "Hra: Hráči se mohou pohybovat v jednom z osmi směrů. Pohyb tunely je třikrát rychlejší neÅŸ obyčejné kopání. Rychlého kopání lze dosáhnout střílením z hlavně tanku při pohybu. Různé akce pouşívají různé mnoÅŸství energie: pohyb stojí nějakou energii, kopání stojí více a střílení nejvíce. Å tít je poÅ¡kozen, kdyÅŸ je zasaÅŸen dělem jiného hráče. Hráči mohou dotankovat v kterékoliv základně, ale mohou se opravit svůj Å¡tít jen ve svÃœch vlastních základnách."
    211 
    212 #: uengine.sinstructionsdetails4
    213 msgid "Controls: \\n Blue: W - up, A - left, S - down, D - right, E - shoot \\n Green: arrows key, CTRL - shoot"
    214 msgstr "Ovládání: \\n Modrá: W - nahoru, A - vlevo, S - dolů, D - vpravo, E - střelba \\n ZelenÃœ: kurzorové Å¡ipky, CTRL + střelba"
    215 
    216 #: uengine.smetersdug
    217 msgid "Meters dug"
    218 msgstr "VykopanÃœch metrů"
    219 
    220 #: uengine.smeterstravelled
    221 msgid "Meters travelled"
    222 msgstr "UraÅŸenÃœch metrů"
    223 
    224 #: uengine.sorange
    225 msgid "Orange"
    226 msgstr "OranÅŸová"
    227 
    228 #: uengine.spercenthit
    229 msgid "Percent hit"
    230 msgstr "Procento zásahů"
    231 
    232 #: uengine.spink
    233 msgid "Pink"
    234 msgstr "Růşová"
    235 
    236 #: uengine.spressesc
    237 msgid "Press ESC to continue"
    238 msgstr "Stiskni ESC pro pokračování"
    239 
    240 #: uengine.sred
    241 msgid "Red"
    242 msgstr "Červená"
    243 
    244 #: uengine.sround
    245 msgid "Round"
    246 msgstr "Kolo"
    247 
    248 #: uengine.sshotsfired
    249 msgid "Shots fired"
    250 msgstr "Vystřeleno"
    251 
    252 #: uengine.sshotshit
    253 msgid "Shots hit"
    254 msgstr "Zásahů"
    255 
    256 #: uengine.sstartgame
    257 msgid "Start game"
    258 msgstr "Spustit hru"
    259 
    260 #: uengine.sstatistics
    261 msgid "Statistics"
    262 msgstr "Statistika"
    263 
    264 #: uengine.swinneris
    265 msgid "The winner is"
    266 msgstr "Vítězem je"
    267 
    268 #: uengine.sworldready
    269 msgid "World ready"
    270 msgstr "Svět připraven"
    271 
    272 #: uengine.syellow
    273 msgid "Yellow"
    274 msgstr "Åœlutá"
    275 
    276 #: uformmain.sround
    277 #, object-pascal-format
    278 msgctxt "uformmain.sround"
    279 msgid "%0:s of %1:s"
    280 msgstr "%0:s z %1:s"
    281 
    282 #: usound.sunabletoplay
    283 msgid "Unable to play "
    284 msgstr ""
    285 
  • trunk/Languages/Tunneler.pot

    r71 r73  
    11msgid ""
    22msgstr "Content-Type: text/plain; charset=UTF-8"
     3
     4#: engine.sblue
     5msgctxt "engine.sblue"
     6msgid "Blue"
     7msgstr ""
     8
     9#: engine.scyan
     10msgctxt "engine.scyan"
     11msgid "Cyan"
     12msgstr ""
     13
     14#: engine.sexit
     15msgctxt "engine.sexit"
     16msgid "Exit"
     17msgstr ""
     18
     19#: engine.sgray
     20msgctxt "engine.sgray"
     21msgid "Gray"
     22msgstr ""
     23
     24#: engine.sgreen
     25msgctxt "engine.sgreen"
     26msgid "Green"
     27msgstr ""
     28
     29#: engine.sinformation
     30msgctxt "engine.sinformation"
     31msgid "Information"
     32msgstr ""
     33
     34#: engine.sinformationdetails
     35msgctxt "engine.sinformationdetails"
     36msgid "Tunneler is written from scratch in Lazarus/FPC. It is designed to be as similar as the original MS-DOS game (https://tunneler.org/) but also with some modern extensions. The program uses standard canvas drawing with combination of low resolution fast pixel matrix. It supports High DPI scaling. It supports up to eight players."
     37msgstr ""
     38
     39#: engine.sinformationdetails2
     40msgctxt "engine.sinformationdetails2"
     41msgid "This is a public domain open source program: feel free to copy it for friends and study the source code. \\n Homepage: https://app.zdechov.net/Tunneler"
     42msgstr ""
     43
     44#: engine.sinstructions
     45msgctxt "engine.sinstructions"
     46msgid "Instructions"
     47msgstr ""
     48
     49#: engine.sinstructionsdetails
     50msgctxt "engine.sinstructionsdetails"
     51msgid "Tunneler is a two player game. The objective of the game is to be the first to win three rounds. A round continues until one tank blows up (from being shot or simply running out of energy)."
     52msgstr ""
     53
     54#: engine.sinstructionsdetails2
     55msgctxt "engine.sinstructionsdetails2"
     56msgid "The display: Each player has a view screen and an instrument panel with two meters. The view screen shows your surroundings from above (about 1% of the entire \"worlds\"). The two meters indicate the player's energy and shield condition."
     57msgstr ""
     58
     59#: engine.sinstructionsdetails3
     60msgctxt "engine.sinstructionsdetails3"
     61msgid "The Game: Players can move in one of 8 directions. Movement in tunnels is three times as fast as normal digging. Fast digging can be accomplished by firing the tank's cannon while moving. Various actions use up different amounts of energy : moving costs some energy, digging costs more, and shotting costs the most. Shields are damaged when hit by the other player's cannon. Players can refuel at either base but can repair their shields only at their own bases."
     62msgstr ""
     63
     64#: engine.sinstructionsdetails4
     65msgctxt "engine.sinstructionsdetails4"
     66msgid "Controls: \\n Blue: W - up, A - left, S - down, D - right, E - shoot \\n Green: arrows key, CTRL - shoot"
     67msgstr ""
     68
     69#: engine.smetersdug
     70msgctxt "engine.smetersdug"
     71msgid "Meters dug"
     72msgstr ""
     73
     74#: engine.smeterstravelled
     75msgctxt "engine.smeterstravelled"
     76msgid "Meters travelled"
     77msgstr ""
     78
     79#: engine.sorange
     80msgctxt "engine.sorange"
     81msgid "Orange"
     82msgstr ""
     83
     84#: engine.spercenthit
     85msgctxt "engine.spercenthit"
     86msgid "Percent hit"
     87msgstr ""
     88
     89#: engine.spink
     90msgctxt "engine.spink"
     91msgid "Pink"
     92msgstr ""
     93
     94#: engine.spressesc
     95msgctxt "engine.spressesc"
     96msgid "Press ESC to continue"
     97msgstr ""
     98
     99#: engine.sred
     100msgctxt "engine.sred"
     101msgid "Red"
     102msgstr ""
     103
     104#: engine.sround
     105msgctxt "engine.sround"
     106msgid "Round"
     107msgstr ""
     108
     109#: engine.sshotsfired
     110msgctxt "engine.sshotsfired"
     111msgid "Shots fired"
     112msgstr ""
     113
     114#: engine.sshotshit
     115msgctxt "engine.sshotshit"
     116msgid "Shots hit"
     117msgstr ""
     118
     119#: engine.sstartgame
     120msgctxt "engine.sstartgame"
     121msgid "Start game"
     122msgstr ""
     123
     124#: engine.sstatistics
     125msgctxt "engine.sstatistics"
     126msgid "Statistics"
     127msgstr ""
     128
     129#: engine.swinneris
     130msgctxt "engine.swinneris"
     131msgid "The winner is"
     132msgstr ""
     133
     134#: engine.sworldready
     135msgctxt "engine.sworldready"
     136msgid "World ready"
     137msgstr ""
     138
     139#: engine.syellow
     140msgctxt "engine.syellow"
     141msgid "Yellow"
     142msgstr ""
     143
     144#: formmain.sround
     145#, object-pascal-format
     146msgctxt "formmain.sround"
     147msgid "%0:s of %1:s"
     148msgstr ""
     149
     150#: sound.splaynotsupported
     151#, object-pascal-format
     152msgctxt "sound.splaynotsupported"
     153msgid "The play command %s does not work on your system"
     154msgstr ""
     155
     156#: sound.sunabletoplay
     157msgctxt "sound.sunabletoplay"
     158msgid "Unable to play "
     159msgstr ""
    3160
    4161#: tformdebug.caption
     
    125282msgstr ""
    126283
    127 #: uengine.sblue
    128 msgid "Blue"
    129 msgstr ""
    130 
    131 #: uengine.scyan
    132 msgid "Cyan"
    133 msgstr ""
    134 
    135 #: uengine.sexit
    136 msgctxt "uengine.sexit"
    137 msgid "Exit"
    138 msgstr ""
    139 
    140 #: uengine.sgray
    141 msgid "Gray"
    142 msgstr ""
    143 
    144 #: uengine.sgreen
    145 msgid "Green"
    146 msgstr ""
    147 
    148 #: uengine.sinformation
    149 msgid "Information"
    150 msgstr ""
    151 
    152 #: uengine.sinformationdetails
    153 msgid "Tunneler is written from scratch in Lazarus/FPC. It is designed to be as similar as the original MS-DOS game (https://tunneler.org/) but also with some modern extensions. The program uses standard canvas drawing with combination of low resolution fast pixel matrix. It supports High DPI scaling. It supports up to eight players."
    154 msgstr ""
    155 
    156 #: uengine.sinformationdetails2
    157 msgid "This is a public domain open source program: feel free to copy it for friends and study the source code. \\n Homepage: https://app.zdechov.net/Tunneler"
    158 msgstr ""
    159 
    160 #: uengine.sinstructions
    161 msgid "Instructions"
    162 msgstr ""
    163 
    164 #: uengine.sinstructionsdetails
    165 msgid "Tunneler is a two player game. The objective of the game is to be the first to win three rounds. A round continues until one tank blows up (from being shot or simply running out of energy)."
    166 msgstr ""
    167 
    168 #: uengine.sinstructionsdetails2
    169 msgid "The display: Each player has a view screen and an instrument panel with two meters. The view screen shows your surroundings from above (about 1% of the entire \"worlds\"). The two meters indicate the player's energy and shield condition."
    170 msgstr ""
    171 
    172 #: uengine.sinstructionsdetails3
    173 msgid "The Game: Players can move in one of 8 directions. Movement in tunnels is three times as fast as normal digging. Fast digging can be accomplished by firing the tank's cannon while moving. Various actions use up different amounts of energy : moving costs some energy, digging costs more, and shotting costs the most. Shields are damaged when hit by the other player's cannon. Players can refuel at either base but can repair their shields only at their own bases."
    174 msgstr ""
    175 
    176 #: uengine.sinstructionsdetails4
    177 msgid "Controls: \\n Blue: W - up, A - left, S - down, D - right, E - shoot \\n Green: arrows key, CTRL - shoot"
    178 msgstr ""
    179 
    180 #: uengine.smetersdug
    181 msgid "Meters dug"
    182 msgstr ""
    183 
    184 #: uengine.smeterstravelled
    185 msgid "Meters travelled"
    186 msgstr ""
    187 
    188 #: uengine.sorange
    189 msgid "Orange"
    190 msgstr ""
    191 
    192 #: uengine.spercenthit
    193 msgid "Percent hit"
    194 msgstr ""
    195 
    196 #: uengine.spink
    197 msgid "Pink"
    198 msgstr ""
    199 
    200 #: uengine.spressesc
    201 msgid "Press ESC to continue"
    202 msgstr ""
    203 
    204 #: uengine.sred
    205 msgid "Red"
    206 msgstr ""
    207 
    208 #: uengine.sround
    209 msgid "Round"
    210 msgstr ""
    211 
    212 #: uengine.sshotsfired
    213 msgid "Shots fired"
    214 msgstr ""
    215 
    216 #: uengine.sshotshit
    217 msgid "Shots hit"
    218 msgstr ""
    219 
    220 #: uengine.sstartgame
    221 msgid "Start game"
    222 msgstr ""
    223 
    224 #: uengine.sstatistics
    225 msgid "Statistics"
    226 msgstr ""
    227 
    228 #: uengine.swinneris
    229 msgid "The winner is"
    230 msgstr ""
    231 
    232 #: uengine.sworldready
    233 msgid "World ready"
    234 msgstr ""
    235 
    236 #: uengine.syellow
    237 msgid "Yellow"
    238 msgstr ""
    239 
    240 #: uformmain.sround
    241 #, object-pascal-format
    242 msgid "%0:s of %1:s"
    243 msgstr ""
    244 
    245 #: usound.sunabletoplay
    246 msgid "Unable to play "
    247 msgstr ""
    248 
  • trunk/Matter.pas

    r72 r73  
    1 unit UMatter;
     1unit Matter;
    22
    33interface
  • trunk/PixelMap.pas

    r72 r73  
    1 unit UPixelMap;
     1unit PixelMap;
    22
    33{$mode objfpc}{$H+}
  • trunk/Platform.pas

    r72 r73  
    1 unit UPlatform;
     1unit Platform;
    22
    33interface
  • trunk/Sound.pas

    r72 r73  
    1 unit USound;
     1unit Sound;
    22
    33interface
  • trunk/World.pas

    r72 r73  
    1 unit UWorld;
     1unit World;
    22
    33interface
    44
    55uses
    6   Classes, SysUtils, Graphics, GraphType, SpecializedMatrix, UMatter;
     6  Classes, SysUtils, Graphics, GraphType, SpecializedMatrix, Matter;
    77
    88type
     
    2828
    2929uses
    30   UFastPixel;
     30  FastPixel;
    3131
    3232{ TWorld }
  • trunk/tunneler.lpi

    r70 r73  
    107107      </Unit0>
    108108      <Unit1>
    109         <Filename Value="UEngine.pas"/>
     109        <Filename Value="Engine.pas"/>
    110110        <IsPartOfProject Value="True"/>
    111111      </Unit1>
    112112      <Unit2>
    113         <Filename Value="UPlatform.pas"/>
     113        <Filename Value="Platform.pas"/>
    114114        <IsPartOfProject Value="True"/>
    115115      </Unit2>
     
    119119      </Unit3>
    120120      <Unit4>
    121         <Filename Value="Forms/UFormNewGame.pas"/>
     121        <Filename Value="Forms/FormNewGame.pas"/>
    122122        <IsPartOfProject Value="True"/>
    123123        <ComponentName Value="FormNewGame"/>
     
    126126      </Unit4>
    127127      <Unit5>
    128         <Filename Value="Forms/UFormMain.pas"/>
     128        <Filename Value="Forms/FormMain.pas"/>
    129129        <IsPartOfProject Value="True"/>
    130130        <ComponentName Value="FormMain"/>
     
    133133      </Unit5>
    134134      <Unit6>
    135         <Filename Value="Forms/UFormMap.pas"/>
     135        <Filename Value="Forms/FormMap.pas"/>
    136136        <IsPartOfProject Value="True"/>
    137137        <ComponentName Value="FormMap"/>
     
    140140      </Unit6>
    141141      <Unit7>
    142         <Filename Value="Forms/UFormDebug.pas"/>
     142        <Filename Value="Forms/FormDebug.pas"/>
    143143        <IsPartOfProject Value="True"/>
    144144        <ComponentName Value="FormDebug"/>
    145145        <HasResources Value="True"/>
    146146        <ResourceBaseClass Value="Form"/>
     147        <UnitName Value="UFormDebug"/>
    147148      </Unit7>
    148149      <Unit8>
    149         <Filename Value="Forms/UFormGameResult.pas"/>
     150        <Filename Value="Forms/FormGameResult.pas"/>
    150151        <IsPartOfProject Value="True"/>
    151152        <ComponentName Value="FormGameResult"/>
    152153        <HasResources Value="True"/>
    153154        <ResourceBaseClass Value="Form"/>
     155        <UnitName Value="UFormGameResult"/>
    154156      </Unit8>
    155157      <Unit9>
    156         <Filename Value="UCore.pas"/>
     158        <Filename Value="Core.pas"/>
    157159        <IsPartOfProject Value="True"/>
    158160        <ComponentName Value="Core"/>
     
    161163      </Unit9>
    162164      <Unit10>
    163         <Filename Value="UWorld.pas"/>
     165        <Filename Value="World.pas"/>
    164166        <IsPartOfProject Value="True"/>
    165167      </Unit10>
    166168      <Unit11>
    167         <Filename Value="UMatter.pas"/>
     169        <Filename Value="Matter.pas"/>
    168170        <IsPartOfProject Value="True"/>
    169171      </Unit11>
    170172      <Unit12>
    171         <Filename Value="UFastPixel.pas"/>
     173        <Filename Value="FastPixel.pas"/>
    172174        <IsPartOfProject Value="True"/>
    173175      </Unit12>
    174176      <Unit13>
    175         <Filename Value="USound.pas"/>
     177        <Filename Value="Sound.pas"/>
    176178        <IsPartOfProject Value="True"/>
    177179      </Unit13>
  • trunk/tunneler.lpr

    r70 r73  
    88  {$ENDIF}
    99  Interfaces, // this includes the LCL widgetset
    10   Forms, TemplateGenerics, UPlatform, FileUtil, SysUtils, Common, UFormNewGame,
    11   UFormMain, UFormMap, UFormGameResult, UCore, UWorld, UMatter, UFastPixel,
    12   USound, AsyncProcess2
     10  Forms, TemplateGenerics, Platform, FileUtil, SysUtils, Common, FormNewGame,
     11  FormMain, FormMap, FormGameResult, Core, World, Matter, FastPixel,
     12  Sound, AsyncProcess2
    1313  { you can add units after this };
    1414
     
    3030  Application.Scaled:=True;
    3131  Application.Initialize;
    32   Application.CreateForm(TCore, Core);
    33   Application.CreateForm(TFormMain, FormMain);
     32  Application.CreateForm(TCore, Core.Core);
     33  Application.CreateForm(TFormMain, FormMain.FormMain);
    3434  {$IFDEF DEBUG}
    3535  {$ENDIF}
Note: See TracChangeset for help on using the changeset viewer.