h3xp / rickdangerousupdate Goto Github PK
View Code? Open in Web Editor NEWThis is a simple script that will help on fixing and improving a RickDangerous Insanium Build on a Retropie
This is a simple script that will help on fixing and improving a RickDangerous Insanium Build on a Retropie
Success! message of some kind after applying bug fixes
While running from retropie, use linux dialogs to make it look like other utilities
If there is a gamelist.xml present in an improvement the script would overwrite any personal changes someone might have added.
The script should take in account for that and keep personal preferences.
Let the installed tool update itself based on version...
starting the update tool from options menu throws this error:
/dev/fd/63: line 10: update: command not found
/dev/fd/63: line 11: update: command not found
/dev/fd/63: line 12: update: command not found
/dev/fd/63: line 13: update: command not found
/dev/fd/63: line 14: update: command not found
/dev/fd/63: line 15: update: command not found
/dev/fd/63: line 16: update: command not found
/dev/fd/63: line 17: update: command not found
this doesn't seem to affect the process, it just continues to work afterwards, but still something to get rid off
While the check and clean already works impressive there are possible improvements.
Oct 06 15:25:36 lvl2: Parsing XML file "/home/pi/.emulationstation/gamelists/retropie/gamelist.xml"...
Oct 06 15:25:36 lvl1: File "/home/pi/RetroPie/retropiemenu/+Start PICO8.sh" does not exist! Ignoring.
Oct 06 15:25:37 lvl2: Loading custom collection config file at /home/pi/.emulationstation/collections/custom-PC ENGINE.cfg
Oct 06 15:25:37 lvl2: Couldn't find game referenced at '/home/pi/RetroPie/roms/pcengine/Street Fighter II' - Champion Edition (Japan).zip' for system config '/home/pi/.emulationstation/collections/custom-PC ENGINE.cfg'
Oct 06 15:25:38 lvl2: Loading custom collection config file at /home/pi/.emulationstation/collections/custom-strategy.cfg
Oct 06 15:25:38 lvl2: Couldn't find game referenced at '/home/pi/RetroPie/roms/amigacd32/e Fodder (Europe).cue' for system config '/home/pi/.emulationstation/collections/custom-strategy.cfg'
Oct 06 15:25:38 lvl2: Loading custom collection config file at /home/pi/.emulationstation/collections/custom-trackball.cfg
Put in update_tool.ini
[INSTALLED_UPDATES]
update_name=datetime.datetime.utcnow().strftime("%Y%m%d-%H%M%S")
that way we can automatically check the ones that need to be implemented for the "Apply Selected" option.
Process orphaned files puts all files supposed to be in .data folder into a single file called .data in roms directory.
You can't undo these changes
shutil.move(file_path, dir_backup)
needs to be changed to:
if not os.path.exists(dir_backup):
os.makedirs(dir_backup)
shutil.move(file_path, dir_backup)
Look for dupes and missing roms and clean the files...
If the image/video is used in a previous gamelist entry, the file will be removed from supporting_files(i.e. directory of snaps/boxart), and it will not be counted as a found file...
Since the rom is not found, when the image/video file do not appear in found_files, it is auto cleaned.
process_supporting files:
# delete validated files
if len(file) > 0:
if file in supporting_files:
if file not in found_files:
found_files.append(file)
index = supporting_files.index(file)
del supporting_files[index]
process_gamelist:
# check for auto gamelist removal
if len(found_files) == 0:
if rom_file not in remove_entries:
remove_entries.append(rom_file)
# remove entry that shouldn't be there
for entry in remove_entries:
One user installed the script as root and that caused problems. The config file can't be accessed then because it belongs to root. We could check for that or just change permissions.
Find zip file, import files to proper locations, update gamelist.xml, etc
It should only be required to have that parameter set when trying to load improvements. It is not required for reseting configs for example.
make a tab delimited file with system/name.
Change menu option to games/counts, or something to reflect the change.
Downloads can take a while. Progress bars make the waiting more bearable.
Resetting the emulation station controls takes a few clicks which can be unintuitive for novice users, the script could make this very easy
backup dir and log file parameters are reversed
Rick want's to add a genre mapping. Current code will handle it, except we don't look for the update_tool.ini file to process/delete prior to doing the copy...
The bash command for easy installation from the reademe:
bash <(curl 'https://raw.githubusercontent.com/h3xp/RickDangerousUpdate/main/install.sh' -s -N) [link]
does not work. It throws error:
/dev/fd/63: line 1: 404:: command not found
After installing the script or uninstalling the script the system should automatically reboot.
At least a prompt to reboot the system to apply changes is mandatory. Without the reboot the menu option does not show up after installation and it stays in the menu after uninstallation until the system is rebootet.
title is self explanatory, this relates to #27
just add an "update available" text behind the current version if there is a newer version available
To reflect new changes
Process after each download.
Remove "i" reference before assignment.
I thiink it may look cleaner
The tool shows me all available updates.
But when I start them and leave for several hours the screensaver is active and when I run the tool again it has not updated the installed improvements.
I think it might happen when it failed to update an improvement (maybe of mega download-limits).
You should update the installed improvments right after each installation and not at the end (if this is the casee ;) )
Copy theme folder to -releasedate, unhide the release date from theme.xml, make -releasedate theme the one in use.
Restore Clean Game List Logs - doesnt remove logs after you restored them. Is this expected behaviour?
It does seem a little bit counter intuitiv.
Put in zero length check before rendering dialog
Rick has put in commands so the file entries look like this:
#COMMAND:RUN"AFOX
.data/Arctic Fox (1988)(Electronic Arts)[a].dsk
Discard anything that begins with #
reseting retroarch configs can only be run from /tmp directory otherwise it fails
When errors occur during improvement installation the script does not exit gracefully and temporary files in /tmp do not get deleted.
I suspect that we may cross the 100 mark at some point. We need to plan for that. Parse out the number portion and sort on that int value, rather than using list.sort() method...
I we don't we will see:
Update 09
Update 10
Update 100
Update 101
Update 102
Update 11
Update 12
etc...
For people who add games manually, scan gamelist entries and allow them to pick a genres that aligns with Rick's
Let the tool uninstall itself
Write installer script so that it will be native on retropie and show on the options menu.
When doing an updates and you run out of MEGA storage limits you have to re-run the script and omit the large ones (glad you can now see the sizes in the latest update of the script). you need to go through and uncheck all of the ones you have already installed. which if you're quite far down the 70+ list of updates can be a bit of a faff.
thanks
the check wrong permissions function is checking a wrong directory/file for wrong permissions.
This only needs the correct path to work correctly.
We need to ask someone who did not fix the permissions yet which file is wrong.
Does the script work for updates that require root privileges?
make the script executable from the emulation station menu without any user input that would require a keyboard
If the date of the mega file changes, make the update marked for re-download.
Add a menu to disable or enable the overlays/bezels for each system
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.