additions from osgameclones

This commit is contained in:
Trilarion
2020-08-21 17:27:46 +02:00
parent e8fff46e2c
commit 796c6efc64
47 changed files with 627 additions and 87 deletions

View File

@ -15,6 +15,7 @@
"https://bitbucket.org/ecwolf/ecwolf.git",
"https://bitbucket.org/fade0ff/lemmini.git",
"https://bitbucket.org/rbv/ohrrpgce-svn.git",
"https://codeberg.org/Yeldham/librerama.git",
"https://git.artsoft.org/rocksndiamonds.git",
"https://git.code.sf.net/p/allegator/alex4",
"https://git.code.sf.net/p/arianne/marauroa",
@ -147,6 +148,7 @@
"https://github.com/BZFlag-Dev/bzflag.git",
"https://github.com/BackupTheBerlios/netpanzer-svn.git",
"https://github.com/Bacon2D/Bacon2D.git",
"https://github.com/Bit-Sahil04/Isometric-Minesweeper.git",
"https://github.com/Blackvoxel/Blackvoxel.git",
"https://github.com/Blasphemer/blasphemer.git",
"https://github.com/Blecki/dwarfcorp.git",
@ -188,11 +190,15 @@
"https://github.com/Enigma-Game/Enigma.git",
"https://github.com/Ershany/Arcane-Engine.git",
"https://github.com/Esenthel/EsenthelEngine.git",
"https://github.com/Evilpersonwithnosoul/OpenYandere.git",
"https://github.com/Feneric/Anteform.git",
"https://github.com/Feneric/Minima.git",
"https://github.com/FlatRockSoft/Hovertank3D.git",
"https://github.com/FloppidyDingo/Dingo-Engine.git",
"https://github.com/FluXy/SMC.git",
"https://github.com/ForsakenX/forsaken.git",
"https://github.com/FranciscoG/javascript-E.T..git",
"https://github.com/FreeAllegiance/Allegiance.git",
"https://github.com/FreeCol/freecol.git",
"https://github.com/FreeFalcon/freefalcon-central.git",
"https://github.com/FreeRCT/FreeRCT.git",
@ -235,6 +241,7 @@
"https://github.com/KOBUGE-Games/minilens.git",
"https://github.com/KaidemonLP/Open-Fortress-Source.git",
"https://github.com/Kerndog73/EnTT-Pacman.git",
"https://github.com/Kinniken/NoxImperii.git",
"https://github.com/Kromster80/kam_remake.git",
"https://github.com/LIKO-12/LIKO-12.git",
"https://github.com/LRFLEW/OpenMC2.git",
@ -263,6 +270,7 @@
"https://github.com/Mekire/cabbages-and-kings.git",
"https://github.com/Meridian59/Meridian59.git",
"https://github.com/MonoGame/MonoGame.git",
"https://github.com/MotoLegacy/OpenFNaF.git",
"https://github.com/MovingBlocks/DestinationSol.git",
"https://github.com/MovingBlocks/Terasology.git",
"https://github.com/NY00123/refkeen.git",
@ -310,6 +318,7 @@
"https://github.com/PlatinumArts/Platinum-Arts-Sandbox-Free-Game-Maker.git",
"https://github.com/Ponup/thiefcatcher.git",
"https://github.com/Project-F/F.LF.git",
"https://github.com/Pyrdacor/freeserf.net.git",
"https://github.com/Qalthos/Tile-World.git",
"https://github.com/REGoth-project/REGoth-bs.git",
"https://github.com/REGoth-project/REGoth.git",
@ -354,6 +363,7 @@
"https://github.com/TOMB5/TOMB5.git",
"https://github.com/TVTower/TVTower.git",
"https://github.com/TalonBraveInfo/OpenHoW.git",
"https://github.com/Team--Rocket/divercity.git",
"https://github.com/Techbot/JiGS-PHP-RPG-engine.git",
"https://github.com/The-Powder-Toy/The-Powder-Toy.git",
"https://github.com/TheAssemblyArmada/Chronoshift.git",
@ -472,6 +482,7 @@
"https://github.com/budnix/ball-and-wall.git",
"https://github.com/bvschaik/julius.git",
"https://github.com/bylexus/sensitive-js.git",
"https://github.com/c99koder/DreamZZT.git",
"https://github.com/callaa/luola.git",
"https://github.com/calref/cboe.git",
"https://github.com/candybox2/candybox2.github.io.git",
@ -533,6 +544,7 @@
"https://github.com/dividuum/infon.git",
"https://github.com/djyt/cannonball.git",
"https://github.com/dmecke/OpenSoccerStar.git",
"https://github.com/dogballs/cattle-bity.git",
"https://github.com/dorkster/freeblocks.git",
"https://github.com/doxygen/doxygen.git",
"https://github.com/dreamchess/dreamchess.git",
@ -551,6 +563,7 @@
"https://github.com/eguneys/supaxl.git",
"https://github.com/ellisonleao/clumsy-bird.git",
"https://github.com/elnormous/ouzel.git",
"https://github.com/elonafoobar/elonafoobar.git",
"https://github.com/emezeske/digbuild.git",
"https://github.com/endless-sky/endless-sky.git",
"https://github.com/englercj/lttp.git",
@ -577,6 +590,7 @@
"https://github.com/fogleman/Craft.git",
"https://github.com/fph/bastet.git",
"https://github.com/fr1tz/terminal-overload.git",
"https://github.com/francot514/CivHeroes.git",
"https://github.com/francot514/FreeSims.git",
"https://github.com/freeciv/freeciv-web.git",
"https://github.com/freeciv/freeciv.git",
@ -764,6 +778,7 @@
"https://github.com/omarchehab98/io-reboot.git",
"https://github.com/omf2097/openomf.git",
"https://github.com/onaluf/RacerJS.git",
"https://github.com/oojmed/floppy-birb.git",
"https://github.com/ooxi/violetland.git",
"https://github.com/openMSX/openMSX.git",
"https://github.com/openblack/openblack.git",
@ -963,6 +978,7 @@
"https://github.com/unknown-horizons/unknown-horizons.git",
"https://github.com/unnethack/unnethack.git",
"https://github.com/urho3d/Urho3D.git",
"https://github.com/urxp/drally.git",
"https://github.com/valeriansaliou/boulder-dash.git",
"https://github.com/varunpant/CrappyBird.git",
"https://github.com/vatbub/zorkClone.git",
@ -992,16 +1008,19 @@
"https://github.com/worldforge/ember.git",
"https://github.com/wxWidgets/Phoenix.git",
"https://github.com/wxWidgets/wxWidgets.git",
"https://github.com/xLAva/JediAcademyLinux.git",
"https://github.com/xLAva/JediOutcastLinux.git",
"https://github.com/xesf/twin-e.git",
"https://github.com/xoreos/xoreos.git",
"https://github.com/xriss/gamecake.git",
"https://github.com/xtreme8000/BetterSpades.git",
"https://github.com/xythobuz/OpenRaider.git",
"https://github.com/xyzz/openmw-android.git",
"https://github.com/yairm210/UnCiv.git",
"https://github.com/yeKcim/warmux.git",
"https://github.com/yiotro/Antiyoy.git",
"https://github.com/yquake2/yquake2.git",
"https://github.com/yuv422/cosmo-engine.git",
"https://github.com/yvt/openspades.git",
"https://github.com/zaki/irrlicht.git",
"https://github.com/zaps166/NFSIISE.git",
@ -1027,6 +1046,7 @@
"https://gitlab.com/lierolibre/lierolibre.git",
"https://gitlab.com/luckeyproductions/Quatter.git",
"https://gitlab.com/luckeyproductions/heXon.git",
"https://gitlab.com/m210/DukeGDX.git",
"https://gitlab.com/manaplus/manaplus.git",
"https://gitlab.com/open-runescape-classic/core.git",
"https://gitlab.com/open-runescape-classic/single-player.git",

