Merge remote-tracking branch 'upstream/dev' into parallelPlusSimpleHack

This commit is contained in:
Nicholas Ricciuti 2023-06-16 10:06:56 -04:00
commit 579236f440
No known key found for this signature in database
GPG key ID: A82FCE39A3723CDF
24 changed files with 1554 additions and 27 deletions

View file

@ -3,3 +3,5 @@ vice-sa # Doesn't support updating with the script.
dolphin-sa # Wayland patch is now broken upstream
duckstation-lr #Libretro support removed from upstream.
rpcs3-sa #Need to update to llvm 16
gzdoom-sa #will break build patch
ryujinx-sa #broken on JELOS after build 1.1740.

View file

@ -0,0 +1,10 @@
SYSTEM_NAME="doom"
SYSTEM_FULLNAME="Doom"
SYSTEM_MANUFACTURER="id Software"
SYSTEM_RELEASE="1993"
SYSTEM_HARDWARE="game engine"
SYSTEM_PATH="/storage/roms/doom"
SYSTEM_EXTENSION=".doom"
SYSTEM_COMMAND="/usr/bin/runemu.sh %ROM% -P%SYSTEM% --core=%CORE% --emulator=%EMULATOR% --controllers=\"%CONTROLLERSCONFIG%\""
SYSTEM_PLATFORM="doom"
SYSTEM_THEME="doom"

View file

