Changeset 73
- Timestamp:
- Mar 26, 2024, 6:13:44 PM (8 months ago)
- Location:
- trunk
- Files:
-
- 4 edited
- 24 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/Core.pas
r72 r73 1 unit UCore;1 unit Core; 2 2 3 3 interface -
trunk/Engine.pas
r72 r73 1 unit UEngine;1 unit Engine; 2 2 3 3 interface … … 7 7 IntfGraphics, FPImage, LCLType, SpecializedBitmap, GraphType, Math, URectangle, 8 8 Syncobjs, UThreading, Forms, DateUtils, UAudioSystem, Generics.Collections, 9 UWorld, UMatter, USound;9 World, Matter, Sound; 10 10 11 11 const … … 275 275 276 276 uses 277 UPlatform, UFastPixel;277 Platform, FastPixel; 278 278 279 279 resourcestring -
trunk/FastPixel.pas
r72 r73 1 unit UFastPixel;1 unit FastPixel; 2 2 3 3 interface -
trunk/Forms/FormDebug.pas
r72 r73 1 unit UFormDebug;1 unit FormDebug; 2 2 3 3 interface … … 10 10 end; 11 11 12 var13 FormDebug: TFormDebug;14 12 15 13 implementation -
trunk/Forms/FormGameResult.pas
r72 r73 1 unit UFormGameResult;1 unit FormGameResult; 2 2 3 3 interface … … 10 10 end; 11 11 12 var13 FormGameResult: TFormGameResult;14 15 12 16 13 implementation -
trunk/Forms/FormMain.pas
r72 r73 1 unit UFormMain;1 unit FormMain; 2 2 3 3 interface … … 5 5 uses 6 6 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, 8 8 DateUtils, GraphType, UPersistentForm, UApplicationInfo, UTranslator, 9 URegistry, UAboutDialog ;9 URegistry, UAboutDialog, FormNewGame, FormMap; 10 10 11 11 type … … 61 61 PersistentForm: TPersistentForm; 62 62 Engine: TEngine; 63 FormNewGame: TFormNewGame; 64 FormMap: TFormMap; 63 65 procedure EraseBackground(DC: HDC); override; 64 66 end; … … 73 75 74 76 uses 75 UCore, UFormMap, UFormNewGame;77 Core; 76 78 77 79 resourcestring … … 115 117 with TRegistryEx.Create do 116 118 try 117 CurrentContext := Core. ApplicationInfo.GetRegistryContext;119 CurrentContext := Core.Core.ApplicationInfo.GetRegistryContext; 118 120 119 121 if ValueExists('LanguageCode') then begin 120 122 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(''); 123 125 Engine.LoadFromRegistry(CurrentContext); 124 126 finally … … 131 133 with TRegistryEx.Create do 132 134 try 133 CurrentContext := Core. ApplicationInfo.GetRegistryContext;134 135 if Assigned(Core. Translator1.Language) and (Core.Translator1.Language.Code <> '') then136 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) 137 139 else DeleteValue('LanguageCode'); 138 140 Engine.SaveToRegistry(CurrentContext); … … 167 169 {$IFDEF UNIX} 168 170 // If installed in UNIX system then use installation directory for po files 169 if not DirectoryExists(Core. Translator1.POFilesFolder) and DirectoryExists(UnixLanguagesDir) then170 Core. Translator1.POFilesFolder := UnixLanguagesDir;171 if not DirectoryExists(Core.Core.Translator1.POFilesFolder) and DirectoryExists(UnixLanguagesDir) then 172 Core.Core.Translator1.POFilesFolder := UnixLanguagesDir; 171 173 {$ENDIF} 172 174 … … 175 177 176 178 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); 179 181 180 182 Application.OnDeactivate := FormDeactivate; … … 265 267 procedure TFormMain.FormShow(Sender: TObject); 266 268 begin 267 PersistentForm.RegistryContext := Core. ApplicationInfo.GetRegistryContext;269 PersistentForm.RegistryContext := Core.Core.ApplicationInfo.GetRegistryContext; 268 270 PersistentForm.Load(Self, False, True); 269 271 FullScreenEnabled := PersistentForm.FormFullScreen; -
trunk/Forms/FormMap.pas
r72 r73 1 unit UFormMap;1 unit FormMap; 2 2 3 3 interface … … 16 16 end; 17 17 18 var19 FormMap: TFormMap;20 21 18 22 19 implementation … … 25 22 26 23 uses 27 UFormMain;24 FormMain; 28 25 29 26 { TFormMap } … … 32 29 begin 33 30 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); 35 32 end; 36 33 -
trunk/Forms/FormNewGame.pas
r72 r73 1 unit UFormNewGame;1 unit FormNewGame; 2 2 3 3 interface … … 5 5 uses 6 6 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, 7 ComCtrls, UEngine;7 ComCtrls, Engine; 8 8 9 9 type … … 72 72 end; 73 73 74 var75 FormNewGame: TFormNewGame;76 77 74 78 75 implementation … … 81 78 82 79 uses 83 UCore;80 Core; 84 81 85 82 { TFormNewGame } … … 286 283 procedure TFormNewGame.FormCreate(Sender: TObject); 287 284 begin 288 Core. Translator1.TranslateComponentRecursive(Self);285 Core.Core.Translator1.TranslateComponentRecursive(Self); 289 286 Players := TPlayers.Create; 290 287 end; -
trunk/Languages/Tunneler.cs.po
r71 r73 12 12 "X-Generator: Poedit 3.0.1\n" 13 13 14 #: engine.sblue 15 #, fuzzy 16 msgctxt "engine.sblue" 17 msgid "Blue" 18 msgstr "Modrá" 19 20 #: engine.scyan 21 #, fuzzy 22 msgctxt "engine.scyan" 23 msgid "Cyan" 24 msgstr "Tyrkysová" 25 26 #: engine.sexit 27 #, fuzzy 28 msgctxt "engine.sexit" 29 msgid "Exit" 30 msgstr "OdejÃt" 31 32 #: engine.sgray 33 #, fuzzy 34 msgctxt "engine.sgray" 35 msgid "Gray" 36 msgstr "Å edá" 37 38 #: engine.sgreen 39 #, fuzzy 40 msgctxt "engine.sgreen" 41 msgid "Green" 42 msgstr "Zelená" 43 44 #: engine.sinformation 45 #, fuzzy 46 msgctxt "engine.sinformation" 47 msgid "Information" 48 msgstr "Informace" 49 50 #: engine.sinformationdetails 51 #, fuzzy 52 msgctxt "engine.sinformationdetails" 53 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." 54 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áÄů." 55 56 #: engine.sinformationdetails2 57 #, fuzzy 58 msgctxt "engine.sinformationdetails2" 59 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" 60 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" 61 62 #: engine.sinstructions 63 #, fuzzy 64 msgctxt "engine.sinstructions" 65 msgid "Instructions" 66 msgstr "Instrukce" 67 68 #: engine.sinstructionsdetails 69 #, fuzzy 70 msgctxt "engine.sinstructionsdetails" 71 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)." 72 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)." 73 74 #: engine.sinstructionsdetails2 75 #, fuzzy 76 msgctxt "engine.sinstructionsdetails2" 77 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." 78 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." 79 80 #: engine.sinstructionsdetails3 81 #, fuzzy 82 msgctxt "engine.sinstructionsdetails3" 83 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." 84 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." 85 86 #: engine.sinstructionsdetails4 87 #, fuzzy 88 msgctxt "engine.sinstructionsdetails4" 89 msgid "Controls: \\n Blue: W - up, A - left, S - down, D - right, E - shoot \\n Green: arrows key, CTRL - shoot" 90 msgstr "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 94 msgctxt "engine.smetersdug" 95 msgid "Meters dug" 96 msgstr "VykopanÃœch metrů" 97 98 #: engine.smeterstravelled 99 #, fuzzy 100 msgctxt "engine.smeterstravelled" 101 msgid "Meters travelled" 102 msgstr "UraÅŸenÃœch metrů" 103 104 #: engine.sorange 105 #, fuzzy 106 msgctxt "engine.sorange" 107 msgid "Orange" 108 msgstr "OranÅŸová" 109 110 #: engine.spercenthit 111 #, fuzzy 112 msgctxt "engine.spercenthit" 113 msgid "Percent hit" 114 msgstr "Procento zásahů" 115 116 #: engine.spink 117 #, fuzzy 118 msgctxt "engine.spink" 119 msgid "Pink" 120 msgstr "Růşová" 121 122 #: engine.spressesc 123 #, fuzzy 124 msgctxt "engine.spressesc" 125 msgid "Press ESC to continue" 126 msgstr "Stiskni ESC pro pokraÄovánÃ" 127 128 #: engine.sred 129 #, fuzzy 130 msgctxt "engine.sred" 131 msgid "Red" 132 msgstr "Äervená" 133 134 #: engine.sround 135 #, fuzzy 136 msgctxt "engine.sround" 137 msgid "Round" 138 msgstr "Kolo" 139 140 #: engine.sshotsfired 141 #, fuzzy 142 msgctxt "engine.sshotsfired" 143 msgid "Shots fired" 144 msgstr "VystÅeleno" 145 146 #: engine.sshotshit 147 #, fuzzy 148 msgctxt "engine.sshotshit" 149 msgid "Shots hit" 150 msgstr "Zásahů" 151 152 #: engine.sstartgame 153 #, fuzzy 154 msgctxt "engine.sstartgame" 155 msgid "Start game" 156 msgstr "Spustit hru" 157 158 #: engine.sstatistics 159 #, fuzzy 160 msgctxt "engine.sstatistics" 161 msgid "Statistics" 162 msgstr "Statistika" 163 164 #: engine.swinneris 165 #, fuzzy 166 msgctxt "engine.swinneris" 167 msgid "The winner is" 168 msgstr "VÃtÄzem je" 169 170 #: engine.sworldready 171 #, fuzzy 172 msgctxt "engine.sworldready" 173 msgid "World ready" 174 msgstr "SvÄt pÅipraven" 175 176 #: engine.syellow 177 #, fuzzy 178 msgctxt "engine.syellow" 179 msgid "Yellow" 180 msgstr "Åœlutá" 181 182 #: formmain.sround 183 #, object-pascal-format, fuzzy 184 msgctxt "formmain.sround" 185 msgid "%0:s of %1:s" 186 msgstr "%0:s z %1:s" 187 188 #: sound.splaynotsupported 189 #, object-pascal-format 190 msgctxt "sound.splaynotsupported" 191 msgid "The play command %s does not work on your system" 192 msgstr "" 193 194 #: sound.sunabletoplay 195 msgctxt "sound.sunabletoplay" 196 msgid "Unable to play " 197 msgstr "" 198 14 199 #: tformdebug.caption 15 200 msgctxt "tformdebug.caption" … … 161 346 msgstr "OvládánÃ" 162 347 163 #: uengine.sblue164 msgid "Blue"165 msgstr "Modrá"166 167 #: uengine.scyan168 msgid "Cyan"169 msgstr "Tyrkysová"170 171 #: uengine.sexit172 msgctxt "uengine.sexit"173 msgid "Exit"174 msgstr "OdejÃt"175 176 #: uengine.sgray177 msgid "Gray"178 msgstr "Å edá"179 180 #: uengine.sgreen181 msgid "Green"182 msgstr "Zelená"183 184 #: uengine.sinformation185 msgid "Information"186 msgstr "Informace"187 188 #: uengine.sinformationdetails189 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.sinformationdetails2193 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.sinstructions197 msgid "Instructions"198 msgstr "Instrukce"199 200 #: uengine.sinstructionsdetails201 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.sinstructionsdetails2205 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.sinstructionsdetails3209 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.sinstructionsdetails4213 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.smetersdug217 msgid "Meters dug"218 msgstr "VykopanÃœch metrů"219 220 #: uengine.smeterstravelled221 msgid "Meters travelled"222 msgstr "UraÅŸenÃœch metrů"223 224 #: uengine.sorange225 msgid "Orange"226 msgstr "OranÅŸová"227 228 #: uengine.spercenthit229 msgid "Percent hit"230 msgstr "Procento zásahů"231 232 #: uengine.spink233 msgid "Pink"234 msgstr "Růşová"235 236 #: uengine.spressesc237 msgid "Press ESC to continue"238 msgstr "Stiskni ESC pro pokraÄovánÃ"239 240 #: uengine.sred241 msgid "Red"242 msgstr "Äervená"243 244 #: uengine.sround245 msgid "Round"246 msgstr "Kolo"247 248 #: uengine.sshotsfired249 msgid "Shots fired"250 msgstr "VystÅeleno"251 252 #: uengine.sshotshit253 msgid "Shots hit"254 msgstr "Zásahů"255 256 #: uengine.sstartgame257 msgid "Start game"258 msgstr "Spustit hru"259 260 #: uengine.sstatistics261 msgid "Statistics"262 msgstr "Statistika"263 264 #: uengine.swinneris265 msgid "The winner is"266 msgstr "VÃtÄzem je"267 268 #: uengine.sworldready269 msgid "World ready"270 msgstr "SvÄt pÅipraven"271 272 #: uengine.syellow273 msgid "Yellow"274 msgstr "Åœlutá"275 276 #: uformmain.sround277 #, object-pascal-format278 msgctxt "uformmain.sround"279 msgid "%0:s of %1:s"280 msgstr "%0:s z %1:s"281 282 #: usound.sunabletoplay283 msgid "Unable to play "284 msgstr ""285 -
trunk/Languages/Tunneler.pot
r71 r73 1 1 msgid "" 2 2 msgstr "Content-Type: text/plain; charset=UTF-8" 3 4 #: engine.sblue 5 msgctxt "engine.sblue" 6 msgid "Blue" 7 msgstr "" 8 9 #: engine.scyan 10 msgctxt "engine.scyan" 11 msgid "Cyan" 12 msgstr "" 13 14 #: engine.sexit 15 msgctxt "engine.sexit" 16 msgid "Exit" 17 msgstr "" 18 19 #: engine.sgray 20 msgctxt "engine.sgray" 21 msgid "Gray" 22 msgstr "" 23 24 #: engine.sgreen 25 msgctxt "engine.sgreen" 26 msgid "Green" 27 msgstr "" 28 29 #: engine.sinformation 30 msgctxt "engine.sinformation" 31 msgid "Information" 32 msgstr "" 33 34 #: engine.sinformationdetails 35 msgctxt "engine.sinformationdetails" 36 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." 37 msgstr "" 38 39 #: engine.sinformationdetails2 40 msgctxt "engine.sinformationdetails2" 41 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" 42 msgstr "" 43 44 #: engine.sinstructions 45 msgctxt "engine.sinstructions" 46 msgid "Instructions" 47 msgstr "" 48 49 #: engine.sinstructionsdetails 50 msgctxt "engine.sinstructionsdetails" 51 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)." 52 msgstr "" 53 54 #: engine.sinstructionsdetails2 55 msgctxt "engine.sinstructionsdetails2" 56 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." 57 msgstr "" 58 59 #: engine.sinstructionsdetails3 60 msgctxt "engine.sinstructionsdetails3" 61 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." 62 msgstr "" 63 64 #: engine.sinstructionsdetails4 65 msgctxt "engine.sinstructionsdetails4" 66 msgid "Controls: \\n Blue: W - up, A - left, S - down, D - right, E - shoot \\n Green: arrows key, CTRL - shoot" 67 msgstr "" 68 69 #: engine.smetersdug 70 msgctxt "engine.smetersdug" 71 msgid "Meters dug" 72 msgstr "" 73 74 #: engine.smeterstravelled 75 msgctxt "engine.smeterstravelled" 76 msgid "Meters travelled" 77 msgstr "" 78 79 #: engine.sorange 80 msgctxt "engine.sorange" 81 msgid "Orange" 82 msgstr "" 83 84 #: engine.spercenthit 85 msgctxt "engine.spercenthit" 86 msgid "Percent hit" 87 msgstr "" 88 89 #: engine.spink 90 msgctxt "engine.spink" 91 msgid "Pink" 92 msgstr "" 93 94 #: engine.spressesc 95 msgctxt "engine.spressesc" 96 msgid "Press ESC to continue" 97 msgstr "" 98 99 #: engine.sred 100 msgctxt "engine.sred" 101 msgid "Red" 102 msgstr "" 103 104 #: engine.sround 105 msgctxt "engine.sround" 106 msgid "Round" 107 msgstr "" 108 109 #: engine.sshotsfired 110 msgctxt "engine.sshotsfired" 111 msgid "Shots fired" 112 msgstr "" 113 114 #: engine.sshotshit 115 msgctxt "engine.sshotshit" 116 msgid "Shots hit" 117 msgstr "" 118 119 #: engine.sstartgame 120 msgctxt "engine.sstartgame" 121 msgid "Start game" 122 msgstr "" 123 124 #: engine.sstatistics 125 msgctxt "engine.sstatistics" 126 msgid "Statistics" 127 msgstr "" 128 129 #: engine.swinneris 130 msgctxt "engine.swinneris" 131 msgid "The winner is" 132 msgstr "" 133 134 #: engine.sworldready 135 msgctxt "engine.sworldready" 136 msgid "World ready" 137 msgstr "" 138 139 #: engine.syellow 140 msgctxt "engine.syellow" 141 msgid "Yellow" 142 msgstr "" 143 144 #: formmain.sround 145 #, object-pascal-format 146 msgctxt "formmain.sround" 147 msgid "%0:s of %1:s" 148 msgstr "" 149 150 #: sound.splaynotsupported 151 #, object-pascal-format 152 msgctxt "sound.splaynotsupported" 153 msgid "The play command %s does not work on your system" 154 msgstr "" 155 156 #: sound.sunabletoplay 157 msgctxt "sound.sunabletoplay" 158 msgid "Unable to play " 159 msgstr "" 3 160 4 161 #: tformdebug.caption … … 125 282 msgstr "" 126 283 127 #: uengine.sblue128 msgid "Blue"129 msgstr ""130 131 #: uengine.scyan132 msgid "Cyan"133 msgstr ""134 135 #: uengine.sexit136 msgctxt "uengine.sexit"137 msgid "Exit"138 msgstr ""139 140 #: uengine.sgray141 msgid "Gray"142 msgstr ""143 144 #: uengine.sgreen145 msgid "Green"146 msgstr ""147 148 #: uengine.sinformation149 msgid "Information"150 msgstr ""151 152 #: uengine.sinformationdetails153 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.sinformationdetails2157 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.sinstructions161 msgid "Instructions"162 msgstr ""163 164 #: uengine.sinstructionsdetails165 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.sinstructionsdetails2169 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.sinstructionsdetails3173 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.sinstructionsdetails4177 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.smetersdug181 msgid "Meters dug"182 msgstr ""183 184 #: uengine.smeterstravelled185 msgid "Meters travelled"186 msgstr ""187 188 #: uengine.sorange189 msgid "Orange"190 msgstr ""191 192 #: uengine.spercenthit193 msgid "Percent hit"194 msgstr ""195 196 #: uengine.spink197 msgid "Pink"198 msgstr ""199 200 #: uengine.spressesc201 msgid "Press ESC to continue"202 msgstr ""203 204 #: uengine.sred205 msgid "Red"206 msgstr ""207 208 #: uengine.sround209 msgid "Round"210 msgstr ""211 212 #: uengine.sshotsfired213 msgid "Shots fired"214 msgstr ""215 216 #: uengine.sshotshit217 msgid "Shots hit"218 msgstr ""219 220 #: uengine.sstartgame221 msgid "Start game"222 msgstr ""223 224 #: uengine.sstatistics225 msgid "Statistics"226 msgstr ""227 228 #: uengine.swinneris229 msgid "The winner is"230 msgstr ""231 232 #: uengine.sworldready233 msgid "World ready"234 msgstr ""235 236 #: uengine.syellow237 msgid "Yellow"238 msgstr ""239 240 #: uformmain.sround241 #, object-pascal-format242 msgid "%0:s of %1:s"243 msgstr ""244 245 #: usound.sunabletoplay246 msgid "Unable to play "247 msgstr ""248 -
trunk/Matter.pas
r72 r73 1 unit UMatter;1 unit Matter; 2 2 3 3 interface -
trunk/PixelMap.pas
r72 r73 1 unit UPixelMap;1 unit PixelMap; 2 2 3 3 {$mode objfpc}{$H+} -
trunk/Platform.pas
r72 r73 1 unit UPlatform;1 unit Platform; 2 2 3 3 interface -
trunk/Sound.pas
r72 r73 1 unit USound;1 unit Sound; 2 2 3 3 interface -
trunk/World.pas
r72 r73 1 unit UWorld;1 unit World; 2 2 3 3 interface 4 4 5 5 uses 6 Classes, SysUtils, Graphics, GraphType, SpecializedMatrix, UMatter;6 Classes, SysUtils, Graphics, GraphType, SpecializedMatrix, Matter; 7 7 8 8 type … … 28 28 29 29 uses 30 UFastPixel;30 FastPixel; 31 31 32 32 { TWorld } -
trunk/tunneler.lpi
r70 r73 107 107 </Unit0> 108 108 <Unit1> 109 <Filename Value=" UEngine.pas"/>109 <Filename Value="Engine.pas"/> 110 110 <IsPartOfProject Value="True"/> 111 111 </Unit1> 112 112 <Unit2> 113 <Filename Value=" UPlatform.pas"/>113 <Filename Value="Platform.pas"/> 114 114 <IsPartOfProject Value="True"/> 115 115 </Unit2> … … 119 119 </Unit3> 120 120 <Unit4> 121 <Filename Value="Forms/ UFormNewGame.pas"/>121 <Filename Value="Forms/FormNewGame.pas"/> 122 122 <IsPartOfProject Value="True"/> 123 123 <ComponentName Value="FormNewGame"/> … … 126 126 </Unit4> 127 127 <Unit5> 128 <Filename Value="Forms/ UFormMain.pas"/>128 <Filename Value="Forms/FormMain.pas"/> 129 129 <IsPartOfProject Value="True"/> 130 130 <ComponentName Value="FormMain"/> … … 133 133 </Unit5> 134 134 <Unit6> 135 <Filename Value="Forms/ UFormMap.pas"/>135 <Filename Value="Forms/FormMap.pas"/> 136 136 <IsPartOfProject Value="True"/> 137 137 <ComponentName Value="FormMap"/> … … 140 140 </Unit6> 141 141 <Unit7> 142 <Filename Value="Forms/ UFormDebug.pas"/>142 <Filename Value="Forms/FormDebug.pas"/> 143 143 <IsPartOfProject Value="True"/> 144 144 <ComponentName Value="FormDebug"/> 145 145 <HasResources Value="True"/> 146 146 <ResourceBaseClass Value="Form"/> 147 <UnitName Value="UFormDebug"/> 147 148 </Unit7> 148 149 <Unit8> 149 <Filename Value="Forms/ UFormGameResult.pas"/>150 <Filename Value="Forms/FormGameResult.pas"/> 150 151 <IsPartOfProject Value="True"/> 151 152 <ComponentName Value="FormGameResult"/> 152 153 <HasResources Value="True"/> 153 154 <ResourceBaseClass Value="Form"/> 155 <UnitName Value="UFormGameResult"/> 154 156 </Unit8> 155 157 <Unit9> 156 <Filename Value=" UCore.pas"/>158 <Filename Value="Core.pas"/> 157 159 <IsPartOfProject Value="True"/> 158 160 <ComponentName Value="Core"/> … … 161 163 </Unit9> 162 164 <Unit10> 163 <Filename Value=" UWorld.pas"/>165 <Filename Value="World.pas"/> 164 166 <IsPartOfProject Value="True"/> 165 167 </Unit10> 166 168 <Unit11> 167 <Filename Value=" UMatter.pas"/>169 <Filename Value="Matter.pas"/> 168 170 <IsPartOfProject Value="True"/> 169 171 </Unit11> 170 172 <Unit12> 171 <Filename Value=" UFastPixel.pas"/>173 <Filename Value="FastPixel.pas"/> 172 174 <IsPartOfProject Value="True"/> 173 175 </Unit12> 174 176 <Unit13> 175 <Filename Value=" USound.pas"/>177 <Filename Value="Sound.pas"/> 176 178 <IsPartOfProject Value="True"/> 177 179 </Unit13> -
trunk/tunneler.lpr
r70 r73 8 8 {$ENDIF} 9 9 Interfaces, // this includes the LCL widgetset 10 Forms, TemplateGenerics, UPlatform, FileUtil, SysUtils, Common, UFormNewGame,11 UFormMain, UFormMap, UFormGameResult, UCore, UWorld, UMatter, UFastPixel,12 USound, AsyncProcess210 Forms, TemplateGenerics, Platform, FileUtil, SysUtils, Common, FormNewGame, 11 FormMain, FormMap, FormGameResult, Core, World, Matter, FastPixel, 12 Sound, AsyncProcess2 13 13 { you can add units after this }; 14 14 … … 30 30 Application.Scaled:=True; 31 31 Application.Initialize; 32 Application.CreateForm(TCore, Core );33 Application.CreateForm(TFormMain, FormMain );32 Application.CreateForm(TCore, Core.Core); 33 Application.CreateForm(TFormMain, FormMain.FormMain); 34 34 {$IFDEF DEBUG} 35 35 {$ENDIF}
Note:
See TracChangeset
for help on using the changeset viewer.