View File

@ -387,7 +387,6 @@ https://github.com/WagicProject/wagic
https://github.com/wesnoth/haldric
https://github.com/WohlSoft/PGE-Project
https://github.com/xrOxygen/xray-oxygen
https://github.com/xtreme8000/BetterSpades
https://github.com/YuriiSalimov/15-puzzle
https://github.com/Zal0/ZGB
https://github.com/zurn/zapper (or any other tapper clone)

View File

@ -142,7 +142,7 @@ def check_validity_external_links():
regex = re.compile(r"[\s\n]<(http.+?)>|\]\((http.+?)\)|[\s\n](http[^\s\n,]+?)[\s\n\)]")
# ignore the following patterns (they give false positives here)
ignored_urls = ('https://git.tukaani.org/xz.git', 'https://git.code.sf.net/', 'http://hg.hedgewars.org/hedgewars/', 'https://git.xiph.org/vorbis.git', 'http://svn.uktrainsim.com/svn/openrails')
ignored_urls = ('https://git.tukaani.org/xz.git', 'https://git.code.sf.net/', 'http://hg.hedgewars.org/hedgewars/', 'https://git.xiph.org/vorbis.git', 'http://svn.uktrainsim.com/svn/openrails', 'https://www.srb2.org/', 'http://wiki.srb2.org/')
# some do redirect, but we nedertheless want the original URL in the database
redirect_okay = ('https://octaforge.org/', 'https://svn.openttd.org/', 'https://godotengine.org/download')
@ -215,7 +215,7 @@ def check_validity_external_links():
print(output.format(names, url, redirected_url))
except Exception as e:
error_name = type(e).__name__
if error_name == 'SSLError' and url.startswith('https://gitorious.org/'):
if error_name == 'SSLError' and any((url.startswith(x) for x in ('https://gitorious.org/', 'https://www.freedroid.org/download/'))):
continue # even though verify is False, these errors still get through
print('{}: {} - exception {}'.format(names, url, error_name))
@ -1041,7 +1041,7 @@ if __name__ == "__main__":
export_git_code_repositories_json()
# check external links (only rarely)
check_validity_external_links()
# check_validity_external_links()
# sort rejected games list file
sort_text_file(os.path.join(c.root_path, 'code', 'rejected.txt'), 'rejected games list')