@ -11,10 +11,22 @@ PKG_TOOLCHAIN="manual"
PKG_LONGDESC="Portmaster - a simple tool that allows you to download various game ports"
makeinstall_target() {
export STRIP=true
mkdir -p ${INSTALL}/usr/config/PortMaster
tar -xvf ${PKG_DIR}/sources/${PKG_NAME}.tar.gz -C ${INSTALL}/usr/config/PortMaster
cp -rf ${PKG_DIR}/sources/PortMaster.sh ${INSTALL}/usr/config/PortMaster
chmod +x ${INSTALL}/usr/config/PortMaster/PortMaster.sh
case ${DEVICE} in
S922X)
mkdir -p ${INSTALL}/usr/lib/egl
tar -xvf ${PKG_DIR}/sources/libegl.tar.gz -C ${INSTALL}/usr/lib/egl
cp -rf ${PKG_DIR}/sources/${DEVICE}/PortMaster.sh ${INSTALL}/usr/config/PortMaster
chmod +x ${INSTALL}/usr/config/PortMaster/PortMaster.sh
;;
*)
cp -rf ${PKG_DIR}/sources/PortMaster.sh ${INSTALL}/usr/config/PortMaster
chmod +x ${INSTALL}/usr/config/PortMaster/PortMaster.sh
;;
esac
mkdir -p ${INSTALL}/usr/bin
cp -rf ${PKG_DIR}/scripts/* ${INSTALL}/usr/bin

View file

@ -0,0 +1,291 @@
#!/bin/bash
#
# PortMaster
# https://github.com/christianhaitian/arkos/wiki/ArkOS-Emulators-and-Ports-information#ports
# Description : A simple tool that allows you to download
# various game ports for Jelos.
#
if [ -f "/etc/profile" ]; then
source /etc/profile
fi
toolsfolderloc="/storage/.config"
isitext=$(df -PTh $toolsfolderloc | awk '{print $2}' | grep ext)
if [[ "${UI_SERVICE}" =~ weston.service ]]; then
CUR_TTY="/dev/tty"
else
CUR_TTY="/dev/tty0"
fi
ESUDO=""
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/storage/.config/PortMaster/libs"
GREP="/storage/.config/PortMaster/grep"
WGET="/usr/bin/wget"
LANG=""
export DIALOGRC=/storage/.config/PortMaster/colorscheme/jelos.dialogrc
app_colorscheme="Default"
mono_version="mono-6.12.0.122-aarch64.squashfs"
chmod 666 ${CUR_TTY}
export TERM=linux
export XDG_RUNTIME_DIR=/run/user/$UID/
printf "\033c" > ${CUR_TTY}
# hide cursor
printf "\e[?25h" > ${CUR_TTY}
dialog --clear
hotkey="Select"
height="15"
width="55"
power='(?<=Title_P=\").*?(?=\")'
opengl="None"
jport="None"
if [[ "${UI_SERVICE}" =~ weston.service ]]; then
opengl='(?<=Title_F=\").*?(?=\")'
fi
cd $toolsfolderloc/PortMaster
cp "$toolsfolderloc/PortMaster/gamecontrollerdb.txt" /tmp/gamecontrollerdb.txt
$toolsfolderloc/PortMaster/mapper.txt "/tmp/gamecontrollerdb.txt" > /dev/null 2>&1
export SDL_GAMECONTROLLERCONFIG_FILE="/tmp/gamecontrollerdb.txt"
/usr/bin/gptokeyb PortMaster.sh -c "$toolsfolderloc/PortMaster/portmaster.gptk" &
GW=`ip route | awk '/default/ { print $3 }'`
if [ -z "$GW" ]; then
dialog --clear --backtitle "PortMaster" --title "$1" --clear \
--msgbox "\n\nYour network connection doesn't seem to be working. \
\nDid you make sure to configure your wifi connection?" $height $width 2>&1 > ${CUR_TTY}
$ESUDO kill -9 $(pidof gptokeyb)
exit 0
fi
website="https://github.com/PortsMaster/PortMaster-Releases/releases/latest/download/"
jwebsite="https://github.com/brooksytech/JelosAddOns/releases/latest/download/"
isgithubrelease="true" #Github releases convert space " " ("%20") to "."
if [ ! -d "/dev/shm/portmaster" ]; then
mkdir /dev/shm/portmaster
fi
$WGET -t 3 -T 60 --no-check-certificate "$website"ports.md -O /dev/shm/portmaster/pports.md
$WGET -t 3 -T 60 --no-check-certificate "$jwebsite"jports.md -O /dev/shm/portmaster/jports.md
#JELOS has moonlight built in, dont use PortMaster's version.
sed -i '/Title="Moonlight ."/d' /dev/shm/portmaster/pports.md
#Combine PortMaster with JelosAddOns
cat /dev/shm/portmaster/pports.md /dev/shm/portmaster/jports.md > /dev/shm/portmaster/ports.md
PortInfoInstall() {
local setwebsiteback="N"
local unzipstatus
whichsd="storage/roms"
msgtxt=$(cat /dev/shm/portmaster/ports.md | $GREP "$1" | $GREP -oP '(?<=Desc=").*?(?=")')
installloc=$(cat /dev/shm/portmaster/ports.md | $GREP "$1" | $GREP -oP '(?<=locat=").*?(?=")')
porter=$(cat /dev/shm/portmaster/ports.md | $GREP "$1" | $GREP -oP '(?<=porter=").*?(?=")')
needmono=$(cat /dev/shm/portmaster/ports.md | $GREP "$1" | $GREP -oP '(?<=mono=").*?(?=")')
if [[ -f "/storage/roms/ports/PortMaster/libs/$mono_version" ]]; then
ismonothere="y"
else
ismonothere="n"
fi
if [[ "$isgithubrelease" == "true" ]]; then
#Github releases convert space " " ("%20") to "."
# Examples:
# - "Bermuda%20Syndrome" -> "Bermuda.Syndrome"
# - "Bermuda Syndrome" -> "Bermuda.Syndrome"
# - "Mr. Boom" -> "Mr.Boom" (note how space is removed)
installloc="$( echo "$installloc" | sed 's/%20/./g' | sed 's/ /./g' | sed 's/\.\././g' )"
fi
if [[ "${needmono,,}" == "y" ]] && [[ "$ismonothere" == "n" ]]; then
dialog --clear --backtitle "PortMaster" --title "$1" --clear \
--yesno "\n$msgtxt \n\nPorted By: $porter\n\nThis port also requires the download and install
of the mono library which is over 200MBs in size. This download may take a while.
\n\nWould you like to continue to install this port?" $height $width 2>&1 > ${CUR_TTY}
else
dialog --clear --backtitle "PortMaster" --title "$1" --clear \
--yesno "\n$msgtxt \n\nPorted By: $porter\n\nWould you like to continue to install this port?" $height $width 2>&1 > ${CUR_TTY}
fi
case $? in
0)
if [ ${needmono,,} == "y" ] && [ $ismonothere == "n" ]; then
$WGET -t 3 -T 60 -q --show-progress "$website$mono_version" -O \
/storage/roms/ports/PortMaster/libs/$mono_version 2>&1 | stdbuf -oL sed -E 's/\.\.+/---/g'| dialog --progressbox \
"Downloading ${mono_version} package..." $height $width > ${CUR_TTY}
fi
if [ ${needmono,,} == "y" ] && [ $ismonothere == "n" ] && [ $? -ne 0 ]; then
dialog --clear --backtitle "PortMaster" --title "$mono_version" --clear --msgbox "\n\n$mono_version did NOT download. \
\n\nIt did not download correctly. Please verify that you have at least 500MBs of space left in your roms parition
and your internet connection is stable and try again." $height $width 2>&1 > ${CUR_TTY}
$ESUDO rm -f /storage/roms/ports/PortMaster/libs/$mono_version
else
$WGET -t 3 -T 60 -q --show-progress "$dwebsite$installloc" -O \
/dev/shm/portmaster/$installloc 2>&1 | stdbuf -oL sed -E 's/\.\.+/---/g'| dialog --progressbox \
"Downloading ${1} package..." $height $width > ${CUR_TTY}
unzip -o /dev/shm/portmaster/$installloc -d /$whichsd/ports/ > ${CUR_TTY}
unzipstatus=$?
if [ $unzipstatus -eq 0 ] || [ $unzipstatus -eq 1 ]; then
if [ ! -z $isitext ]; then
$ESUDO chmod -R 777 /$whichsd/ports
fi
if [[ -e "/storage/.config/.OS_ARCH" ]] || [ "${OS_NAME}" == "JELOS" ]; then
cd /$whichsd/ports/
for s in *.sh
do
if [[ -z $(cat "$s" | $GREP "ESUDO") ]] || [[ -z $(cat "$s" | $GREP "controlfolder") ]]; then
sed -i 's/sudo //g' /storage/roms/ports/"$s"
fi
done
fi
cd $toolsfolderloc/PortMaster
dialog --clear --backtitle "PortMaster" --title "$1" --clear --msgbox "\n\n$1 installed successfully. \
\n\nMake sure to restart EmulationStation in order to see it in the ports menu." $height $width 2>&1 > ${CUR_TTY}
elif [ $unzipstatus -eq 2 ] || [ $unzipstatus -eq 3 ] || [ $unzipstatus -eq 9 ] || [ $unzipstatus -eq 51 ]; then
dialog --clear --backtitle "PortMaster" --title "$1" --clear --msgbox "\n\n$1 did NOT install. \
\n\nIt did not download correctly. Please check your internet connection and try again." $height $width 2>&1 > ${CUR_TTY}
elif [ $unzipstatus -eq 50 ]; then
dialog --clear --backtitle "PortMaster" --title "$1" --clear --msgbox "\n\n$1 did NOT install. \
\n\nYour roms partition seems to be full." $height $width 2>&1 > ${CUR_TTY}
else
dialog --clear --backtitle "PortMaster" --title "$1" --clear --msgbox "\n\n$1 did NOT install. \
\n\nUnzip error code:$unzipstatus " $height $width 2>&1 > ${CUR_TTY}
fi
$ESUDO rm -f /dev/shm/portmaster/$installloc
fi
;;
*)
;;
esac
}
userExit() {
rm -f /dev/shm/portmaster/*ports.md
dialog --clear
printf "\033c" > ${CUR_TTY}
#Fixing ports on S922X, exclude FNA games
for port in /storage/roms/ports/*.sh; do
if ! grep -q FNA "$port"; then
sed -i '/get_controls/c\get_controls && export SDL_VIDEO_GL_DRIVER=/usr/lib/egl/libGL.so.1 SDL_VIDEO_EGL_DRIVER=/usr/lib/egl/libEGL.so.1' "$port"
echo Fixing: "$port";
fi
done;
exit 0
}
JelosPorts() {
dwebsite=$jwebsite
jport='(?<=Title_J=\").*?(?=\")'
local options=(
$(cat /dev/shm/portmaster/ports.md | $GREP 'runtype="jp"' | $GREP -oP "(?<=Title=\").*?(?=\")|$power|$opengl|$jport")
)
while true; do
selection=(dialog \
--backtitle "PortMaster" \
--title "[ JelosAddOns Ports]" \
--no-collapse \
--clear \
--cancel-label "Back" \
--menu "Available JelosAddOns ports for install" $height $width 15)
choices=$("${selection[@]}" "${options[@]}" 2>&1 > ${CUR_TTY}) || TopLevel
for choice in $choices; do
case $choice in
*) PortInfoInstall $choice ;;
esac
done
done
}
MainMenu() {
dwebsite=$website
jport="None"
local options=(
$(cat /dev/shm/portmaster/ports.md | $GREP -oP "(?<=Title=\").*?(?=\")|$power|$opengl|$jport")
)
while true; do
selection=(dialog \
--backtitle "PortMaster" \
--title "[ Main Menu of all ports]" \
--no-collapse \
--clear \
--cancel-label "Back" \
--menu "Available ports for install" $height $width 15)
choices=$("${selection[@]}" "${options[@]}" 2>&1 > ${CUR_TTY}) || TopLevel
for choice in $choices; do
case $choice in
*) PortInfoInstall $choice ;;
esac
done
done
}
MainMenuRTR() {
dwebsite=$website
jport="None"
local options=(
$(cat /dev/shm/portmaster/ports.md | $GREP 'runtype="rtr"' | $GREP -oP "(?<=Title=\").*?(?=\")|$power|$opengl|$jport")
)
while true; do
selection=(dialog \
--backtitle "PortMaster" \
--title "[ Main Menu for Ready to Run ports ]" \
--no-collapse \
--clear \
--cancel-label "Back" \
--menu "Available Ready to Run ports for install" $height $width 15)
choices=$("${selection[@]}" "${options[@]}" 2>&1 > ${CUR_TTY}) || TopLevel
for choice in $choices; do
case $choice in
*) PortInfoInstall $choice ;;
esac
done
done
}
TopLevel() {
local topoptions=( 1 "All Available Ports" 2 "Ready to Run Ports" 3 "JelosAddOns Ports" )
while true; do
topselection=(dialog \
--backtitle "PortMaster" \
--title "[ Top Level Menu ]" \
--no-collapse \
--clear \
--cancel-label "Exit" \
--menu "Please make your selection" $height $width 15)
topchoices=$("${topselection[@]}" "${topoptions[@]}" 2>&1 > ${CUR_TTY}) || userExit
for choice in $topchoices; do
case $choice in
1) MainMenu ;;
2) MainMenuRTR ;;
3) JelosPorts ;;
esac
done
done
}
TopLevel

Binary file not shown.

View file

@ -0,0 +1,749 @@
# This file was generated by GZDoom g4.8pre-28-gbc75dc056 on 2021-10-16 16:14:47
# These are the directories to automatically search for IWADs.
# Each directory should be on a separate line, preceded by Path=
[IWADSearch.Directories]
Path=.
Path=$DOOMWADDIR
Path=/storage/.config/gzdoom
Path=/storage/roms/doom
# These are the directories to search for wads added with the -file
# command line parameter, if they cannot be found with the path
# as-is. Layout is the same as for IWADSearch.Directories
[FileSearch.Directories]
Path=/storage/.config/gzdoom
Path=/storage/roms/doom
Path=$DOOMWADDIR
# These are the directories to search for soundfonts that let listed in the menu.
# Layout is the same as for IWADSearch.Directories
[SoundfontSearch.Directories]
Path=/storage/.config/gzdoom/soundfonts
Path=/storage/.config/gzdoom/fm_banks
# Files to automatically execute when running the corresponding game.
# Each file should be on its own line, preceded by Path=
[Doom.AutoExec]
Path=/storage/.config/gzdoom/autoexec.cfg
[Heretic.AutoExec]
Path=/storage/.config/gzdoom/autoexec.cfg
[Hexen.AutoExec]
Path=/storage/.config/gzdoom/autoexec.cfg
[Strife.AutoExec]
Path=/storage/.config/gzdoom/autoexec.cfg
[Chex.AutoExec]
Path=/storage/.config/gzdoom/autoexec.cfg
# WAD files to always load. These are loaded after the IWAD but before
# any files added with -file. Place each file on its own line, preceded
# by Path=
[Global.Autoload]
# Wad files to automatically load depending on the game and IWAD you are
# playing. You may have have files that are loaded for all similar IWADs
# (the game) and files that are only loaded for particular IWADs. For example,
# any files listed under 'doom.Autoload' will be loaded for any version of Doom,
# but files listed under 'doom.doom2.Autoload' will only load when you are
# playing a Doom 2 based game (doom2.wad, tnt.wad or plutonia.wad), and files listed under
# 'doom.doom2.commercial.Autoload' only when playing doom2.wad.
[doom.Autoload]
[doom.id.Autoload]
[doom.id.doom2.Autoload]
[doom.id.doom2.commercial.Autoload]
[doom.id.doom2.commercial.french.Autoload]
[doom.id.doom2.commercial.xbox.Autoload]
[doom.id.doom2.unity.Autoload]
[doom.id.doom2.bfg.Autoload]
[doom.id.doom2.plutonia.Autoload]
[doom.id.doom2.plutonia.unity.Autoload]
[doom.id.doom2.tnt.Autoload]
[doom.id.doom2.tnt.unity.Autoload]
[doom.id.doom1.Autoload]
[doom.id.doom1.registered.Autoload]
[doom.id.doom1.ultimate.Autoload]
[doom.id.doom1.ultimate.xbox.Autoload]
[doom.id.wadsmoosh.Autoload]
[doom.id.doom1.unity.Autoload]
[doom.id.doom1.bfg.Autoload]
[doom.freedoom.Autoload]
[doom.freedoom.demo.Autoload]
[doom.freedoom.phase1.Autoload]
[doom.freedoom.phase2.Autoload]
[doom.freedoom.freedm.Autoload]
[heretic.Autoload]
[heretic.heretic.Autoload]
[heretic.shadow.Autoload]
[blasphemer.Autoload]
[hexen.Autoload]
[hexen.deathkings.Autoload]
[hexen.hexen.Autoload]
[strife.Autoload]
[strife.strife.Autoload]
[strife.veteran.Autoload]
[chex.Autoload]
[chex.chex1.Autoload]
[chex.chex3.Autoload]
[urbanbrawl.Autoload]
[hacx.Autoload]
[hacx.hacx1.Autoload]
[hacx.hacx2.Autoload]
[harmony.Autoload]
[square.Autoload]
[square.squareware.Autoload]
[square.square.Autoload]
[delaweare.Autoload]
[woolball.Autoload]
[woolball.rotwb.Autoload]
[LastRun]
Version=222
[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=false
autoloadlights=false
autoloadwidescreen=true
autosavecount=4
autosavenum=1
chase_dist=90
chase_height=-8
cl_capfps=false
cl_defaultconfiguration=0
cl_noprediction=false
cl_oldfreelooklimit=false
cl_predict_lerpscale=0.05000000074505806
cl_predict_lerpthreshold=2
cl_predict_specials=true
cl_run=false
cl_waitforsave=true
con_4bitansi=false
con_buffersize=-1
con_ctrl_d=
con_notifylines=4
con_printansi=true
defaultiwad=
demo_compress=true
developer=0
disableautoload=false
disableautosave=0
enablescriptscreenshot=false
fluid_chorus=false
fluid_chorus_depth=8
fluid_chorus_level=1
fluid_chorus_speed=0.30000001192092896
fluid_chorus_type=0
fluid_chorus_voices=3
fluid_gain=0.5
fluid_interp=1
fluid_lib=
fluid_patchset=gzdoom
fluid_reverb=false
fluid_reverb_damping=0.23000000417232513
fluid_reverb_level=0.5699999928474426
fluid_reverb_roomsize=0.6100000143051147
fluid_reverb_width=0.7599999904632568
fluid_samplerate=0
fluid_threads=1
fluid_voices=128
freelook=true
gl_billboard_faces_camera=false
gl_billboard_mode=0
gl_billboard_particles=true
gl_cachenodes=true
gl_cachetime=0.6000000238418579
gl_debug=false
gl_debug_breakpoint=false
gl_debug_level=0
gl_distfog=70
gl_dither_bpc=0
gl_enhanced_nv_stealth=3
gl_es=true
gl_finishbeforeswap=false
gl_fxaa=0
gl_lens=false
gl_lens_chromatic=1.1200000047683716
gl_lens_k=-0.11999999731779099
gl_lens_kcube=0.10000000149011612
gl_light_particles=true
gl_light_shadowmap=false
gl_light_sprites=true
gl_lights=false
gl_mask_sprite_threshold=0.5
gl_mask_threshold=0.5
gl_mirror_envmap=true
gl_multisample=1
gl_multithread=true
gl_no_skyclear=false
gl_particles_style=2
gl_pipeline_depth=0
gl_plane_reflection=true
gl_satformula=1
gl_seamless=false
gl_shadowmap_filter=1
gl_shadowmap_quality=512
gl_sort_textures=false
gl_sprite_blend=false
gl_ssao=0
gl_ssao_portals=1
gl_ssao_strength=0.699999988079071
gl_texture_filter=6
gl_texture_filter_anisotropic=2
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
gl_usecolorblending=true
gme_stereodepth=0
gus_memsize=0
gus_patchdir=
i_soundinbackground=false
inter_subtitles=false
invertmouse=false
invertmousex=false
language=auto
longsavemessages=true
lookstrafe=false
m_blockcontrollers=false
m_cleanscale=false
m_filter=false
m_forward=1
m_pitch=1
m_sensitivity_x=4
m_sensitivity_y=2
m_show_backbutton=0
m_showinputgrid=0
m_side=2
m_simpleoptions=false
m_use_mouse=2
m_yaw=1
map_point_coordinates=true
midi_config=gzdoom
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_samplerate=0
mod_volramp=2
mouse_capturemode=1
mus_calcgain=true
mus_enabled=true
mus_gainoffset=0
mus_usereplaygain=false
nointerscrollabort=false
nomonsterinterpolation=false
opl_core=0
opl_fullpan=true
opl_numchips=2
opn_chips_count=8
opn_emulator_id=1
opn_fullpan=true
opn_run_at_pcm_rate=false
os_isanyof=true
png_gamma=0
png_level=5
queryiwad=true
quicksavenum=-1
quicksaverotation=false
quicksaverotationcount=4
r_actorspriteshadow=1
r_actorspriteshadowdist=1500
r_blendmethod=false
r_dynlights=true
r_fakecontrast=1
r_fullbrightignoresectorcolor=true
r_fuzzscale=true
r_line_distance_cull=0
r_linearsky=false
r_magfilter=false
r_minfilter=true
r_mipmap=true
r_mirror_recursions=4
r_models=true
r_multithreaded=1
r_noaccel=false
r_quakeintensity=1
r_sprite_distance_cull=0
r_spriteadjust=2
r_ticstability=true
save_dir=
save_formatted=false
saveloadconfirmation=true
savestatistics=0
screenshot_dir=
screenshot_quiet=false
screenshot_type=png
show_messages=true
showendoom=0
snd_aldevice=Default
snd_alresampler=Default
snd_backend=openal
snd_buffersize=0
snd_channels=128
snd_efx=true
snd_enabled=true
snd_hrtf=-1
snd_mastervolume=1
snd_mididevice=-5
snd_midiprecache=false
snd_musicvolume=0.5
snd_samplerate=0
snd_sfxvolume=1
snd_streambuffersize=64
snd_waterreverb=true
statfile=zdoomstat.txt
storesavepic=true
strictdecorate=false
telezoom=true
timidity_channel_pressure=false
timidity_chorus=0
timidity_config=gzdoom
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
turnspeedsprintfast=1280
turnspeedsprintslow=320
turnspeedwalkfast=640
turnspeedwalkslow=320
use_joystick=true
use_mouse=false
vid_activeinbackground=false
vid_adapter=0
vid_aspect=0
vid_brightness=0
vid_contrast=1
vid_cropaspect=true
vid_defheight=1920
vid_defwidth=1080
vid_fullscreen=true
vid_gamma=1
vid_hdr=false
vid_maxfps=0
vid_preferbackend=3
vid_rendermode=4
vid_saturation=1
vid_scale_customheight=200
vid_scale_custompixelaspect=1
vid_scale_customwidth=320
vid_scale_linear=false
vid_scalefactor=1
vid_scalemode=0
vid_sdl_render_driver=
vid_vsync=false
vr_hunits_per_meter=41
vr_ipd=0.06199999898672104
vr_mode=0
vr_screendist=0.800000011920929
vr_swap_eyes=false
wildmidi_config=
wildmidi_enhanced_resampling=true
wildmidi_reverb=false
win_h=384
win_maximized=false
win_w=512
win_x=-1
win_y=-1
xbrz_centerdirectionbias=4
xbrz_colorformat=0
xbrz_dominantdirectionthreshold=3.5999999046325684
xbrz_equalcolortolerance=30
xbrz_luminanceweight=1
xbrz_steepdirectionthreshold=2.200000047683716
[GlobalSettings.Unknown]
[Doom.Player]
autoaim=35
classicflight=false
color=40 cf 00
colorset=0
fov=90
gender=male
movebob=0.25
name=Player
neverswitchonpickup=false
playerclass=Fighter
skin=base
stillbob=0
team=255
wbobfire=0
wbobspeed=1
wi_noautostartmap=false
[Doom.ConsoleVariables]
addrocketexplosion=false
adl_bank=14
adl_custom_bank=
adl_use_custom_bank=false
allcheats=false
am_backcolor=6c 54 40
am_cdwallcolor=4c 38 20
am_colorset=0
am_customcolors=true
am_drawmapback=1
am_efwallcolor=66 55 55
am_emptyspacemargin=0
am_fdwallcolor=88 70 58
am_followplayer=true
am_gridcolor=8b 5a 2b
am_interlevelcolor=ff 00 00
am_intralevelcolor=00 00 ff
am_linealpha=1
am_linethickness=1
am_lockedcolor=00 78 00
am_map_secrets=1
am_markcolor=2
am_markfont=AMMNUMx
am_notseencolor=6c 6c 6c
am_ovcdwallcolor=00 88 44
am_ovefwallcolor=00 88 44
am_overlay=0
am_ovfdwallcolor=00 88 44
am_ovinterlevelcolor=ff ff 00
am_ovlockedcolor=00 88 44
am_ovotherwallscolor=00 88 44
am_ovportalcolor=00 40 22
am_ovsecretsectorcolor=00 ff ff
am_ovsecretwallcolor=00 88 44
am_ovspecialwallcolor=ff ff ff
am_ovtelecolor=ff ff 00
am_ovthingcolor=e8 88 00
am_ovthingcolor_citem=e8 88 00
am_ovthingcolor_friend=e8 88 00
am_ovthingcolor_item=e8 88 00
am_ovthingcolor_monster=e8 88 00
am_ovthingcolor_ncmonster=e8 88 00
am_ovunexploredsecretcolor=00 ff ff
am_ovunseencolor=00 22 6e
am_ovwallcolor=00 ff 00
am_ovyourcolor=fc e8 d8
am_portalcolor=40 40 40
am_portaloverlay=true
am_rotate=1
am_secretsectorcolor=ff 00 ff
am_secretwallcolor=00 00 00
am_showgrid=false
am_showitems=true
am_showkeys=true
am_showkeys_always=false
am_showmaplabel=2
am_showmonsters=true
am_showsecrets=true
am_showthingsprites=0
am_showtime=true
am_showtotaltime=false
am_showtriggerlines=0
am_specialwallcolor=ff ff ff
am_textured=true
am_thingcolor=fc fc fc
am_thingcolor_citem=fc fc fc
am_thingcolor_friend=fc fc fc
am_thingcolor_item=fc fc fc
am_thingcolor_monster=fc fc fc
am_thingcolor_ncmonster=fc fc fc
am_thingrenderstyles=true
am_tswallcolor=88 88 88
am_unexploredsecretcolor=ff 00 ff
am_wallcolor=2c 18 08
am_xhaircolor=80 80 80
am_yourcolor=fc e8 d8
am_zoomdir=0
blood_fade_scalar=1
chat_substitution=false
chatmacro0=No
chatmacro1=I'm ready to kick butt!
chatmacro2=I'm OK.
chatmacro3=I'm not looking too good!
chatmacro4=Help!
chatmacro5=You suck!
chatmacro6=Next time, scumbag...
chatmacro7=Come here!
chatmacro8=I'll take care of it.
chatmacro9=Yes
cl_bbannounce=false
cl_bloodsplats=true
cl_bloodtype=0
cl_custominvulmapcolor1=00 00 1a
cl_custominvulmapcolor2=a6 a6 7a
cl_customizeinvulmap=false
cl_doautoaim=false
cl_gfxlocalization=3
cl_maxdecals=1024
cl_missiledecals=true
cl_pufftype=0
cl_rockettrails=1
cl_showmultikills=true
cl_showsecretmessage=true
cl_showsprees=true
cl_spreaddecals=true
classic_scaling_factor=1
classic_scaling_pixelaspect=1.2000000476837158
compatmode=0
con_alpha=0.75
con_centernotify=false
con_midtime=3
con_notablist=false
con_notifytime=3
con_pulsetext=false
con_scale=0
con_scaletext=0
crosshair=0
crosshaircolor=ff 00 00
crosshairforce=false
crosshairgrow=false
crosshairhealth=2
crosshairon=true
crosshairscale=0.5
dehload=0
dimamount=-1
dimcolor=ff d7 00
displaynametags=0
dlg_musicvolume=1
dlg_vgafont=false
gl_aalines=false
gl_bandedswlight=false
gl_bloom=true
gl_bloom_amount=1.399999976158142
gl_brightfog=false
gl_enhanced_nightvision=true
gl_exposure_base=0.3499999940395355
gl_exposure_min=0.3499999940395355
gl_exposure_scale=1.2999999523162842
gl_exposure_speed=0.05000000074505806
gl_fogmode=1
gl_fuzztype=0
gl_interpolate_model_frames=true
gl_light_models=true
gl_lightadditivesurfaces=false
gl_lightmode=2
gl_menu_blur=-1
gl_paltonemap_powtable=2
gl_paltonemap_reverselookup=true
gl_precache=true
gl_scale_viewport=true
gl_sclipfactor=1.7999999523162842
gl_sclipthreshold=10
gl_spriteclip=2
gl_tonemap=0
gl_weaponlight=8
hud_althud=false
hud_althud_forceinternal=false
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_health_green=100
hud_health_red=25
hud_health_yellow=50
hud_oldscale=true
hud_scale=-1
hud_scalefactor=1
hud_showammo=2
hud_showangles=false
hud_showitems=false
hud_showlag=0
hud_showmonsters=true
hud_showscore=false
hud_showsecrets=true
hud_showstats=false
hud_showtime=0
hud_showweapons=true
hud_timecolor=5
hudcolor_ltim=8
hudcolor_statnames=6
hudcolor_stats=3
hudcolor_time=6
hudcolor_titl=10
hudcolor_ttim=5
hudcolor_xyco=3
inter_classic_scaling=true
log_vgafont=false
lookspring=true
m_quickexit=false
msg=0
msg0color=11
msg1color=5
msg2color=2
msg3color=3
msg4color=3
msgmidcolor=11
msgmidcolor2=4
nametagcolor=5
nocheats=false
opn_custom_bank=
opn_use_custom_bank=false
paletteflash=0
pickup_fade_scalar=1
r_deathcamera=false
r_drawfuzz=1
r_maxparticles=4000
r_portal_recursions=4
r_rail_smartspiral=false
r_rail_spiralsparsity=1
r_rail_trailsparsity=1
r_skymode=2
r_vanillatrans=0
sb_cooperative_enable=true
sb_cooperative_headingcolor=6
sb_cooperative_otherplayercolor=2
sb_cooperative_yourplayercolor=3
sb_deathmatch_enable=true
sb_deathmatch_headingcolor=6
sb_deathmatch_otherplayercolor=2
sb_deathmatch_yourplayercolor=3
sb_teamdeathmatch_enable=true
sb_teamdeathmatch_headingcolor=6
screenblocks=10
setslotstrict=true
show_obituaries=true
snd_menuvolume=0.6000000238418579
snd_pitched=false
st_oldouch=false
st_scale=-1
transsouls=0.75
ui_screenborder_classic_scaling=true
uiscale=3
underwater_fade_scalar=1
vid_allowtrueultrawide=1
vid_cursor=None
vid_nopalsubstitutions=false
wi_cleantextscale=false
wi_percents=true
wi_showtotaltime=true
wipetype=1
[Doom.LocalServerInfo]
compatflags=0
compatflags2=0
forcewater=false
maxviewpitch=90
sv_corpsequeuesize=64
sv_disableautohealth=false
sv_dropstyle=0
sv_portal_recursions=4
sv_smartaim=0
[Doom.ConfigOnlyVariables]
[Doom.UnknownConsoleVariables]
[Doom.ConsoleAliases]
[Doom.Bindings]
Joy1=+use
Joy5=+speed
Joy6=+attack
Joy7=+crouch
Joy8=+jump
Joy9=
Joy10=
Joy11=weapprev
Joy12=weapnext
Joy13=togglemap
Joy14=menu_main
Joy16=centerview
Joy18=
Joy3=turn180
Joy4=+reload
[Doom.DoubleBindings]
[Doom.AutomapBindings]
MWheelUp=am_zoom 1.2
MWheelDown=am_zoom -1.2
Joy5=+am_zoomout
Joy6=+am_zoomin
[Joy:JS:0]
Axis0deadzone=0.200001
Axis0scale=0.8
Axis1deadzone=0.200001
Axis1scale=0.6
Axis2deadzone=0.200001
Axis2scale=0.6
Axis2map=0
Axis3deadzone=0.400001
Axis3scale=0.2
Axis3map=1

View file

@ -0,0 +1,54 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2021-present 351ELEC (https://github.com/351ELEC)
# Copyright (C) 2022 Fewtarius
# Copyright (C) 2023-present brooksytech (https://github.com/brookstech)
PKG_NAME="gzdoom-sa"
PKG_VERSION="d05ea1965ad1f070859806a3a67aaf5ea6c46234"
PKG_LICENSE="GPLv3"
PKG_SITE="https://github.com/ZDoom/gzdoom"
PKG_URL="${PKG_SITE}.git"
PKG_DEPENDS_HOST="toolchain zmusic:host"
PKG_DEPENDS_TARGET="toolchain SDL2 gzdoom-sa:host zmusic"
PKG_LONGDESC="GZDoom is a modder-friendly OpenGL and Vulkan source port based on the DOOM engine"
GET_HANDLER_SUPPORT="git"
PKG_TOOLCHAIN="cmake-make"
pre_build_host() {
HOST_CMAKE_OPTS=""
}
make_host() {
cmake . -DNO_GTK=ON
make
}
makeinstall_host() {
: #no
}
pre_configure_host(){
PKG_CMAKE_OPTS_HOST=" -DZMUSIC_LIBRARIES=$(get_build_dir zmusic)/build_host/source/libzmusic.so \
-DZMUSIC_INCLUDE_DIR=$(get_build_dir zmusic)/include"
}
pre_configure_target() {
PKG_CMAKE_OPTS_TARGET+=" -DNO_GTK=ON \
-DFORCE_CROSSCOMPILE=ON \
-DIMPORT_EXECUTABLES=${PKG_BUILD}/.${HOST_NAME}/ImportExecutables.cmake \
-DCMAKE_BUILD_TYPE=Release \
-DZMUSIC_LIBRARIES=$(get_build_dir zmusic)/build_target/source/libzmusic.so -DZMUSIC_INCLUDE_DIR=$(get_build_dir zmusic)/include"
}
makeinstall_target() {
mkdir -p ${INSTALL}/usr/bin
cp ${PKG_BUILD}/.${TARGET_NAME}/gzdoom ${INSTALL}/usr/bin
cp ${PKG_DIR}/scripts/start_gzdoom.sh ${INSTALL}/usr/bin/
chmod +x ${INSTALL}/usr/bin/*
mkdir -p ${INSTALL}/usr/config/gzdoom
cp ${PKG_DIR}/config/* ${INSTALL}/usr/config/gzdoom
cp ${PKG_BUILD}/.${TARGET_NAME}/*.pk3 ${INSTALL}/usr/config/gzdoom
cp -r ${PKG_BUILD}/.${TARGET_NAME}/soundfonts ${INSTALL}/usr/config/gzdoom
cp -r ${PKG_BUILD}/.${TARGET_NAME}/fm_banks ${INSTALL}/usr/config/gzdoom
}

View file

@ -0,0 +1,191 @@
diff -rupN gzdoom.orig/specs/udmf_zdoom.txt gzdoom/specs/udmf_zdoom.txt
--- gzdoom.orig/specs/udmf_zdoom.txt 2023-06-13 15:19:18.519118273 +0000
+++ gzdoom/specs/udmf_zdoom.txt 2023-06-13 15:21:45.870418615 +0000
@@ -211,8 +211,11 @@ Note: All <bool> fields default to false
useowncolors_bottom = <bool>; // Set to 1 to use the colors set in the sidedef. Default is using the colors from the owning sector.
uppercolor_bottom = <int>; // Material color of the top of the lower tier.
lowercolor_bottom = <int>; // Material color of the bottom of the lower tier. (Hardware rendering only.)
+ colorscalefactor_top = <float> // scales the material color by the given factor. Default is 1.
+ colorscalefactor_mid = <float> // scales the material color by the given factor. Default is 1.
+ colorscalefactor_bottom = <float> // scales the material color by the given factor. Default is 1.
- useowncoloradd_top = <bool>; // Controls where the advanced colorization properties are taken from.
+ useowncoloradd_top = <bool>; // Controls where the advanced colorization properties are taken from.
useowncoloradd_mid = <bool>; // 0: From the containing sector, 1: from the given part of the linedef itself
useowncoloradd_bottom = <bool>; // Default for all 3 is 0.
coloradd_top = <int>; // Additive material color to apply to top section of sidedef. Default is black (0x000000)
diff -rupN gzdoom.orig/src/common/console/keydef.h gzdoom/src/common/console/keydef.h
--- gzdoom.orig/src/common/console/keydef.h 2023-06-13 15:18:27.077967916 +0000
+++ gzdoom/src/common/console/keydef.h 2023-06-13 15:21:45.874418704 +0000
@@ -75,8 +75,13 @@ enum EKeyCodes
KEY_JOY6,
KEY_JOY7,
KEY_JOY8,
- KEY_JOY14 = KEY_FIRSTJOYBUTTON+13,
- KEY_JOY15 = KEY_FIRSTJOYBUTTON+14,
+ KEY_JOY9,
+ KEY_JOY10,
+ KEY_JOY11,
+ KEY_JOY12,
+ KEY_JOY13,
+ KEY_JOY14,
+ KEY_JOY15,
KEY_LASTJOYBUTTON = 0x187,
KEY_JOYPOV1_UP = 0x188,
KEY_JOYPOV1_RIGHT = 0x189,
diff -rupN gzdoom.orig/src/common/menu/menu.cpp gzdoom/src/common/menu/menu.cpp
--- gzdoom.orig/src/common/menu/menu.cpp 2023-06-13 15:19:18.527118451 +0000
+++ gzdoom/src/common/menu/menu.cpp 2023-06-13 15:21:45.878418792 +0000
@@ -692,15 +692,12 @@ bool M_Responder (event_t *ev)
ch = ev->data1;
switch (ch)
{
- case KEY_JOY1:
- case KEY_JOY3:
- case KEY_JOY15:
+ case KEY_JOY2:
case KEY_PAD_A:
mkey = MKEY_Enter;
break;
- case KEY_JOY2:
- case KEY_JOY14:
+ case KEY_JOY1:
case KEY_PAD_B:
mkey = MKEY_Back;
break;
@@ -724,6 +721,7 @@ bool M_Responder (event_t *ev)
case KEY_PAD_LTHUMB_UP:
case KEY_JOYAXIS2MINUS:
case KEY_JOYPOV1_UP:
+ case KEY_JOY9:
mkey = MKEY_Up;
break;
@@ -731,6 +729,7 @@ bool M_Responder (event_t *ev)
case KEY_PAD_LTHUMB_DOWN:
case KEY_JOYAXIS2PLUS:
case KEY_JOYPOV1_DOWN:
+ case KEY_JOY10:
mkey = MKEY_Down;
break;
@@ -738,6 +737,7 @@ bool M_Responder (event_t *ev)
case KEY_PAD_LTHUMB_LEFT:
case KEY_JOYAXIS1MINUS:
case KEY_JOYPOV1_LEFT:
+ case KEY_JOY11:
mkey = MKEY_Left;
break;
@@ -745,6 +745,7 @@ bool M_Responder (event_t *ev)
case KEY_PAD_LTHUMB_RIGHT:
case KEY_JOYAXIS1PLUS:
case KEY_JOYPOV1_RIGHT:
+ case KEY_JOY12:
mkey = MKEY_Right;
break;
}
diff -rupN gzdoom.orig/src/common/platform/posix/sdl/i_gui.cpp gzdoom/src/common/platform/posix/sdl/i_gui.cpp
--- gzdoom.orig/src/common/platform/posix/sdl/i_gui.cpp 2023-06-13 15:18:27.085968095 +0000
+++ gzdoom/src/common/platform/posix/sdl/i_gui.cpp 2023-06-13 15:21:45.878418792 +0000
@@ -68,7 +68,7 @@ bool I_SetCursor(FGameTexture *cursorpic
SDL_FreeCursor (cursor);
cursor = SDL_CreateColorCursor (cursorSurface, 0, 0);
SDL_SetCursor (cursor);
- SDL_ShowCursor(SDL_ENABLE);
+ SDL_ShowCursor(SDL_DISABLE);
}
else
{
diff -rupN gzdoom.orig/src/common/platform/posix/sdl/sdlglvideo.cpp gzdoom/src/common/platform/posix/sdl/sdlglvideo.cpp
--- gzdoom.orig/src/common/platform/posix/sdl/sdlglvideo.cpp 2023-06-13 15:19:18.527118451 +0000
+++ gzdoom/src/common/platform/posix/sdl/sdlglvideo.cpp 2023-06-13 15:22:11.590995370 +0000
@@ -394,9 +394,7 @@ SDLVideo::SDLVideo ()
}
// Fail gracefully if we somehow reach here after linking against a SDL2 library older than 2.0.6.
- SDL_version sdlver;
- SDL_GetVersion(&sdlver);
- if (!(sdlver.patch >= 6))
+ if (!SDL_VERSION_ATLEAST(2, 0, 6))
{
I_FatalError("Only SDL 2.0.6 or later is supported.");
}
diff -rupN gzdoom.orig/src/common/rendering/gles/gles_system.cpp gzdoom/src/common/rendering/gles/gles_system.cpp
--- gzdoom.orig/src/common/rendering/gles/gles_system.cpp 2023-06-13 15:19:18.535118630 +0000
+++ gzdoom/src/common/rendering/gles/gles_system.cpp 2023-06-13 15:49:15.910885661 +0000
@@ -10,7 +10,7 @@ CVAR(Bool, gles_force_glsl_v100, false,
CVAR(Int, gles_max_lights_per_surface, 32, 0);
EXTERN_CVAR(Bool, gl_customshader);
-
+#define __ANDROID__
#if USE_GLES2
PFNGLMAPBUFFERRANGEEXTPROC glMapBufferRange = NULL;
@@ -182,6 +182,7 @@ namespace OpenGLESRenderer
#if USE_GLES2
gles.depthStencilAvailable = CheckExtension("GL_OES_packed_depth_stencil");
gles.npotAvailable = CheckExtension("GL_OES_texture_npot");
+ gles.useMappedBuffers = true;
gles.depthClampAvailable = CheckExtension("GL_EXT_depth_clamp");
#else
gles.depthStencilAvailable = true;
diff -rupN gzdoom.orig/src/common/rendering/gles/gles_system.h gzdoom/src/common/rendering/gles/gles_system.h
--- gzdoom.orig/src/common/rendering/gles/gles_system.h 2023-06-13 15:19:18.535118630 +0000
+++ gzdoom/src/common/rendering/gles/gles_system.h 2023-06-13 15:21:45.886418973 +0000
@@ -23,7 +23,7 @@
#include <sys/stat.h>
#include <fcntl.h>
-#define USE_GLES2 0
+#define USE_GLES2 1
#if (USE_GLES2)
#include "glad/glad.h"
diff -rupN gzdoom.orig/src/gamedata/doomfont.h gzdoom/src/gamedata/doomfont.h
--- gzdoom.orig/src/gamedata/doomfont.h 2023-06-13 15:19:18.555119077 +0000
+++ gzdoom/src/gamedata/doomfont.h 2023-06-13 15:21:45.918419689 +0000
@@ -56,7 +56,7 @@ void InitDoomFonts()
}
else if (fileSystem.CheckNumForName("STCFN033", ns_graphics) >= 0)
{
- OriginalSmallFont = new FFont("OriginalSmallFont", "STCFN%.3d", "defsmallfont", HU_FONTSTART, HU_FONTSIZE, HU_FONTSTART, -1, -1, false, true, true);
+ OriginalSmallFont = new FFont("OriginalSmallFont", "STCFN%.3d", "defsmallfont", HU_FONTSTART, HU_FONTSIZE, HU_FONTSTART, -1, -1, false, true);
}
diff -rupN gzdoom.orig/wadsrc/static/language.def gzdoom/wadsrc/static/language.def
--- gzdoom.orig/wadsrc/static/language.def 2023-06-13 15:19:18.583119704 +0000
+++ gzdoom/wadsrc/static/language.def 2023-06-13 15:21:45.958420587 +0000
@@ -99,6 +99,9 @@ STARTUP3 = "";
STARTUP4 = "";
STARTUP5 = "";
+// Engine strings
+CNTRLMNU_OPEN_MAIN = "Open Main Menu";
+
// Placeholder definitions for strings that are in the game content table where the labels are needed even when that file is not loaded.
// Level names
diff -rupN gzdoom.orig/wadsrc/static/menudef.txt gzdoom/wadsrc/static/menudef.txt
--- gzdoom.orig/wadsrc/static/menudef.txt 2023-06-13 15:19:18.583119704 +0000
+++ gzdoom/wadsrc/static/menudef.txt 2023-06-13 15:21:45.958420587 +0000
@@ -662,6 +662,7 @@ OptionMenu "OtherControlsMenu" protected
Control "$CNTRLMNU_ADJUST_GAMMA" , "bumpgamma"
StaticText ""
+ Control "$CNTRLMNU_OPEN_MAIN" , "menu_main"
Control "$CNTRLMNU_OPEN_HELP" , "menu_help"
Control "$CNTRLMNU_OPEN_SAVE" , "menu_save"
Control "$CNTRLMNU_OPEN_LOAD" , "menu_load"
@@ -1776,7 +1777,7 @@ OptionMenu "CompatMapMenu" protected
Option "$CMPTMNU_PUSHWINDOW", "compat_pushwindow", "YesNo"
Option "$CMPTMNU_CHECKSWITCHRANGE", "compat_checkswitchrange", "YesNo"
Option "$CMPTMNU_RAILINGHACK", "compat_railing", "YesNo"
- Option "$CMPTMNU_NOMBF21", "compat_nombf21", "YesNo"
+ Option "$CMPTMNU_NOMBF21", "compat_nombf21", "YeaNo"
Class "CompatibilityMenu"
}

View file

@ -0,0 +1,53 @@
#!/usr/bin/bash
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2021-present 351ELEC (https://github.com/351ELEC)
. /etc/profile
jslisten set "-9 gzdoom"
RUN_DIR="/storage/roms/doom"
CONFIG="/storage/.config/gzdoom/gzdoom.ini"
SAVE_DIR="/storage/roms/gzdoom"
if [ ! -d "/storage/.config/gzdoom/" ]; then
cp -rf /usr/config/gzdoom /storage/.config/
fi
if [ ! -f "/storage/.config/gzdoom/gzdoom.ini" ]; then
cp -rf /usr/config/gzdoom/gzdoom.ini /storage/.config/gzdoom/
fi
if [ ! -d "/storage/roms/doom/iwads" ]; then
mkdir /storage/roms/doom/iwads
fi
if [ ! -d "/storage/roms/doom/mods" ]; then
mkdir /storage/roms/doom/mods
fi
mkdir -p ${SAVE_DIR}
params=" -config ${CONFIG} -savedir ${SAVE_DIR}"
params+=" +gl_es 1 +vid_preferbackend 3 +cl_capfps 0 +vid_fps 0"
# EXT can be wad, WAD, iwad, IWAD, pwad, PWAD or doom
EXT=${1##*.}
# If its not a simple wad (extension .doom) read the file and parse the data
if [ ${EXT} == "doom" ]; then
dos2unix "${1}"
while IFS== read -r key value; do
if [ "$key" == "IWAD" ]; then
params+=" -iwad $value"
fi
if [ "$key" == "MOD" ]; then
params+=" -file $value"
fi
done <"${1}"
else
params+=" -iwad ${1}"
fi
cd "${RUN_DIR}"
echo ${params} | xargs /usr/bin/gzdoom >/var/log/gzdoom.log 2>&1

View file

@ -0,0 +1,39 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2021-present 351ELEC (https://github.com/351ELEC)
PKG_NAME="zmusic"
PKG_VERSION="d8e6e28879ee97d00ce0eb9ad13ba462d85faf29"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/coelckers/ZMusic"
PKG_URL="${PKG_SITE}.git"
PKG_DEPENDS_TARGET="toolchain zmusic:host"
PKG_SHORTDESC="GZDoom's music system as a standalone library"
GET_HANDLER_SUPPORT="git"
PKG_TOOLCHAIN="cmake-make"
pre_build_host() {
HOST_CMAKE_OPTS=""
}
make_host() {
mkdir $PKG_BUILD/build_host
cd $PKG_BUILD/build_host
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
}
make_target() {
mkdir $PKG_BUILD/build_target
cd $PKG_BUILD/build_target
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
}
makeinstall_host() {
: #no
}
makeinstall_target() {
mkdir -p $INSTALL/usr/lib
cp -f $PKG_BUILD/build_target/source/libzmusic* $INSTALL/usr/lib/
}

View file

@ -2,7 +2,8 @@
# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech)
PKG_NAME="ryujinx-sa"
PKG_VERSION="1.1.869"
PKG_VERSION="1.1.748"
#DON'T UPDATE!, BROKEN BEYOND THIS VERSION!
PKG_ARCH="x86_64"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/Ryujinx"

View file

@ -4,7 +4,7 @@
# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech)
. /etc/profile
jslisten set "-9 Ryujinx"`
jslisten set "-9 Ryujinx"
if [ ! -d "/storage/.config/Ryujinx" ]; then
mkdir -p "/storage/.config/Ryujinx"
@ -16,14 +16,15 @@ if [ ! -d "/storage/roms/bios/ryujinx/nand" ]; then
mkdir -p "/storage/roms/bios/ryujinx/nand"
fi
rm -rf /storage/.config/Ryujinx/bis/system/Contents/registered
ln -sf /storage/roms/bios/ryujinx/nand /storage/.config/Ryujinx/bis/system/Contents/registered
mkdir -p /storage/.config/Ryujinx/bis/system/Contents/
ln -sf /storage/roms/bios/ryujinx/nand/ /storage/.config/Ryujinx/bis/system/Contents/registered
#Link ryujinx keys to bios folder
if [ ! -d "/storage/roms/bios/ryujinx/keys" ]; then
mkdir -p "/storage/roms/bios/ryujinx/keys"
fi
rm -rf /storage/.config/ryujinx/system
ln -sf /storage/roms/bios/ryujinx/keys /storage/.config/Ryujinx/system
rm -rf /storage/.config/Ryujinx/system
ln -sf /storage/roms/bios/ryujinx/keys/ /storage/.config/Ryujinx/system
#Emulation Station Features
GAME=$(echo "${1}"| sed "s#^/.*/##")
@ -31,14 +32,14 @@ ln -sf /storage/roms/bios/ryujinx/keys /storage/.config/Ryujinx/system
SUI=$(get_setting start_ui switch "${GAME}")
#Graphics Backend
if [ "$GRENDERER" = "0" ]
then
sed -i '/^ "graphics_backend": /c\ "graphics_backend": "OpenGL",' /storage/.config/Ryujinx/Config.json
fi
if [ "$GRENDERER" = "1" ]
then
if [ "$GRENDERER" = "0" ]
then
sed -i '/^ "graphics_backend": /c\ "graphics_backend": "OpenGL",' /storage/.config/Ryujinx/Config.json
fi
if [ "$GRENDERER" = "1" ]
then
sed -i '/^ "graphics_backend": /c\ "graphics_backend": "Vulkan",' /storage/.config/Ryujinx/Config.json
fi
fi
#Always grab the latest ryujinx bin
shasum1=$(sha1sum /usr/config/Ryujinx/Ryujinx | awk '{print $1}')
@ -49,9 +50,9 @@ if [ "$shasum1" <> "$shasum2" ]; then
fi
#Run Yuzu emulator
if [ "$SUI" = "1" ]
then
/storage/.config/Ryujinx/Ryujinx
else
/storage/.config/Ryujinx/Ryujinx "${1}"
fi
if [ "$SUI" = "1" ]
then
/storage/.config/Ryujinx/Ryujinx
else
/storage/.config/Ryujinx/Ryujinx "${1}"
fi

