new entries, svn to git manual conversion of holy spirit
This commit is contained in:
parent
316e23ab17
commit
d9754b45ff
@ -3,15 +3,15 @@
|
|||||||
[Dynamic HTML table](https://trilarion.github.io/opensourcegames/) of the entries / Development [Blog](https://trilarion.blogspot.com/search/label/osgames)
|
[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)
|
[comment]: # (start of autogenerated content, do not edit)
|
||||||
409 entries
|
412 entries
|
||||||
- **[Action/Arcade](games/action/_toc.md)** (21)
|
- **[Action/Arcade](games/action/_toc.md)** (21)
|
||||||
- **[Adventure & Visual novels](games/adventure/_toc.md)** (15)
|
- **[Adventure & Visual novels](games/adventure/_toc.md)** (15)
|
||||||
- **[Engines & Frameworks](games/framework/_toc.md)** (52)
|
- **[Engines & Frameworks](games/framework/_toc.md)** (52)
|
||||||
- **[Libraries](games/library/_toc.md)** (22)
|
- **[Libraries](games/library/_toc.md)** (22)
|
||||||
- **[Role Playing](games/rpg/_toc.md)** (106)
|
- **[Role Playing](games/rpg/_toc.md)** (108)
|
||||||
- **[Simulation](games/simulation/_toc.md)** (15)
|
- **[Simulation](games/simulation/_toc.md)** (15)
|
||||||
- **[Strategy](games/strategy/_toc.md)** (166)
|
- **[Strategy](games/strategy/_toc.md)** (166)
|
||||||
- **[Tools & Manuals](games/misc/_toc.md)** (12)
|
- **[Tools & Manuals](games/misc/_toc.md)** (13)
|
||||||
|
|
||||||
[comment]: # (end of autogenerated content)
|
[comment]: # (end of autogenerated content)
|
||||||
|
|
||||||
|
@ -1260,6 +1260,15 @@
|
|||||||
"",
|
"",
|
||||||
"<a href=\"https://github.com/topherredden/freestars\">Source</a> - C++ - GPL-2.0"
|
"<a href=\"https://github.com/topherredden/freestars\">Source</a> - C++ - GPL-2.0"
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
"Fujo (<a href=\"http://sheep.art.pl/Fujo\">home</a>, <a href=\"https://github.com/Trilarion/opensourcegames/blob/master/games/rpg/fujo.md\">entry</a>)",
|
||||||
|
"Fairly classical roguelike, but with animated graphics.",
|
||||||
|
"",
|
||||||
|
"Role Playing",
|
||||||
|
"mature / inactive since 2014",
|
||||||
|
"",
|
||||||
|
"<a href=\"https://bitbucket.org/thesheep/fujo/src\">Source</a> - Python - CC BY-SA 4.0"
|
||||||
|
],
|
||||||
[
|
[
|
||||||
"GDash (<a href=\"https://bitbucket.org/czirkoszoltan/gdash\">home</a>, <a href=\"https://github.com/Trilarion/opensourcegames/blob/master/games/action/gdash.md\">entry</a>)",
|
"GDash (<a href=\"https://bitbucket.org/czirkoszoltan/gdash\">home</a>, <a href=\"https://github.com/Trilarion/opensourcegames/blob/master/games/action/gdash.md\">entry</a>)",
|
||||||
"A Boulder Dash clone which is as close to the original as..",
|
"A Boulder Dash clone which is as close to the original as..",
|
||||||
@ -1492,7 +1501,7 @@
|
|||||||
"Role Playing",
|
"Role Playing",
|
||||||
"beta / inactive since 2013",
|
"beta / inactive since 2013",
|
||||||
"action-rpg",
|
"action-rpg",
|
||||||
"<a href=\"https://svn.code.sf.net/p/lechemindeladam/code/\">Source</a> - C++ - GPL-3.0"
|
"<a href=\"https://gitlab.com/Trilarion/lechemindeladam.git\">Source</a> - C++ - GPL-3.0"
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"Ilarion (<a href=\"http://illarion.org/general/de_startpage.php\">home</a>, <a href=\"https://github.com/Trilarion/opensourcegames/blob/master/games/rpg/ilarion.md\">entry</a>)",
|
"Ilarion (<a href=\"http://illarion.org/general/de_startpage.php\">home</a>, <a href=\"https://github.com/Trilarion/opensourcegames/blob/master/games/rpg/ilarion.md\">entry</a>)",
|
||||||
@ -1899,6 +1908,15 @@
|
|||||||
"",
|
"",
|
||||||
"<a href=\"https://github.com/MonoGame/MonoGame\">Source</a> - C# - MPL"
|
"<a href=\"https://github.com/MonoGame/MonoGame\">Source</a> - C# - MPL"
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
"Monster Generator (<a href=\"https://sourceforge.net/projects/monstergenerato/\">home</a>, <a href=\"https://github.com/Trilarion/opensourcegames/blob/master/games/misc/monster_generator.md\">entry</a>)",
|
||||||
|
"Creates D&D monsters of CR 1-50 for use with the..",
|
||||||
|
"<a href=\"https://sourceforge.net/projects/monstergenerato/files/\">Link</a>",
|
||||||
|
"Tools & Manuals",
|
||||||
|
"mature / active",
|
||||||
|
"tool",
|
||||||
|
"<a href=\"https://git.code.sf.net/p/monstergenerato/code\">Source</a> - Java - MIT"
|
||||||
|
],
|
||||||
[
|
[
|
||||||
"Moria (<a href=\"https://umoria.org/\">home</a>, <a href=\"https://github.com/Trilarion/opensourcegames/blob/master/games/rpg/moria.md\">entry</a>)",
|
"Moria (<a href=\"https://umoria.org/\">home</a>, <a href=\"https://github.com/Trilarion/opensourcegames/blob/master/games/rpg/moria.md\">entry</a>)",
|
||||||
"Roguelike computer game inspired by J. R. R. Tolkien's..",
|
"Roguelike computer game inspired by J. R. R. Tolkien's..",
|
||||||
@ -3069,6 +3087,15 @@
|
|||||||
"",
|
"",
|
||||||
"<a href=\"https://gitlab.com/Trilarion/theclans.git\">Source</a> - C - GPL-2.0"
|
"<a href=\"https://gitlab.com/Trilarion/theclans.git\">Source</a> - C - GPL-2.0"
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
"The Endless Dungeons (<a href=\"https://sourceforge.net/projects/endlessdungeons/\">home</a>, <a href=\"https://github.com/Trilarion/opensourcegames/blob/master/games/rpg/endless_dungeons.md\">entry</a>)",
|
||||||
|
"A free random dungeon game RPG (Roguelike)",
|
||||||
|
"<a href=\"https://sourceforge.net/projects/endlessdungeons/files/\">Link</a>",
|
||||||
|
"Role Playing",
|
||||||
|
"mature / inactive since 2015",
|
||||||
|
"",
|
||||||
|
"<a href=\"https://github.com/Trilarion/endlessdungeons\">Source</a> - C - CC BY-NC-SA 2.0"
|
||||||
|
],
|
||||||
[
|
[
|
||||||
"The Epic of Heroes (<a href=\"https://sourceforge.net/projects/epicheroes/\">home</a>, <a href=\"https://github.com/Trilarion/opensourcegames/blob/master/games/strategy/epic_of_heroes.md\">entry</a>)",
|
"The Epic of Heroes (<a href=\"https://sourceforge.net/projects/epicheroes/\">home</a>, <a href=\"https://github.com/Trilarion/opensourcegames/blob/master/games/strategy/epic_of_heroes.md\">entry</a>)",
|
||||||
"A cooperative turn-based RPG and Strategy Game where the..",
|
"A cooperative turn-based RPG and Strategy Game where the..",
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
- **[Dungeon Mapper](dungeon_mapper.md)** (C++, GPL-3.0, beta, inactive since 2013)
|
- **[Dungeon Mapper](dungeon_mapper.md)** (C++, GPL-3.0, beta, inactive since 2013)
|
||||||
- **[GM Tools](gm_tools.md)** (C++, GPL-2.0, beta, inactive since 2004)
|
- **[GM Tools](gm_tools.md)** (C++, GPL-2.0, beta, inactive since 2004)
|
||||||
- **[JaNaG - Java Name Generator](java_ng.md)** (Java, GPL-2.0, mature, inactive since 2011)
|
- **[JaNaG - Java Name Generator](java_ng.md)** (Java, GPL-2.0, mature, inactive since 2011)
|
||||||
|
- **[Monster Generator](monster_generator.md)** (Java, MIT, mature)
|
||||||
- **[Open Legend RPG](open_legend_rpg.md)** (Text, Custom, mature)
|
- **[Open Legend RPG](open_legend_rpg.md)** (Text, Custom, mature)
|
||||||
- **[PCGen](pcgen.md)** (Java, LGPL-2.1, mature)
|
- **[PCGen](pcgen.md)** (Java, LGPL-2.1, mature)
|
||||||
- **[Pymapper](pymapper.md)** (Python, GPL-3.0, mature)
|
- **[Pymapper](pymapper.md)** (Python, GPL-3.0, mature)
|
||||||
|
15
games/misc/monster_generator.md
Normal file
15
games/misc/monster_generator.md
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# Monster Generator
|
||||||
|
|
||||||
|
_Creates D&D monsters of CR 1-50 for use with the Pathfinder ruleset._
|
||||||
|
|
||||||
|
- Home: https://sourceforge.net/projects/monstergenerato/
|
||||||
|
- State: mature
|
||||||
|
- Download: https://sourceforge.net/projects/monstergenerato/files/
|
||||||
|
- Keywords: tool
|
||||||
|
- Code repository: https://git.code.sf.net/p/monstergenerato/code
|
||||||
|
- Code language: Java
|
||||||
|
- Code license: MIT
|
||||||
|
|
||||||
|
## Building
|
||||||
|
|
||||||
|
- Build system: manual
|
@ -40,6 +40,7 @@
|
|||||||
- **[Fallen Spire](fallen_spire.md)** (Python, GPL-3.0, beta, inactive since 2009)
|
- **[Fallen Spire](fallen_spire.md)** (Python, GPL-3.0, beta, inactive since 2009)
|
||||||
- **[Freedink](freedink.md)** (C++, GPL-3.0, mature)
|
- **[Freedink](freedink.md)** (C++, GPL-3.0, mature)
|
||||||
- **[FreedroidRPG](freedroid.md)** (C, GPL-2.0, mature)
|
- **[FreedroidRPG](freedroid.md)** (C, GPL-2.0, mature)
|
||||||
|
- **[Fujo](fujo.md)** (Python, CC BY-SA 4.0, mature, inactive since 2014)
|
||||||
- **[GalaxyMage Redux](galaxymage_redux.md)** (Python, GPL-2.0, beta, inactive since 2011)
|
- **[GalaxyMage Redux](galaxymage_redux.md)** (Python, GPL-2.0, beta, inactive since 2011)
|
||||||
- **[GearHead](gearhead.md)** (Pascal, Python, LGPL-2.1, Apache-2.0, mature)
|
- **[GearHead](gearhead.md)** (Pascal, Python, LGPL-2.1, Apache-2.0, mature)
|
||||||
- **[Gee Whiz](geewhiz.md)** (C, GPL-2.0, beta, inactive since 2004)
|
- **[Gee Whiz](geewhiz.md)** (C, GPL-2.0, beta, inactive since 2004)
|
||||||
@ -90,6 +91,7 @@
|
|||||||
- **[Summoning Wars](summoming_wars.md)** (C++, GPL-3.0, beta, inactive since 2014)
|
- **[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)
|
- **[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)
|
- **[The Clans](the_clans.md)** (C, GPL-2.0, beta, inactive since 2003)
|
||||||
|
- **[The Endless Dungeons](endless_dungeons.md)** (C, CC BY-NC-SA 2.0, mature, inactive since 2015)
|
||||||
- **[The Mana World](mana_world.md)** (PHP, GPL-2.0, mature)
|
- **[The Mana World](mana_world.md)** (PHP, GPL-2.0, mature)
|
||||||
- **[The hunt for the lost rainbow jewels (Jewelhunt)](jewelhunt.md)** (Java, GPL-2.0, beta)
|
- **[The hunt for the lost rainbow jewels (Jewelhunt)](jewelhunt.md)** (Java, GPL-2.0, beta)
|
||||||
- **[Trinity Reign](trinity_reign.md)** (C++, GPL-3.0, beta, inactive since 2013)
|
- **[Trinity Reign](trinity_reign.md)** (C++, GPL-3.0, beta, inactive since 2013)
|
||||||
|
17
games/rpg/endless_dungeons.md
Normal file
17
games/rpg/endless_dungeons.md
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# The Endless Dungeons
|
||||||
|
|
||||||
|
_A free random dungeon game RPG (Roguelike)_
|
||||||
|
|
||||||
|
- Home: https://sourceforge.net/projects/endlessdungeons/
|
||||||
|
- State: mature, inactive since 2015
|
||||||
|
- Download: https://sourceforge.net/projects/endlessdungeons/files/
|
||||||
|
- Platform: Windows
|
||||||
|
- Code repository: https://github.com/Trilarion/endlessdungeons
|
||||||
|
- Code language: C
|
||||||
|
- Code license: CC BY-NC-SA 2.0
|
||||||
|
- Code dependencies: Allegro
|
||||||
|
- Assets license: CC BY-NC-SA 2.0
|
||||||
|
|
||||||
|
## Building
|
||||||
|
|
||||||
|
- Build system: None
|
14
games/rpg/fujo.md
Normal file
14
games/rpg/fujo.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# Fujo
|
||||||
|
|
||||||
|
_Fairly classical roguelike, but with animated graphics._
|
||||||
|
|
||||||
|
- Home: http://sheep.art.pl/Fujo
|
||||||
|
- State: mature, inactive since 2014
|
||||||
|
- Download: (see home)
|
||||||
|
- Code repository: https://bitbucket.org/thesheep/fujo/src (hq)
|
||||||
|
- Code language: Python
|
||||||
|
- Code license: CC BY-SA 4.0
|
||||||
|
- Code dependencies: Pygame
|
||||||
|
- Assets license: CC BY-SA 4.0
|
||||||
|
|
||||||
|
## Building
|
@ -6,7 +6,7 @@ _2D isometric hack'n'slash game (action-rpg)._
|
|||||||
- Download: https://sourceforge.net/projects/lechemindeladam/files
|
- Download: https://sourceforge.net/projects/lechemindeladam/files
|
||||||
- State: beta, inactive since 2013
|
- State: beta, inactive since 2013
|
||||||
- Keywords: action-rpg
|
- Keywords: action-rpg
|
||||||
- Code repository: https://svn.code.sf.net/p/lechemindeladam/code/ (svn), https://sourceforge.net/p/lechemindeladam/cvs/ (cvs)
|
- Code repository: https://gitlab.com/Trilarion/lechemindeladam.git (custom conversion of svn), https://svn.code.sf.net/p/lechemindeladam/code/ (svn), https://sourceforge.net/p/lechemindeladam/cvs/ (cvs)
|
||||||
- Code language: C++
|
- Code language: C++
|
||||||
- Code license: GPL-3.0
|
- Code license: GPL-3.0
|
||||||
- Dependencies: SFML
|
- Dependencies: SFML
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
[comment]: # (autogenerated content, do not edit)
|
[comment]: # (autogenerated content, do not edit)
|
||||||
# Statistics
|
# Statistics
|
||||||
|
|
||||||
analyzed 409 entries on 2018-07-05 10:14:37
|
analyzed 412 entries on 2018-07-11 11:14:48
|
||||||
|
|
||||||
## State
|
## State
|
||||||
|
|
||||||
- mature: 243 (59.4%)
|
- mature: 246 (59.7%)
|
||||||
- beta: 166 (40.6%)
|
- beta: 166 (40.3%)
|
||||||
- inactive: 174 (42.5%)
|
- inactive: 176 (42.7%)
|
||||||
|
|
||||||
##### Inactive State
|
##### Inactive State
|
||||||
|
|
||||||
Zone of Control (2017), 3d.city (2016), Atlantis (2016), Atrinik (2016), Birth of the Empires (2016), DNT (2016), Dark Destiny (2016), Dungeon Monkey Eternal (2016), FreeRCT (2016), Mechanized Assault & eXploration Reloaded (2016), Polis (2016), Battleround (2015), Boulder Dash (2015), Dash Engine (2015), Delta Engine (2015), Egoboo (2015), Free heroes2 engine (2015), M.E.W.L. (2015), Project Helena (2015), Roguish (2015), The Epic of Heroes (2015), TwinEngine (2015), Witch Blast (2015), pyORPG (2015), Argentum Online (2014), Battles of Antargis (2014), Deity (2014), Drop Shock (2014), Dune Dynasty (2014), EternalWinterWars (2014), FAR Colony (2014), Hale (2014), Heroes of Wing Commander (2014), Kingdoms (2014), Lips of Suna (2014), Open RPG Maker (2014), Open Tibia (2014), Radakan (2014), SDL Game Engine 2D (2014), Sintel The Game (2014), Summoning Wars (2014), Supremacy (2014), Turious (2014), Xenowar (2014), rpge (2014), sandbox Game Maker (2014), Bos Wars (2013), C-evo (2013), Decker (2013), DemiGod (2013), Dungeon Mapper (2013), Holyspirit (2013), MechCommander 2 Omnitech (2013), Mpango (2013), Murder In The Public Domain (2013), OpenRPG (2013), Phantasy Star Rebirth (2013), Room for Change (2013), Source of Tales (2013), Trinity Reign (2013), VegaTrek (2013), BlackNova Traders (2012), Blitzkrieg (2012), Cataclysm (2012), CommandoJS (2012), Conquests (2012), Dark City (2012), Goblin Camp (2012), Hexwar (2012), PARPG (2012), Solar Empire (2012), Thousand Parsec (2012), UFO2000 (2012), Wizards Magic (2012), Age of Magic (2011), Battlefield Java (2011), Danger from the Deep (2011), Dawn (2011), GalaxyMage Redux (2011), JaNaG - Java Name Generator (2011), KQ Lives (2011), Kobold's Quest 2 (2011), OpenMOO2 (2011), RuneSword II (2011), Skrupel - Tribute Compilation (2011), Song of Albion (2011), Star Control II: The Ur-Quan Masters (2011), UlDunAd (2011), World of Phaos (2011), X-Force: Fight For Destiny (2011), AI Wars (2010), Crimson Fields (2010), Dragon History - Dračí Historie (2010), Endgame: Singularity (2010), Heroes of Wesnoth (2010), Labyrinth of Worlds (2010), Linwarrior 3D (2010), Mercenary Commander (2010), OpenHoMM (2010), Slay (2010), Solaris the Game (2010), SpaceTrader for Java (2010), XSera (2010), 8 Kingdoms (2009), Alien Assault Traders (2009), Annchienta (2009), Ardentryst (2009), Begin2 (2009), Crown and Cutlass (2009), Dark Oberon (2009), Duel Commander (2009), Fall of Imyrin (2009), Fallen Spire (2009), FreeTrain (2009), Glest (2009), Goblin Hack (2009), ORIENT (2009), OpenPop (2009), Secret Mario Chronicles (2009), Space Trader for Windows (2009), World of Heroes (2009), A Planet's Revenge (2008), Attal: Lords of doom (2008), Avanor (2008), Freestars (2008), Mars, Land of No Mercy (2008), Meritous (2008), S.C.O.U.R.G.E. (2008), Scoreos (2008), Sengoku: Warring States of Japan (2008), Space Opera (2008), Armies (2007), Eos, Dawn of Light: A Space Opera (2007), SharpKonquest (2007), Silvertree (2007), Slash'EM (2007), Underworld Adventures (2007), Arthur's Knights (2006), Betrayer's Moon Tactics (2006), Boson (2006), Eleconics (2006), JQuest (2006), Linley's Dungeon Crawl (2006), Metal Mech (2006), RPDungeon - computer aided role playing (2006), Rogue Clone IV (2006), Visions from the Other Side (2006), GalaxyNG (2005), H-World (2005), LinCity (2005), Spice Trade (2005), WAtomic (2005), Xconq (2005), ZAngband (2005), Colonization too (2004), GM Tools (2004), Gee Whiz (2004), Openglad (2004), Promisance (2004), T-Bots (2004), AntiChess (2003), Cat Mother Dead Justice (2003), Civil (2003), Machinations (2003), Pizza Business (2003), Planetary Hoppers (2003), The Clans (2003), Wargamer (2003), XArchon (2003), Umbra (2002), Greenius' Civil War (2001), Tux Racer (2001), Operation Citadel (2000), xdigger (1999)
|
Zone of Control (2017), 3d.city (2016), Atlantis (2016), Atrinik (2016), Birth of the Empires (2016), DNT (2016), Dark Destiny (2016), Dungeon Monkey Eternal (2016), FreeRCT (2016), Mechanized Assault & eXploration Reloaded (2016), Polis (2016), Battleround (2015), Boulder Dash (2015), Dash Engine (2015), Delta Engine (2015), Egoboo (2015), Free heroes2 engine (2015), M.E.W.L. (2015), Project Helena (2015), Roguish (2015), The Endless Dungeons (2015), The Epic of Heroes (2015), TwinEngine (2015), Witch Blast (2015), pyORPG (2015), Argentum Online (2014), Battles of Antargis (2014), Deity (2014), Drop Shock (2014), Dune Dynasty (2014), EternalWinterWars (2014), FAR Colony (2014), Fujo (2014), Hale (2014), Heroes of Wing Commander (2014), Kingdoms (2014), Lips of Suna (2014), Open RPG Maker (2014), Open Tibia (2014), Radakan (2014), SDL Game Engine 2D (2014), Sintel The Game (2014), Summoning Wars (2014), Supremacy (2014), Turious (2014), Xenowar (2014), rpge (2014), sandbox Game Maker (2014), Bos Wars (2013), C-evo (2013), Decker (2013), DemiGod (2013), Dungeon Mapper (2013), Holyspirit (2013), MechCommander 2 Omnitech (2013), Mpango (2013), Murder In The Public Domain (2013), OpenRPG (2013), Phantasy Star Rebirth (2013), Room for Change (2013), Source of Tales (2013), Trinity Reign (2013), VegaTrek (2013), BlackNova Traders (2012), Blitzkrieg (2012), Cataclysm (2012), CommandoJS (2012), Conquests (2012), Dark City (2012), Goblin Camp (2012), Hexwar (2012), PARPG (2012), Solar Empire (2012), Thousand Parsec (2012), UFO2000 (2012), Wizards Magic (2012), Age of Magic (2011), Battlefield Java (2011), Danger from the Deep (2011), Dawn (2011), GalaxyMage Redux (2011), JaNaG - Java Name Generator (2011), KQ Lives (2011), Kobold's Quest 2 (2011), OpenMOO2 (2011), RuneSword II (2011), Skrupel - Tribute Compilation (2011), Song of Albion (2011), Star Control II: The Ur-Quan Masters (2011), UlDunAd (2011), World of Phaos (2011), X-Force: Fight For Destiny (2011), AI Wars (2010), Crimson Fields (2010), Dragon History - Dračí Historie (2010), Endgame: Singularity (2010), Heroes of Wesnoth (2010), Labyrinth of Worlds (2010), Linwarrior 3D (2010), Mercenary Commander (2010), OpenHoMM (2010), Slay (2010), Solaris the Game (2010), SpaceTrader for Java (2010), XSera (2010), 8 Kingdoms (2009), Alien Assault Traders (2009), Annchienta (2009), Ardentryst (2009), Begin2 (2009), Crown and Cutlass (2009), Dark Oberon (2009), Duel Commander (2009), Fall of Imyrin (2009), Fallen Spire (2009), FreeTrain (2009), Glest (2009), Goblin Hack (2009), ORIENT (2009), OpenPop (2009), Secret Mario Chronicles (2009), Space Trader for Windows (2009), World of Heroes (2009), A Planet's Revenge (2008), Attal: Lords of doom (2008), Avanor (2008), Freestars (2008), Mars, Land of No Mercy (2008), Meritous (2008), S.C.O.U.R.G.E. (2008), Scoreos (2008), Sengoku: Warring States of Japan (2008), Space Opera (2008), Armies (2007), Eos, Dawn of Light: A Space Opera (2007), SharpKonquest (2007), Silvertree (2007), Slash'EM (2007), Underworld Adventures (2007), Arthur's Knights (2006), Betrayer's Moon Tactics (2006), Boson (2006), Eleconics (2006), JQuest (2006), Linley's Dungeon Crawl (2006), Metal Mech (2006), RPDungeon - computer aided role playing (2006), Rogue Clone IV (2006), Visions from the Other Side (2006), GalaxyNG (2005), H-World (2005), LinCity (2005), Spice Trade (2005), WAtomic (2005), Xconq (2005), ZAngband (2005), Colonization too (2004), GM Tools (2004), Gee Whiz (2004), Openglad (2004), Promisance (2004), T-Bots (2004), AntiChess (2003), Cat Mother Dead Justice (2003), Civil (2003), Machinations (2003), Pizza Business (2003), Planetary Hoppers (2003), The Clans (2003), Wargamer (2003), XArchon (2003), Umbra (2002), Greenius' Civil War (2001), Tux Racer (2001), Operation Citadel (2000), xdigger (1999)
|
||||||
|
|
||||||
## Code Languages
|
## Code Languages
|
||||||
|
|
||||||
@ -21,15 +21,15 @@ Imperium, Land of Fire, Open AL, Open General, Solaris the Game
|
|||||||
|
|
||||||
##### Language frequency
|
##### Language frequency
|
||||||
|
|
||||||
- C++ (36.4%)
|
- C++ (36.2%)
|
||||||
- C (19.5%)
|
- C (19.6%)
|
||||||
- Java (11.9%)
|
- Java (12.1%)
|
||||||
- Python (9.1%)
|
- Python (9.2%)
|
||||||
- Lua (5.1%)
|
- Lua (5.1%)
|
||||||
- JavaScript (3.7%)
|
- JavaScript (3.7%)
|
||||||
- PHP (3.3%)
|
- PHP (3.3%)
|
||||||
- C# (2.7%)
|
- C# (2.7%)
|
||||||
- Pascal (2.3%)
|
- Pascal (2.2%)
|
||||||
- Ren'py (0.8%)
|
- Ren'py (0.8%)
|
||||||
- Haxe (0.6%)
|
- Haxe (0.6%)
|
||||||
- ActionScript (0.2%)
|
- ActionScript (0.2%)
|
||||||
@ -63,10 +63,10 @@ Without license tag: 23 (5.6%)
|
|||||||
|
|
||||||
##### Licenses frequency
|
##### Licenses frequency
|
||||||
|
|
||||||
- GPL-2.0 (39.1%)
|
- GPL-2.0 (38.8%)
|
||||||
- GPL-3.0 (25.7%)
|
- GPL-3.0 (25.5%)
|
||||||
- MIT (11.6%)
|
- MIT (11.7%)
|
||||||
- Custom (5.7%)
|
- Custom (5.6%)
|
||||||
- Apache-2.0 (3.3%)
|
- Apache-2.0 (3.3%)
|
||||||
- zlib (2.6%)
|
- zlib (2.6%)
|
||||||
- 3-clause BSD (2.3%)
|
- 3-clause BSD (2.3%)
|
||||||
@ -79,6 +79,8 @@ Without license tag: 23 (5.6%)
|
|||||||
- Artistic License (0.3%)
|
- Artistic License (0.3%)
|
||||||
- Boost license 1.0 (0.3%)
|
- Boost license 1.0 (0.3%)
|
||||||
- Boost-1.0 (0.3%)
|
- Boost-1.0 (0.3%)
|
||||||
|
- CC BY-NC-SA 2.0 (0.3%)
|
||||||
|
- CC BY-SA 4.0 (0.3%)
|
||||||
- CC-BY-NC (0.3%)
|
- CC-BY-NC (0.3%)
|
||||||
- CC-BY-NC-SA (0.3%)
|
- CC-BY-NC-SA (0.3%)
|
||||||
- CC-BY-SA-3 (0.3%)
|
- CC-BY-SA-3 (0.3%)
|
||||||
@ -103,14 +105,14 @@ Without license tag: 23 (5.6%)
|
|||||||
- remake (7.4%)
|
- remake (7.4%)
|
||||||
- MMO (7.0%)
|
- MMO (7.0%)
|
||||||
- online (7.0%)
|
- online (7.0%)
|
||||||
- tool (5.3%)
|
- tool (5.7%)
|
||||||
- SP (4.9%)
|
- SP (4.9%)
|
||||||
- MP (3.3%)
|
- MP (3.3%)
|
||||||
- 3D (2.9%)
|
- 3D (2.9%)
|
||||||
- browser (2.1%)
|
- browser (2.0%)
|
||||||
- shooter (2.1%)
|
- shooter (2.0%)
|
||||||
- sports (2.1%)
|
- sports (2.0%)
|
||||||
- visual novel (2.1%)
|
- visual novel (2.0%)
|
||||||
- engine (1.6%)
|
- engine (1.6%)
|
||||||
- popular (1.6%)
|
- popular (1.6%)
|
||||||
- puzzle (1.6%)
|
- puzzle (1.6%)
|
||||||
@ -137,3 +139,11 @@ Without license tag: 23 (5.6%)
|
|||||||
- source documentation generator (0.4%)
|
- source documentation generator (0.4%)
|
||||||
- text-based (0.4%)
|
- text-based (0.4%)
|
||||||
|
|
||||||
|
## Entries without download or play
|
||||||
|
|
||||||
|
82: AI Wars, Advanced Strategic Command, Ancient Beast, Atomix, Battleround, Battles of Antargis, BrowserQuest, Cabbages and Kings, Call to Power 2, Cataclysm, Choria, Classic Blades of Exile, Colossal Cave Adventure, CommandoJS, Dark Destiny, Dash Engine, Dawn, DemiGod, Drop Shock, Dungeon Monkey Eternal, EPOH, EternalWinterWars, Evil Cult, FAR Colony, Fallen Spire, Free in the Dark (engine), FreeRCT, Freeciv WebGL, Freeminer, Freestars, GalaxyMage Redux, GameLV, Gigalomania, Greenius' Civil War, Harris, Heroes of Wesnoth, Hexwar, Jagged Alliance 2 Stracciatella, JiGS Interactive Game System, KAtomic, Land of Fire, Lips of Suna, M.E.W.L., MechCommander 2 Omnitech, Mercenary Commander, Micropolis, Open AL Soft, Open Legend RPG, Open Panzer, Open Soccer Star, Open Zelda, OpenSkyscraper, OpenSoccer, Pax Britannica, Polis, Roguish, Room for Change, Scorched Moon, Scoreos, Simple-Solitaire, Sintel The Game, Smash, Song of Albion, Source of Tales, Space Station 13, Terasology, Trinity Reign, Turious, Turn of War, TwinEngine, UlDunAd, War Of Kingdom, XSera, Xenowar, Zelda: Mystery of Solarus DX, Zetawar, diablo-js, micropolisJS, pyORPG, rpge, yaml-cpp, zlib
|
||||||
|
|
||||||
|
## Entries with a code repository but not on a popular site
|
||||||
|
|
||||||
|
26: Advanced Strategic Command, Deliantra, Eleconics, Fanwor, FreeRails, FreeType, Freedink, H-World, KAtomic, Libxml2, LordsAWar!, Mechanized Assault & eXploration Reloaded , Open AL Soft, Open Rails, PARPG, Ragel, Rocks'n'Diamonds , RuneSword II, Simple DirectMedia Layer, Tales of Maj'Eyal, Turious, Waste's Edge, Wolfpack Empire, XZ Utils, pkg-config, rpge
|
||||||
|
|
||||||
|
@ -5,11 +5,12 @@ _4X strategy game in space_
|
|||||||
- Home: http://stareater4x.blogspot.com/, https://sourceforge.net/projects/zvjezdojedac/
|
- Home: http://stareater4x.blogspot.com/, https://sourceforge.net/projects/zvjezdojedac/
|
||||||
- State: beta
|
- State: beta
|
||||||
- Download: https://github.com/subchannel13/Stareater/releases
|
- Download: https://github.com/subchannel13/Stareater/releases
|
||||||
- Platform: Windows
|
- Platform: Windows, Linux, MacOS
|
||||||
- Keywords: TBS
|
- Keywords: TBS
|
||||||
- Code repository: https://github.com/subchannel13/Stareater
|
- Code repository: https://github.com/subchannel13/Stareater
|
||||||
- Code language: C#
|
- Code language: C#
|
||||||
- Code license: GPL-3.0
|
- Code license: GPL-3.0
|
||||||
|
- Code dependencies: Mono
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
"https://git.code.sf.net/p/freelords/git",
|
"https://git.code.sf.net/p/freelords/git",
|
||||||
"https://git.code.sf.net/p/gigalomania/code",
|
"https://git.code.sf.net/p/gigalomania/code",
|
||||||
"https://git.code.sf.net/p/lipsofsuna/code",
|
"https://git.code.sf.net/p/lipsofsuna/code",
|
||||||
|
"https://git.code.sf.net/p/monstergenerato/code",
|
||||||
"https://git.code.sf.net/p/mpango/git",
|
"https://git.code.sf.net/p/mpango/git",
|
||||||
"https://git.code.sf.net/p/nazghul/git",
|
"https://git.code.sf.net/p/nazghul/git",
|
||||||
"https://git.code.sf.net/p/rmoffice/code",
|
"https://git.code.sf.net/p/rmoffice/code",
|
||||||
@ -122,6 +123,7 @@
|
|||||||
"https://github.com/Trilarion/dark-oberon.git",
|
"https://github.com/Trilarion/dark-oberon.git",
|
||||||
"https://github.com/Trilarion/deity.git",
|
"https://github.com/Trilarion/deity.git",
|
||||||
"https://github.com/Trilarion/dungeonmap.git",
|
"https://github.com/Trilarion/dungeonmap.git",
|
||||||
|
"https://github.com/Trilarion/endlessdungeons.git",
|
||||||
"https://github.com/Trilarion/eos-game.git",
|
"https://github.com/Trilarion/eos-game.git",
|
||||||
"https://github.com/Trilarion/freetrain.git",
|
"https://github.com/Trilarion/freetrain.git",
|
||||||
"https://github.com/Trilarion/glest.git",
|
"https://github.com/Trilarion/glest.git",
|
||||||
@ -328,6 +330,7 @@
|
|||||||
"https://gitlab.com/Trilarion/janag.git",
|
"https://gitlab.com/Trilarion/janag.git",
|
||||||
"https://gitlab.com/Trilarion/koboldsquest2.git",
|
"https://gitlab.com/Trilarion/koboldsquest2.git",
|
||||||
"https://gitlab.com/Trilarion/kursk.git",
|
"https://gitlab.com/Trilarion/kursk.git",
|
||||||
|
"https://gitlab.com/Trilarion/lechemindeladam.git",
|
||||||
"https://gitlab.com/Trilarion/lincity.git",
|
"https://gitlab.com/Trilarion/lincity.git",
|
||||||
"https://gitlab.com/Trilarion/machinations.git",
|
"https://gitlab.com/Trilarion/machinations.git",
|
||||||
"https://gitlab.com/Trilarion/mercenarycommander.git",
|
"https://gitlab.com/Trilarion/mercenarycommander.git",
|
||||||
@ -380,7 +383,6 @@
|
|||||||
"https://svn.code.sf.net/p/freesynd/code/",
|
"https://svn.code.sf.net/p/freesynd/code/",
|
||||||
"https://svn.code.sf.net/p/fsc/code/",
|
"https://svn.code.sf.net/p/fsc/code/",
|
||||||
"https://svn.code.sf.net/p/kralovstvi/code/",
|
"https://svn.code.sf.net/p/kralovstvi/code/",
|
||||||
"https://svn.code.sf.net/p/lechemindeladam/code/",
|
|
||||||
"https://svn.code.sf.net/p/low/code/",
|
"https://svn.code.sf.net/p/low/code/",
|
||||||
"https://svn.code.sf.net/p/opencity/code/",
|
"https://svn.code.sf.net/p/opencity/code/",
|
||||||
"https://svn.code.sf.net/p/opengeneral/code/",
|
"https://svn.code.sf.net/p/opengeneral/code/",
|
||||||
@ -406,7 +408,8 @@
|
|||||||
"https://bitbucket.org/giszmo/glob2",
|
"https://bitbucket.org/giszmo/glob2",
|
||||||
"https://bitbucket.org/mstrobel/supremacy",
|
"https://bitbucket.org/mstrobel/supremacy",
|
||||||
"https://bitbucket.org/rude/love",
|
"https://bitbucket.org/rude/love",
|
||||||
"https://bitbucket.org/sumwars/sumwars-code/src"
|
"https://bitbucket.org/sumwars/sumwars-code/src",
|
||||||
|
"https://bitbucket.org/thesheep/fujo/src"
|
||||||
],
|
],
|
||||||
"bzr": [
|
"bzr": [
|
||||||
"https://code.launchpad.net/heroesofwesnoth",
|
"https://code.launchpad.net/heroesofwesnoth",
|
||||||
|
@ -3,7 +3,7 @@ The svn is too big to be automatically imported to git (and Github) because ther
|
|||||||
Needs a manual solution.
|
Needs a manual solution.
|
||||||
|
|
||||||
TODO use git lfs migrate later on the elements
|
TODO use git lfs migrate later on the elements
|
||||||
TODO check for sufficient disc space before checkout
|
TODO instead of svn export for every revision, checkout and then update to revision (reduced bandwith)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import json
|
import json
|
||||||
@ -36,6 +36,13 @@ def special_treatment(destination, revision):
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
# copy content of trunk to base
|
||||||
|
if 2270 <= revision <= 2420:
|
||||||
|
source = os.path.join(destination, 'trunk')
|
||||||
|
if os.path.isdir(source):
|
||||||
|
copy_tree(source, destination)
|
||||||
|
shutil.rmtree(source)
|
||||||
|
|
||||||
# copy all important files from Holyspirit/Holyspirit and delete it
|
# copy all important files from Holyspirit/Holyspirit and delete it
|
||||||
if 5 <= revision <= 330:
|
if 5 <= revision <= 330:
|
||||||
source = os.path.join(destination, 'Holyspirit', 'Holyspirit')
|
source = os.path.join(destination, 'Holyspirit', 'Holyspirit')
|
||||||
@ -49,31 +56,50 @@ def special_treatment(destination, revision):
|
|||||||
shutil.rmtree(os.path.join(destination, 'Holyspirit'))
|
shutil.rmtree(os.path.join(destination, 'Holyspirit'))
|
||||||
|
|
||||||
# copy all important files from Holyspirit and delete it
|
# copy all important files from Holyspirit and delete it
|
||||||
if 337 <= revision <= 1700:
|
if 337 <= revision <= 2268:
|
||||||
source = os.path.join(destination, 'Holyspirit')
|
source = os.path.join(destination, 'Holyspirit')
|
||||||
if os.path.isdir(source):
|
if os.path.isdir(source):
|
||||||
data = os.path.join(source, 'Data')
|
data = os.path.join(source, 'Data')
|
||||||
if os.path.isdir(data):
|
if os.path.isdir(data):
|
||||||
# shutil.copytree(data, os.path.join(destination, 'Data'))
|
# shutil.copytree(data, os.path.join(destination, 'Data'))
|
||||||
shutil.move(data, destination)
|
shutil.move(data, destination)
|
||||||
files = [x for x in os.listdir(source) if x.endswith('.txt') or x.endswith('.conf')]
|
target = os.path.join(destination, 'Meta')
|
||||||
|
if not os.path.isdir(target):
|
||||||
|
os.mkdir(target)
|
||||||
|
files = [x for x in os.listdir(source) if x.endswith('.txt') or x.endswith('.conf') or x.endswith('.ini')]
|
||||||
for file in files:
|
for file in files:
|
||||||
shutil.move(os.path.join(source, file), destination)
|
shutil.move(os.path.join(source, file), target)
|
||||||
|
# remove it
|
||||||
|
shutil.rmtree(source)
|
||||||
|
|
||||||
|
# copy data folder vom HolySpiritJE and delete it
|
||||||
|
if 2012 <= revision <= 2269:
|
||||||
|
source = os.path.join(destination, 'HolyspiritJE')
|
||||||
|
if os.path.isdir(source):
|
||||||
|
data = os.path.join(source, 'Data')
|
||||||
|
if os.path.isdir(data):
|
||||||
|
shutil.move(data, os.path.join(destination, 'DataJE'))
|
||||||
|
target = os.path.join(destination, 'MetaJE')
|
||||||
|
if not os.path.isdir(target):
|
||||||
|
os.mkdir(target)
|
||||||
|
files = [x for x in os.listdir(source) if x.endswith('.txt') or x.endswith('.conf') or x.endswith('.ini')]
|
||||||
|
for file in files:
|
||||||
|
shutil.move(os.path.join(source, file), target)
|
||||||
# remove it
|
# remove it
|
||||||
shutil.rmtree(source)
|
shutil.rmtree(source)
|
||||||
|
|
||||||
# remove Holyspirit3 folder
|
# remove Holyspirit3 folder
|
||||||
if 464 <= revision <= 1700:
|
if 464 <= revision <= 2268:
|
||||||
remove_folders(destination, 'Holyspirit3')
|
remove_folders(destination, 'Holyspirit3')
|
||||||
|
|
||||||
# remove Holyspirit2 folder
|
# remove Holyspirit2 folder
|
||||||
if 659 <= revision <= 1700:
|
if 659 <= revision <= 2268:
|
||||||
remove_folders(destination, 'Holyspirit2')
|
remove_folders(destination, 'Holyspirit2')
|
||||||
|
|
||||||
# remove Launcher/release
|
# remove Launcher/release
|
||||||
if 413 <= revision <= 1700:
|
if 413 <= revision <= 2420:
|
||||||
source = os.path.join(destination, 'Launcher')
|
source = os.path.join(destination, 'Launcher')
|
||||||
remove_folders(source, ('debug', 'release'))
|
remove_folders(source, ('bin', 'debug', 'release', 'obj'))
|
||||||
|
|
||||||
# delete all *.dll, *.exe in base folder
|
# delete all *.dll, *.exe in base folder
|
||||||
if 3 <= revision <= 9:
|
if 3 <= revision <= 9:
|
||||||
@ -87,11 +113,14 @@ def special_treatment(destination, revision):
|
|||||||
remove_folders(destination, 'Cross')
|
remove_folders(destination, 'Cross')
|
||||||
|
|
||||||
# delete personal photos
|
# delete personal photos
|
||||||
if 374 <= revision <= 1700:
|
if 374 <= revision <= 2267:
|
||||||
remove_folders(destination, 'Photos')
|
remove_folders(destination, 'Photos')
|
||||||
|
if 2268 <= revision <= 2420:
|
||||||
|
source = os.path.join(destination, 'Media')
|
||||||
|
remove_folders(source, 'Photos')
|
||||||
|
|
||||||
# move empire of steam out
|
# move empire of steam out
|
||||||
if 1173 <= revision <= 1700:
|
if 1173 <= revision <= 2420:
|
||||||
folder = os.path.join(destination, 'EmpireOfSteam')
|
folder = os.path.join(destination, 'EmpireOfSteam')
|
||||||
if os.path.isdir(folder):
|
if os.path.isdir(folder):
|
||||||
# move to empire path
|
# move to empire path
|
||||||
@ -99,27 +128,54 @@ def special_treatment(destination, revision):
|
|||||||
shutil.move(folder, empire)
|
shutil.move(folder, empire)
|
||||||
|
|
||||||
# holy editor cleanup
|
# holy editor cleanup
|
||||||
if 1078 <= revision <= 1700:
|
if 1078 <= revision <= 2420:
|
||||||
source = os.path.join(destination, 'HolyEditor')
|
source = os.path.join(destination, 'HolyEditor')
|
||||||
remove_folders(source, ('bin', 'release', 'debug', 'obj'))
|
remove_folders(source, ('bin', 'release', 'debug', 'obj'))
|
||||||
remove_files(source, 'moc.exe')
|
remove_files(source, 'moc.exe')
|
||||||
|
|
||||||
# source folder cleanup
|
# source folder cleanup
|
||||||
if 939 <= revision <= 1700:
|
if 939 <= revision <= 2420:
|
||||||
source = os.path.join(destination, 'Source')
|
source = os.path.join(destination, 'Source')
|
||||||
remove_folders(source, 'HS')
|
remove_folders(source, 'HS')
|
||||||
remove_files(source, 'HS.zip')
|
remove_files(source, 'HS.zip')
|
||||||
|
|
||||||
|
# sourceM folder cleanup
|
||||||
|
if 2110 <= revision <= 2270:
|
||||||
|
source = os.path.join(destination, 'SourceM')
|
||||||
|
remove_folders(source, 'HS')
|
||||||
|
|
||||||
|
# sourceNewApi cleanup
|
||||||
|
if 2261 <= revision <= 2269:
|
||||||
|
source = os.path.join(destination, 'SourceNewApi')
|
||||||
|
remove_folders(source, 'HS')
|
||||||
|
|
||||||
# Autres folder cleanup
|
# Autres folder cleanup
|
||||||
if 1272 <= revision <= 1700:
|
if 1272 <= revision <= 2267:
|
||||||
source = os.path.join(destination, 'Autres')
|
source = os.path.join(destination, 'Autres')
|
||||||
remove_folders(source, ('conf', 'db', 'hooks', 'locks'))
|
remove_folders(source, ('conf', 'db', 'hooks', 'locks'))
|
||||||
remove_files(source, ('format', 'maj.php'))
|
remove_files(source, ('format', 'maj.php'))
|
||||||
|
# Media/Other folder cleanup
|
||||||
|
if 2268 <= revision <= 2420:
|
||||||
|
source = os.path.join(destination, 'Media', 'Other')
|
||||||
|
remove_files(source, ('format', 'maj.php'))
|
||||||
|
|
||||||
# remove Holyspirit-Demo
|
# remove Holyspirit-Demo
|
||||||
if 1668 <= revision <= 1700:
|
if 1668 <= revision <= 2268:
|
||||||
remove_folders(destination, 'Holyspirit_Demo')
|
remove_folders(destination, 'Holyspirit_Demo')
|
||||||
|
|
||||||
|
# remove Debug.rar
|
||||||
|
if 1950 <= revision <= 2420:
|
||||||
|
remove_files(destination, 'Debug.rar')
|
||||||
|
|
||||||
|
# remove 3dparty folder
|
||||||
|
if 2273 <= revision <= 2420:
|
||||||
|
remove_folders(destination, '3dparty')
|
||||||
|
|
||||||
|
# branches cleanup
|
||||||
|
if 2270 <= revision <= 2420:
|
||||||
|
remove_folders(destination, 'branches')
|
||||||
|
|
||||||
|
|
||||||
def delete_global_excludes(folder):
|
def delete_global_excludes(folder):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@ -161,10 +217,13 @@ def list_large_unwanted_files(folder):
|
|||||||
return output
|
return output
|
||||||
|
|
||||||
|
|
||||||
def checkout(revision_start, revision_end):
|
def checkout(revision_start, revision_end=None):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
if not revision_end:
|
||||||
|
revision_end = revision_start
|
||||||
|
|
||||||
assert revision_end >= revision_start
|
assert revision_end >= revision_start
|
||||||
|
|
||||||
for revision in range(revision_start, revision_end + 1):
|
for revision in range(revision_start, revision_end + 1):
|
||||||
@ -182,7 +241,16 @@ def checkout(revision_start, revision_end):
|
|||||||
|
|
||||||
# checkout
|
# checkout
|
||||||
start_time = time.time()
|
start_time = time.time()
|
||||||
subprocess_run(['svn', 'export', '-r{}'.format(revision), svn_url, destination])
|
# sometimes checkout fails for reasons like "svn: E000024: Can't open file '/svn/p/lechemindeladam/code/db/revs/1865': Too many open files", we try again and again in these cases
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
|
subprocess_run(['svn', 'export', '-r{}'.format(revision), svn_url, destination])
|
||||||
|
break
|
||||||
|
except:
|
||||||
|
print('problem with export, will try again')
|
||||||
|
if os.path.isdir(destination):
|
||||||
|
shutil.rmtree(destination)
|
||||||
|
|
||||||
print('checkout took {:.1f}s'.format(time.time() - start_time))
|
print('checkout took {:.1f}s'.format(time.time() - start_time))
|
||||||
|
|
||||||
|
|
||||||
@ -410,4 +478,25 @@ if __name__ == "__main__":
|
|||||||
# fix_revision(1471, 1700)
|
# fix_revision(1471, 1700)
|
||||||
# gitify(1471, 1700)
|
# gitify(1471, 1700)
|
||||||
|
|
||||||
checkout(1701, 2100)
|
# checkout(1701, 1900)
|
||||||
|
# fix_revision(1701, 1900)
|
||||||
|
# gitify(1701, 1900)
|
||||||
|
|
||||||
|
# checkout(1901, 2140)
|
||||||
|
# fix_revision(1901, 2140)
|
||||||
|
# gitify(1901, 2140)
|
||||||
|
|
||||||
|
# checkout(2141, 2388)
|
||||||
|
# fix_revision(2141, 2388)
|
||||||
|
# gitify(2141, 2388)
|
||||||
|
|
||||||
|
# checkout(2389, 2420)
|
||||||
|
# fix_revision(2389, 2420)
|
||||||
|
# gitify(2389, 2420)
|
||||||
|
|
||||||
|
# run the following commands in the git bash
|
||||||
|
# git config credential.useHttpPath true
|
||||||
|
# git lfs install
|
||||||
|
# git lfs migrate import --include-ref=master --include="Zombie_paysan.rs.hs,Witch_monster.rs.hs,WanderingStones.rs.hs,TwoWeapons.rs.hs,TwoHands.rs.hs,TwoHand.rs.hs,Reaper.rs.hs,Peasant_crossbow.rs.hs,Peasant_club.rs.hs,OneHand.rs.hs,Offspring_champion.rs.hs,Mimic.rs.hs,LordSkeleton.rs.hs,Goule.rs.hs,ErrantRoche.rs.hs,DemonicPriest0.rs.hs,DemonicPriest.rs.hs,Brute.rs.hs,20575__dobroide__20060706.night.forest02.wav,31464__offtheline__Morning_Sounds.wav,47989__Luftrum__forestsurroundings.wav,ambiance.wav,Catacombs0.wav,Pluie.wav,Taverne fusion.png,Abbey.ogg,AgrarianLands0.ogg,AgrarianLands1.ogg,Boss0.ogg,Catacombs0.ogg,Catacombs1.ogg,DarkForest.ogg,Forest_ambient0.ogg,Johannes.ogg,OWC.ogg"
|
||||||
|
|
||||||
|
# then add remote and push (done)
|
||||||
|
@ -470,8 +470,39 @@ def generate_statistics():
|
|||||||
unique_keywords = [(l, keywords.count(l) / len(keywords)) for l in unique_keywords]
|
unique_keywords = [(l, keywords.count(l) / len(keywords)) for l in unique_keywords]
|
||||||
unique_keywords.sort(key=lambda x: x[0]) # first sort by name
|
unique_keywords.sort(key=lambda x: x[0]) # first sort by name
|
||||||
unique_keywords.sort(key=lambda x: -x[1]) # then sort by occurrence (highest occurrence first)
|
unique_keywords.sort(key=lambda x: -x[1]) # then sort by occurrence (highest occurrence first)
|
||||||
unique_keywords = ['- {} ({:.1f}%)\n'.format(x[0], x[1]*100) for x in unique_keywords]
|
unique_keywords = ['- {} ({:.1f}%)'.format(x[0], x[1]*100) for x in unique_keywords]
|
||||||
statistics += '##### Keywords frequency\n\n' + ''.join(unique_keywords) + '\n'
|
statistics += '##### Keywords frequency\n\n' + '\n'.join(unique_keywords) + '\n\n'
|
||||||
|
|
||||||
|
# no download or play field
|
||||||
|
statistics += '## Entries without download or play\n\n'
|
||||||
|
|
||||||
|
entries = []
|
||||||
|
for info in infois:
|
||||||
|
if 'download' not in info and 'play' not in info:
|
||||||
|
entries.append(info['title'])
|
||||||
|
entries.sort()
|
||||||
|
statistics += '{}: '.format(len(entries)) + ', '.join(entries) + '\n\n'
|
||||||
|
|
||||||
|
# code hosted not on github, gitlab, bitbucket, launchpad, sourceforge
|
||||||
|
popular_code_repositories = ('github.com', 'gitlab.com', 'bitbucket.org', 'code.sf.net', 'code.launchpad.net')
|
||||||
|
statistics += '## Entries with a code repository but not on a popular site\n\n'
|
||||||
|
|
||||||
|
entries = []
|
||||||
|
field = 'code repository'
|
||||||
|
for info in infois:
|
||||||
|
if info[field]:
|
||||||
|
popular = False
|
||||||
|
for repo in info[field]:
|
||||||
|
for popular_repo in popular_code_repositories:
|
||||||
|
if popular_repo in repo:
|
||||||
|
popular = True
|
||||||
|
break
|
||||||
|
# if there were repositories, but none popular, add them to the list
|
||||||
|
if not popular:
|
||||||
|
entries.append(info['title'])
|
||||||
|
# print(info[field])
|
||||||
|
entries.sort()
|
||||||
|
statistics += '{}: '.format(len(entries)) + ', '.join(entries) + '\n\n'
|
||||||
|
|
||||||
with open(statistics_path, mode='w', encoding='utf-8') as f:
|
with open(statistics_path, mode='w', encoding='utf-8') as f:
|
||||||
f.write(statistics)
|
f.write(statistics)
|
||||||
@ -654,8 +685,9 @@ def update_primary_code_repositories():
|
|||||||
|
|
||||||
if not consumed:
|
if not consumed:
|
||||||
unconsumed_entries.append([info['title'], info[field]])
|
unconsumed_entries.append([info['title'], info[field]])
|
||||||
if info['code repository']:
|
# print output
|
||||||
print('Entry "{}" unconsumed repo: {}'.format(info['title'], info[field]))
|
#if info['code repository']:
|
||||||
|
# print('Entry "{}" unconsumed repo: {}'.format(info['title'], info[field]))
|
||||||
#if not info['code repository']:
|
#if not info['code repository']:
|
||||||
# print('Entry "{}" unconsumed repo: {}'.format(info['title'], info[field]))
|
# print('Entry "{}" unconsumed repo: {}'.format(info['title'], info[field]))
|
||||||
|
|
||||||
|
@ -5,7 +5,6 @@ Utilities for the tools.
|
|||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
|
||||||
import tarfile
|
import tarfile
|
||||||
import time
|
import time
|
||||||
import urllib.request
|
import urllib.request
|
||||||
@ -156,12 +155,13 @@ def subprocess_run(cmd, display=True):
|
|||||||
print("error {} in call {}".format(result.returncode, cmd))
|
print("error {} in call {}".format(result.returncode, cmd))
|
||||||
print(result.stdout.decode('cp1252'))
|
print(result.stdout.decode('cp1252'))
|
||||||
print(result.stderr.decode('cp1252'))
|
print(result.stderr.decode('cp1252'))
|
||||||
sys.exit(-1)
|
raise RuntimeError()
|
||||||
if display:
|
if display:
|
||||||
print(' output: {}'.format(result.stdout.decode('cp1252')))
|
print(' output: {}'.format(result.stdout.decode('cp1252')))
|
||||||
return result.stdout.decode('cp1252')
|
return result.stdout.decode('cp1252')
|
||||||
|
|
||||||
|
|
||||||
|
# TODO need move_tree
|
||||||
def copy_tree(source, destination):
|
def copy_tree(source, destination):
|
||||||
"""
|
"""
|
||||||
Copies the full content of one directory into another avoiding the use of distutils.di_util.copy_tree because that
|
Copies the full content of one directory into another avoiding the use of distutils.di_util.copy_tree because that
|
||||||
|
Loading…
x
Reference in New Issue
Block a user