Development of module-script generator for lr-mess, lr-mame and mame standalone
-
#gets the cheat.7z and places it in the correct path
#works perfect
wget -N -P /tmp http://cheat.retrogames.com/download/cheat0221.zip
unzip -o /tmp/cheat0221.zip cheat.7z -d $HOME/RetroPie/BIOS/mame/cheat
rm /tmp/cheat0221.zipLike you said, It works perfect. It's great
wget -nv -O /tmp/gdrivedl.py https://raw.githubusercontent.com/matthuisman/gdrivedl/master/gdrivedl.py
curl https://drive.google.com/embeddedfolderview?id=1sm6gdOcaaQaNUtQ9tZ5Q5WQ6m1OD2QY3#list | egrep -o '(\w|-){26,}' | grep entry | sed 's/entry-//g' | while read fileid ; do python /tmp/gdrivedl.py https://drive.google.com/file/d/$fileid -P $HOME/RetroPie/roms/mame/artwork ; done
rm /tmp/gdrivedl.pyrm /tmp/gdrivedl.py
I got only 38 files ( 271 Mb). I'm gonna try another run (same thing)
Example of Errors I had:
-
Thanks for trying.
Basically it also says : HTTP Error 403: Forbidden.
It looks like google detects it and then will blocks you for a time.
;-(I will search again for a solution on the internet.
-
@folly
If I zip all those files in one file to download, and after that, you manage It on the Pi. Could It be a solution? -
@dteam said in Development of module-script generator for lr-mess and mame standalone:
@folly
If I zip all those files in one file to download, and after that, you manage It on the Pi. Could It be a solution?If everything else fails, then we can try that ^^, but large files have other problems too solve..
Whoow, I just had a full test run and all files are downloaded :-)
I Basically used the sample script on this page just using 2 curl lines :
https://gist.github.com/tanaikech/f0f2d122e05bf5f971611258c22c110f
I injected the filenames and the file-id's from a handmade comma seperate file (.csv) into this sample script.I have to rewrite this a bit.
Now I am hopefull !!! -
Done rewriting.
Can you test this for me ? :fileids=(); filenames=() weblist=$(curl https://drive.google.com/embeddedfolderview?id=1sm6gdOcaaQaNUtQ9tZ5Q5WQ6m1OD2QY3#list) IFS=$'\n' GLOBIGNORE='*' command eval 'fileids=($(echo $weblist | egrep -o "(\w|-){26,}" | grep entry | sed "s/entry-//g"))' IFS=$'\n' GLOBIGNORE='*' command eval 'filenames=($(echo $weblist | tr ">" "\n" | tr "<" "\n" | grep zip | grep -v application | grep -v : ))' mkdir -p $HOME/RetroPie/roms/mame/artwork cd $HOME/RetroPie/roms/mame/artwork for index in "${!filenames[@]}"; do echo downloading : ${filenames[$index]} curl -c ./.cookie -s -L "https://drive.google.com/uc?export=download&id=${fileids[$index]}" > /dev/null curl -Lb ./.cookie "https://drive.google.com/uc?export=download&confirm=`awk '/download/ {print $NF}' ./.cookie`&id=${fileids[$index]}" -o ${filenames[$index]} done cd $HOME
How does it work :
- create empty array's (see it as an excel column with more cell's with data)
- get all data of the website and put it in the string : weblist
( using embedded folder view : http://stackoverflow.com/questions/20681974/ddg#20681975 ) - IFS is used to get all data it reads, when encountering a newline (\n), and puts it in the array
- sed, tr and grep commands filter the website so IFS will read the data
- all data, gathered in the array's, is injected in the curl commands by the for loop
-
@folly
It running right now. It seems to be faster than the other script to get the files.
new edit
162 zip files + 1 cookie file ... It works !! -
Yeahhh.. That is great !
I am now using a normal curl example and no scripts from others here,
perhaps faster that way.Maybe I have to improve it a bit :
- remove cookie afterwards or place in /tmp directory.
- try to improve writing directly in the artwork directory, without going to the directory
But for now, it will do.
Are all files coming in the correct place or do some files have to be moved ?
-
@folly said in Development of module-script generator for lr-mess and mame standalone:
Are all files coming in the correct place or do some files have to be moved ?
Mame artwork go in /home/pi/RetroPie/roms/mame/artwork
.cfg files for overlays are generated in propers folders
like: /home/pi/RetroPie/overlays/konamih/kgradius.cfg
kgradius.cfg
overlays = 1 overlay0_overlay = kgradius.png overlay0_full_screen = false overlay0_descs = 0
kgradius.png is not automatically generated
In the MAME artworks kgradius.zip we found
4 .png files and only one is the backgroung.Do you want to add the entire handheld overlay or just get the background? I,m saying that because I saw this picture for MAME in your previous post .
Personally, with the background only It's fine for me. I made some of the default.lay files that we find on google drive (svmu, pockstat, gp32, mc_tv200, sy889, etc.) and I don't know how to turn a default.lay file into a .cfg for retroarch overlay with position, size, etc.
-
@dteam said in Development of module-script generator for lr-mess and mame standalone:
kgradius.png is not automatically generated
The code you used here is only for downloading the artwork files :
https://retropie.org.uk/forum/topic/29682/development-of-module-script-generator-for-lr-mess-and-mame-standalone/46I still have to program the extraction of the .png files , but it seems it is doable / quite easy.
;-)
EDIT : I just added extraction of Background.png's (classich, gameandwatch, konamih, tigerh) in : generate-overlay-configs.sh / get-cheats-artwork-overlays.sh
I cloned it also to get-cheats-artwork-overlays.sh so we can add the download stuff later into that script.For some artwork files there are no "Background.png" files. So we will have to find a solution for that.
Do you want to add the entire handheld overlay or just get the background? I,m saying that because I saw this picture for MAME in your previous post .
Personally, with the background only It's fine for me.I only want to do the background.
-
For cheat codes with MAME, I think you will have to add
cheatpath /home/pi/RetroPie/roms/mame/cheat cheat 1
in mame.ini.
-
Added in the generate-systems-lr-mess_mame-1v8-alpha.sh script.
It will be added to themame.ini
config if installing/updating an install-<RPname>-cmd.sh module-script in the RetroPie-setup. -
How is it going with the backgrounds ?
These games have
bg.jpg
and can work in lr-mess (but not in the script yet).
kdribble
kloneran
knfl
taddams
tddragon3
tgaiden
tinday
tmchammer
trobocop2We have to find a solution for these games and probably more.
1 - So I can try to change the script so it will also detectbg.jpg
and alter the config accordingly.
But this can conflict/be a problem in the long run if more games have to be added with also different background filenames.An uniform approach would be better, I think.
Something like this :2 - So it would be nicer,I think, if
bg.jpg
is converted to aBackground.png
and that both files are kept in the archive.
3 - Or the layout is altered forBackground.png
and then keeping onlyBackground.png
is also a posibility.My intuition says option 2 .
Keeping original files and make it compatible for our project.What do you think ?
-
@folly
I'm gonna do the conversion for files in Google Drive -
@dteam said in Development of module-script generator for lr-mess and mame standalone:
@folly
I'm gonna do the conversion for files in Google DriveAre you letting me know when it's ready ?
-
@folly said in Development of module-script generator for lr-mess and mame standalone:
Are you letting me know when it's ready ?
done
I tested It, and It Works. Background.png files are converted with the appropriate namings in**/home/pi/RetroPie/overlays/home/pi/RetroPie/overlays/** "system name" -
Cool, isn't it ;-)
Next thing to do is, checking the games that don't need an overlay.
Then I will remove these games from the generating overlay script so no loose config files are generated.And there are games with 2 screens.
With these the TOP/BOTTOM or LEFT/RIGHT backgrounds have to be joined I think.
We will have to try on how this will look. -
@folly said in Development of module-script generator for lr-mess and mame standalone:
Cool, isn't it ;-)
š
When you load a game with Lr-Mess, do you have to select the overlay or it,s done automatically. On my side, I have to load It via retroarch UI
-
@dteam said in Development of module-script generator for lr-mess and mame standalone:
@folly said in Development of module-script generator for lr-mess and mame standalone:
Cool, isn't it ;-)
š
When you load a game with Lr-Mess, do you have to select the overlay or it,s done automatically. On my side, I have to load It via retroarch UI
Strange, which games did you try ?
The retroarch overlay loads automatically on my side.
I am loading with lr-mess-cmd.
The runcommand.sh will append the config if the loader name (in emulators.cfg) starts withlr-
.
Solr-mess-cmd = "...cmd...,"
. (should work), renamed tomess-cmd = "...cmd...,"
(doesn't work)/opt/retropie/emulators/retroarch/bin/retroarch --config /opt/retropie/configs/konamih/retroarch.cfg -v -L /opt/retropie/libretrocores/lr-mess/mess_libretro.so "/home/pi/RetroPie/roms/konamih/kgradius.zip" --appendconfig /dev/shm/retroarch.cfg'|'"/home/pi/RetroPie/roms/konamih/kgradius.zip.cfg"
Above execution line from the log, shows that the config is loaded :
'|'"/home/pi/RetroPie/roms/konamih/kgradius.zip.cfg"
, which will load :
( not in log) /home/pi/RetroPie/overlays/konamih/kgradius.cfg ,which will load :
( not in log) /home/pi/RetroPie/overlays/konamih/kgradius.pngCheck your /dev/shm/runcommand.log if the custom config for the overlay is present.
Check also if you have any overrides :
[INFO] [Overrides] no core-specific overrides found at /home/pi/.config/retroarch/config/MAME/MAME.cfg. [INFO] [Overrides] no content-dir-specific overrides found at /home/pi/.config/retroarch/config/MAME/konamih.cfg. [INFO] [Overrides] no game-specific overrides found at /home/pi/.config/retroarch/config/MAME/kgradius.cfg.
I have these config lines used by lr-mess (and lr-mame, I think) in /opt/retropie/configs/all/retroarch-core-options.cfg :
mame_alternate_renderer = "disabled" mame_altres = "640x480" mame_auto_save = "disabled" mame_boot_from_cli = "enabled" mame_boot_to_bios = "disabled" mame_boot_to_osd = "disabled" mame_buttons_profiles = "enabled" mame_cheats_enable = "enabled" mame_cpu_overclock = "default" mame_lightgun_mode = "none" mame_mame_4way_enable = "disabled" mame_mame_paths_enable = "disabled" mame_media_type = "rom" mame_mouse_enable = "disabled" mame_read_config = "disabled" mame_saves = "game" mame_softlists_auto_media = "enabled" mame_softlists_enable = "enabled" mame_throttle = "disabled" mame_write_config = "disabled"
You may also want to try a dummy overlay with
lr-vecx
to see if it is anlr-mess
or aretroarch
problem. -
I have this in my runncommand.log
[INFO] [Overrides] no core-specific overrides found at /home/pi/.config/retroarch/config/MAME/MAME.cfg. [INFO] [Overrides] no content-dir-specific overrides found at /home/pi/.config/retroarch/config/MAME/konamih.cfg. [INFO] [Overrides] no game-specific overrides found at /home/pi/.config/retroarch/config/MAME/kgradius.cfg.
in retroarch-core-options.cfg
mame_cheats_enable = "disabled"
The rest is the same than your.
My emulators.cfg seems to be good.
-
Ok, beats me, I have no clue why it isn't working.
Was your retroach.cfg accidentally saved when you where in the retroarch UI ?
Or did you perhaps create a game options file accidentally ?
( edit : I created a game option file, it's a core option file in /home/pi/.config/retroarch/config/MAME/.opt . It seems not the problem )*mame_cheats_enable = "disabled"
This should be on enabled if you installed one of the install-system-cmd module scripts.
My On-Screen Overlay setting looks like this.
How is yours when you run a game ?
If you do :
ls -l /home/pi/RetroPie/overlays/konamih
Are your permissions like this ? :
-rw-r--r-- 1 pi pi
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.