diff --git a/scriptmodules/ports/jfduke3d.sh b/scriptmodules/ports/jfduke3d.sh index cd557f3c6b..3b1df5d7f0 100644 --- a/scriptmodules/ports/jfduke3d.sh +++ b/scriptmodules/ports/jfduke3d.sh @@ -12,7 +12,7 @@ rp_module_id="jfduke3d" rp_module_desc="lightweight Duke3D source port by JonoF" rp_module_licence="GPL2 https://raw.githubusercontent.com/jonof/jfduke3d/master/GPL.TXT" -rp_module_repo="git https://github.com/jonof/jfduke3d.git master 41cd46bc" +rp_module_repo="git https://github.com/jonof/jfduke3d.git master" rp_module_section="exp" rp_module_flags="" @@ -32,7 +32,16 @@ function sources_jfduke3d() { } function build_jfduke3d() { - local params=(DATADIR=$romdir/ports/duke3d RELEASE=1) + local gamedir="duke3d" + local require="duke3d" + local params=(RELEASE=1) + + if [[ ! -z "$1" ]] && [[ ! -z "$2" ]]; then + gamedir=$1 + require=$2 + fi + + params+=(DATADIR=$romdir/ports/$gamedir) ! isPlatform "x86" && params+=(USE_ASM=0) ! isPlatform "x11" && params+=(WITHOUT_GTK=1) @@ -49,16 +58,21 @@ function build_jfduke3d() { make clean veryclean make "${params[@]}" - md_ret_require="$md_build/duke3d" + md_ret_require="$md_build/$require" } function install_jfduke3d() { md_ret_files=( - 'duke3d' 'build' 'README.md' 'GPL.TXT' ) + + if [[ ! -z "$1" ]]; then + md_ret_files+=("$1") + else + md_ret_files+=('duke3d') + fi } function game_data_jfduke3d() { @@ -74,9 +88,22 @@ function game_data_jfduke3d() { fi } -function configure_jfduke3d() { - local config="$md_conf_root/jfduke3d/duke3d.cfg" +function config_file_jfduke3d() { + local config="$1" + if [[ -f "$config" ]] || isPlatform "x86"; then + return + fi + + # no config file exists, creating one + # with alsa as the sound driver + cat >"$config" << _EOF_ +[Sound Setup] +MusicParams = "audio.driver=alsa" +_EOF_ + chown -R $user:$user "$config" +} +function configure_jfduke3d() { mkRomDir "ports/duke3d" moveConfigDir "$home/.jfduke3d" "$md_conf_root/jfduke3d" @@ -87,16 +114,5 @@ function configure_jfduke3d() { return fi game_data_jfduke3d - - if [[ -f "$config" ]]; then - return - fi - - # no config file exists, creating one - # with alsa as the sound driver - cat >"$config" << _EOF_ -[Sound Setup] -MusicParams = "audio.driver=alsa" -_EOF_ - chown -R $user:$user "$config" + config_file_jfduke3d "$md_conf_root/jfduke3d/duke3d.cfg" } diff --git a/scriptmodules/ports/jfsw.sh b/scriptmodules/ports/jfsw.sh index 05ae4eed55..9795f4b548 100644 --- a/scriptmodules/ports/jfsw.sh +++ b/scriptmodules/ports/jfsw.sh @@ -13,19 +13,12 @@ rp_module_id="jfsw" rp_module_desc="Shadow Warrior source port by JonoF" rp_module_help="Place your registered version game files in $romdir/ports/shadowwarrior" rp_module_licence="GPL2 https://raw.githubusercontent.com/jonof/jfsw/master/GPL.TXT" -rp_module_repo="git https://github.com/jonof/jfsw.git master 12828783" +rp_module_repo="git https://github.com/jonof/jfsw.git master" rp_module_section="exp" rp_module_flags="" function depends_jfsw() { - local depends=( - libsdl2-dev libvorbis-dev libfluidsynth-dev - ) - - isPlatform "x86" && depends+=(nasm) - isPlatform "gl" || isPlatform "mesa" && depends+=(libgl1-mesa-dev libglu1-mesa-dev) - isPlatform "x11" && depends+=(libgtk3.0-dev) - getDepends "${depends[@]}" + depends_jfduke3d } function sources_jfsw() { @@ -33,33 +26,11 @@ function sources_jfsw() { } function build_jfsw() { - local params=(DATADIR=$romdir/ports/shadowwarrior RELEASE=1) - - ! isPlatform "x86" && params+=(USE_ASM=0) - ! isPlatform "x11" && params+=(WITHOUT_GTK=1) - ! isPlatform "gl3" && params+=(USE_POLYMOST=0) - - if isPlatform "gl" || isPlatform "mesa"; then - params+=(USE_OPENGL=USE_GL2) - elif isPlatform "gles"; then - params+=(USE_OPENGL=USE_GLES2) - else - params+=(USE_OPENGL=0) - fi - - make clean veryclean - make "${params[@]}" - - md_ret_require="$md_build/sw" + build_jfduke3d "shadowwarrior" "sw" } function install_jfsw() { - md_ret_files=( - 'sw' - 'build' - 'README.md' - 'GPL.TXT' - ) + install_jfduke3d 'sw' } function gamedata_jfsw() { @@ -76,7 +47,6 @@ function gamedata_jfsw() { } function configure_jfsw() { - local config="$md_conf_root/sw/jfsw/sw.cfg" local gamedir="$romdir/ports/shadowwarrior" mkRomDir "ports/shadowwarrior" @@ -90,16 +60,5 @@ function configure_jfsw() { return fi gamedata_jfsw - - if [[ -f "$config" ]]; then - return - fi - - # no config file exists, creating one - # with alsa as the sound driver - cat >"$config" << _EOF_ -[Sound Setup] -MusicParams = "audio.driver=alsa" -_EOF_ - chown -R $user:$user "$config" + config_file_jfduke3d "$md_conf_root/sw/jfsw/sw.cfg" }