Hallo Gemeinde
Finde per Google iwie nicht das, was ich möchte
Ich möchte beim starten eines MAME Games (Retropie) jeweils zuerst ein bestimmtes Python-Script aufrufen.
Das Script steuert dann Servos an, welche die Restrictoren der Joysticks umstellen (4/8 Weg).
Wo muss ich diesen Aufruf einfügen?
Bsp:
Aufruf PacMan > Ausführen "python servo_pos_4way.py" > weiter zum Boot von MAME mit PacMan
Aufruf MortalKombat > Ausführen "python servo_pos_8way.py" > weiter zum Boot von MAME mit MortalKombat
Das Gleiche beim Aufruf eines DOS Games:
Aufruf NFSSE > Ausführen "python servo_pos_8way.py" > weiter zum Boot von Dosbox mit NFSSE
Habe nach https://retropie.org.uk/docs/R…-runcommand-onend-scripts das User Menu gefunden.
Das speichert aber meine Eingabe nicht. Es führt das gewählte Script genau nur 1 mal aus, dann wenn ich das "Launch Menu" aufrufe.
Beim nächsten Spielstart ist das wieder vergessen.
Ich habe nun geschafft, mit dem runcommand-onstart.sh mal ein Testscript aufzurufen.
Das Testscript wird bei jedem Spiel aufgerufen.
Das endgültige Script muss aber dann unterscheiden können, ob es sich um ein 4 oder 8 Wege Game handelt.
Wie übergebe ich das aber nun ans Script weiter? Iwo muss ich das Spiel ja mit typ4 oder typ8 markieren........
Danke im Voraus.
Edit:
Habe mir eine Lösung zusammen gepflastert.
Habe in /opt/retropie/configs/all/runcommand-onstart.sh
eingetragen und folgendes Script in /home/pi/4or8way.sh gespeichert:
###############################################################
# 4 oder 8 Wege Joystick von runcommand-onstart.sh aufgerufen #
# (C) 2021 treki #
###############################################################
# Namen der 4-Wege Games in /home/pi/4way.games eintragen
#system=$1
#emulator=$2
#path=$3
commandline=$4
echo $commandline > /home/pi/game.name.txt #Name des 4-Wege ROMs in diesem File, welches in 4way.games geschrieben werden muss
var=$(echo $commandline | grep -o -f /home/pi/4way.games)
if [ -z "$var" ]
then
echo "8-Wege Joystick" > /home/pi/test.txt
else
echo "4-Wege Joystick" > /home/pi/test.txt
fi
Alles anzeigen
Die Namen der 4-Wege Games habe ich in der Datei /home/pi/4way.games gespeichert (wie eine Datenbank).
Immer 1 Name pro Zeile. Der Game-Name wird beim Aufruf von diesem in /home/pi/game.name.txt gespeichert (am Schluss mit Endung .zip)
Bei mir sieht die 4way.games Datei so aus:
asteroid1
astdelux
bzonec
pbobble2u
dkong
dkong3b
dkongjrb
fantsia2
galaga
galaxian
mspacman
pacman
pengo
phoenixt
popeyebl
qbert
qixb
spacedx
supertnk
tankfrce
atetrisa
tetrisp
tron4
uniwars
Alles anzeigen
Alle Games, welche nicht in der Datei 4way.games stehen, werden mit 8-Wege Joystick ausgeführt.
Am Schluss werde ich natürlich
durch die Servoansteuerungs Python-Scripts ersetzen ( https://tutorials-raspberrypi.…pi-servo-motor-steuerung/ )