diff --git a/README.md b/README.md index 74c34f18..77fa1714 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,12 @@ **[Dynamic HTML table](https://trilarion.github.io/opensourcegames/)** of the entries / Development **[Blog](https://trilarion.blogspot.com/search/label/osgames)** / **[Statistics](games/statistics.md)** [comment]: # (start of autogenerated content, do not edit) -404 entries +405 entries - **[Action/Arcade](games/action/_toc.md)** (21) - **[Adventure & Visual novels](games/adventure/_toc.md)** (13) - **[Engines & Frameworks](games/framework/_toc.md)** (52) - **[Libraries](games/library/_toc.md)** (22) -- **[Role Playing](games/rpg/_toc.md)** (108) +- **[Role Playing](games/rpg/_toc.md)** (109) - **[Simulation](games/simulation/_toc.md)** (15) - **[Strategy](games/strategy/_toc.md)** (160) - **[Tools & Manuals](games/misc/_toc.md)** (13) @@ -31,7 +31,8 @@ or fork this repository and submit a pull request. All entries are stored as markdown (quite human readable) format. Adding a new entry is as easy as modifying the [template](games/template.md) and putting a modified version in a games category subdirectory. -Here is a description of the fields in the template. Comments start with "//". +Here is a description of the fields in the template. Comments start with "//". Multiple values given should be +separated by comma.
 # {NAME} // name of the game
@@ -47,7 +48,7 @@ _{Description}_ // single description line (typically taken from about page of g
 - Keywords: {XX} // list of tags describing the game
 - Code repository: {URL} // code repositories (most significant first)
 - Code language: {XX} // programming language(s) used 
-- Code license: {XX} // license of the code, use "Custom" with comment if the license is modified for the project
+- Code license: {XX} // license of the code, use "Custom" with comment in () if the license is project-specific
 - Code dependencies: {XX} // important third party libraries / frameworks used by the project
 - Assets license: {XX} // license(s) of the assets (artwork, ..)
 
@@ -56,7 +57,7 @@ _{Description}_ // single description line (typically taken from about page of g
 ## Building
 
 - Build system: {XX} // typically one of {CMake, Autoconf, Gradle, ..}
-- Build instructions: {XX} // link(s) to build instructions offered by the project
+- Build instructions: {URL} // link(s) to build instructions offered by the project
 
 // whatever you want to put here
 
diff --git a/docs/data.json b/docs/data.json index 591cf4cf..d387d7c0 100644 --- a/docs/data.json +++ b/docs/data.json @@ -430,7 +430,7 @@ "Strategy", "mature / active", "TBS", - "Source - C++ - Custom" + "Source - C++ - Custom" ], [ "Castle of the Winds (home, entry)", @@ -801,6 +801,15 @@ "requires original content", "Source - C++ - GPL-2.0" ], + [ + "Dungeon Craft (home, entry)", + "Updated emulator of Forgotten Realms: Unlimited Adventures.", + "Link", + "Role Playing", + "mature / active", + "", + "Source - C++ - GPL-2.0" + ], [ "Dungeon Crawl Stone Soup (home, entry)", "Roguelike adventure through dungeons filled with dangerous..", @@ -1015,7 +1024,7 @@ "Strategy", "mature / active", "", - "Source - Java" + "Source - Java - MIT" ], [ "Flare Engine (home, entry)", @@ -1987,7 +1996,7 @@ "Engines & Frameworks", "mature / active", "", - "Source - C++ - Custom" + "Source - C++ - Custom" ], [ "Open AL (home, entry)", diff --git a/games/framework/octaforge.md b/games/framework/octaforge.md index a9bcf9d0..e191e84d 100644 --- a/games/framework/octaforge.md +++ b/games/framework/octaforge.md @@ -5,7 +5,7 @@ _OctaForge is a 3D game engine and a game development platform._ - Home: https://octaforge.org/ - State: mature - Download: https://octaforge.org/page/downloads -- Code repository: https://git.octaforge.org/engine/octaforge.git, https://github.com/OctaForge.git (mirrors) +- Code repository: https://git.octaforge.org/OctaForge/OctaCore.git, https://github.com/OctaForge.git (mirrors) - Code language: C++ - Code license: Custom (NCSA open source license) diff --git a/games/rpg/_toc.md b/games/rpg/_toc.md index 9a4d1ba7..54f1ce5e 100644 --- a/games/rpg/_toc.md +++ b/games/rpg/_toc.md @@ -25,6 +25,7 @@ - **[Deliantra](deliantra.md)** (C, GPL-2.0, mature) - **[DemiGod](demigod.md)** (Java, GPL-3.0, beta, inactive since 2013) - **[Dragon Hunt](dragon_hunt.md)** (Python, GPL-2.0, mature) +- **[Dungeon Craft](dungeon_craft.md)** (C++, GPL-2.0, mature) - **[Dungeon Crawl Stone Soup](dungeon_crawl_stone_soup.md)** (C++, Lua, GPL-2.0, mature) - **[Dungeon Hero](dungeon_hero.md)** (Java, MIT, mature) - **[Dungeon Monkey Eternal](dungeon_monkey_eternal.md)** (Python, GPL-2.0, mature, inactive since 2016) diff --git a/games/rpg/dungeon_craft.md b/games/rpg/dungeon_craft.md new file mode 100644 index 00000000..cf84fcd0 --- /dev/null +++ b/games/rpg/dungeon_craft.md @@ -0,0 +1,12 @@ +# Dungeon Craft + +_Updated emulator of Forgotten Realms: Unlimited Adventures._ + +- Home: http://uaf.sourceforge.net/, https://sourceforge.net/projects/uaf/, http://www.dianneandpaul.net/UAF/DungeonCraft.html +- State: mature +- Download: https://sourceforge.net/projects/uaf/files/ +- Code repository: https://gitlab.com/osgames/uaf.git (mirror), https://sourceforge.net/p/uaf/code/ (cvs) +- Code language: C++ +- Code license: GPL-2.0 + +## Building diff --git a/games/statistics.md b/games/statistics.md index 1241d1f8..8f74d932 100644 --- a/games/statistics.md +++ b/games/statistics.md @@ -1,13 +1,13 @@ [comment]: # (autogenerated content, do not edit) # Statistics -analyzed 404 entries on 2019-05-29 10:39:37 +analyzed 405 entries on 2019-06-07 13:37:07 ## State -- mature: 244 (60.4%) -- beta: 160 (39.6%) -- inactive: 164 (40.6%) +- mature: 245 (60.5%) +- beta: 160 (39.5%) +- inactive: 164 (40.5%) ##### Inactive State @@ -17,8 +17,8 @@ Zone of Control (2017), 3d.city (2016), Atlantis (2016), Atrinik (2016), Birth o ##### Language frequency -- C++ (36.0%) -- C (20.2%) +- C++ (36.1%) +- C (20.1%) - Java (12.1%) - Python (9.7%) - Lua (5.1%) @@ -53,15 +53,15 @@ Zone of Control (2017), 3d.city (2016), Atlantis (2016), Atrinik (2016), Birth o ## Code licenses -Without license tag: 4 (1.0%) +Without license tag: 3 (0.7%) -Dark Destiny, First Strike, Imperium, OpenRPG +Dark Destiny, Imperium, OpenRPG ##### Licenses frequency -- GPL-2.0 (38.1%) -- GPL-3.0 (26.0%) -- MIT (12.6%) +- GPL-2.0 (38.2%) +- GPL-3.0 (25.9%) +- MIT (12.8%) - Custom (5.4%) - Apache-2.0 (3.2%) - zlib (2.5%) @@ -155,9 +155,9 @@ Build systems information available for 18.8% of all projects - Ant (1.3%) - Gradle (1.3%) -##### C and C++ projects without build system information (175) +##### C and C++ projects without build system information (176) -0AD, Angband, Antares, Armies, Atlantis, Atomiks, Atomix, Attal: Lords of doom, AutoREALM, Avanor, Battles of Antargis, Birth of the Empires, Boost (C++ Libraries), Bos Wars, Boson, Call to Power 2, Cat Mother Dead Justice, Cataclysm, Catch Challenger, Classic Blades of Exile, Clou!, Colonization too, Conquests, Crossfire, Crown and Cutlass, Crypto++, Daimonin, Danger from the Deep, Dark Oberon, Dawn, Deliantra, Duel Commander, Dune Dynasty, Dune Legacy, Dungeon Crawl Stone Soup, Dungeon Mapper, ENIGMA, Endless Sky, Epiar, Erebus, Eternal Lands, Evol Online, Exult, Fanwor, Free Space Colonization, Free heroes2 engine, Free in the Dark (engine), Freedink, Freeminer, Freestars, GDash, GM Tools, GalaxyNG, GameLV, Gee Whiz, GemRB, Gigalomania, Globulation2, Goblin Camp, Goblin Hack, Greenius' Civil War, H-World, Harris, Haxima, Heroes of Wesnoth, Hex Game, Holyspirit, Irrlicht Engine, Iter Vehemens ad Necem, Jagged Alliance 2 Stracciatella, KAtomic, KQ Lives, LGeneral, LZMA SDK, Labyrinth of Worlds, Libxml2, Lightweight Java Game Library, LinCity, LinCity-NG, Linley's Dungeon Crawl, Linwarrior 3D, Lips of Suna, Lua, Lumix Engine, M.E.W.L., Machinations, Mars, Land of No Mercy, MechCommander 2 Omnitech, Meridian 59, Meritous, Micropolis, Moria, NLarn, Naev, NetHack, NetPanzer, Open AL, Open Apocalypse, Open Dune, Open Meridian, Open RPG Maker, Open Sonic, Open Zelda, OpenCity, OpenHoMM, OpenMW, OpenPop, OpenSSL, OpenSkyscraper, Openglad, Operation Citadel, Orx, Other-Life, Panda 3D, Pax Britannica, Phantasy Star Rebirth, Pioneers, Pizza Business, PlaneShift, Pthreads-win32, Qt, REGoth, Ragel, Red Eclipse, Return to the Roots, Rocks'n'Diamonds , Rogue Clone IV, Rolisteam, S.C.O.U.R.G.E., SDL Game Engine 2D, SWIG, Secret Mario Chronicles, Sengoku: Warring States of Japan, SimuTrans, Slash'EM, Song of Albion, Star Ruler 2, Summoning Wars, SuperTuxKart, T-Bots, Tales of Maj'Eyal, The Clans, The Endless Dungeons, The Epic of Heroes, Thousand Parsec, Turious, Tux Racer, TwinEngine, UFO2000, UnNetHack, Underworld Adventures, VCMI Project, Vega Strike, War Of Kingdom, Wargamer, Wargus, Witch Blast, Wolfpack Empire, WorldForge, Wyrmsun, XArchon, XSera, XZ Utils, Xconq, Xenowar, Xonotic, ZAngband, libGDX, libpng, micropolisJS, pkg-config, pygame, sandbox Game Maker, wxWidgets, xdigger +0AD, Angband, Antares, Armies, Atlantis, Atomiks, Atomix, Attal: Lords of doom, AutoREALM, Avanor, Battles of Antargis, Birth of the Empires, Boost (C++ Libraries), Bos Wars, Boson, Call to Power 2, Cat Mother Dead Justice, Cataclysm, Catch Challenger, Classic Blades of Exile, Clou!, Colonization too, Conquests, Crossfire, Crown and Cutlass, Crypto++, Daimonin, Danger from the Deep, Dark Oberon, Dawn, Deliantra, Duel Commander, Dune Dynasty, Dune Legacy, Dungeon Craft, Dungeon Crawl Stone Soup, Dungeon Mapper, ENIGMA, Endless Sky, Epiar, Erebus, Eternal Lands, Evol Online, Exult, Fanwor, Free Space Colonization, Free heroes2 engine, Free in the Dark (engine), Freedink, Freeminer, Freestars, GDash, GM Tools, GalaxyNG, GameLV, Gee Whiz, GemRB, Gigalomania, Globulation2, Goblin Camp, Goblin Hack, Greenius' Civil War, H-World, Harris, Haxima, Heroes of Wesnoth, Hex Game, Holyspirit, Irrlicht Engine, Iter Vehemens ad Necem, Jagged Alliance 2 Stracciatella, KAtomic, KQ Lives, LGeneral, LZMA SDK, Labyrinth of Worlds, Libxml2, Lightweight Java Game Library, LinCity, LinCity-NG, Linley's Dungeon Crawl, Linwarrior 3D, Lips of Suna, Lua, Lumix Engine, M.E.W.L., Machinations, Mars, Land of No Mercy, MechCommander 2 Omnitech, Meridian 59, Meritous, Micropolis, Moria, NLarn, Naev, NetHack, NetPanzer, Open AL, Open Apocalypse, Open Dune, Open Meridian, Open RPG Maker, Open Sonic, Open Zelda, OpenCity, OpenHoMM, OpenMW, OpenPop, OpenSSL, OpenSkyscraper, Openglad, Operation Citadel, Orx, Other-Life, Panda 3D, Pax Britannica, Phantasy Star Rebirth, Pioneers, Pizza Business, PlaneShift, Pthreads-win32, Qt, REGoth, Ragel, Red Eclipse, Return to the Roots, Rocks'n'Diamonds , Rogue Clone IV, Rolisteam, S.C.O.U.R.G.E., SDL Game Engine 2D, SWIG, Secret Mario Chronicles, Sengoku: Warring States of Japan, SimuTrans, Slash'EM, Song of Albion, Star Ruler 2, Summoning Wars, SuperTuxKart, T-Bots, Tales of Maj'Eyal, The Clans, The Endless Dungeons, The Epic of Heroes, Thousand Parsec, Turious, Tux Racer, TwinEngine, UFO2000, UnNetHack, Underworld Adventures, VCMI Project, Vega Strike, War Of Kingdom, Wargamer, Wargus, Witch Blast, Wolfpack Empire, WorldForge, Wyrmsun, XArchon, XSera, XZ Utils, Xconq, Xenowar, Xonotic, ZAngband, libGDX, libpng, micropolisJS, pkg-config, pygame, sandbox Game Maker, wxWidgets, xdigger ##### C and C++ projects with a build system different from CMake (51) diff --git a/games/strategy/_toc.md b/games/strategy/_toc.md index 0ae5b320..0b888e06 100644 --- a/games/strategy/_toc.md +++ b/games/strategy/_toc.md @@ -45,7 +45,7 @@ - **[EternalWinterWars](eternalwinterwars.md)** (Java, MIT, beta, inactive since 2014) - **[Evil Cult](evil_cult.md)** (Haxe, JavaScript, GPL-3.0, mature) - **[FAR Colony](farcolony.md)** (Pascal, GPL-3.0, beta, inactive since 2014) -- **[First Strike](first_strike.md)** (Java, mature) +- **[First Strike](first_strike.md)** (Java, MIT, mature) - **[Free Mars](free_mars.md)** (Java, GPL-3.0, mature) - **[Free Orion](freeorion.md)** (C++, Python, GPL-2.0, beta) - **[Free Space Colonization](free_space_colonization.md)** (C, GPL-2.0, beta) diff --git a/games/strategy/call_to_power2.md b/games/strategy/call_to_power2.md index 4ed6aba5..33fc1127 100644 --- a/games/strategy/call_to_power2.md +++ b/games/strategy/call_to_power2.md @@ -6,7 +6,7 @@ _Strategy game released by Activision as a sequel to Civilization: Call to Power - Media: https://en.wikipedia.org/wiki/Call_to_Power_II#Source_code_release - State: mature - Keywords: TBS -- Code repository: https://github.com/LynxAbraxas/ctp2.git (mirror), http://ctp2.darkdust.net/anonsvn/ (svn) +- Code repository: https://github.com/civctp2/civctp2.git (mirror), http://ctp2.darkdust.net/anonsvn/ (svn) - Code language: C++ - Code license: Custom (Activision CTP2 source EULA) diff --git a/games/strategy/first_strike.md b/games/strategy/first_strike.md index 96c3662f..32d237ce 100644 --- a/games/strategy/first_strike.md +++ b/games/strategy/first_strike.md @@ -5,8 +5,9 @@ _Conquer the world thanks to military forces._ - Home: https://sourceforge.net/projects/firststrikegame/ - State: mature - Download: https://sourceforge.net/projects/firststrikegame/files/ -- Code repository: https://svn.code.sf.net/p/firststrikegame/code/ (svn) +- Code repository: https://gitlab.com/osgames/firststrike.git (mirror), https://svn.code.sf.net/p/firststrikegame/code/ (svn) - Code language: Java +- Code license: MIT ## Building diff --git a/tools/archives.json b/tools/archives.json index cfab0407..d7330ff5 100644 --- a/tools/archives.json +++ b/tools/archives.json @@ -33,7 +33,7 @@ "https://git.code.sf.net/p/space-war-2/git", "https://git.code.sf.net/p/stars-nova/code", "https://git.net-core.org/tome/t-engine4.git", - "https://git.octaforge.org/engine/octaforge.git", + "https://git.octaforge.org/OctaForge/OctaCore.git", "https://git.savannah.gnu.org/git/adonthell/adonthell-wastesedge.git", "https://git.savannah.gnu.org/git/freedink.git", "https://git.savannah.gnu.org/git/freetype/freetype2-demos.git", @@ -79,7 +79,6 @@ "https://github.com/LibreGamesArchive/galaxymageredux.git", "https://github.com/LibreGamesArchive/silvertree.git", "https://github.com/LionsPhil/mewl.git", - "https://github.com/LynxAbraxas/ctp2.git", "https://github.com/MattMatt0240/DemiGod.git", "https://github.com/MegaGlest/megaglest-source.git", "https://github.com/MegaMek/megamek.git", @@ -146,6 +145,7 @@ "https://github.com/chubakur/wizards-magic.git", "https://github.com/chubakur/wizards-magic2.git", "https://github.com/ciplogic/fheroes2enh.git", + "https://github.com/civctp2/civctp2.git", "https://github.com/clintbellanger/flare-engine.git", "https://github.com/cocos2d/cocos2d-x.git", "https://github.com/colobot/colobot.git", @@ -328,6 +328,7 @@ "https://gitlab.com/osgames/dungeonmap.git", "https://gitlab.com/osgames/endlessdungeons.git", "https://gitlab.com/osgames/eos-game.git", + "https://gitlab.com/osgames/firststrike.git", "https://gitlab.com/osgames/freetrain.git", "https://gitlab.com/osgames/fujo.git", "https://gitlab.com/osgames/galaxyng.git", @@ -369,6 +370,7 @@ "https://gitlab.com/osgames/tbots.git", "https://gitlab.com/osgames/theclans.git", "https://gitlab.com/osgames/tuxracer.git", + "https://gitlab.com/osgames/uaf.git", "https://gitlab.com/osgames/ura-game.git", "https://gitlab.com/osgames/uwadv.git", "https://gitlab.com/osgames/wargamer.git", @@ -392,7 +394,6 @@ "https://svn.code.sf.net/p/daimonin/code/", "https://svn.code.sf.net/p/darkcity/code/", "https://svn.code.sf.net/p/darkdestiny/code/", - "https://svn.code.sf.net/p/firststrikegame/code/", "https://svn.code.sf.net/p/freemars/code/", "https://svn.code.sf.net/p/freesynd/code/", "https://svn.code.sf.net/p/fsc/code/", diff --git a/tools/update.py b/tools/update.py index 84df32be..1d085329 100644 --- a/tools/update.py +++ b/tools/update.py @@ -3,10 +3,12 @@ Clones and/or pulls all the gits listed in archives.json Requires: git executable in the path +Uses 'git clone --mirror' to set up the git locally. + Warning: This may take a long time on the first run and may need a lot of storage space! TODO are really all existing branches cloned and pulled? (see https://stackoverflow.com/questions/67699/how-to-clone-all-remote-branches-in-git) -TODO Sourceforge git clone may not work all the time (restart the script helps..) +TODO Sourceforge git clone may not work all the time (restarting the script sometimes helps..) Note: May need to set http.postBuffer (https://stackoverflow.com/questions/17683295/git-bash-error-rpc-failed-result-18-htp-code-200b-1kib-s) """ @@ -130,7 +132,10 @@ def run_update(type, urls): continue if not os.path.isdir(folder): print('clone {} into {}'.format(url, folder[len(base_folder):])) - clone[type](url, folder) + try: + clone[type](url, folder) + except RuntimeError as e: + print('error occurred while cloning, will skip') # at the end update them all for folder in folders: @@ -139,7 +144,10 @@ def run_update(type, urls): print('folder not existing, wanted to update, will skip') continue print('update {}'.format(folder[len(base_folder):])) - update[type](folder) + try: + update[type](folder) + except RuntimeError as e: + print('error occurred while updating, will skip') def run_info(type, urls):