View file

@ -0,0 +1,15 @@
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech)
. /etc/profile
#Set up gzdoom
if [ ! -d "/storage/.config/gzdoom/" ]; then
cp -rf /usr/config/gzdoom /storage/.config/
sed -i '/Joy7=/c\Joy7=togglemap' /storage/.config/gzdoom/gzdoom.ini
sed -i '/Joy8=/c\Joy8=menu_main' /storage/.config/gzdoom/gzdoom.ini
sed -i '/Axis0scale=/c\Axis0scale=-0.8' /storage/.config/gzdoom/gzdoom.ini
sed -i '/Axis1scale=/c\Axis1scale=-0.6' /storage/.config/gzdoom/gzdoom.ini
sed -i '/vid_defheight=/c\vid_defheight=320' /storage/.config/gzdoom/gzdoom.ini
sed -i '/vid_defwidth=/c\vid_defwidth=480' /storage/.config/gzdoom/gzdoom.ini
fi

View file

@ -0,0 +1,14 @@
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech)
. /etc/profile
#Set up gzdoom
if [ ! -d "/storage/.config/gzdoom/" ]; then
cp -rf /usr/config/gzdoom /storage/.config/
sed -i '/Joy10=/c\Joy10=togglemap' /storage/.config/gzdoom/gzdoom.ini
sed -i '/Joy9=/c\Joy9=menu_main' /storage/.config/gzdoom/gzdoom.ini
sed -i '/vid_defheight=/c\vid_defheight=480' /storage/.config/gzdoom/gzdoom.ini
sed -i '/vid_defwidth=/c\vid_defwidth=640' /storage/.config/gzdoom/gzdoom.ini
fi

