From efaa99c27b00b1a9e62a7684bef9f582802a7efe Mon Sep 17 00:00:00 2001 From: XargonWan Date: Wed, 25 Mar 2026 09:41:06 +0900 Subject: [PATCH 01/16] fix(ecwolf): added "BIOS" entries --- archive_later/ecwolf/component_manifest.json | 76 +++++++++++++++++++- 1 file changed, 75 insertions(+), 1 deletion(-) diff --git a/archive_later/ecwolf/component_manifest.json b/archive_later/ecwolf/component_manifest.json index 5a0d73e4..b05b6140 100644 --- a/archive_later/ecwolf/component_manifest.json +++ b/archive_later/ecwolf/component_manifest.json @@ -8,6 +8,80 @@ "description": "ECWolf is a Wolfenstein 3D engine based of Wolf4SDL", "component_type": "Engine", "system": "wolf", - "system_friendly_name": "ECWolf" + "system_friendly_name": "ECWolf", + "bios": [ + { + "filename": "AUDIOHED.WL6", + "md5": "a41af25a2f193e7d4afbcc4301b3d1ce", + "system": "wolf3d", + "description": "Audio header file that indexes sound data", + "required": "required", + "paths": "$roms_path/wolf/*.wolf" + }, + { + "filename": "AUDIOT.WL6", + "md5": "2385b488b18f8721633e5b2bdf054853", + "system": "wolf3d", + "description": "Contains digitized sound effects and AdLib audio data", + "required": "required", + "paths": "$roms_path/wolf/*.wolf" + }, + { + "filename": "CONFIG.WL6", + "md5": "aa75133df873b660d2058425ca8539b3", + "system": "wolf3d", + "description": "Stores game configuration settings", + "required": "required", + "paths": "$roms_path/wolf/*.wolf" + }, + { + "filename": "GAMEMAPS.WL6", + "md5": "a4e73706e100dc0cadfb02d23de46481", + "system": "wolf3d", + "description": "Contains all level map data", + "required": "required", + "paths": "$roms_path/wolf/*.wolf" + }, + { + "filename": "MAPHEAD.WL6", + "md5": "b8d2a78bc7c50da7ec9ab1d94f7975e1", + "system": "wolf3d", + "description": "Map header information for level lookup", + "required": "required", + "paths": "$roms_path/wolf/*.wolf" + }, + { + "filename": "VGADICT.WL6", + "md5": "dec8939cff5a4ec27ae7b43e8f52ec28", + "system": "wolf3d", + "description": "VGA graphics dictionary for decompression", + "required": "required", + "paths": "$roms_path/wolf/*.wolf" + }, + { + "filename": "VGAGRAPH.WL6", + "md5": "8b40b5b785f898e229bf1c2f2e3ee003", + "system": "wolf3d", + "description": "Compressed graphics data (sprites, UI, textures)", + "required": "required", + "paths": "$roms_path/wolf/*.wolf" + }, + { + "filename": "VGAHEAD.WL6", + "md5": "8e75e3ffb842ed3d08abe6ffea97b231", + "system": "wolf3d", + "description": "Header for VGA graphics data", + "required": "required", + "paths": "$roms_path/wolf/*.wolf" + }, + { + "filename": "VSAP.WL6", + "md5": [ "b8ff4997461bafa5ef2a94c11f9de001", "a6d901dfb455dfac96db5e4705837cdb" ], + "system": "wolf3d", + "description": "Main asset container (sprites, walls, sounds)", + "required": "required", + "paths": "$roms_path/wolf/*.wolf" + } + ] } } \ No newline at end of file From e52234c3555330bc38d5113ba6782ba89bd3e770 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Wed, 25 Mar 2026 10:01:54 +0900 Subject: [PATCH 02/16] feat(ecwolf): add ES-DE emulator configuration and system rules for ECWolf --- archive_later/ecwolf/component_manifest.json | 35 ++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/archive_later/ecwolf/component_manifest.json b/archive_later/ecwolf/component_manifest.json index b05b6140..451038ee 100644 --- a/archive_later/ecwolf/component_manifest.json +++ b/archive_later/ecwolf/component_manifest.json @@ -9,6 +9,41 @@ "component_type": "Engine", "system": "wolf", "system_friendly_name": "ECWolf", + "es_de_config": { + "es_find_rules": { + "emulators": [ + { + "name": "ECWOLF", + "description": "ECWolf is a Wolfenstein 3D engine based of Wolf4SDL", + "rules": [ + { + "type": "staticpath", + "entries": [ + "%COMPONENT_PATH%/component_launcher.sh" + ] + } + ] + } + ] + }, + "es_systems": [ + { + "name": "wolf", + "fullname": "Wolfenstein 3D", + "path": "%ROMPATH%/wolf", + "extension": ".wolf", + "commands": [ + { + "label": "ECWolf (Standalone)", + "command": "%EMULATOR_ECWOLF% %ROM%", + "priority": 50 + } + ], + "platform": "wolf", + "theme": "wolf" + } + ] + }, "bios": [ { "filename": "AUDIOHED.WL6", From 0befec01f97d26f940cf6a011f1cf78a61e4a419 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 26 Mar 2026 12:33:08 +0900 Subject: [PATCH 03/16] fix(ecwolf): adapted component prepare for new 0.11.0b structure [skip ci] --- archive_later/ecwolf/component_functions.sh | 25 ++++++++++++++++++++ archive_later/ecwolf/component_prepare.sh | 26 --------------------- 2 files changed, 25 insertions(+), 26 deletions(-) delete mode 100755 archive_later/ecwolf/component_prepare.sh diff --git a/archive_later/ecwolf/component_functions.sh b/archive_later/ecwolf/component_functions.sh index 3c0c309d..b44f947f 100755 --- a/archive_later/ecwolf/component_functions.sh +++ b/archive_later/ecwolf/component_functions.sh @@ -10,5 +10,30 @@ ecwolf_config_path="$XDG_CONFIG_HOME/ecwolf" ecwolf_saves_path="$XDG_DATA_HOME/ecwolf/saves" ecwolf_roms_path="$roms_path/wolf" +_prepare_component::ecwolf() { + # Setting component name and path based on the directory name + component_name="$(basename "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")")" + component_config="/app/retrodeck/components/$component_name/rd_config" + ecwolf_rd_cfg="$XDG_CONFIG_HOME/$component_name/ecwolf_rd.cfg" + if [[ "$action" == "reset" ]]; then # Run reset-only commands + log i "----------------------" + log i "Preparing $component_name" + log i "----------------------" + + dir_prep "$saves_path/ecwolf" "$ecwolf_saves_path" + rm -vrf "$ecwolf_rd_cfg" + cp -v "$component_config/ecwolf_rd.cfg" "$ecwolf_rd_cfg" + + fi + + if [[ "$action" == "postmove" ]]; then # Run commands that apply to both resets and moves + log i "----------------------" + log i "Post-moving $component_name" + log i "----------------------" + + dir_prep "$saves_path/ecwolf" "$ecwolf_saves_path" + + fi +} diff --git a/archive_later/ecwolf/component_prepare.sh b/archive_later/ecwolf/component_prepare.sh deleted file mode 100755 index 27463f0a..00000000 --- a/archive_later/ecwolf/component_prepare.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -# Setting component name and path based on the directory name -component_name="$(basename "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")")" -component_config="/app/retrodeck/components/$component_name/rd_config" -ecwolf_rd_cfg="$XDG_CONFIG_HOME/$component_name/ecwolf_rd.cfg" - -if [[ "$action" == "reset" ]]; then # Run reset-only commands - log i "----------------------" - log i "Preparing $component_name" - log i "----------------------" - - dir_prep "$saves_path/ecwolf" "$ecwolf_saves_path" - rm -vrf "$ecwolf_rd_cfg" - cp -v "$component_config/ecwolf_rd.cfg" "$ecwolf_rd_cfg" - -fi - -if [[ "$action" == "postmove" ]]; then # Run commands that apply to both resets and moves - log i "----------------------" - log i "Post-moving $component_name" - log i "----------------------" - - dir_prep "$saves_path/ecwolf" "$ecwolf_saves_path" - -fi From 63ccb146111d878ad5f5c120b11461c3d13af5c2 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 26 Mar 2026 12:40:41 +0900 Subject: [PATCH 04/16] fix(raze): add missing directory to LD_LIBRARY_PATH --- archive_later/raze/component_launcher.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/archive_later/raze/component_launcher.sh b/archive_later/raze/component_launcher.sh index ecefbd06..f3e8a53c 100755 --- a/archive_later/raze/component_launcher.sh +++ b/archive_later/raze/component_launcher.sh @@ -5,7 +5,7 @@ component_name="$(basename "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")")" component_path="$(cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd)" # Set LD_LIBRARY_PATH -export LD_LIBRARY_PATH="$component_path/lib:$ffmpeg_path/25.08:$rd_shared_libs:$rd_shared_libs/org.kde.Platform/6.10/:$rd_shared_libs/org.gnome.Platform/49/:$rd_shared_libs/org.freedesktop.Platform/25.08/:${DEFAULT_LD_LIBRARY_PATH}" +export LD_LIBRARY_PATH="$component_path/lib:$ffmpeg_path/25.08:$rd_shared_libs:$rd_shared_libs/org.kde.Platform/6.10/:$rd_shared_libs/org.gnome.Platform/49/:$rd_shared_libs/org.freedesktop.Platform/25.08/:$rd_shared_libs/org.freedesktop.Platform/24.08/:${DEFAULT_LD_LIBRARY_PATH}" export QT_PLUGIN_PATH="$rd_shared_libs/org.kde.Platform/6.10/plugins/:${QT_PLUGIN_PATH}" export QT_QPA_PLATFORM_PLUGIN_PATH="$rd_shared_libs/org.kde.Platform/6.10/plugins/platforms/:${QT_QPA_PLATFORM_PLUGIN_PATH}" From 90e24dc836ffd8cc6b76a5316cc6a1d898d8ea14 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 26 Mar 2026 12:41:15 +0900 Subject: [PATCH 05/16] refactor(raze): consolidate component preparation for 0.11.0b and remove obsolete component_prepare.sh script --- archive_later/raze/component_functions.sh | 24 ++++++++++++++++++++++- archive_later/raze/component_prepare.sh | 21 -------------------- 2 files changed, 23 insertions(+), 22 deletions(-) delete mode 100755 archive_later/raze/component_prepare.sh diff --git a/archive_later/raze/component_functions.sh b/archive_later/raze/component_functions.sh index cc1f786e..980f4fb6 100755 --- a/archive_later/raze/component_functions.sh +++ b/archive_later/raze/component_functions.sh @@ -1 +1,23 @@ -#!/bin/bash \ No newline at end of file +#!/bin/bash + +_prepare_component::raze() { + # Setting component name and path based on the directory name + component_name="$(basename "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")")" + component_config="/app/retrodeck/components/$component_name/rd_config" + + if [[ "$action" == "reset" ]]; then # Run reset-only commands + log i "----------------------" + log i "Preparing $component_name" + log i "----------------------" + + create_dir "$XDG_CONFIG_HOME/raze" + create_dir "$XDG_DATA_HOME/raze/audio/soundfonts" + create_dir "$bios_path/raze" + + cp -fvr "$component_config/raze.ini" "$XDG_CONFIG_HOME/raze" + + sed -i "s#RETRODECKHOMEDIR#${rd_home_path}#g" "$XDG_CONFIG_HOME/raze/raze.ini" # This is an unfortunate one-off because set_setting_value does not currently support JSON + sed -i "s#RETRODECKROMSDIR#${roms_path}#g" "$XDG_CONFIG_HOME/raze/raze.ini" # This is an unfortunate one-off because set_setting_value does not currently support JSON + sed -i "s#RETRODECKSAVESDIR#${saves_path}#g" "$XDG_CONFIG_HOME/raze/raze.ini" # This is an unfortunate one-off because set_setting_value does not currently support JSON + fi +} \ No newline at end of file diff --git a/archive_later/raze/component_prepare.sh b/archive_later/raze/component_prepare.sh deleted file mode 100755 index c19fa260..00000000 --- a/archive_later/raze/component_prepare.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -# Setting component name and path based on the directory name -component_name="$(basename "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")")" -component_config="/app/retrodeck/components/$component_name/rd_config" - -if [[ "$action" == "reset" ]]; then # Run reset-only commands - log i "----------------------" - log i "Preparing $component_name" - log i "----------------------" - - create_dir "$XDG_CONFIG_HOME/raze" - create_dir "$XDG_DATA_HOME/raze/audio/soundfonts" - create_dir "$bios_path/raze" - - cp -fvr "$component_config/raze.ini" "$XDG_CONFIG_HOME/raze" - - sed -i "s#RETRODECKHOMEDIR#${rd_home_path}#g" "$XDG_CONFIG_HOME/raze/raze.ini" # This is an unfortunate one-off because set_setting_value does not currently support JSON - sed -i "s#RETRODECKROMSDIR#${roms_path}#g" "$XDG_CONFIG_HOME/raze/raze.ini" # This is an unfortunate one-off because set_setting_value does not currently support JSON - sed -i "s#RETRODECKSAVESDIR#${saves_path}#g" "$XDG_CONFIG_HOME/raze/raze.ini" # This is an unfortunate one-off because set_setting_value does not currently support JSON -fi From 556534165501675888dcd2a0a26099f938374fab Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 26 Mar 2026 12:41:25 +0900 Subject: [PATCH 06/16] feat(raze): add initial configuration file for Raze --- archive_later/raze/rd_config/raze.ini | 472 ++++++++++++++++++++++++++ 1 file changed, 472 insertions(+) create mode 100644 archive_later/raze/rd_config/raze.ini diff --git a/archive_later/raze/rd_config/raze.ini b/archive_later/raze/rd_config/raze.ini new file mode 100644 index 00000000..940dace9 --- /dev/null +++ b/archive_later/raze/rd_config/raze.ini @@ -0,0 +1,472 @@ +# This file was generated by Raze 1.11.0 +# These are the directories to automatically search for game data. +# Each directory should be on a separate line, preceded by Path= +[GameSearch.Directories] +Path=$roms_path/raze +Path=$XDG_CONFIG_HOME/raze +Path=$component_path/raze + +# These are the directories to search for add-ons added with the -file +# command line parameter, if they cannot be found with the path +# as-is. Layout is the same as for GameSearch.Directories +[FileSearch.Directories] +Path=$roms_path/raze +Path=$XDG_CONFIG_HOME/raze +Path=$component_path/raze + +# These are the directories to search for soundfonts that let listed in the menu. +# Layout is the same as for GameSearch.Directories +[SoundfontSearch.Directories] +Path=$roms_path/raze/soundfonts +Path=$XDG_CONFIG_HOME/raze/soundfonts +Path=$component_path/raze/soundfonts + +[GlobalSettings] +I_FriendlyWindowTitle=1 +adl_chips_count=6 +adl_emulator_id=0 +adl_fullpan=true +adl_run_at_pcm_rate=false +adl_volume_model=0 +autoloadbrightmaps=true +autoloadlights=true +autoloadwidescreen=true +autosavecount=4 +autosavenum=0 +cl_capfps=false +cl_defaultconfiguration=0 +cl_gender=0 +cl_hudinterpolation=true +cl_interpolate=true +cl_loadingscreens=true +cl_noexitscreens=false +cl_nostartscreens=false +cl_noturnscaling=false +cl_showweapon=1 +cl_slopetilting=false +cl_syncinput=false +cl_viewtilting=0 +cl_viewtiltscale=1 +cl_weaponsway=true +con_4bitansi=false +con_buffersize=-1 +con_ctrl_d= +con_notifylines=4 +con_printansi=true +defaultiwad= +developer=0 +disableautoload=false +disableautosave=0 +duke_menufont=-1 +fluid_chorus=false +fluid_chorus_depth=8 +fluid_chorus_level=1.2 +fluid_chorus_speed=0.3 +fluid_chorus_type=0 +fluid_chorus_voices=3 +fluid_gain=0.5 +fluid_interp=1 +fluid_lib= +fluid_patchset=raze +fluid_reverb=false +fluid_reverb_damping=0.23 +fluid_reverb_level=0.57 +fluid_reverb_roomsize=0.61 +fluid_reverb_width=0.76 +fluid_samplerate=0 +fluid_threads=1 +fluid_voices=128 +gl_debug=false +gl_debug_breakpoint=false +gl_debug_level=0 +gl_dither_bpc=0 +gl_es=false +gl_finishbeforeswap=false +gl_fxaa=0 +gl_lens=false +gl_lens_chromatic=1.12 +gl_lens_k=-0.12 +gl_lens_kcube=0.1 +gl_light_shadowmap=false +gl_mask_sprite_threshold=0.5 +gl_mask_threshold=0.5 +gl_mirror_envmap=true +gl_multisample=1 +gl_no_skyclear=false +gl_pipeline_depth=0 +gl_plane_reflection=true +gl_satformula=1 +gl_seamless=false +gl_shadowmap_filter=1 +gl_shadowmap_quality=512 +gl_ssao=0 +gl_ssao_portals=1 +gl_ssao_strength=0.7 +gl_texture_filter=4 +gl_texture_filter_anisotropic=8 +gl_texture_hqresize_maxinputsize=512 +gl_texture_hqresize_mt_height=4 +gl_texture_hqresize_mt_width=16 +gl_texture_hqresize_multithread=true +gl_texture_hqresize_targets=15 +gl_texture_hqresizemode=0 +gl_texture_hqresizemult=1 +gme_stereodepth=0 +gus_memsize=0 +gus_patchdir= +hud_stats=0 +hw_hightile=true +hw_models=false +hw_shadeinterpolate=true +hw_useindexedcolortextures=false +i_discordrpc=false +i_pauseinbackground=true +i_soundinbackground=false +in_mousemode=true +inter_subtitles=false +invertmouse=false +invertmousex=false +language=auto +longsavemessages=false +m_blockcontrollers=false +m_cleanscale=false +m_forward=1 +m_pitch=1 +m_sensitivity_x=2 +m_sensitivity_y=2 +m_show_backbutton=0 +m_showinputgrid=0 +m_side=1 +m_use_mouse=2 +m_yaw=1 +map_point_coordinates=true +midi_config= +midi_dmxgus=false +midi_voices=32 +mod_autochip=false +mod_autochip_scan_threshold=12 +mod_autochip_size_force=100 +mod_autochip_size_scan=500 +mod_dumb_mastervolume=1 +mod_interp=2 +mod_preferred_player=0 +mod_samplerate=0 +mod_volramp=2 +mouse_capturemode=1 +mus_calcgain=true +mus_enabled=true +mus_extendedlookup=false +mus_usereplaygain=false +opl_core=0 +opl_fullpan=true +opl_numchips=2 +opn_chips_count=8 +opn_emulator_id=0 +opn_fullpan=true +opn_run_at_pcm_rate=false +os_isanyof=true +png_gamma=0 +png_level=5 +queryiwad=true +quicksavecount=4 +quicksavenum=0 +r_ambientlight=1 +r_drawweapon=1 +r_fov=90 +r_mirror_recursions=4 +r_multithreaded=1 +r_precache=true +r_shadows=true +r_skipmats=false +r_spriteadjust=2 +r_ticstability=true +save_dir= +save_sort_order=0 +saveloadconfirmation=true +savestatistics=0 +secret_notify=false +showendoom=1 +silentmouseaimtoggle=false +snd_aldevice=Default +snd_alresampler=Default +snd_ambience=true +snd_backend=openal +snd_buffersize=0 +snd_channels=128 +snd_efx=true +snd_enabled=true +snd_extendedlookup=false +snd_hrtf=-1 +snd_mastervolume=1 +snd_mididevice=-5 +snd_midiprecache=false +snd_musicvolume=0.5 +snd_reverb=true +snd_samplerate=0 +snd_sfxvolume=1 +snd_streambuffersize=64 +snd_tryformats=true +snd_waterreverb=true +statfile=razestat.txt +strictdecorate=false +timidity_channel_pressure=false +timidity_chorus=0 +timidity_config=raze +timidity_drum_effect=false +timidity_drum_power=1 +timidity_key_adjust=0 +timidity_lpf_def=1 +timidity_min_sustain_time=5000 +timidity_modulation_envelope=true +timidity_modulation_wheel=true +timidity_overlap_voice_allow=true +timidity_pan_delay=false +timidity_portamento=true +timidity_reverb=0 +timidity_reverb_level=0 +timidity_surround_chorus=false +timidity_temper_control=true +timidity_tempo_adjust=1 +use_joystick=false +use_mouse=true +vid_activeinbackground=false +vid_adapter=0 +vid_aspect=0 +vid_brightness=0 +vid_contrast=1 +vid_cropaspect=false +vid_defheight=480 +vid_defwidth=640 +vid_dontdowait=false +vid_fullscreen=true +vid_gamma=1 +vid_hdr=false +vid_maxfps=500 +vid_preferbackend=1 +vid_saturation=1 +vid_scale_customheight=400 +vid_scale_custompixelaspect=1 +vid_scale_customwidth=640 +vid_scale_linear=false +vid_scalefactor=1 +vid_scalemode=0 +vid_sdl_render_driver= +vid_vsync=false +vk_debug=false +vk_debug_callstack=true +vk_device=0 +vk_exclusivefullscreen=false +vk_hdr=false +vk_raytrace=false +vr_hunits_per_meter=41 +vr_ipd=0.062 +vr_mode=0 +vr_screendist=0.8 +vr_swap_eyes=false +warningstoerrors=false +wildmidi_config= +wildmidi_enhanced_resampling=true +wildmidi_reverb=false +win_h=-1 +win_maximized=false +win_w=-1 +win_x=-1 +win_y=-1 +wt_commentary=false +wt_forcemidi=false +wt_forcevoc=false +xbrz_centerdirectionbias=4 +xbrz_colorformat=0 +xbrz_dominantdirectionthreshold=3.6 +xbrz_equalcolortolerance=30 +xbrz_luminanceweight=1 +xbrz_steepdirectionthreshold=2.2 + +[GlobalSettings.Unknown] + +[.Player] +cl_autoaim=1 +cl_weaponswitch=3 +combatmacro0= +combatmacro1= +combatmacro2= +combatmacro3= +combatmacro4= +combatmacro5= +combatmacro6= +combatmacro7= +combatmacro8= +combatmacro9= +playercolor=0 +playergender=0 +playername=Player +rtsname= + +[.ConsoleVariables] +adl_bank=14 +adl_custom_bank= +adl_use_custom_bank=false +adult_lockout=false +althud_flashing=true +am_followplayer=true +am_linealpha=1 +am_linethickness=1 +am_nameontop=false +am_onesidedcolor=aa aa aa +am_ovonesidedcolor=aa aa aa +am_ovplayercolor=aa aa aa +am_ovtwosidedcolor=aa aa aa +am_playercolor=aa aa aa +am_rotate=true +am_showlabel=false +am_showtime=0 +am_showtotaltime=0 +am_textfont=false +am_twosidedcolor=aa aa aa +chat_substitution=false +cl_automsg=false +cl_autorun=true +cl_autosave=true +cl_autosavedeletion=true +cl_bloodoldweapbalance=false +cl_bloodqavinterp=true +cl_bloodvanillabobbing=true +cl_bloodvanillaenemies=false +cl_bloodvanillaexplosions=false +cl_bloodvanillarun=true +cl_bloodweapinterp=false +cl_clampedpitch=true +cl_crosshair=true +cl_dukepitchmode=7 +cl_exjumprebound=false +cl_exvertpanscale=8 +cl_exviewbobheight=5 +cl_exviewbobspeed=4 +cl_idplayers=true +cl_maxautosaves=8 +cl_maxdecalamount=1024 +cl_nomeleeblur=false +cl_obituaries=true +cl_resumesavegame=true +cl_rrvehicletilting=false +cl_runmode=false +cl_showmagamt=false +cl_sointerpolation=true +cl_swsmoothsway=true +cl_viewbob=1 +cl_viewhbob=true +cl_viewvbob=true +classic_scaling_factor=1 +classic_scaling_pixelaspect=1.2 +con_alpha=0.75 +con_centernotify=false +con_notablist=false +con_notify_advanced=false +con_notifyscale=1 +con_notifytime=3 +con_pulsetext=false +con_scale=0 +crosshair=0 +crosshaircolor=ff 00 00 +crosshairgrow=false +crosshairhealth=2 +crosshairscale=0.5 +gl_aalines=false +gl_bloom=false +gl_bloom_amount=1.4 +gl_exposure_base=0.35 +gl_exposure_min=0.35 +gl_exposure_scale=1.3 +gl_exposure_speed=0.05 +gl_fogmode=2 +gl_menu_blur=-1 +gl_paltonemap_powtable=2 +gl_paltonemap_reverselookup=true +gl_precache=false +gl_scale_viewport=true +gl_tonemap=0 +hud_althudscale=0 +hud_ammo_order=0 +hud_ammo_red=25 +hud_ammo_yellow=50 +hud_armor_green=100 +hud_armor_red=25 +hud_armor_yellow=50 +hud_aspectscale=true +hud_berserk_health=true +hud_bgstretch=false +hud_ctf_vanilla=false +hud_health_green=100 +hud_health_red=25 +hud_health_yellow=50 +hud_messages=true +hud_position=false +hud_powerupduration=true +hud_scalefactor=1 +hud_showammo=2 +hud_showangles=false +hud_showkills=true +hud_showmapname=true +hud_showscore=false +hud_showsecrets=true +hud_showstats=false +hud_showtime=0 +hud_showtimestat=0 +hud_showweapons=true +hud_size=5 +hud_statscale=0.5 +hud_textfont=false +hud_timecolor=5 +hudcolor_ltim=8 +hudcolor_statnames=6 +hudcolor_stats=3 +hudcolor_time=6 +hudcolor_titl=10 +hudcolor_ttim=5 +hudcolor_xyco=3 +hw_2dmip=true +hw_lightmode=0 +hw_weaponlight=8 +m_quickexit=false +menu_sounds=true +msg=0 +msg0color=11 +msg1color=5 +msg2color=2 +msg3color=3 +msg4color=3 +msgmidcolor=11 +msgmidcolor2=4 +mus_redbook=true +nocheats=false +opn_custom_bank= +opn_use_custom_bank=false +r_drawfuzz=1 +r_voxels=true +safe_spritelist=false +screenshot_dir= +screenshotname= +snd_menuvolume=0.6 +snd_pitched=false +snd_speech=1 +sw_darts=false +sw_ninjahack=false +sw_nocenterview=false +transsouls=0.75 +ui_screenborder_classic_scaling=true +uiscale=0 +usermapfolder= +vid_allowtrueultrawide=1 + +[.VideoSettings] + +[.UnknownConsoleVariables] + +[.ConsoleAliases] + +[.Bindings] + +[.DoubleBindings] + +[.AutomapBindings] + From d6afcbed6072349d58f5e2efd408b38364d9b4c2 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 26 Mar 2026 14:24:01 +0900 Subject: [PATCH 07/16] fix(.gitignore): add pattern to ignore archived artifacts directories --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index b66269d0..89aa5abe 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ downloaded-artifacts */artifacts +archive_*/*/artifacts .tmpfunc *.log _work From 0b7b0ef86ea9f02a26f390f09be40eab57d99909 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 26 Mar 2026 15:33:47 +0900 Subject: [PATCH 08/16] fix(raze): update directory paths in configuration for consistency --- archive_later/raze/rd_config/raze.ini | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/archive_later/raze/rd_config/raze.ini b/archive_later/raze/rd_config/raze.ini index 940dace9..deceb2ed 100644 --- a/archive_later/raze/rd_config/raze.ini +++ b/archive_later/raze/rd_config/raze.ini @@ -4,7 +4,8 @@ [GameSearch.Directories] Path=$roms_path/raze Path=$XDG_CONFIG_HOME/raze -Path=$component_path/raze +Path=$PROGDIR +Path=/app/retrodeck/components/raze # These are the directories to search for add-ons added with the -file # command line parameter, if they cannot be found with the path @@ -12,14 +13,15 @@ Path=$component_path/raze [FileSearch.Directories] Path=$roms_path/raze Path=$XDG_CONFIG_HOME/raze -Path=$component_path/raze +Path=$PROGDIR # These are the directories to search for soundfonts that let listed in the menu. # Layout is the same as for GameSearch.Directories [SoundfontSearch.Directories] Path=$roms_path/raze/soundfonts Path=$XDG_CONFIG_HOME/raze/soundfonts -Path=$component_path/raze/soundfonts +Path=$PROGDIR/soundfonts +Path=/app/retrodeck/components/raze/soundfonts [GlobalSettings] I_FriendlyWindowTitle=1 @@ -299,7 +301,7 @@ combatmacro8= combatmacro9= playercolor=0 playergender=0 -playername=Player +playername=RetroDECK rtsname= [.ConsoleVariables] @@ -469,4 +471,3 @@ vid_allowtrueultrawide=1 [.DoubleBindings] [.AutomapBindings] - From f10eda73382c6e526221fd9220288eac8899bcaa Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 26 Mar 2026 15:33:55 +0900 Subject: [PATCH 09/16] feat(raze): update component launch command to include fluid patchset and soundfont --- archive_later/raze/component_launcher.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/archive_later/raze/component_launcher.sh b/archive_later/raze/component_launcher.sh index f3e8a53c..35b91ee8 100755 --- a/archive_later/raze/component_launcher.sh +++ b/archive_later/raze/component_launcher.sh @@ -15,4 +15,4 @@ log d "QT plugin path is: $QT_PLUGIN_PATH" log d "QT QPA PLATFORM plugin path is: $QT_QPA_PLATFORM_PLUGIN_PATH" # Launch -exec "$component_path/bin/raze" "$@" +exec "$component_path/bin/raze" +fluid_patchset "$component_path/raze/soundfonts/raze.sf2" "$@" From c4dfdfaa003906d74c8ad0cb0de54aec1046b867 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 26 Mar 2026 15:34:08 +0900 Subject: [PATCH 10/16] fix(raze): remove obsolete component_prepare.sh from recipe [skip ci] --- archive_later/raze/component_recipe.json | 5 ----- 1 file changed, 5 deletions(-) diff --git a/archive_later/raze/component_recipe.json b/archive_later/raze/component_recipe.json index 659cc954..f01a3526 100755 --- a/archive_later/raze/component_recipe.json +++ b/archive_later/raze/component_recipe.json @@ -52,11 +52,6 @@ "source": "$REPO_ROOT/$COMPONENT_NAME/component_recipe.json", "dest": "$COMPONENT_ARTIFACT_ROOT" }, - { - "type": "file", - "source": "$REPO_ROOT/$COMPONENT_NAME/component_prepare.sh", - "dest": "$COMPONENT_ARTIFACT_ROOT" - }, { "type": "file", "source": "$REPO_ROOT/$COMPONENT_NAME/component_update.sh", From cebf13347db7382cfc2eb9afc48a28b153213d3c Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Sun, 29 Mar 2026 09:57:53 +0200 Subject: [PATCH 11/16] fix: correct stale md5 for scummvm.zip and cpc464.rom scummvm.zip had md5 a17e0e0150155400d8cced329563d9c8 from an older 9.5MB buildbot build. Current buildbot ScummVM.zip is 79MB with md5 368bdb1816a02640f873310faa9dedf7. cpc464.rom had the same md5 as scummvm.zip (copy-paste error). Correct md5 is a993f85b88ac4350cf4d41554e87fe4f, verified against Batocera, RetroArch System.dat, and the canonical Amstrad CPC 464 OS ROM dump. --- retroarch/component_manifest.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/retroarch/component_manifest.json b/retroarch/component_manifest.json index 1de26783..ee32ae6b 100644 --- a/retroarch/component_manifest.json +++ b/retroarch/component_manifest.json @@ -3819,14 +3819,14 @@ }, { "filename": "scummvm.zip", - "md5": "a17e0e0150155400d8cced329563d9c8", + "md5": "368bdb1816a02640f873310faa9dedf7", "system": "scummvm", "description": "SCUMMVM Assets", "required": "Yes, for RetroArch ScummVM Core" }, { "filename": "cpc464.rom", - "md5": "a17e0e0150155400d8cced329563d9c8", + "md5": "a993f85b88ac4350cf4d41554e87fe4f", "system": "amstradcpc", "description": "Amstrad CPC 464 BIOS" }, From 1aba98dd364c843b20da32c0855a889baa95f15d Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 31 Mar 2026 13:43:21 +0900 Subject: [PATCH 12/16] fix: enhance error logging for missing libraries in gather_lib function --- automation-tools/alchemist/lib/libs.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/automation-tools/alchemist/lib/libs.sh b/automation-tools/alchemist/lib/libs.sh index f39e988a..f6c80a58 100644 --- a/automation-tools/alchemist/lib/libs.sh +++ b/automation-tools/alchemist/lib/libs.sh @@ -99,6 +99,11 @@ gather_lib() { fi if [[ ! -e "$EXTRACTED_PATH/$source/$name" ]]; then log error "Library $name not found at defined source $EXTRACTED_PATH/$source/$name" + local library_basename="${name%%.*}" + if [[ $(find "$EXTRACTED_PATH/$source" -iname "$library_basename"* ) ]]; then + log info "However, a file with a matching name was found. The source may need to be adjusted in the recipe file." + log info $(find "$EXTRACTED_PATH/$source" -iname "$library_basename"*) + fi return 1 fi final_source="$EXTRACTED_PATH/$source/$lib_basename" From 57ad6c5f7930105fffd553842d24c34c639b7c24 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 31 Mar 2026 14:08:29 +0900 Subject: [PATCH 13/16] fix(uzdoom): migrated to flatpak release [skip ci] --- archive_later/uzdoom/component_launcher.sh | 2 +- archive_later/uzdoom/component_recipe.json | 15 +- archive_later/uzdoom/component_update.sh | 4 +- archive_later/uzdoom/rd_assets/uzdoom.sh | 210 ++++++++++++++++----- 4 files changed, 177 insertions(+), 54 deletions(-) diff --git a/archive_later/uzdoom/component_launcher.sh b/archive_later/uzdoom/component_launcher.sh index b673b499..5c79e7a5 100755 --- a/archive_later/uzdoom/component_launcher.sh +++ b/archive_later/uzdoom/component_launcher.sh @@ -7,7 +7,7 @@ component_path="$(cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd)" export LD_LIBRARY_PATH="$rd_shared_libs:${DEFAULT_LD_LIBRARY_PATH}" export QT_PLUGIN_PATH="${QT_PLUGIN_PATH}" export QT_QPA_PLATFORM_PLUGIN_PATH="${QT_QPA_PLATFORM_PLUGIN_PATH}" -export DOOMWADDIR="$component_path/share/games/doom" +export DOOMWADDIR="$component_path/share/games/uzdoom" log i "RetroDECK is now launching $component_name" log d "Library path is: $LD_LIBRARY_PATH" diff --git a/archive_later/uzdoom/component_recipe.json b/archive_later/uzdoom/component_recipe.json index 82acb1f1..2f61de5f 100644 --- a/archive_later/uzdoom/component_recipe.json +++ b/archive_later/uzdoom/component_recipe.json @@ -1,24 +1,25 @@ { "uzdoom": [ { - "source_url": "https://github.com/UZDoom/UZDoom/releases/download/{VERSION}/Linux-UZDoom-*.AppImage", - "source_type": "github_release", + "source_url": "org.zdoom.UZDoom", + "source_type": "flatpak_id", "version": "$UZDOOM_DESIRED_VERSION", - "extraction_type": "appimage", + "dest": "user", + "extraction_type": "flatpak", "assets": [ { "type": "dir", - "source": "usr/bin", + "source": "bin", "dest": "bin" }, { "type": "dir", - "source": "usr/share/doc/uzdoom/licenses", + "source": "share/licenses", "dest": "doc" }, { "type": "dir", - "source": "usr/share/games/uzdoom/", + "source": "share/games/uzdoom/", "dest": "share/games/uzdoom/" }, { @@ -70,7 +71,7 @@ "libs": [ { "library": "libzmusic.so.1", - "source": "usr/lib/x86_64-linux-gnu/", + "source": "lib", "dest": "shared-libs" } ] diff --git a/archive_later/uzdoom/component_update.sh b/archive_later/uzdoom/component_update.sh index ddb42abd..333a50ca 100755 --- a/archive_later/uzdoom/component_update.sh +++ b/archive_later/uzdoom/component_update.sh @@ -5,8 +5,8 @@ ######################################################################### if [[ $(check_version_is_older_than "$version_being_updated" "0.10.1b") == "true" ]]; then - if [ -d "$storage_path/uzdoom"]; then - move "$storage_path/uzdoom" "$storage_path/doom/uzdoom" + if [ -d "$storage_path/gzdoom"]; then + move "$storage_path/gzdoom" "$storage_path/doom/uzdoom" fi if [ -d "$storage_path/gzdoom"]; then move "$storage_path/gzdoom" "$storage_path/doom/uzdoom" diff --git a/archive_later/uzdoom/rd_assets/uzdoom.sh b/archive_later/uzdoom/rd_assets/uzdoom.sh index e3aaab4c..7ea67035 100755 --- a/archive_later/uzdoom/rd_assets/uzdoom.sh +++ b/archive_later/uzdoom/rd_assets/uzdoom.sh @@ -1,16 +1,42 @@ #!/bin/bash +log d "RetroDECK Doom Parser booting..." + # Source the global.sh script if not already sourced if [ -z "${GLOBAL_SOURCED+x}" ]; then source /app/libexec/global.sh fi # Define the IWAD files list -IWAD_FILES=("DOOM1.WAD" "DOOM.WAD" "DOOM2.WAD" "DOOM2F.WAD" "DOOM64.WAD" "TNT.WAD" - "PLUTONIA.WAD" "HERETIC1.WAD" "HERETIC.WAD" "HEXEN.WAD" "HEXDD.WAD" - "STRIFE0.WAD" "STRIFE1.WAD" "VOICES.WAD" "CHEX.WAD" - "CHEX3.WAD" "HACX.WAD" "freedoom1.wad" "freedoom2.wad" "freedm.wad" - "doom_complete.pk3" +IWAD_FILES=( + "ACTION2.WAD" # Action Doom 2: Urban Brawl + "BLASPHEM.WAD" # Blasphemer + "CHEX.WAD" # Chex Quest + "CHEX3.WAD" # Chex Quest 3 + "DELAWEARE.WAD" # Delaweare + "DOOM.WAD" # Doom shareware + "DOOM1.WAD" # Doom + "DOOM2.WAD" # Doom II: Hell on Earth + "DOOM2F.WAD" # Doom II French + "DOOM64.WAD" # Doom 64 + "DOOM_COMPLETE.PK3" # WadSmoosh merged Doom + "FREEDOOM1.WAD" # Freedoom Phase 1 + "FREEDOOM2.WAD" # Freedoom Phase 2 + "FREEDM.WAD" # Freedoom Deathmatch + "HEXDD.WAD" # Hexen: Deathkings of the Dark Citadel + "HEXEN.WAD" # Hexen: Beyond Heretic + "HACX.WAD" # HACX + "HARM1.WAD" # Harmony + "HERETIC.WAD" # Heretic: Shadow of the Serpent Riders + "HERETIC1.WAD" # Heretic shareware + "PLUTONIA.WAD" # Plutonia Experiment + "ROTWB.WAD" # Rise Of The Wool Ball + "SQUARE1.PK3" # The Adventures of Square + "STRIFE0.WAD" # Strife shareware + "STRIFE1.WAD" # Strife + "TNT.WAD" # TNT: Evilution + "VOICES.WAD" # Strife Voices + "WADSMOOSH+.IPK3" # WadSmoosh+ merged Doom ) # Get the directory where this script is located @@ -23,7 +49,7 @@ uzdoom="$SCRIPT_DIR/uzdoom" is_iwad() { local file="$1" local lowercase_file="$(basename "${file,,}")" - + # Loop through the list of IWAD files for iwad in "${IWAD_FILES[@]}"; do # Check if the lowercase version of the IWAD file matches the input file @@ -40,56 +66,125 @@ search_file_recursive() { local file="$1" local directory="$2" local found_file="" - - # Check if the file exists in the current directory + + # We'll try several places so this works when the DOOM folder is symlinked + # 1) $directory/$file + # 2) recursive find under $directory + # 3) script-level doom dir (relative to assets) recursive + + # 0. normalize file name for case-insensitive search + local lowercase_file="$(echo "$file" | tr '[:upper:]' '[:lower:]')" + + # Resolve directory symlinks (if the DOOM folder itself was symlinked) + if [[ -L "$directory" ]]; then + directory=$(readlink -f "$directory") + fi + + # Try direct path first if [[ -e "$directory/$file" ]]; then # Resolve symlinks if the file is a symlink found_file=$(readlink -f "$directory/$file") - else - # Search recursively - local lowercase_file="$(echo "$file" | tr '[:upper:]' '[:lower:]')" - found_file=$(find "$directory" -type f -iname "$lowercase_file" | head -n 1) - if [[ -n "$found_file" ]]; then - # Resolve symlinks if the file is a symlink - found_file=$(readlink -f "$found_file") + echo "$found_file" + return + fi + + # Try recursive find under provided directory (case-insensitive) + # Use the basename for recursive search, so entries listed as "subdir/name.wad" + # will still match files located below the given directory. + local base="$(basename "$file")" + # Collect all case-insensitive matches, prefer one whose basename equals requested basename exactly + mapfile -t matches < <(find "$directory" -type f -iname "$base" 2>/dev/null || true) + if [[ ${#matches[@]} -gt 0 ]]; then + # First try to find a case-sensitive basename match + found_file="" + for m in "${matches[@]}"; do + if [[ "$(basename "$m")" == "$base" ]]; then + found_file="$m" + break + fi + done + # Fallback to the first match if no exact-case match found + if [[ -z "$found_file" ]]; then + found_file="${matches[0]}" fi + found_file=$(readlink -f "$found_file") + echo "$found_file" + return fi echo "$found_file" } # Main script -log d "RetroDECK uzdoom wrapper init" +log d "RetroDECK UZDOOM wrapper init" -# Check if the filename contains a single quote -if [[ "$1" == *"'"* ]]; then - log e "Invalid filename: \"$1\" contains a single quote.\nPlease rename the file in a proper way before continuing." - rd_zenity --error --no-wrap \ +# Check non-option arguments for a filename containing a single quote +for a in "$@"; do + case "$a" in + +*|-) continue ;; + esac + if [[ "$a" == *"'"* ]]; then + log e "DOOM Invalid filename: \"$a\" contains a single quote.\nPlease rename the file in a proper way before continuing." + rd_zenity --error --no-wrap \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK" \ --text="Invalid filename\n\n\"$1\" contains a single quote.\nPlease rename the file properly before continuing." exit 1 + fi +done + +# Determine if one of the arguments is a .doom file (we might be launched with +options first) +doom_file="" +for a in "$@"; do + # ignore option entries that start with '+' or '-' + case "$a" in + +*|-) continue ;; + esac + if [[ "${a##*.}" == "doom" ]]; then + doom_file="$a" + break + fi +done + +# If a .doom file wasn't found yet, try to detect any provided candidate file arg (first non-option) +target_arg="" +for a in "$@"; do + case "$a" in + +*|-) continue ;; + esac + target_arg="$a" +done + +# If no target was found, fall back to $1 to preserve legacy behavior +if [[ -z "$target_arg" ]]; then + target_arg="$1" fi -# Check if $1 is not a .doom file -if [[ "${1##*.}" != "doom" ]]; then +# If the chosen target arg doesn't have the .doom extension, we take the non-doom path +log d "Selected target: '$target_arg' (doom_file='$doom_file')" + +if [[ "${doom_file}" == "" && "${target_arg##*.}" != "doom" ]]; then # Check if the file is in the IWAD list - if [[ $(is_iwad "$1") == "true" ]]; then - command="$uzdoom -config /var/config/uzdoom/uzdoom.ini -iwad \"$1\"" + if [[ $(is_iwad "$target_arg") == "true" ]]; then + log d "iWAD found" + command="$uzdoom -config /var/config/uzdoom/uzdoom.ini -iwad \"$target_arg\"" else - command="$uzdoom -config /var/config/uzdoom/uzdoom.ini -file \"$1\"" + log d "WAD, IPK3 or PK3 file found" + command="$uzdoom -config /var/config/uzdoom/uzdoom.ini -file \"$target_arg\"" fi # Log the command - log i "Loading: \"$1\"" + log i "Loading: \"$target_arg\"" log i "Executing command \"$command\"" # Execute the command with double quotes eval "$command" -# Check if $1 is a .doom file -else - doom_file="$1" - log i "Found a doom file: \"$1\"" +# Check if a .doom file was found in arguments +elif [[ -n "$doom_file" || "${target_arg##*.}" == "doom" ]]; then + if [[ -z "$doom_file" ]]; then + doom_file="$target_arg" + fi + log i "Found a doom file: \"$doom_file\"" # Check if the .doom file exists if [[ ! -e "$doom_file" ]]; then @@ -105,13 +200,26 @@ else command="$uzdoom -config /var/config/uzdoom/uzdoom.ini" while IFS= read -r line; do + # Trim leading/trailing whitespace + line="$(echo "$line" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')" + + # Ignore empty lines and comment lines + if [[ -z "$line" || "${line:0:1}" == "#" ]]; then + continue + fi + + # Remove surrounding quotes if present + if [[ "$line" =~ ^\".*\"$ ]]; then + line="${line:1:${#line}-2}" + fi + # Check if the line contains a single quote if [[ "$line" == *"'"* ]]; then - log e "Invalid filename: A file contained in \"$1\" contains a single quote" + log e "Invalid filename: A file contained in \"$doom_file\" contains a single quote" rd_zenity --error --no-wrap \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ - --title "RetroDECK" \ - --text="Invalid filename\n\n\"$1\" contains a single quote.\nPlease rename the file properly before continuing in the .doom file." + --title "RetroDECK: DOOM - Warning: .doom file error" \ + --text="Invalid filename\n\n\"$1\" contains a single quote.\nPlease rename the file properly in the .doom file before continuing." exit 1 fi @@ -120,22 +228,36 @@ else # If the file is not found, exit with an error if [[ -z "$found_file" ]]; then - log "[ERROR] File not found: $line" + log "[ERROR] File not found in \"$line\"" rd_zenity --error --no-wrap \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ - --title "RetroDECK" \ - --text="File \"$line\" not found. Quitting." + --title "RetroDECK: DOOM - Warning: Not found" \ + --text="File \"$line\" not found. Quitting." exit 1 fi - # Check if the file is an IWAD - if [[ $(is_iwad "$found_file") == "true" ]]; then - command+=" -iwad \"$found_file\"" - log i "Appending the param \"-iwad $found_file\"" - else - command+=" -file \"$found_file\"" - log i "Appending the param \"-file $found_file\"" - fi + # Add param depending on file extension (.ini -> -cfg, iwads -> -iwad, others -> -file) + ext="${found_file##*.}" + ext_lc="${ext,,}" + case "$ext_lc" in + ini) + command+=" -cfg \"$found_file\"" + log i "Appending the param \"-cfg $found_file\"" + ;; + wad|pk3|ipk3) + if [[ $(is_iwad "$found_file") == "true" ]]; then + command+=" -iwad \"$found_file\"" + log i "Appending the param \"-iwad $found_file\"" + else + command+=" -file \"$found_file\"" + log i "Appending the param \"-file $found_file\"" + fi + ;; + *) + command+=" -file \"$found_file\"" + log i "Appending the param \"-file $found_file\"" + ;; + esac done < "$doom_file" # Log the command From 26567ac599de3eabd96efe998b518538034deeb8 Mon Sep 17 00:00:00 2001 From: lazzite Date: Sun, 12 Apr 2026 14:46:45 +0200 Subject: [PATCH 14/16] 0.10.8b component updates --- automation-tools/alchemist/desired_versions.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/automation-tools/alchemist/desired_versions.sh b/automation-tools/alchemist/desired_versions.sh index 913d8a9a..a75610c5 100644 --- a/automation-tools/alchemist/desired_versions.sh +++ b/automation-tools/alchemist/desired_versions.sh @@ -108,8 +108,8 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # Link: https://flathub.org/en/apps/org.mamedev.MAME # ------------------------------------------------------------------------------ # MAIN (Stable) -# Version: 0.286 - export MAME_DESIRED_VERSION="a5f7ddbc14ffd38bd9bc09f60c73204cf9e64dd361666f0e59b3247eb2c23395" +# Version: 0.287 + export MAME_DESIRED_VERSION="3dbe7b7f802da3b0c1628d604bee9925d67174a5efb7e4ae2235266ce2946739" # COOKER (Override) # export MAME_DESIRED_VERSION="latest" @@ -147,8 +147,8 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # Link: https://flathub.org/en/apps/net.rpcs3.RPCS3 # ------------------------------------------------------------------------------ # MAIN (Stable) -# Version: 0.0.40-190 - export RPCS3_DESIRED_VERSION="bbfc8350f2e6e6e2eda3157f264486717ee68fe6f9d238d6ab46901d00c2d958" +# Version: 0.0.40-191 + export RPCS3_DESIRED_VERSION="0713512d383febae08dae58b6cc10eeb974d993e80765d94cabe9ee3e83416ca" # COOKER (Override) # export RPCS3_DESIRED_VERSION="latest" @@ -160,8 +160,8 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # Link: https://flathub.org/en/apps/rs.ruffle.Ruffle # ------------------------------------------------------------------------------ # MAIN (Stable) -# Version: 0.2.0-nightly.2026.3.12 - export RUFFLE_DESIRED_VERSION="48a57600d24643d7267fe391177882376130654b588abafe1d31437f896b1488" +# Version: 0.2.0-nightly.2026.4.9 + export RUFFLE_DESIRED_VERSION="2b9a6e77082e1f8c97d0d39f71a2a2443ea08cc198139b068ec9c765d820378e" # COOKER (Override) # export RUFFLE_DESIRED_VERSION="latest" @@ -244,7 +244,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # Link: https://gitlab.com/solarus-games/solarus/-/releases/ # ------------------------------------------------------------------------------ # MAIN (Stable) - export SOLARUS_DESIRED_VERSION="v2.0.3" + export SOLARUS_DESIRED_VERSION="v2.0.4" # COOKER (Override) # export SOLARUS_DESIRED_VERSION="latest" @@ -344,7 +344,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # Link: https://github.com/RetroDECK/Vita3K-bin/releases # ------------------------------------------------------------------------------ # MAIN (Stable) - export VITA3K_DESIRED_VERSION="3936" + export VITA3K_DESIRED_VERSION="3949" # COOKER (Override) # export VITA3K_DESIRED_VERSION="latest" From c52287db4a9be09ab093d8d42fb322a377d0b8be Mon Sep 17 00:00:00 2001 From: etjanster Date: Mon, 13 Apr 2026 07:25:03 +0200 Subject: [PATCH 15/16] solarus fix --- solarus/component_recipe.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solarus/component_recipe.json b/solarus/component_recipe.json index e9af471b..409d9b93 100755 --- a/solarus/component_recipe.json +++ b/solarus/component_recipe.json @@ -83,7 +83,7 @@ "dest": "shared-libs" }, { - "library": "libsolarus.so.2.0.3", + "library": "libsolarus.so.2.0.4", "source": "usr/lib", "dest": "shared-libs" }, From 00d625d0a6cf76e80fa29485b5174f3d661933ce Mon Sep 17 00:00:00 2001 From: lazzite Date: Tue, 14 Apr 2026 06:54:32 +0200 Subject: [PATCH 16/16] rpcs3 firmware link --- rpcs3/component_functions.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rpcs3/component_functions.sh b/rpcs3/component_functions.sh index 8b55734f..f65eb7e9 100755 --- a/rpcs3/component_functions.sh +++ b/rpcs3/component_functions.sh @@ -8,7 +8,7 @@ rpcs3_gui_current_settings="$XDG_CONFIG_HOME/rpcs3/GuiConfigs/CurrentSettings.in rpcs3_input_active_profiles="$XDG_CONFIG_HOME/rpcs3/input_configs/active_profiles.yml" rpcs3_input_Default="$XDG_CONFIG_HOME/rpcs3/input_configs/global/Default.yml" rpcs3_component_dir="$rd_components/rpcs3" -rpcs3_firmware="http://dus01.ps3.update.playstation.net/update/ps3/image/us/2025_0305_c179ad173bbc08b55431d30947725a4b/PS3UPDAT.PUP" +rpcs3_firmware="http://dus01.ps3.update.playstation.net/update/ps3/image/us/2026_0318_a2b60b6ac1d2e49e230144345616927c/PS3UPDAT.PUP" update_rpcs3_firmware() { if [[ $(check_network_connectivity) == "true" ]]; then