• 0 Votes
    10 Posts
    458 Views
    S

    @MortalWombat said in Tips on insuring that RetroPie will save battery games & Metadata changes?:

    Is there anyway to search the results?? Hopefully by searching just "autosave" or "interval"??

    You can use ctrl-w to search within the document while it's open in nano.

  • 0 Votes
    4 Posts
    720 Views
    WeirdHW

    @ExarKunIv said in Safe One Button Shutdown for Retropie/Retroarch/Raspberry Pi:

    @robertm this is the one i have used and i have not come across any problems with it

    https://github.com/crcerror/ES-generic-shutdown

    Seconded. Once you configure it, it works like a charm. I can even shutdown safely while a game is still running.

  • 0 Votes
    4 Posts
    922 Views
    B

    Aha, I actually figured out how to make it work, for anyone reading this in the future!

    The problem is for whatever reason the entry that emulationstation creates just starts with "roms/gbc." It works once you simply replace "roms/" with "./" in front of that, which is what is listed for the paths for games before the rom name too (and I suppose substitutes for the entire filepath to the root folder). So adding this to my sgb gamelist...

    alt text

    Creates this in my emulationstation system for SGB:

    alt text

    Which is exactly what I was hoping for. Clicking through those two directories takes me to all my SGB-compatible GB and GBC games, and I didn't need to add duplicate roms to do it as the gamelist points to the GB/GBC rom locations I have for those systems. Woohoo!

  • 0 Votes
    4 Posts
    305 Views
    J

    @cyperghost , I have installed your multi_switch.sh script on my setup but it's not working. I've set it up for onoffshim as I'm using a Pimoroni PicadeX hat. If I run the script from the command line, it works as expected, but if I press the power button to shutdown, it doesn't save hi-scores etc. I have just double checked everything and now the Pi has went into a loop of shutting down straight after it executes the script in the first line of autostart.sh. I must be making a mistake somewhere, just darned if I know what I've done wrong!

    I've used another SD card to boot up and get access to my setup. Here is my autostart.sh file. I load the script, then use Runcommand to run my chosen emulator and ROM, then finally if I quit out of the emulator, it loads emulationstation.

    sudo /home/pi/RetroPie/scripts/multi_switch.sh --onoffshim & /opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ "arcade" "/home/pi/RetroPie/roms/arcade/starwars.zip" wait $1 emulationstation --no-splash #auto

    I've removed the sudo command from the first line and I can get back in again. Any ideas on what's going wrong?

  • Metadata displaying from folder of roms

    Help and Support
    14
    0 Votes
    14 Posts
    1k Views
    Z

    @stevejp1978 Had to create an account just to say what a great idea that was. I just did the exact same thing. It was driving me nuts that the folders wouldnt get metadata. Especially when the folder contains 19 files that all have the same metadata

  • Metadata being changed on exit

    Moved Help and Support
    10
    0 Votes
    10 Posts
    820 Views
    mituM

    The issue has been fixed in the latest dev release, can you grab the @jdrassa's continuous build for Windows and check it out ?

  • 1 Votes
    1 Posts
    736 Views
    No one has replied
  • 3 Votes
    6 Posts
    1k Views
    mituM

    @psb The poster hasn't been on this forum for 1 year and bumping old topics is bad forum etiquette. If you have a question, then open a new topic and ask away - don't re-open years old topics.

  • 0 Votes
    121 Posts
    17k Views
    S

    @cyperghost ok I figured it out :)
    it's a little bit of a bug but totally fixable.

    ES uses both gamelist.xml found at /opt/retropie/configs/all/emulationstation/gamelists/"console"/ and /home/pi/RetroPie/roms/"console"/

    so if there's no gamelist.xml in the console folder under roms, it will use the one found in configs. for some reason it doesn't remove entries, only adds them.

    it will also not untag favorites if you DO have a gamelist.xml in your roms but DON'T have an entry in your gamelist.xml for the tagged favorite game.

    Best word of advice: scrape like you've never scraped before lol

  • 0 Votes
    6 Posts
    1k Views
    mediamogulM

    @jenslyn87

    Very nice!

  • 0 Votes
    20 Posts
    3k Views
    V

    Does anyone have any further suggestions before I give up on this?

  • 0 Votes
    4 Posts
    2k Views
    AphexA

    @jell yes, sorry for having described my problem poorly, it is all in lowercase indeed (downloaded_images, rom folder, gamelist folder and all the path references)

    @jonnykesh you nailed it... just wow... i thought gamelist files were only located in the specific /gamelists/xxx/ folder and never noticed there could be one inside the /roms/xxx/ folder as well. I always worked with the former one. Now i feel stupid. I guess having spent an entire day on that is punishment enough. While i was also thinking of a possible second gamelist file, i initiated a file search via WinSCP from root directory and it would only show me the ones located in ./opt/retropie/configs/all/emulationstation/gamelists/xxx/ I now figured the one in the /roms/xxx/ folder is optionnal but will take priority over the one in /gamelists/xxx/ folder.

    Thanks guys!

  • 0 Votes
    8 Posts
    1k Views
    cyperghostC

    @meleu said in ensuring ES gracefully finish ... annother approach:

    @caver01 it wouldn't work for any shutdown. And I'm afraid it wouldn't work in any case. And you guessed the reason: "those files created by ES too short-lived".

    edit: as you can see in emulation.sh script, those files are removed right before calling reboot|poweroff, then killes.sh won't be able to see them.

    Correct - the files are not living to long to check via testcommand fileexistance!
    Therefore the incron job triggers existance of files and gives feedback to script!
    This works in any cases!

    I did long testing with this and all files ... even if they were created and removed like

    touch /tmp/testfile.dat && rm /tmp/testfile.dat

    The script was always triggered. So YES this solution is working as else. But I was in need to use two more files... that give "feedback" what was triggered now?

    Is it a shutdown via software? >> action_software-file is created and checked
    Is it a shutdown via hardware? >> action_hardware-file is created and checked

    So how does a software shutdown + GPIO triggering works?

    Quit Menu -- ES Shutdown ES creates file /tmp/es-shutdown incron triggers script and realizes "action_software" /tmp/es-shutdown is removed by ES shutdown script .... incron trigger is still active incronscript triggers GPIO and set transistor to high Now... the button shutdown script from Mausberry, bash, python... as you like is triggered (as a button press is recognizes) This button shutdown script calls again the incron script /home/pi/incrontrol.sh button-shutdown in the incrontrol.sh is a check for file ... "action_software" for usecase button-shutdown > Exit in background the ES shutdown is still performed GPIO is triggered, mausberry is off, regular shutdown performed

    @meleu said in ensuring ES gracefully finish ... annother approach:

    @caver01 the simplest solution I can think is to use a systemd trick again. Let's discuss on your thread to not mess this one.

    As I said in OP ... the systemd trick is a general solution and seems easier to maintain.
    But there are always many roads that leads to rome: Let us collect experience

  • 15 Votes
    96 Posts
    34k Views
    cyperghostC

    @tictac_93 This works in most cases ... yes

    But look. You take PID of runcommand and use pkill -P switch to kill child PID. That works in most cases but some emulators also just call annother process and this won't be catched by your method. You need at least annother pkill -P call.

    You should just use your python script and you can use the multi_switch and it's command line options. Therefore use a python call like output = int(subprocess.check_output(['./multi_switch.sh', '--es-pid'])) and you can check if ES is running. If the ouput is 0 then python interprets this as false if a PID is detected the value is grater than 0 - this interprets python as true.
    So the sniplet in python itself would be look like this.

    if output: os.system("./multi_switch.sh --es-poweroff") else: os.system("sudo shutdown -h now")
  • 0 Votes
    5 Posts
    5k Views
    pjftP

    I'd unfortunately second @Capeman 's suggestion. Enter the favorites list, and just press Y until they're gone. There's no way to clear it in a single step.

    If you scrape those games again though it might clear the favorites flag, depending on the scraper you're using and whether it overwrites existing metadata. That's also an option.

    Why exactly are you trying to clear them, though, just out of curiosity? Removing and adding them back won't get you any metadata for those games. You need to scrape them. Probably they weren't scraped as setting then as favorites added them to the gamelists, and the scraper might skip games that already have entries there?

  • 0 Votes
    4 Posts
    1k Views
    N

    @meleu: I've added version in my initial post (sorry to have not posted this earlier)

    @jdrassa: the scrolling was restarting at the beginning but you point me to the right solution. By disabling Power Saver Modes in EmulationStation option, the scrolling is perfect as before now (goes to the bottom, pause for a sec or 2 then start from the beginning).

    Thanks for your help.

  • 0 Votes
    6 Posts
    2k Views
    X

    @screech Thanks, but neither is the issue.

    There is no gamelist.xml in the Roms/System folder nor in the configs/all....
    All are in the /opt/retropie/configs/all/emulationstation/gamelists/system/ folders. Some previous scrapes/xml files from my sega master system are in there. The weird thing is even, when I edit those now the change are not reflected in emulationsstation/gamelist.db. It is as if when scraping/importing xml manually it looks for it somewhere else.

    And yes I alsways shutdown emulationstation when changing :)

  • 0 Votes
    9 Posts
    2k Views
    pjftP

    @pittstone no problem. Just wait for it to be merged into the main branch. Know that someone has fixed it :)

  • 0 Votes
    24 Posts
    6k Views
    Used2BeRXU

    @fnkngrv Hey man. Here's a few samples of my gamelist.xml folders. Before you look at them, you need to keep in mind that you need to treat each sub folder exactly as you would treat each rom in the sub folder, meaning that you need to have a separate <folder> entry for each one (along with any paths to the media you want displayed while highlighting it.

    Then, to display all of the media for the roms in the sub-folders, you need to have the rom <path> in the <game> show the location inside the sub-folder, not the main folder, and the <image> show the location of the media for that game. (Ask me specifically if you have any questions about it after checking out some examples.

    NOTE: I actually have 6 folders in the /home/pi/RetroPie/roms/nes/ folder. A few of these have roms directly in them, but most of them just have sub-folders before you get to any roms.

    NOTE 2: You can have the "media" you want displayed for the folders and roms anywhere you want them as long as they're being pointed to. My folders media is located here: /home/pi/RetroPie/Media/nes/Artwork/Folders/

    MAIN "LICENSED GAMES" FOLDER:

    /home/pi/RetroPie/roms/nes/(1) Licensed/

    <folder> <name>(1) Official Nintendo Entertainment System Games</name> <path>/home/pi/RetroPie/roms/nes/(1) Licensed</path> <image>/home/pi/RetroPie/Media/nes/Artwork/Folders/(1) Licensed.png</image> <video/> <marquee/> <desc> [REMOVED - I just removed the text here to keep it simple]</desc> <releasedate>19850101T000000</releasedate> <developer>Nintendo</developer> <publisher>Nintendo</publisher> <genre/> <players/> </folder>

    US LICENSED GAMES (SUB-FOLDER):

    /home/pi/RetroPie/roms/nes/(1) Licensed/(1_1) US Licensed/

    <folder> <name>(1) US: Licensed NES Games</name> <path>/home/pi/RetroPie/roms/nes/(1) Licensed/(1_1) US Licensed</path> <image>/home/pi/RetroPie/Media/nes/Artwork/Folders/(1_1) US Licensed.png</image> <video/> <marquee/> <desc>[REMOVED - I just removed the text here to keep it simple]</desc> <releasedate>19850101T000000</releasedate> <developer>Nintendo</developer> <publisher>Nintendo</publisher> <genre/> <players/> </folder>

    Now, here's an example of a US Licensed game in the sub folder

    <game> <name>1942</name> <path>/home/pi/RetroPie/roms/nes/(1) Licensed/(1_1) US Licensed/1942.zip</path> <image>/home/pi/RetroPie/Media/nes/Artwork/Box Front/1942.jpg</image> <video/> <marquee/> <desc> 1942... you and daring fighter pilot "Super Ace" are engaged in realistic, thrilling and challenging high-flying battles with the enemy. Over land, on the sea and in the air, your own skill and dexterity... combined with Super Ace's flying mastery, duel enemy pilots in fighter and bomber craft. 1942... it's airplanes taking off and landing on ocean-going aircraft carriers... disrupting enemy formations ready to attack... intercepting enemy air-warriors you must defeat by "blasting 'em out of the sky." Will it be victory? Or defeat? It's in your skillful hands! https://www.gamefaqs.com/nes/587058-1942</desc> <releasedate>19860101T000000</releasedate> <developer>Capcom Co., Ltd.</developer> <publisher>Capcom U.S.A., Inc.</publisher> <genre>Shoot 'em Up / Vertical</genre> <players>2</players> <region>USA</region> <platform>nes</platform> <media>Cartridge</media> <controller>NES Gamepad</controller> <gametype>Licensed</gametype> <xtrasname>1942</xtrasname> <originaltitle/> <alternatetitle/> <hackedby/> <translatedby/> <version/> <cart>/home/pi/RetroPie/Media/nes/Artwork/Cart/1942.jpg</cart> <title>/home/pi/RetroPie/Media/nes/Artwork/Titles/1942.jpg</title> <action>/home/pi/RetroPie/Media/nes/Artwork/Action/1942.jpg</action> <threedbox>/home/pi/RetroPie/Media/nes/Artwork/3D Boxart/1942.png</threedbox> <gamefaq/> <manual/> <vgmap/> <license/> <programmer/> <musician/> </game>

    Note that in the above example there are a LOT of tags that you won't be using or needing in your XML. These are mostly tags for data and media that are not supported by RetroPie/EmulationStation currently.

    The important things to look at are the <name>, <path> and <image> tags. You can also add videos to display for folders and roms if you want by making sure the <video> tag shows where the proper video is located.

    Hope that clears some stuff up for you. Feel free to ask any questions. I figured I'd just end the post now instead of writing a total novel, since I'm not exactly sure what your issue is without more information.