View file

@ -0,0 +1,14 @@
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech)
. /etc/profile
#Set up gzdoom
if [ ! -d "/storage/.config/gzdoom/" ]; then
cp -rf /usr/config/gzdoom /storage/.config/
sed -i '/Joy10=/c\Joy10=togglemap' /storage/.config/gzdoom/gzdoom.ini
sed -i '/Joy9=/c\Joy9=menu_main' /storage/.config/gzdoom/gzdoom.ini
sed -i '/vid_defheight=/c\vid_defheight=480' /storage/.config/gzdoom/gzdoom.ini
sed -i '/vid_defwidth=/c\vid_defwidth=640' /storage/.config/gzdoom/gzdoom.ini
fi

View file

@ -0,0 +1,9 @@
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech)
. /etc/profile
#Set gzdoom resolution
sed -i '/vid_defheight=/c\vid_defheight=544' /storage/.config/gzdoom/gzdoom.ini
sed -i '/vid_defwidth=/c\vid_defwidth=960' /storage/.config/gzdoom/gzdoom.ini

View file

@ -0,0 +1,13 @@
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech)
. /etc/profile
#Set up gzdoom
if [ ! -d "/storage/.config/gzdoom/" ]; then
cp -rf /usr/config/gzdoom /storage/.config/
sed -i '/Joy18=/c\Joy18=togglemap' /storage/.config/gzdoom/gzdoom.ini
sed -i '/Joy13=/c\Joy13=menu_main' /storage/.config/gzdoom/gzdoom.ini
sed -i '/vid_defheight=/c\vid_defheight=480' /storage/.config/gzdoom/gzdoom.ini
sed -i '/vid_defwidth=/c\vid_defwidth=854' /storage/.config/gzdoom/gzdoom.ini
fi

View file

@ -1,4 +1,3 @@
cp -r "/usr/local/share/mupen64plus/mupen64plus.cfg* /storage/.config/mupen64plus/"#!/bin/bash
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech)
@ -23,3 +22,7 @@ if [ -f "/storage/.config/drastic/config/drastic.cfg.ogabe" ]; then
rm /storage/.config/drastic/config/drastic.cfg
mv /storage/.config/drastic/config/drastic.cfg.oga /storage/.config/drastic/config/drastic.cfg
fi
#Set gzdoom resolution
sed -i '/vid_defheight=/c\vid_defheight=320' /storage/.config/gzdoom/gzdoom.ini
sed -i '/vid_defwidth=/c\vid_defwidth=480' /storage/.config/gzdoom/gzdoom.ini

View file

@ -1,4 +1,3 @@
cp -r "/usr/local/share/mupen64plus/mupen64plus.cfg* /storage/.config/mupen64plus/"#!/bin/bash
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech)
@ -23,3 +22,7 @@ if [ -f "/storage/.config/drastic/config/drastic.cfg.oga" ]; then
rm /storage/.config/drastic/config/drastic.cfg
mv /storage/.config/drastic/config/drastic.cfg.oga /storage/.config/drastic/config/drastic.cfg
fi
#Set gzdoom resolution
sed -i '/vid_defheight=/c\vid_defheight=320' /storage/.config/gzdoom/gzdoom.ini
sed -i '/vid_defwidth=/c\vid_defwidth=480' /storage/.config/gzdoom/gzdoom.ini