View File

@ -42,11 +42,10 @@ from utils import constants, utils, osg
# should change on osgameclones
osgc_name_aliases = {'4DTris': '4D-TRIS', 'fheroes2': 'Free Heroes 2', 'DrCreep': 'The Castles of Dr. Creep',
'Duke3d_win32': 'Duke3d_w32', 'erampage (EDuke32 fork)': 'erampage', 'GNOME Atomix': 'Atomix',
'Head over Heels 2': 'Head over Heels',
'Duke3d_win32': 'Duke3d_w32', 'GNOME Atomix': 'Atomix', 'Head over Heels 2': 'Head over Heels',
'mewl': 'M.E.W.L.', 'LinWarrior': 'Linwarrior 3D', 'Mice Men Remix': 'Mice Men: Remix',
'OpenApoc': 'Open Apocalypse', 'open-cube': 'Open Cube', 'open-horizon': 'Open Horizon',
'opengl_test_drive_clone': 'OpenGL Test Drive Remake',
'opengl_test_drive_clone': 'OpenGL Test Drive Remake', "Freenukum Jump'n Run": 'Freenukum',
'Play Freeciv!': 'Freeciv-web', 'ProjectX': 'Forsaken',
'Siege of Avalon Open Source': 'Siege of Avalon : Open Source', 'ss13remake': 'SS13 Remake',
'shadowgrounds': 'Shadowgrounds', 'RxWars': 'Prescription Wars',
@ -67,13 +66,13 @@ osgc_ignored_entries = ["A Mouse's Vengeance", 'achtungkurve.com', 'AdaDoom3', '
'datastorm', 'div-columns', 'div-pacman2600', 'div-pitfall', 'div-spaceinvaders2600', 'EXILE',
'Free in the Dark',
'Football Manager', 'Fight Or Perish', 'EarthShakerDS', 'Entombed!', 'FreeRails 2',
'Glest Advanced Engine', 'FreedroidClassic', 'FreeFT', 'Future Blocks', 'HeadOverHeels'
, 'Herzog 3D', 'Homeworld SDL', 'imperialism-remake', 'Jumping Jack 2: Worryingly Familiar',
'Glest Advanced Engine', 'FreedroidClassic', 'FreeFT', 'Future Blocks', 'HeadOverHeels',
'Herzog 3D', 'Homeworld SDL', 'imperialism-remake', 'Jumping Jack 2: Worryingly Familiar',
'Jumping Jack: Further Adventures', 'Jumpman', 'legion', 'KZap', 'LastNinja', 'Lemmix', 'LixD',
'luminesk5', 'Manic Miner', 'Meridian 59 Server 105', 'Meridian 59 German Server 112',
'Mining Haze', 'OpenGeneral', 'MonoStrategy', 'New RAW', 'OpenDeathValley', 'OpenOutcast',
'openStrato', 'OpenPop', 'pacman',
'Phavon', 'PKMN-FX', 'Project: Xenocide', 'pyspaceinvaders', 'PyTouhou', 'Racer',
'Phavon', 'Project: Xenocide', 'pyspaceinvaders', 'PyTouhou', 'Racer',
'Ruby OMF 2097 Remake', 'Snipes', 'Spaceship Duel', 'Space Station 14', 'Starlane Empire',
'Styx', 'Super Mario Bros With SFML in C#', 'thromolusng', 'Tile World 2', 'Tranzam',
'Voxelstein 3D', 'XQuest 2',
@ -129,7 +128,7 @@ if __name__ == "__main__":
root_path = os.path.realpath(os.path.join(os.path.dirname(__file__), os.path.pardir))
# import the osgameclones data
osgc_path = os.path.realpath(os.path.join(root_path, os.path.pardir, '11_osgameclones.git', 'games'))
osgc_path = os.path.realpath(os.path.join(root_path, os.path.pardir, 'osgameclones.git', 'games'))
osgc_files = os.listdir(osgc_path)
# iterate over all yaml files in osgameclones/data folder and load contents
@ -148,6 +147,7 @@ if __name__ == "__main__":
print('Currently {} entries in osgameclones'.format(len(osgc_entries)))
# check: print all git repos with untypical structure
untypical_structure = ''
for osgc_entry in osgc_entries:
name = osgc_entry['name']
if 'repo' in osgc_entry:
@ -156,14 +156,16 @@ if __name__ == "__main__":
osgc_repos = [osgc_repos]
for repo in osgc_repos:
if 'github' in repo and any((repo.endswith(x) for x in ('/', '.git'))):
print('{} : {}'.format(osgc_entry['name'], repo))
untypical_structure += ' {} : {}\n'.format(osgc_entry['name'], repo)
if untypical_structure:
print('Git repos with untypical URL\n{}'.format(untypical_structure))
# which fields do they have
osgc_fields = set()
for osgc_entry in osgc_entries:
osgc_fields.update(osgc_entry.keys())
osgc_fields = sorted(list(osgc_fields))
print('Unique osgc-fields: {}'.format(', '.join(osgc_fields)))
print('Unique osgc-fields\n {}'.format(', '.join(osgc_fields)))
for field in osgc_fields:
if field in ('video', 'feed', 'url', 'repo', 'info', 'updated', 'images', 'name', 'originals'):
@ -200,7 +202,7 @@ if __name__ == "__main__":
osgc_licenses = entry['license']
osgc_licenses = [osgc_licenses_map.get(x, x) for x in osgc_licenses]
entry['license'] = osgc_licenses
# fix content (add suffix content
# fix content (add suffix content)
if 'content' in entry:
osgc_content = entry['content']
if isinstance(osgc_content, str):
@ -243,12 +245,11 @@ if __name__ == "__main__":
our_names -= common_names
print('{} in both, {} only in osgameclones, {} only with us'.format(len(common_names), len(osgc_names),
len(our_names)))
# find similar names among the rest
# print('look for similar names')
# for osgc_name in osgc_names:
# for our_name in our_names:
# if osg.game_name_similarity(osgc_name, our_name) > similarity_threshold:
# if osg.name_similarity(osgc_name, our_name) > similarity_threshold:
# print(' {} - {}'.format(osgc_name, our_name))
newly_created_entries = 0
@ -471,8 +472,9 @@ if __name__ == "__main__":
osgc_multiplayer = [osgc_multiplayer]
keywords.append('multiplayer {}'.format(' + '.join(osgc_multiplayer)))
if 'content' in osgc_entry:
osgc_content = osgc_entry['content']
keywords.append('{} content'.format(osgc_content))
osgc_content = osgc_entry['content'] # it's a list
osgc_content = ', '.join(osgc_content)
keywords.append(osgc_content)
if keywords:
entry += '- Keywords: {}\n'.format(', '.join(keywords))