diff --git a/README.md b/README.md
index 56ab3a6c..482f5ef1 100644
--- a/README.md
+++ b/README.md
@@ -3,14 +3,14 @@
[Dynamic HTML table](https://trilarion.github.io/opensourcegames/) of the entries / Development [Blog](https://trilarion.blogspot.com/search/label/osgames)
[comment]: # (start of autogenerated content, do not edit)
-408 entries
+409 entries
- **[Action/Arcade](games/action/_toc.md)** (21)
- **[Adventure & Visual novels](games/adventure/_toc.md)** (15)
- **[Engines & Frameworks](games/framework/_toc.md)** (52)
- **[Libraries](games/library/_toc.md)** (22)
- **[Role Playing](games/rpg/_toc.md)** (106)
- **[Simulation](games/simulation/_toc.md)** (15)
-- **[Strategy](games/strategy/_toc.md)** (165)
+- **[Strategy](games/strategy/_toc.md)** (166)
- **[Tools & Manuals](games/misc/_toc.md)** (12)
[comment]: # (end of autogenerated content)
diff --git a/docs/data.json b/docs/data.json
index a06fd079..48335ade 100644
--- a/docs/data.json
+++ b/docs/data.json
@@ -322,7 +322,7 @@
"Strategy",
"beta / inactive since 2009",
"",
- "Source - C++ - BSD"
+ "Source - C++"
],
[
"Betrayer's Moon Tactics (home, entry)",
@@ -484,7 +484,7 @@
"Action/Arcade",
"beta / inactive since 2003",
"",
- "Source - C++ - BSD"
+ "Source - C++ - 3-clause BSD"
],
[
"Cataclysm (home, entry)",
@@ -763,7 +763,7 @@
"Strategy",
"beta / active",
"browser",
- "Source - PHP - BSD"
+ "Source - PHP - zlib"
],
[
"Digital: A Love Story (home, entry)",
@@ -1089,6 +1089,15 @@
"",
"Source - ActionScript - MIT"
],
+ [
+ "Free Mars (home, entry)",
+ "Turn based free strategy game about colonizing Mars.",
+ "Link",
+ "Strategy",
+ "mature / active",
+ "TB",
+ "Source - Java - GPL-3.0"
+ ],
[
"Free Orion (home, entry)",
"Turn-based space empire and galactic conquest (4X)..",
@@ -1365,7 +1374,7 @@
"Link",
"Role Playing",
"beta / inactive since 2009",
- "Sp, roguelike",
+ "SP, roguelike",
"Source - C++ - GPL-2.0"
],
[
@@ -1663,7 +1672,7 @@
"Engines & Frameworks",
"mature / active",
"",
- "Source - Kotlin, C - BSD-3"
+ "Source - Kotlin, C - 3-clause BSD"
],
[
"LinCity (home, entry)",
@@ -1843,7 +1852,7 @@
"Strategy",
"beta / inactive since 2010",
"",
- "Source - Java - BSD"
+ "Source - Java - 3-clause BSD"
],
[
"Meridian 59 (home, entry)",
@@ -2338,7 +2347,7 @@
"Engines & Frameworks",
"mature / active",
"3D",
- "Source - C++, C - BSD-3"
+ "Source - C++, C - 3-clause BSD"
],
[
"Pax Britannica (home, entry)",
@@ -2554,7 +2563,7 @@
"Role Playing",
"mature / inactive since 2006",
"remake, roguelike",
- "Source - C - BSD"
+ "Source - C - 3-clause BSD"
],
[
"Roguish (home, entry)",
@@ -2563,7 +2572,7 @@
"Role Playing",
"beta / inactive since 2015",
"roguelike",
- "Source - JavaScript - BSD-3"
+ "Source - JavaScript - 3-clause BSD"
],
[
"Rolemaster Office (home, entry)",
@@ -2968,7 +2977,7 @@
"Role Playing",
"mature / active",
"",
- "Source - Python - BSD"
+ "Source - Python - 3-clause BSD"
],
[
"Summoning Wars (home, entry)",
@@ -3265,7 +3274,7 @@
"Role Playing",
"beta / inactive since 2013",
"",
- "Source - GPL-2.0"
+ "Source - Python - GPL-2.0"
],
[
"Visions from the Other Side (home, entry)",
@@ -3373,7 +3382,7 @@
"Strategy",
"beta / inactive since 2009",
"",
- "Source - Python - BSD"
+ "Source - Python - 3-clause BSD"
],
[
"World of Phaos (home, entry)",
@@ -3454,7 +3463,7 @@
"Strategy",
"mature / inactive since 2005",
"",
- "Source - GPL-2.0"
+ "Source - C++ - GPL-2.0"
],
[
"Xenowar (home, entry)",
@@ -3544,7 +3553,7 @@
"Engines & Frameworks",
"mature / active",
"",
- "Source - Java - BSD"
+ "Source - Java - 3-clause BSD"
],
[
"libGDX (home, entry)",
diff --git a/games/action/_toc.md b/games/action/_toc.md
index be5c4392..239e4769 100644
--- a/games/action/_toc.md
+++ b/games/action/_toc.md
@@ -4,7 +4,7 @@
- **[Astromenace](astromenace.md)** (C++, C, GPL-3.0, mature)
- **[Boulder Dash](boulder_dash.md)** (Java, MIT, mature, inactive since 2015)
- **[Cabbages and Kings](cabbages_and_kings.md)** (Python, MIT, mature)
-- **[Cat Mother Dead Justice](catmother.md)** (C++, BSD, beta, inactive since 2003)
+- **[Cat Mother Dead Justice](catmother.md)** (C++, 3-clause BSD, beta, inactive since 2003)
- **[CommandoJS](commando_js.md)** (JavaScript, CoffeeScript, MIT, beta, inactive since 2012)
- **[Epiar](epiar.md)** (C, C++, Lua, GPL-2.0, beta)
- **[GDash](gdash.md)** (C++, MIT, beta)
diff --git a/games/action/catmother.md b/games/action/catmother.md
index f1904136..a63d0c6e 100644
--- a/games/action/catmother.md
+++ b/games/action/catmother.md
@@ -7,7 +7,7 @@ _3D-engine (C++/DirectX9) and a fully playable prototype of a 3rd person action/
- State: beta, inactive since 2003
- Code repository: https://svn.code.sf.net/p/catmother/code/ (svn)
- Code language: C++
-- Code license: BSD
+- Code license: 3-clause BSD
## Building
diff --git a/games/framework/_toc.md b/games/framework/_toc.md
index eef46e77..29b227ef 100644
--- a/games/framework/_toc.md
+++ b/games/framework/_toc.md
@@ -19,7 +19,7 @@
- **[HaxeFlixel](haxeflixel.md)** (Haxe, MIT, mature)
- **[Irrlicht Engine](irrlicht.md)** (C++, C, zlib, mature)
- **[JiGS Interactive Game System](jigs_php_rpg.md)** (JavaScript, PHP, GPL-3.0, beta)
-- **[Lightweight Java Game Library](lwjgl.md)** (Kotlin, C, BSD-3, mature)
+- **[Lightweight Java Game Library](lwjgl.md)** (Kotlin, C, 3-clause BSD, mature)
- **[Lumix Engine](lumix.md)** (C++, MIT, beta)
- **[LÖVE](loeve.md)** (C++, zlib, mature)
- **[Mana](mana_source.md)** (C++, GPL-2.0, beta)
@@ -32,7 +32,7 @@
- **[OpenFL](open_fl.md)** (Haxe, MIT, mature)
- **[OpenRPG](open_rpg.md)** (Java, Python, mature, inactive since 2013)
- **[Orx](orx.md)** (C, zlib, mature)
-- **[Panda 3D](panda3d.md)** (C++, C, BSD-3, mature)
+- **[Panda 3D](panda3d.md)** (C++, C, 3-clause BSD, mature)
- **[Polycode](polycode.md)** (C, C++, MIT, beta)
- **[Qt](qt.md)** (C++, LGPL-3.0, mature)
- **[Quad-engine](quad.md)** (Pascal, MIT, beta)
@@ -45,7 +45,7 @@
- **[Vega Strike](vegastrike.md)** (C++, GPL-2.0, mature)
- **[WorldForge](worldforge.md)** (C++, GPL-2.0, mature)
- **[ZGameEditor](zgameeditor.md)** (Pascal, MIT, mature)
-- **[jMonkeyEngine](jmonkeyengine.md)** (Java, BSD, mature)
+- **[jMonkeyEngine](jmonkeyengine.md)** (Java, 3-clause BSD, mature)
- **[libGDX](libgdx.md)** (Java, C++, C, Apache-2.0, mature)
- **[mkxp](mkxp.md)** (C++, C, GPL-2.0, mature)
- **[pyORPG](pyorpg.md)** (Python, MIT, beta, inactive since 2015)
diff --git a/games/framework/jmonkeyengine.md b/games/framework/jmonkeyengine.md
index 3044e722..94f00b79 100644
--- a/games/framework/jmonkeyengine.md
+++ b/games/framework/jmonkeyengine.md
@@ -8,7 +8,7 @@ _Game engine, made especially for Java game developers who want to create 3D gam
- State: mature
- Code repository: https://github.com/jMonkeyEngine/jmonkeyengine
- Code language: Java
-- Code license: BSD
+- Code license: 3-clause BSD
## Building
diff --git a/games/framework/lwjgl.md b/games/framework/lwjgl.md
index 833b32f7..b5372a97 100644
--- a/games/framework/lwjgl.md
+++ b/games/framework/lwjgl.md
@@ -8,7 +8,7 @@ _Java software library for video game developers._
- State: mature
- Code repository: https://github.com/LWJGL/lwjgl3
- Code language: Kotlin, C
-- Code license: BSD-3
+- Code license: 3-clause BSD
## Building
diff --git a/games/framework/panda3d.md b/games/framework/panda3d.md
index c5ce61ec..5ef26634 100644
--- a/games/framework/panda3d.md
+++ b/games/framework/panda3d.md
@@ -9,7 +9,7 @@ _Panda3D is a game engine, a framework for 3D rendering and game development for
- Keywords: 3D
- Code repository: https://github.com/panda3d/panda3d
- Code language: C++, C
-- Code license: BSD-3
+- Code license: 3-clause BSD
## Building
diff --git a/games/rpg/_toc.md b/games/rpg/_toc.md
index 1e5fd8cb..ad4d70a8 100644
--- a/games/rpg/_toc.md
+++ b/games/rpg/_toc.md
@@ -75,8 +75,8 @@
- **[PlaneShift](planeshift.md)** (C++, GPL-2.0, mature)
- **[REGoth](regoth.md)** (C++, GPL-3.0, beta)
- **[Radakan](radakan.md)** (Python, Custom, beta, inactive since 2014)
-- **[Rogue Clone IV](rogue_clone_iv.md)** (C, BSD, mature, inactive since 2006)
-- **[Roguish](roguish.md)** (JavaScript, BSD-3, beta, inactive since 2015)
+- **[Rogue Clone IV](rogue_clone_iv.md)** (C, 3-clause BSD, mature, inactive since 2006)
+- **[Roguish](roguish.md)** (JavaScript, 3-clause BSD, beta, inactive since 2015)
- **[Room for Change](room_for_change.md)** (Java, Apache-2.0, mature, inactive since 2013)
- **[RuneSword II](runesword_ii.md)** (Visual Basic, mature, inactive since 2011)
- **[S.C.O.U.R.G.E.](scourge.md)** (C++, GPL-2.0, beta, inactive since 2008)
@@ -86,7 +86,7 @@
- **[Space Station 13](space_station_13.md)** (DM, AGPL-3.0, mature)
- **[Spice Trade](spice_trade.md)** (Java, LGPL-2.0, mature, inactive since 2005)
- **[Stendhal](stendhal.md)** (Java, GPL-2.0, mature)
-- **[Story of a Lost Sky](story_of_a_lost_sky.md)** (Python, BSD, mature)
+- **[Story of a Lost Sky](story_of_a_lost_sky.md)** (Python, 3-clause BSD, mature)
- **[Summoning Wars](summoming_wars.md)** (C++, GPL-3.0, beta, inactive since 2014)
- **[Tales of Maj'Eyal](tales_of_maj_eyal.md)** (C, Lua, GPL-3.0, mature)
- **[The Clans](the_clans.md)** (C, GPL-2.0, beta, inactive since 2003)
@@ -99,7 +99,7 @@
- **[UnNetHack](unnethack.md)** (C, Custom, mature)
- **[Underworld Adventures](underworld_adventures.md)** (C++, Lua, GPL-2.0, beta, inactive since 2007)
- **[Valyria Tear](valyria_tear.md)** (Lua, C++, C, GPL, mature)
-- **[VegaTrek](vegatrek.md)** (GPL-2.0, beta, inactive since 2013)
+- **[VegaTrek](vegatrek.md)** (Python, GPL-2.0, beta, inactive since 2013)
- **[Waste's Edge](wastes_edge.md)** (Python, GPL-2.0, beta)
- **[Witch Blast](witch_blast.md)** (C++, GPL-3.0, beta, inactive since 2015)
- **[World of Phaos](world_of_phaos.md)** (PHP, GPL-2.0, mature, inactive since 2011)
diff --git a/games/rpg/goblin_hack.md b/games/rpg/goblin_hack.md
index c1be6e01..3f90ad31 100644
--- a/games/rpg/goblin_hack.md
+++ b/games/rpg/goblin_hack.md
@@ -5,7 +5,7 @@ _A roguelike OpenGL-based smooth-scrolling ASCII graphics game._
- Home: https://sourceforge.net/projects/goblinhack/
- Download: https://sourceforge.net/projects/goblinhack/files/
- State: beta, inactive since 2009
-- Keywords: Sp, roguelike
+- Keywords: SP, roguelike
- Code repository: https://github.com/goblinhack/goblinhack, https://sourceforge.net/p/goblinhack/code/HEAD/tree/ (svn)
- Code language: C++
- Code license: GPL-2.0
diff --git a/games/rpg/rogue_clone_iv.md b/games/rpg/rogue_clone_iv.md
index 6a59159c..cb59cbc1 100644
--- a/games/rpg/rogue_clone_iv.md
+++ b/games/rpg/rogue_clone_iv.md
@@ -8,7 +8,7 @@ _Reproduction of Rogue._
- Keywords: remake, roguelike
- Code repository: https://gitlab.com/Trilarion/rogueclone.git (backup of cvs), https://sourceforge.net/p/rogueclone/code/ (cvs)
- Code language: C
-- Code license: BSD
+- Code license: 3-clause BSD
See also https://github.com/naota/rogueclone2s-utf8, https://github.com/WatermelonTeam/RogueClone
diff --git a/games/rpg/roguish.md b/games/rpg/roguish.md
index fe68cfa0..e2835727 100644
--- a/games/rpg/roguish.md
+++ b/games/rpg/roguish.md
@@ -7,7 +7,7 @@ _Multiplayer, extensible rogue-like._
- Keywords: roguelike
- Code repository: https://github.com/CamHenlin/Roguish
- Code language: JavaScript
-- Code license: BSD-3
+- Code license: 3-clause BSD
## Building
diff --git a/games/rpg/story_of_a_lost_sky.md b/games/rpg/story_of_a_lost_sky.md
index f95b1ae5..cbcdbb5b 100644
--- a/games/rpg/story_of_a_lost_sky.md
+++ b/games/rpg/story_of_a_lost_sky.md
@@ -7,7 +7,7 @@ _Turn Based Strategy RPG with gameplay that is similar to Fire Emblem._
- State: mature
- Code repository: https://bitbucket.org/featheredmelody/lost-sky-project-public/src (hg)
- Code language: Python
-- Code license: BSD
+- Code license: 3-clause BSD
- Dependencies: PyGame
## Building
diff --git a/games/rpg/vegatrek.md b/games/rpg/vegatrek.md
index d40e5ab3..285ef35e 100644
--- a/games/rpg/vegatrek.md
+++ b/games/rpg/vegatrek.md
@@ -6,6 +6,7 @@ _Open source Star Trek based game (based on VegaStrike Engine) that lets you fig
- Download: https://sourceforge.net/projects/vegatrek/files/vegatrek%200.6/
- State: beta, inactive since 2013
- Code repository: https://github.com/Trilarion/vegatrek (backup of svn), https://svn.code.sf.net/p/vegatrek/code/ (svn)
+- Code language: Python
- Code license: GPL-2.0
Configuration files for the VegaStrike engine.
diff --git a/games/statistics.md b/games/statistics.md
index 22369da1..40867d58 100644
--- a/games/statistics.md
+++ b/games/statistics.md
@@ -1,13 +1,13 @@
[comment]: # (autogenerated content, do not edit)
# Statistics
-analyzed 408 entries on 2018-07-04 14:29:30
+analyzed 409 entries on 2018-07-05 10:14:37
## State
-- mature: 242 (59.3%)
-- beta: 166 (40.7%)
-- inactive: 174 (42.6%)
+- mature: 243 (59.4%)
+- beta: 166 (40.6%)
+- inactive: 174 (42.5%)
##### Inactive State
@@ -15,17 +15,17 @@ Zone of Control (2017), 3d.city (2016), Atlantis (2016), Atrinik (2016), Birth o
## Code Languages
-Without language tag: 7 (1.7%)
+Without language tag: 5 (1.2%)
-Imperium, Land of Fire, Open AL, Open General, Solaris the Game, VegaTrek, Xconq
+Imperium, Land of Fire, Open AL, Open General, Solaris the Game
##### Language frequency
- C++ (36.4%)
-- C (19.7%)
-- Java (11.8%)
-- Python (8.9%)
-- Lua (5.2%)
+- C (19.5%)
+- Java (11.9%)
+- Python (9.1%)
+- Lua (5.1%)
- JavaScript (3.7%)
- PHP (3.3%)
- C# (2.7%)
@@ -57,24 +57,23 @@ Imperium, Land of Fire, Open AL, Open General, Solaris the Game, VegaTrek, Xconq
## Code licenses
-Without license tag: 22 (5.4%)
+Without license tag: 23 (5.6%)
-8 Kingdoms, Armies, Battlefield Java, C-evo, Dark Destiny, Drop Shock, Eleconics, First Strike, H-World, Imperium, JQuest, Labyrinth of Worlds, Land of Fire, Mpango, Open General, OpenRPG, Project Helena, RuneSword II, Solar Empire, Solaris the Game, SpaceTrader for Java, sCoreForge Pathfinder Character Creator
+8 Kingdoms, Armies, Battlefield Java, Begin2, C-evo, Dark Destiny, Drop Shock, Eleconics, First Strike, H-World, Imperium, JQuest, Labyrinth of Worlds, Land of Fire, Mpango, Open General, OpenRPG, Project Helena, RuneSword II, Solar Empire, Solaris the Game, SpaceTrader for Java, sCoreForge Pathfinder Character Creator
##### Licenses frequency
- GPL-2.0 (39.1%)
-- GPL-3.0 (25.4%)
+- GPL-3.0 (25.7%)
- MIT (11.6%)
- Custom (5.7%)
- Apache-2.0 (3.3%)
-- zlib (2.3%)
-- BSD (2.1%)
+- zlib (2.6%)
+- 3-clause BSD (2.3%)
- GPL (1.3%)
- LGPL-2.1 (1.3%)
- AGPL-3.0 (1.0%)
- LGPL-3.0 (1.0%)
-- BSD-3 (0.8%)
- LGPL-2.0 (0.8%)
- MPL (0.5%)
- Artistic License (0.3%)
@@ -97,32 +96,31 @@ Without license tag: 22 (5.4%)
##### Keywords frequency
-- TBS (11.2%)
-- RTS (8.7%)
-- requires original content (7.9%)
-- roguelike (7.9%)
+- TBS (11.1%)
+- RTS (8.6%)
+- requires original content (7.8%)
+- roguelike (7.8%)
- remake (7.4%)
- MMO (7.0%)
- online (7.0%)
-- tool (5.4%)
-- SP (4.5%)
+- tool (5.3%)
+- SP (4.9%)
- MP (3.3%)
- 3D (2.9%)
- browser (2.1%)
- shooter (2.1%)
- sports (2.1%)
- visual novel (2.1%)
-- engine (1.7%)
-- popular (1.7%)
-- puzzle (1.7%)
+- engine (1.6%)
+- popular (1.6%)
+- puzzle (1.6%)
+- TB (1.2%)
- board game (1.2%)
- cards (1.2%)
- console (1.2%)
- racing (1.2%)
- 2D (0.8%)
-- TB (0.8%)
- JRPG (0.4%)
-- Sp (0.4%)
- action-rpg (0.4%)
- action/adventure (0.4%)
- editor (0.4%)
diff --git a/games/strategy/_toc.md b/games/strategy/_toc.md
index 48f81ec5..616f92fa 100644
--- a/games/strategy/_toc.md
+++ b/games/strategy/_toc.md
@@ -19,7 +19,7 @@
- **[Battle for Wesnoth](wesnoth.md)** (C++, GPL-2.0, mature)
- **[Battlefield Java](battlefield_java.md)** (Java, beta, inactive since 2011)
- **[Battles of Antargis](battles_of_antargis.md)** (C, C++, GPL-2.0, beta, inactive since 2014)
-- **[Begin2](begin2.md)** (C++, BSD, beta, inactive since 2009)
+- **[Begin2](begin2.md)** (C++, beta, inactive since 2009)
- **[Birth of the Empires](birth_of_the_empires.md)** (C++, Custom, mature, inactive since 2016)
- **[BlackNova Traders](blacknova_traders.md)** (PHP, JavaScript, GPL-2.0, beta, inactive since 2012)
- **[Blitzkrieg](blitzkrieg.md)** (Java, GPL-3.0, beta, inactive since 2012)
@@ -39,7 +39,7 @@
- **[Crown and Cutlass](crown_and_cutlass.md)** (C++, Custom, beta, inactive since 2009)
- **[Dark Destiny](dark_destiny.md)** (Java, Javascript, mature, inactive since 2016)
- **[Dark Oberon](dark_oberon.md)** (C++, GPL-2.0, mature, inactive since 2009)
-- **[Devana](devana.md)** (PHP, BSD, beta)
+- **[Devana](devana.md)** (PHP, zlib, beta)
- **[Drop Shock](drop_shock.md)** (PHP, mature, inactive since 2014)
- **[Duel Commander](duel_commander.md)** (C, GPL-3.0, beta, inactive since 2009)
- **[Dune Dynasty](dune_dynasty.md)** (C, GPL-2.0, mature, inactive since 2014)
@@ -52,6 +52,7 @@
- **[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)
+- **[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)
- **[Free heroes2 engine](free_heroes2_engine.md)** (C++, GPL-2.0, beta, inactive since 2015)
@@ -88,7 +89,7 @@
- **[Mechanized Assault & eXploration Reloaded ](maxr.md)** (C++, C, GPL-2.0, beta, inactive since 2016)
- **[MegaGlest](megaglest.md)** (C++, GPL-2.0, mature)
- **[Megamek](megamek.md)** (Java, GPL-2.0, mature)
-- **[Mercenary Commander](mercenary_commander.md)** (Java, BSD, beta, inactive since 2010)
+- **[Mercenary Commander](mercenary_commander.md)** (Java, 3-clause BSD, beta, inactive since 2010)
- **[Metal Mech](metal_mech.md)** (PHP, GPL-2.0, beta, inactive since 2006)
- **[Mpango](mpango.md)** (Java, beta, inactive since 2013)
- **[NetPanzer](netpanzer.md)** (C++, GPL-2.0, beta)
@@ -156,12 +157,12 @@
- **[Widelands](widelands.md)** (C++, Lua, GPL-2.0, mature)
- **[Wizards Magic](wizards_magic.md)** (Python, GPL-2.0, mature, inactive since 2012)
- **[Wolfpack Empire](wolfpack_empire.md)** (C, GPL-3.0, mature)
-- **[World of Heroes](world_of_heroes.md)** (Python, BSD, beta, inactive since 2009)
+- **[World of Heroes](world_of_heroes.md)** (Python, 3-clause BSD, beta, inactive since 2009)
- **[Wyrmsun](wyrmsun.md)** (Lua, C++, GPL-2.0, mature)
- **[X-Force: Fight For Destiny](x-force.md)** (Pascal, GPL-2.0, beta, inactive since 2011)
- **[XArchon](xarchon.md)** (C, C++, GPL-2.0, beta, inactive since 2003)
- **[XSera](xsera.md)** (C, Lua, MIT, beta, inactive since 2010)
-- **[Xconq](xconq.md)** (GPL-2.0, mature, inactive since 2005)
+- **[Xconq](xconq.md)** (C++, GPL-2.0, mature, inactive since 2005)
- **[Xenowar](xenowar.md)** (C, C++, GPL-3.0, mature, inactive since 2014)
- **[Zero-K](zero_k.md)** (Lua, GPL-2.0, mature)
- **[Zetawar](zetawar.md)** (Clojure, MIT, mature)
diff --git a/games/strategy/begin2.md b/games/strategy/begin2.md
index 572da501..6fc1030f 100644
--- a/games/strategy/begin2.md
+++ b/games/strategy/begin2.md
@@ -7,7 +7,6 @@ _A TCP/IP Tactical Starship Sim._
- State: beta, inactive since 2009
- Code repository: https://svn.code.sf.net/p/begin2/code/ (svn)
- Code language: C++
-- Code license: BSD
## Building
diff --git a/games/strategy/devana.md b/games/strategy/devana.md
index f6ffcdfc..2f6c2105 100644
--- a/games/strategy/devana.md
+++ b/games/strategy/devana.md
@@ -8,9 +8,9 @@ _Browser strategy game._
- Keywords: browser
- Code repository: https://gitlab.com/Trilarion/devana.git (snapshot of source releases)
- Code language: PHP
-- Code license: BSD
+- Code license: zlib
-Main web site is unavailable. License change from GPL-3.0 to BSD between version 1.5.3 and 1.6.6.
+Main web site is unavailable. License change from GPL-3.0 to zLib between version 1.5.3 and 1.6.6.
## Building
diff --git a/games/strategy/free_mars.md b/games/strategy/free_mars.md
new file mode 100644
index 00000000..ea6879fa
--- /dev/null
+++ b/games/strategy/free_mars.md
@@ -0,0 +1,17 @@
+# Free Mars
+
+_Turn based free strategy game about colonizing Mars._
+
+- Home: https://sourceforge.net/projects/freemars
+- State: mature
+- Download: https://sourceforge.net/projects/freemars/files
+- Platform: Windows, Linux, MacOs
+- Keywords: TB
+- Code repository: https://svn.code.sf.net/p/freemars/code/ (svn)
+- Code language: Java
+- Code license: GPL-3.0
+
+
+## Building
+
+- Build system: Ant
diff --git a/games/strategy/mercenary_commander.md b/games/strategy/mercenary_commander.md
index ad0a537e..a9907b62 100644
--- a/games/strategy/mercenary_commander.md
+++ b/games/strategy/mercenary_commander.md
@@ -7,7 +7,7 @@ _Turn based strategy, with simultaneous turns._
- State: beta, inactive since 2010
- Code repository: https://gitlab.com/Trilarion/mercenarycommander.git (snapshot svn)
- Code language: Java
-- Code license: BSD
+- Code license: 3-clause BSD
## Building
diff --git a/games/strategy/world_of_heroes.md b/games/strategy/world_of_heroes.md
index a4c94a6d..e6884e3e 100644
--- a/games/strategy/world_of_heroes.md
+++ b/games/strategy/world_of_heroes.md
@@ -7,7 +7,7 @@ _2D turn based strategy game, where the player commands an army in the explorati
- State: beta, inactive since 2009
- Code repository: https://gitlab.com/Trilarion/worldofheroes.git (snapshot of source releases)
- Code language: Python
-- Code license: BSD
+- Code license: 3-clause BSD
## Building
diff --git a/games/strategy/xconq.md b/games/strategy/xconq.md
index 7eed022b..b841757e 100644
--- a/games/strategy/xconq.md
+++ b/games/strategy/xconq.md
@@ -7,7 +7,7 @@ _General strategy game system._
- Download: https://sourceforge.net/projects/xconq/files/, https://sourceware.org/xconq/ftp.html
- State: mature, inactive since 2005
- Code repository: https://gitlab.com/Trilarion/xconq.git (backup of cvs), https://sourceforge.net/p/xconq/code/ (cvs)
-- Code langauge: C++
+- Code language: C++
- Code license: GPL-2.0
Historic. One of the first such projects.
diff --git a/tools/archives.json b/tools/archives.json
index ee8e687f..773c31e1 100644
--- a/tools/archives.json
+++ b/tools/archives.json
@@ -376,6 +376,7 @@
"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/",
"https://svn.code.sf.net/p/kralovstvi/code/",
diff --git a/tools/lechemindeladam_svn_to_git.py b/tools/lechemindeladam_svn_to_git.py
index 18f60ecf..a5169723 100644
--- a/tools/lechemindeladam_svn_to_git.py
+++ b/tools/lechemindeladam_svn_to_git.py
@@ -7,10 +7,30 @@ TODO check for sufficient disc space before checkout
"""
import json
+
import psutil
+
from utils.utils import *
+def remove_folders(base_folder, names):
+ if isinstance(names, str):
+ names = (names,)
+ for name in names:
+ folder = os.path.join(base_folder, name)
+ if os.path.isdir(folder):
+ shutil.rmtree(folder)
+
+
+def remove_files(base_folder, names):
+ if isinstance(names, str):
+ names = (names,)
+ for name in names:
+ file = os.path.join(base_folder, name)
+ if os.path.isfile(file):
+ os.remove(file)
+
+
def special_treatment(destination, revision):
"""
@@ -29,35 +49,31 @@ def special_treatment(destination, revision):
shutil.rmtree(os.path.join(destination, 'Holyspirit'))
# copy all important files from Holyspirit and delete it
- if 337 <= revision <= 1200:
+ if 337 <= revision <= 1700:
source = os.path.join(destination, 'Holyspirit')
if os.path.isdir(source):
data = os.path.join(source, 'Data')
if os.path.isdir(data):
- shutil.copytree(data, os.path.join(destination, 'Data'))
- files = [x for x in os.listdir(source) if x.endswith('.txt') or x.endswith('.conf')]
- for file in files:
- shutil.copy(os.path.join(source, file), destination)
+ # shutil.copytree(data, os.path.join(destination, 'Data'))
+ shutil.move(data, destination)
+ files = [x for x in os.listdir(source) if x.endswith('.txt') or x.endswith('.conf')]
+ for file in files:
+ shutil.move(os.path.join(source, file), destination)
# remove it
shutil.rmtree(source)
# remove Holyspirit3 folder
- if 464 <= revision <= 1200:
- source = os.path.join(destination, 'Holyspirit3')
- if os.path.isdir(source):
- shutil.rmtree(source)
+ if 464 <= revision <= 1700:
+ remove_folders(destination, 'Holyspirit3')
# remove Holyspirit2 folder
- if 659 <= revision <= 1200:
- source = os.path.join(destination, 'Holyspirit2')
- if os.path.isdir(source):
- shutil.rmtree(source)
+ if 659 <= revision <= 1700:
+ remove_folders(destination, 'Holyspirit2')
# remove Launcher/release
- if 413 <= revision <= 1200:
- source = os.path.join(destination, 'Launcher', 'release')
- if os.path.isdir(source):
- shutil.rmtree(source)
+ if 413 <= revision <= 1700:
+ source = os.path.join(destination, 'Launcher')
+ remove_folders(source, ('debug', 'release'))
# delete all *.dll, *.exe in base folder
if 3 <= revision <= 9:
@@ -68,18 +84,14 @@ def special_treatment(destination, revision):
# delete "cross" folder
if 42 <= revision <= 43:
- folder = os.path.join(destination, 'Cross')
- if os.path.isdir(folder):
- shutil.rmtree(folder)
+ remove_folders(destination, 'Cross')
# delete personal photos
- if 374 <= revision <= 1200:
- folder = os.path.join(destination, 'Photos')
- if os.path.isdir(folder):
- shutil.rmtree(folder)
+ if 374 <= revision <= 1700:
+ remove_folders(destination, 'Photos')
# move empire of steam out
- if 1173 <= revision <= 1200:
+ if 1173 <= revision <= 1700:
folder = os.path.join(destination, 'EmpireOfSteam')
if os.path.isdir(folder):
# move to empire path
@@ -87,29 +99,26 @@ def special_treatment(destination, revision):
shutil.move(folder, empire)
# holy editor cleanup
- if 1078 <= revision <= 1200:
+ if 1078 <= revision <= 1700:
source = os.path.join(destination, 'HolyEditor')
- for name in ('bin', 'release'):
- folder = os.path.join(source, name)
- if os.path.isdir(folder):
- shutil.rmtree(folder)
- for name in ('moc.exe',):
- file = os.path.join(source, name)
- if os.path.isfile(file):
- os.remove(file)
+ remove_folders(source, ('bin', 'release', 'debug', 'obj'))
+ remove_files(source, 'moc.exe')
# source folder cleanup
- if 939 <= revision <= 1200:
+ if 939 <= revision <= 1700:
source = os.path.join(destination, 'Source')
- for name in ('HS',):
- folder = os.path.join(source, name)
- if os.path.isdir(folder):
- shutil.rmtree(folder)
- for name in ('HS.zip',):
- file = os.path.join(source, name)
- if os.path.isfile(file):
- os.remove(file)
+ remove_folders(source, 'HS')
+ remove_files(source, 'HS.zip')
+ # Autres folder cleanup
+ if 1272 <= revision <= 1700:
+ source = os.path.join(destination, 'Autres')
+ remove_folders(source, ('conf', 'db', 'hooks', 'locks'))
+ remove_files(source, ('format', 'maj.php'))
+
+ # remove Holyspirit-Demo
+ if 1668 <= revision <= 1700:
+ remove_folders(destination, 'Holyspirit_Demo')
def delete_global_excludes(folder):
"""
@@ -160,7 +169,7 @@ def checkout(revision_start, revision_end):
for revision in range(revision_start, revision_end + 1):
# check free disc space
- if psutil.disk_usage(svn_checkout_path).free < 3e10: # 1e10 = 10 GiB
+ if psutil.disk_usage(svn_checkout_path).free < 3e10: # 1e10 = 10 GiB
print('not enough free disc space, will exit')
sys.exit(-1)
@@ -177,10 +186,12 @@ def checkout(revision_start, revision_end):
print('checkout took {:.1f}s'.format(time.time() - start_time))
-def fix_revision(revision_start, revision_end):
+def fix_revision(revision_start, revision_end=None):
"""
"""
+ if not revision_end:
+ revision_end = revision_start
assert revision_end >= revision_start
unwanted_files = {}
@@ -391,4 +402,12 @@ if __name__ == "__main__":
# fix_revision(801, 1200)
# gitify(801, 1200)
- checkout(1201, 1500)
+ # checkout(1201, 1470)
+ # fix_revision(1201, 1470)
+ # gitify(1201, 1470)
+
+ # checkout(1471, 1700)
+ # fix_revision(1471, 1700)
+ # gitify(1471, 1700)
+
+ checkout(1701, 2100)