View file

@ -23,3 +23,9 @@ if [ -f "/storage/.config/drastic/config/drastic.cfg.ogs" ]; then
rm /storage/.config/drastic/config/drastic.cfg
mv /storage/.config/drastic/config/drastic.cfg.ogs /storage/.config/drastic/config/drastic.cfg
fi
#Set up gzdoom
if [ ! -d "/storage/.config/gzdoom/" ]; then
sed -i '/vid_defheight=/c\vid_defheight=480' /storage/.config/gzdoom/gzdoom.ini
sed -i '/vid_defwidth=/c\vid_defwidth=854' /storage/.config/gzdoom/gzdoom.ini
fi

View file

@ -0,0 +1,14 @@
!/bin/bash
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech)
. /etc/profile
#Set up gzdoom
if [ ! -d "/storage/.config/gzdoom/" ]; then
cp -rf /usr/config/gzdoom /storage/.config/
sed -i '/Joy10=/c\Joy10=togglemap' /storage/.config/gzdoom/gzdoom.ini
sed -i '/Joy9=/c\Joy9=menu_main' /storage/.config/gzdoom/gzdoom.ini
sed -i '/vid_defheight=/c\vid_defheight=480' /storage/.config/gzdoom/gzdoom.ini
sed -i '/vid_defwidth=/c\vid_defwidth=640' /storage/.config/gzdoom/gzdoom.ini
fi

