mirror of
				https://github.com/RetroDECK/RetroDECK.git
				synced 2025-04-10 19:15:12 +00:00 
			
		
		
		
	FRAMEWORK: added "--open" to open a component found in features.json + help fix
This commit is contained in:
		
							parent
							
								
									d86918d3de
								
							
						
					
					
						commit
						296caa939d
					
				|  | @ -1010,3 +1010,45 @@ portmaster_show(){ | ||||||
|     log e "\"$1\" is not a valid choice, quitting" |     log e "\"$1\" is not a valid choice, quitting" | ||||||
|   fi |   fi | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | open_component(){ | ||||||
|  | 
 | ||||||
|  |   if [[ -z "$1" ]]; then | ||||||
|  |     cmd=$(jq -r '.emulator[] | select(.ponzu != true) | .name' "$features" | sort) | ||||||
|  |     if [[ "$akai_ponzu" == "true" ]]; then | ||||||
|  |       cmd+="\n$(jq -r '.emulator[] | select(.name == "citra" and .ponzu == true) | .name' "$features")" | ||||||
|  |     fi | ||||||
|  |     if [[ "$kiroi_ponzu" == "true" ]]; then | ||||||
|  |       cmd+="\n$(jq -r '.emulator[] | select(.name == "yuzu" and .ponzu == true) | .name' "$features")" | ||||||
|  |     fi | ||||||
|  |     echo -e "This command expects one of the following components as arguments:\n$(echo -e "$cmd" | sort)" | ||||||
|  |     return | ||||||
|  |   fi | ||||||
|  | 
 | ||||||
|  |   if [[ "$1" == "--getlist" ]]; then | ||||||
|  |     cmd=$(jq -r '.emulator[] | select(.ponzu != true) | .name' "$features" | sort) | ||||||
|  |     if [[ "$akai_ponzu" == "true" ]]; then | ||||||
|  |       cmd+="\n$(jq -r '.emulator[] | select(.name == "citra" and .ponzu == true) | .name' "$features")" | ||||||
|  |     fi | ||||||
|  |     if [[ "$kiroi_ponzu" == "true" ]]; then | ||||||
|  |       cmd+="\n$(jq -r '.emulator[] | select(.name == "yuzu" and .ponzu == true) | .name' "$features")" | ||||||
|  |     fi | ||||||
|  |     echo -e "$cmd" | sort | ||||||
|  |     return | ||||||
|  |   fi | ||||||
|  | 
 | ||||||
|  |   cmd=$(jq -r --arg name "$1" '.emulator[] | select(.name == $name and .ponzu != true) | .launch' "$features") | ||||||
|  |   if [[ -z "$cmd" && "$akai_ponzu" == "true" && "$1" == "citra" ]]; then | ||||||
|  |     cmd=$(jq -r '.emulator[] | select(.name == "citra" and .ponzu == true) | .launch' "$features") | ||||||
|  |   fi | ||||||
|  |   if [[ -z "$cmd" && "$kiroi_ponzu" == "true" && "$1" == "yuzu" ]]; then | ||||||
|  |     cmd=$(jq -r '.emulator[] | select(.name == "yuzu" and .ponzu == true) | .launch' "$features") | ||||||
|  |   fi | ||||||
|  | 
 | ||||||
|  |   if [[ -n "$cmd" ]]; then | ||||||
|  |     eval "$cmd" "${@:2}" | ||||||
|  |   else | ||||||
|  |     echo "Invalid component name: $1" | ||||||
|  |     echo "Please be sure that the casing is correct and if a space is present, the name is quoted." | ||||||
|  |   fi | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @ -29,7 +29,8 @@ Arguments: | ||||||
|     --reset-component <component>       \t  Reset one or more component or emulator configs to the default values |     --reset-component <component>       \t  Reset one or more component or emulator configs to the default values | ||||||
|     --reset-retrodeck                   \t  Starts the initial RetroDECK installer (backup your data first!) |     --reset-retrodeck                   \t  Starts the initial RetroDECK installer (backup your data first!) | ||||||
|     --test-upgrade <version>            \t  Test upgrading RetroDECK to a specific version, developer use only |     --test-upgrade <version>            \t  Test upgrading RetroDECK to a specific version, developer use only | ||||||
|     --set <preset> [value]              \t  Set or toggle a preset. Examples: --set borders, --set borders true, --set borders gba false. --set help for more help |     --set <preset> <system/all> [value] \t  Set or toggle a preset. Examples: --set borders, --set borders all true, --set borders gba false. --set help for more help | ||||||
|  |     --open <component/emulator>         \t  Open a specific component or emulator, --open --getlist for a list of available components | ||||||
| 
 | 
 | ||||||
| Game Launch: | Game Launch: | ||||||
|     [<options>] <game_path>             \t  Start a game using the default emulator or\n\t\t\t\t\t\t  the one defined in ES-DE for game or system |     [<options>] <game_path>             \t  Start a game using the default emulator or\n\t\t\t\t\t\t  the one defined in ES-DE for game or system | ||||||
|  | @ -165,6 +166,10 @@ for i in "$@"; do | ||||||
|       make_preset_changes "$preset" "$value" |       make_preset_changes "$preset" "$value" | ||||||
|       exit 0 |       exit 0 | ||||||
|       ;; |       ;; | ||||||
|  |     --open*) | ||||||
|  |       open_component "${@:2}" | ||||||
|  |       exit 0 | ||||||
|  |       ;; | ||||||
|     *) |     *) | ||||||
|       # Assume unknown arguments are game start arguments |       # Assume unknown arguments are game start arguments | ||||||
|       if [ -f "$i" ]; then |       if [ -f "$i" ]; then | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue