tkashkin / GameHub

All your games in one place
https://tkashkin.github.io/projects/gamehub
GNU General Public License v3.0
2.25k stars 129 forks source link

GameHub fails to detect some games using Dosbox #197

Closed neuromancer closed 5 years ago

neuromancer commented 5 years ago

Certain games such as Descent and Ultima Underworld 2 are not properly detected as dosbox games because their configuration files are located in __support/app.

neuromancer commented 5 years ago

Uhm, this looks un-fixed. GameHub should move all the files from app into the install_dir folder and all the files from __support/app into the install_dir folder. However, I don't think the code we have is doing that:

FSUtils.mv_up(runnable.install_dir, "__support");
FSUtils.mv_up(runnable.install_dir, "app");
tkashkin commented 5 years ago

It will move ./__support/app/* -> ./app/* and then ./app/* -> ./*.

neuromancer commented 5 years ago

Uhm, for some reason it doesn't work:

[DEBUG]  [Utils.run] {'/usr/bin/innoextract' '-e' '-m' '-d' '/home/g/Games/GOG/Descent' '--gog' '/home/g/Games/Collections/GOG/Descent/setup_descent_1.4a_(16596).exe'}; dir: '/home/g/Games/Collections/GOG/Descent'
[DEBUG]  [GLib] posix_spawn avoided (workdir specified) (fd close requested)
Extracting "Descent" - setup data version 5.5.7 (unicode)
 - "app/DOSBOX/GOGDOSConfig.exe" - overwritten
 - "app/goggame-1207663083.ico" - overwritten
 - "app/DOSBOX/dosbox-0.74.tar.gz"
 - "app/DOSBOX/DOSBox.exe"
 - "app/DOSBOX/SDL.dll"
 - "app/DOSBOX/SDL_net.dll"
 - "app/DOSBOX/Documentation/dosbox_AUTHORS.txt"
 - "app/DOSBOX/Documentation/dosbox_COPYING.txt"
 - "app/DOSBOX/Documentation/dosbox_INSTALL.txt"
 - "app/DOSBOX/Documentation/dosbox_NEWS.txt"
 - "app/DOSBOX/Documentation/dosbox_README.txt"
 - "app/DOSBOX/Documentation/dosbox_THANKS.txt"
 - "app/DOSBOX/Video Codec/Video Instructions.txt"
 - "app/DOSBOX/Video Codec/zmbv.dll"
 - "app/DOSBOX/Video Codec/zmbv.inf"
 - "app/DOSBOX/GOGDOSConfig.exe"
 - "app/__support/scriptinterpreter.exe"
 - "app/webcache.zip"
 - "app/goggame-1207663083.script"
 - "app/CHAOS.HOG"
 - "app/CHAOS.MSN"
 - "app/DESCENT.B50"
 - "app/DESCENT.BAT"
 - "app/DESCENT.DEM"
 - "app/DESCENT.FAQ"
 - "app/DESCENT.HOG"
 - "app/DESCENT.M50"
 - "app/DESCENT.PHX"
 - "app/DESCENT.PIG"
 - "app/DESCENT2.ADV"
 - "app/DESCENTG.INI"
 - "app/DESCENTR.EXE"
 - "app/DEVTEAM.PCX"
 - "app/goggame-1207663083.hashdb"
 - "app/goggame-1207663083.ico"
 - "app/goggame-1207663083.info"
 - "app/HMIDET.386"
 - "app/HMIDRV.386"
 - "app/HMIMDRV.386"
 - "app/LEVEL18.DEM"
 - "app/Manual.pdf"
 - "app/MINIBOSS.DEM"
 - "app/PCXVIEW.EXE"
 - "app/PHQGHUME.AYL"
 - "app/readme.txt"
 - "app/RefCard.pdf"
 - "app/SETUP.EXE"
 - "app/__support/app/DESCENT.CFG"
 - "app/__support/app/dosboxDescent.conf"
 - "app/__support/app/dosboxDescent_client.conf"
 - "app/__support/app/dosboxDescent_server.conf"
 - "app/__support/app/dosboxDescent_settings.conf"
 - "app/__support/app/dosboxDescent_single.conf"
Done.
[DEBUG]  [FSUtils.mv_up] /home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/webcache.zip' -> '/home/g/Games/GOG/Descent/webcache.zip'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/goggame-1207663083.script' -> '/home/g/Games/GOG/Descent/goggame-1207663083.script'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/CHAOS.HOG' -> '/home/g/Games/GOG/Descent/CHAOS.HOG'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/CHAOS.MSN' -> '/home/g/Games/GOG/Descent/CHAOS.MSN'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/DESCENT.B50' -> '/home/g/Games/GOG/Descent/DESCENT.B50'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/DESCENT.BAT' -> '/home/g/Games/GOG/Descent/DESCENT.BAT'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/DESCENT.DEM' -> '/home/g/Games/GOG/Descent/DESCENT.DEM'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/DESCENT.FAQ' -> '/home/g/Games/GOG/Descent/DESCENT.FAQ'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/DESCENT.HOG' -> '/home/g/Games/GOG/Descent/DESCENT.HOG'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/DESCENT.M50' -> '/home/g/Games/GOG/Descent/DESCENT.M50'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/DESCENT.PHX' -> '/home/g/Games/GOG/Descent/DESCENT.PHX'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/DESCENT.PIG' -> '/home/g/Games/GOG/Descent/DESCENT.PIG'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/DESCENT2.ADV' -> '/home/g/Games/GOG/Descent/DESCENT2.ADV'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/DESCENTG.INI' -> '/home/g/Games/GOG/Descent/DESCENTG.INI'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/DESCENTR.EXE' -> '/home/g/Games/GOG/Descent/DESCENTR.EXE'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/DEVTEAM.PCX' -> '/home/g/Games/GOG/Descent/DEVTEAM.PCX'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/goggame-1207663083.hashdb' -> '/home/g/Games/GOG/Descent/goggame-1207663083.hashdb'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/goggame-1207663083.ico' -> '/home/g/Games/GOG/Descent/goggame-1207663083.ico'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/goggame-1207663083.info' -> '/home/g/Games/GOG/Descent/goggame-1207663083.info'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/HMIDET.386' -> '/home/g/Games/GOG/Descent/HMIDET.386'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/HMIDRV.386' -> '/home/g/Games/GOG/Descent/HMIDRV.386'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/HMIMDRV.386' -> '/home/g/Games/GOG/Descent/HMIMDRV.386'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/LEVEL18.DEM' -> '/home/g/Games/GOG/Descent/LEVEL18.DEM'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/Manual.pdf' -> '/home/g/Games/GOG/Descent/Manual.pdf'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/MINIBOSS.DEM' -> '/home/g/Games/GOG/Descent/MINIBOSS.DEM'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/PCXVIEW.EXE' -> '/home/g/Games/GOG/Descent/PCXVIEW.EXE'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/PHQGHUME.AYL' -> '/home/g/Games/GOG/Descent/PHQGHUME.AYL'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/readme.txt' -> '/home/g/Games/GOG/Descent/readme.txt'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/RefCard.pdf' -> '/home/g/Games/GOG/Descent/RefCard.pdf'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/SETUP.EXE' -> '/home/g/Games/GOG/Descent/SETUP.EXE'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/__support' -> '/home/g/Games/GOG/Descent/__support'
[DEBUG]  [FSUtils.mv_up] '/home/g/Games/GOG/Descent/.gh_app_d2a57dc1d883fd21fb9951699df71cc7/DOSBOX' -> '/home/g/Games/GOG/Descent/DOSBOX'
tkashkin commented 5 years ago

Ok, it's app/__support/app. I'll fix it later.

tkashkin commented 5 years ago

I guess cd84abf should work.

It may break some games if they have app or __support directories, but that seems unlikely and I have no idea how to handle this case.

neuromancer commented 5 years ago

It works!