View file

@ -0,0 +1,14 @@
!/bin/bash
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech)
. /etc/profile
#Set up gzdoom
if [ ! -d "/storage/.config/gzdoom/" ]; then
cp -rf /usr/config/gzdoom /storage/.config/
sed -i '/Joy10=/c\Joy10=togglemap' /storage/.config/gzdoom/gzdoom.ini
sed -i '/Joy9=/c\Joy9=menu_main' /storage/.config/gzdoom/gzdoom.ini
sed -i '/vid_defheight=/c\vid_defheight=720' /storage/.config/gzdoom/gzdoom.ini
sed -i '/vid_defwidth=/c\vid_defwidth=1280' /storage/.config/gzdoom/gzdoom.ini
fi

View file

@ -8,7 +8,7 @@ PKG_SECTION="emulation" # Do not change to virtual or makeinstall_target will no
PKG_LONGDESC="Emulation metapackage."
PKG_TOOLCHAIN="manual"
PKG_EMUS="flycast-sa hatarisa hypseus-singe hypseus-singe moonlight openbor pico-8 ppsspp-sa
PKG_EMUS="flycast-sa gzdoom-sa hatarisa hypseus-singe hypseus-singe moonlight openbor pico-8 ppsspp-sa
vice-sa"
PKG_RETROARCH="core-info libretro-database retroarch retroarch-assets retroarch-joypads retroarch-overlays \
@ -169,14 +169,18 @@ makeinstall_target() {
## Sammy Atomiswave
add_emu_core atomiswave retroarch flycast2021 false
add_emu_core atomiswave flycast flycast-sa false
case ${DEVICE} in
RK3*)
add_emu_core atomiswave retroarch flycast32 true
add_emu_core atomiswave retroarch flycast false
add_emu_core atomiswave flycast flycast-sa false
;;
S922X)
add_emu_core atomiswave flycast flycast-sa true
add_emu_core atomiswave retroarch flycast false
*)
add_emu_core atomiswave retroarch flycast true
add_emu_core atomiswave flycast flycast-sa false
;;
esac
add_es_system atomiswave
@ -261,14 +265,18 @@ makeinstall_target() {
### Sega Dreamcast
add_emu_core dreamcast retroarch flycast2021 false
add_emu_core dreamcast flycast flycast-sa false
case ${DEVICE} in
RK3*)
add_emu_core dreamcast retroarch flycast32 true
add_emu_core dreamcast retroarch flycast false
add_emu_core dreamcast flycast flycast-sa false
;;
S922X)
add_emu_core dreamcast flycast flycast-sa true
add_emu_core dreamcast retroarch flycast false
*)
add_emu_core dreamcast retroarch flycast true
add_emu_core dreamcast flycast flycast-sa false
;;
esac
add_es_system dreamcast
@ -452,15 +460,19 @@ makeinstall_target() {
add_es_system msx2
### Sega Naomi
add_emu_core naomi retroarch flucast2021 false
add_emu_core naomi flycast flycast-sa false
add_emu_core naomi retroarch flycast2021 false
case ${DEVICE} in
RK3*)
add_emu_core naomi retroarch flycast32 true
add_emu_core naomi retroarch flycast false
add_emu_core naomi flycast flycast-sa false
;;
S922X)
add_emu_core naomi flycast flycast-sa true
add_emu_core naomi retroarch flycast false
*)
add_emu_core naomi retroarch flycast true
add_emu_core naomi flycast flycast-sa false
;;
esac
add_es_system naomi
@ -820,6 +832,10 @@ makeinstall_target() {
### PC Ports
add_es_system ports
### Doom
add_emu_core doom gzdoom gzdoom-sa true
add_es_system doom
### Media Player
add_emu_core mpv mpv true
add_es_system mplayer

View file

@ -124,6 +124,9 @@ CONFIG_PREEMPT_NONE=y
CONFIG_PREEMPT_COUNT=y
CONFIG_PREEMPTION=y
CONFIG_PREEMPT_DYNAMIC=y
CONFIG_PREEMPT_RT=y
CONFIG_HAVE_PREEMPT_LAZY=y
# CONFIG_SCHED_CORE is not set
#