commit
8f40a51b9a
196 changed files with 83468 additions and 8241 deletions
4
.github/workflows/build-dev.yaml
vendored
4
.github/workflows/build-dev.yaml
vendored
|
@ -100,7 +100,7 @@ jobs:
|
|||
* Decompress the image.
|
||||
* Write the image to an SDCARD using an imaging tool. Common imaging tools include [Balena Etcher](https://www.balena.io/etcher/), [Raspberry Pi Imager](https://www.raspberrypi.com/software/), and [Win32 Disk Imager](https://sourceforge.net/projects/win32diskimager/). If you're skilled with the command line, dd works fine too.
|
||||
|
||||
Download: [[Ayaneo Air / Air Pro /Atari VCS/Generic x86_64](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.img.gz)]
|
||||
Download: [[Ayaneo Handhelds, Atari VCS, and other x86_64 devices](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.img.gz)]
|
||||
|
||||
## Upgrading
|
||||
* Download and install the update online via the System Settings menu.
|
||||
|
@ -109,7 +109,7 @@ jobs:
|
|||
* Copy the update to your device over the network to your device's update share.
|
||||
* Reboot the device, and the update will begin automatically.
|
||||
|
||||
Download: [[Ayaneo Air / Air Pro /Atari VCS/x86_64](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.tar)]
|
||||
Download: [[Ayaneo Handhelds, Atari VCS, and other x86_64 devices](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.tar)]
|
||||
|
||||
## Documentation
|
||||
* [Home](https://github.com/JustEnoughLinuxOS/distribution/wiki)
|
||||
|
|
4
.github/workflows/build-main.yaml
vendored
4
.github/workflows/build-main.yaml
vendored
|
@ -97,7 +97,7 @@ jobs:
|
|||
* Decompress the image.
|
||||
* Write the image to an SDCARD using an imaging tool. Common imaging tools include [Balena Etcher](https://www.balena.io/etcher/), [Raspberry Pi Imager](https://www.raspberrypi.com/software/), and [Win32 Disk Imager](https://sourceforge.net/projects/win32diskimager/). If you're skilled with the command line, dd works fine too.
|
||||
|
||||
Download: [[Ayaneo Air / Air Pro /Atari VCS/Generic x86_64](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.img.gz)]
|
||||
Download: [[Ayaneo Handhelds, Atari VCS, and other x86_64 devices] (https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.img.gz)]
|
||||
|
||||
## Upgrading
|
||||
* Download and install the update online via the System Settings menu.
|
||||
|
@ -108,7 +108,7 @@ jobs:
|
|||
* Copy the update to your device over the network to your device's update share.
|
||||
* Reboot the device, and the update will begin automatically.
|
||||
|
||||
Download: [[Ayaneo Air / Air Pro /Atari VCS/x86_64](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.tar)]
|
||||
Download: [[Ayaneo Handhelds, Atari VCS, and other x86_64 devices](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.tar)]
|
||||
|
||||
## Documentation
|
||||
* [Home](https://github.com/JustEnoughLinuxOS/distribution/wiki)
|
||||
|
|
1
.github/workflows/release-main.yaml
vendored
1
.github/workflows/release-main.yaml
vendored
|
@ -47,7 +47,6 @@ jobs:
|
|||
run: echo "date=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Repository Dispatch
|
||||
if: steps.changes.outputs.changes != '0'
|
||||
uses: peter-evans/repository-dispatch@v2
|
||||
with:
|
||||
token: ${{ secrets.REPO_ACCESS }}
|
||||
|
|
4
Makefile
4
Makefile
|
@ -30,6 +30,10 @@ x86_64: handheld
|
|||
handheld:
|
||||
DEVICE_ROOT=handheld PROJECT=PC DEVICE=handheld ARCH=x86_64 ./scripts/build_distro
|
||||
|
||||
RK3588:
|
||||
DEVICE_ROOT=RK3588 PROJECT=Rockchip DEVICE=RK3588 ARCH=arm ./scripts/build_distro
|
||||
DEVICE_ROOT=RK3588 PROJECT=Rockchip DEVICE=RK3588 ARCH=aarch64 ./scripts/build_distro
|
||||
|
||||
update:
|
||||
PROJECT=PC DEVICE=handheld ARCH=x86_64 ./scripts/update_packages
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
# determine architecture's family
|
||||
case $TARGET_CPU in
|
||||
generic|cortex-a35|cortex-a53|cortex-a57|cortex-a72|exynos-m1|qdf24xx|thunderx|xgene1|cortex-a57.cortex-a53|cortex-a72.cortex-a53|cortex-a55)
|
||||
generic|cortex-a35|cortex-a53|cortex-a57|cortex-a72|exynos-m1|qdf24xx|thunderx|xgene1|cortex-a57.cortex-a53|cortex-a72.cortex-a53|cortex-a55|cortex-a76.cortex-a55)
|
||||
TARGET_SUBARCH=aarch64
|
||||
TARGET_VARIANT=armv8-a
|
||||
TARGET_ABI=eabi
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
|
||||
TARGET_FEATURES+=" neon"
|
||||
;;
|
||||
cortex-a35|cortex-a53|cortex-a72.cortex-a53|cortex-a55)
|
||||
cortex-a35|cortex-a53|cortex-a72.cortex-a53|cortex-a55|cortex-a76.cortex-a55)
|
||||
TARGET_SUBARCH=armv8-a
|
||||
TARGET_ABI=eabi
|
||||
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
np2kai # Last major commit before hiatus is broken
|
||||
vicesa # Doesn't support updating with the script.
|
||||
duckstationsa # Latest commits break device patching. Need to research.
|
||||
ecwolf
|
||||
raze
|
||||
|
|
|
@ -3,10 +3,15 @@
|
|||
|
||||
PKG_NAME="zlib"
|
||||
PKG_VERSION="1.2.13"
|
||||
PKG_SHA256="b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30"
|
||||
PKG_LICENSE="OSS"
|
||||
PKG_SITE="http://www.zlib.net"
|
||||
PKG_URL="http://zlib.net/${PKG_NAME}-${PKG_VERSION}.tar.xz"
|
||||
PKG_DEPENDS_HOST="cmake:host"
|
||||
PKG_URL="https://zlib.net/fossils/${PKG_NAME}-${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_HOST="ccache:host cmake:host"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC="A general purpose (ZIP) data compression library."
|
||||
PKG_TOOLCHAIN="cmake-make"
|
||||
|
||||
PKG_CMAKE_OPTS_HOST="-DINSTALL_PKGCONFIG_DIR=${TOOLCHAIN}/lib/pkgconfig"
|
||||
|
||||
PKG_CMAKE_OPTS_TARGET="-DINSTALL_PKGCONFIG_DIR=/usr/lib/pkgconfig"
|
||||
|
|
|
@ -2,8 +2,7 @@
|
|||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="zstd"
|
||||
PKG_VERSION="1.5.0"
|
||||
PKG_SHA256="5194fbfa781fcf45b98c5e849651aa7b3b0a008c6b72d4a0db760f3002291e94"
|
||||
PKG_VERSION="1.5.2"
|
||||
PKG_LICENSE="BSD/GPLv2"
|
||||
PKG_SITE="http://www.zstd.net"
|
||||
PKG_URL="https://github.com/facebook/zstd/releases/download/v${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.gz"
|
||||
|
@ -20,4 +19,4 @@ PKG_MESON_OPTS_HOST="-Dlegacy_level=0 \
|
|||
-Dbin_programs=false \
|
||||
-Dzlib=disabled \
|
||||
-Dlzma=disabled \
|
||||
-Dlz4=disabled"
|
||||
-Dlz4=disabled"
|
||||
|
|
|
@ -3,12 +3,13 @@
|
|||
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="sqlite"
|
||||
PKG_VERSION="autoconf-3280000"
|
||||
PKG_SHA256="d61b5286f062adfce5125eaf544d495300656908e61fca143517afcc0a89b7c3"
|
||||
PKG_VERSION="3.40.1"
|
||||
PKG_VERSION_SQLITE="${PKG_VERSION/./}00"
|
||||
PKG_SHA256="2c5dea207fa508d765af1ef620b637dcb06572afa6f01f0815bd5bbf864b33d9"
|
||||
PKG_LICENSE="PublicDomain"
|
||||
PKG_SITE="https://www.sqlite.org/"
|
||||
PKG_URL="https://www.sqlite.org/2019/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_HOST="gcc:host"
|
||||
PKG_URL="https://www.sqlite.org/2022/${PKG_NAME}-autoconf-${PKG_VERSION_SQLITE/./0}.tar.gz"
|
||||
PKG_DEPENDS_HOST="ccache:host autoconf:host automake:host"
|
||||
PKG_DEPENDS_TARGET="toolchain ncurses"
|
||||
PKG_LONGDESC="An Embeddable SQL Database Engine."
|
||||
# libsqlite3.a(sqlite3.o): requires dynamic R_X86_64_PC32 reloc against 'sqlite3_stricmp' which may overflow at runtime
|
||||
|
@ -23,15 +24,15 @@ PKG_CONFIGURE_OPTS_TARGET="--disable-static \
|
|||
|
||||
pre_configure_target() {
|
||||
# sqlite fails to compile with fast-math link time optimization.
|
||||
CFLAGS=`echo $CFLAGS | sed -e "s|-Ofast|-O3|g"`
|
||||
CFLAGS=`echo $CFLAGS | sed -e "s|-ffast-math||g"`
|
||||
CFLAGS=$(echo ${CFLAGS} | sed -e "s|-Ofast|-O3|g")
|
||||
CFLAGS=$(echo ${CFLAGS} | sed -e "s|-ffast-math||g")
|
||||
|
||||
# This option adds additional logic to the ANALYZE command and to the query planner
|
||||
# that can help SQLite to chose a better query plan under certain situations. The
|
||||
# ANALYZE command is enhanced to collect histogram data from each index and store
|
||||
# that data in the sqlite_stat3 table. The query planner will then use the histogram
|
||||
# that data in the sqlite_stat4 table. The query planner will then use the histogram
|
||||
# data to help it make better index choices.
|
||||
CFLAGS="$CFLAGS -DSQLITE_ENABLE_STAT3"
|
||||
CFLAGS+=" -DSQLITE_ENABLE_STAT4"
|
||||
|
||||
# When this C-preprocessor macro is defined, SQLite includes some additional APIs
|
||||
# that provide convenient access to meta-data about tables and queries. The APIs that
|
||||
|
@ -43,7 +44,7 @@ pre_configure_target() {
|
|||
# - sqlite3_column_origin_name()
|
||||
# - sqlite3_column_origin_name16()
|
||||
# - sqlite3_table_column_metadata()
|
||||
CFLAGS="$CFLAGS -DSQLITE_ENABLE_COLUMN_METADATA=1"
|
||||
CFLAGS+=" -DSQLITE_ENABLE_COLUMN_METADATA=1"
|
||||
|
||||
# This macro sets the default limit on the amount of memory that will be used for
|
||||
# memory-mapped I/O for each open database file. If the N is zero, then memory
|
||||
|
@ -51,5 +52,5 @@ pre_configure_target() {
|
|||
# SQLITE_MAX_MMAP_SIZE can be modified at start-time using the
|
||||
# sqlite3_config(SQLITE_CONFIG_MMAP_SIZE) call, or at run-time using the
|
||||
# mmap_size pragma.
|
||||
CFLAGS="$CFLAGS -DSQLITE_TEMP_STORE=3 -DSQLITE_DEFAULT_MMAP_SIZE=268435456"
|
||||
CFLAGS+=" -DSQLITE_TEMP_STORE=3 -DSQLITE_DEFAULT_MMAP_SIZE=268435456"
|
||||
}
|
||||
|
|
47
packages/devel/arm-mem/package.mk
Normal file
47
packages/devel/arm-mem/package.mk
Normal file
|
@ -0,0 +1,47 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="arm-mem"
|
||||
PKG_VERSION="b48ea154fd74410022d8189003cd69fad8f3d02c" # Apr 30, 2019
|
||||
PKG_SHA256="93240defef3abba7d42a7420e55ae4f8b90cc99ef16044fdfb8b5820a17e766d"
|
||||
PKG_ARCH="arm"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/bavison/arm-mem"
|
||||
PKG_URL="https://github.com/bavison/arm-mem/archive/${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_DEPENDS_INIT="toolchain arm-mem"
|
||||
PKG_LONGDESC="arm-mem is a ARM-accelerated versions of selected functions from string.h"
|
||||
PKG_BUILD_FLAGS="+pic"
|
||||
|
||||
if target_has_feature neon; then
|
||||
PKG_LIB_ARM_MEM="libarmmem-v7l.so"
|
||||
else
|
||||
PKG_LIB_ARM_MEM="libarmmem-v6l.so"
|
||||
fi
|
||||
|
||||
PKG_MAKE_OPTS_TARGET="${PKG_LIB_ARM_MEM}"
|
||||
|
||||
pre_make_target() {
|
||||
export CROSS_COMPILE=${TARGET_PREFIX}
|
||||
}
|
||||
|
||||
make_init() {
|
||||
: # reuse make_target()
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p ${INSTALL}/usr/lib
|
||||
cp -P ${PKG_LIB_ARM_MEM} ${INSTALL}/usr/lib
|
||||
|
||||
mkdir -p ${INSTALL}/etc
|
||||
echo "/usr/lib/${PKG_LIB_ARM_MEM}" >> ${INSTALL}/etc/ld.so.preload
|
||||
}
|
||||
|
||||
makeinstall_init() {
|
||||
mkdir -p ${INSTALL}/usr/lib
|
||||
cp -P ${PKG_LIB_ARM_MEM} ${INSTALL}/usr/lib
|
||||
|
||||
mkdir -p ${INSTALL}/etc
|
||||
echo "/usr/lib/${PKG_LIB_ARM_MEM}" >> ${INSTALL}/etc/ld.so.preload
|
||||
}
|
|
@ -14,6 +14,9 @@ PKG_LONGDESC="The Glibc package contains the main C library."
|
|||
PKG_BUILD_FLAGS="+bfd -gold"
|
||||
|
||||
case "${DEVICE}" in
|
||||
RK3588)
|
||||
OPT_ENABLE_KERNEL=5.10.0
|
||||
;;
|
||||
*)
|
||||
OPT_ENABLE_KERNEL=5.15.0
|
||||
;;
|
||||
|
|
|
@ -2,12 +2,9 @@
|
|||
# Copyright (C) 2019-present Shanti Gilbert (https://github.com/shantigilbert)
|
||||
# Copyright (C) 2022-present Fewtarius
|
||||
PKG_NAME="PPSSPPSDL"
|
||||
PKG_VERSION="40386bca08d33c2d6584d6e7da4efee9bfeb3f96"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://github.com/hrydgard/ppsspp"
|
||||
PKG_URL="https://github.com/hrydgard/ppsspp.git"
|
||||
PKG_DEPENDS_TARGET="toolchain ffmpeg libzip SDL2 zlib zip"
|
||||
PKG_SHORTDESC="PPSSPPDL"
|
||||
PKG_LONGDESC="PPSSPP Standalone"
|
||||
|
@ -16,6 +13,19 @@ PKG_BUILD_FLAGS="+lto"
|
|||
|
||||
PKG_PATCH_DIRS+="${DEVICE}"
|
||||
|
||||
case ${DEVICE} in
|
||||
RK3588)
|
||||
PKG_VERSION="40386bca08d33c2d6584d6e7da4efee9bfeb3f96"
|
||||
PKG_SITE="https://github.com/hrydgard/ppsspp"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
;;
|
||||
*)
|
||||
PKG_VERSION="555a5d45f71cde6dfcb017168b7f68f93372a4f0"
|
||||
PKG_SITE="https://github.com/hrydgard/ppsspp"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ ! "${OPENGL}" = "no" ]; then
|
||||
PKG_DEPENDS_TARGET+=" ${OPENGL} glu libglvnd glew"
|
||||
PKG_CMAKE_OPTS_TARGET+=" -DUSING_FBDEV=OFF \
|
||||
|
|
|
@ -0,0 +1,120 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<emulated_controller>
|
||||
<type>Wii U GamePad</type>
|
||||
<controller>
|
||||
<api>SDLController</api>
|
||||
<uuid>0_030003f05e0400008e02000010010000</uuid>
|
||||
<display_name>Xbox 360 Controller</display_name>
|
||||
<rumble>0.15</rumble>
|
||||
<axis>
|
||||
<deadzone>0.25</deadzone>
|
||||
<range>1</range>
|
||||
</axis>
|
||||
<rotation>
|
||||
<deadzone>0.25</deadzone>
|
||||
<range>1</range>
|
||||
</rotation>
|
||||
<trigger>
|
||||
<deadzone>0.25</deadzone>
|
||||
<range>1</range>
|
||||
</trigger>
|
||||
<mappings>
|
||||
<entry>
|
||||
<mapping>24</mapping>
|
||||
<button>40</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>23</mapping>
|
||||
<button>46</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>22</mapping>
|
||||
<button>41</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>21</mapping>
|
||||
<button>47</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>20</mapping>
|
||||
<button>38</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>19</mapping>
|
||||
<button>44</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>18</mapping>
|
||||
<button>39</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>17</mapping>
|
||||
<button>45</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>16</mapping>
|
||||
<button>8</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>15</mapping>
|
||||
<button>7</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>14</mapping>
|
||||
<button>14</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>1</mapping>
|
||||
<button>1</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>2</mapping>
|
||||
<button>0</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>3</mapping>
|
||||
<button>3</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>4</mapping>
|
||||
<button>2</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>5</mapping>
|
||||
<button>9</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>6</mapping>
|
||||
<button>10</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>7</mapping>
|
||||
<button>42</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>8</mapping>
|
||||
<button>43</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>9</mapping>
|
||||
<button>6</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>10</mapping>
|
||||
<button>4</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>11</mapping>
|
||||
<button>11</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>12</mapping>
|
||||
<button>12</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>13</mapping>
|
||||
<button>13</button>
|
||||
</entry>
|
||||
</mappings>
|
||||
</controller>
|
||||
</emulated_controller>
|
|
@ -0,0 +1,120 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<emulated_controller>
|
||||
<type>Wii U Pro Controller</type>
|
||||
<controller>
|
||||
<api>SDLController</api>
|
||||
<uuid>0_030003f05e0400008e02000010010000</uuid>
|
||||
<display_name>Xbox 360 Controller</display_name>
|
||||
<rumble>0.15</rumble>
|
||||
<axis>
|
||||
<deadzone>0.25</deadzone>
|
||||
<range>1</range>
|
||||
</axis>
|
||||
<rotation>
|
||||
<deadzone>0.25</deadzone>
|
||||
<range>1</range>
|
||||
</rotation>
|
||||
<trigger>
|
||||
<deadzone>0.25</deadzone>
|
||||
<range>1</range>
|
||||
</trigger>
|
||||
<mappings>
|
||||
<entry>
|
||||
<mapping>24</mapping>
|
||||
<button>40</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>23</mapping>
|
||||
<button>46</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>22</mapping>
|
||||
<button>41</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>21</mapping>
|
||||
<button>47</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>20</mapping>
|
||||
<button>38</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>19</mapping>
|
||||
<button>44</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>18</mapping>
|
||||
<button>39</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>17</mapping>
|
||||
<button>45</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>16</mapping>
|
||||
<button>8</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>15</mapping>
|
||||
<button>7</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>14</mapping>
|
||||
<button>14</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>1</mapping>
|
||||
<button>1</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>2</mapping>
|
||||
<button>0</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>3</mapping>
|
||||
<button>3</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>4</mapping>
|
||||
<button>2</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>5</mapping>
|
||||
<button>9</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>6</mapping>
|
||||
<button>10</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>7</mapping>
|
||||
<button>42</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>8</mapping>
|
||||
<button>43</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>9</mapping>
|
||||
<button>6</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>10</mapping>
|
||||
<button>4</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>11</mapping>
|
||||
<button>11</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>12</mapping>
|
||||
<button>12</button>
|
||||
</entry>
|
||||
<entry>
|
||||
<mapping>13</mapping>
|
||||
<button>13</button>
|
||||
</entry>
|
||||
</mappings>
|
||||
</controller>
|
||||
</emulated_controller>
|
110
packages/games/emulators/cemu/config/settings.xml
Normal file
110
packages/games/emulators/cemu/config/settings.xml
Normal file
|
@ -0,0 +1,110 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<content>
|
||||
<logflag>0</logflag>
|
||||
<advanced_ppc_logging>false</advanced_ppc_logging>
|
||||
<mlc_path></mlc_path>
|
||||
<permanent_storage>true</permanent_storage>
|
||||
<language>0</language>
|
||||
<use_discord_presence>false</use_discord_presence>
|
||||
<fullscreen_menubar>false</fullscreen_menubar>
|
||||
<check_update>false</check_update>
|
||||
<save_screenshot>true</save_screenshot>
|
||||
<vk_warning>false</vk_warning>
|
||||
<gp_download>true</gp_download>
|
||||
<macos_disclaimer>false</macos_disclaimer>
|
||||
<fullscreen>true</fullscreen>
|
||||
<proxy_server></proxy_server>
|
||||
<console_language>1</console_language>
|
||||
<window_position>
|
||||
<x>-1</x>
|
||||
<y>-1</y>
|
||||
</window_position>
|
||||
<window_size>
|
||||
<x>-1</x>
|
||||
<y>-1</y>
|
||||
</window_size>
|
||||
<window_maximized>false</window_maximized>
|
||||
<open_pad>false</open_pad>
|
||||
<pad_position>
|
||||
<x>-1</x>
|
||||
<y>-1</y>
|
||||
</pad_position>
|
||||
<pad_size>
|
||||
<x>-1</x>
|
||||
<y>-1</y>
|
||||
</pad_size>
|
||||
<pad_maximized>false</pad_maximized>
|
||||
<GameList>
|
||||
<style>0</style>
|
||||
<order></order>
|
||||
<name_width>500</name_width>
|
||||
<version_width>100</version_width>
|
||||
<dlc_width>70</dlc_width>
|
||||
<game_time_width>140</game_time_width>
|
||||
<game_started_width>160</game_started_width>
|
||||
<region_width>886</region_width>
|
||||
</GameList>
|
||||
<RecentLaunchFiles/>
|
||||
<RecentNFCFiles/>
|
||||
<GamePaths>
|
||||
<Entry>/storage/roms/wiiu</Entry>
|
||||
</GamePaths>
|
||||
<GameCache/>
|
||||
<GraphicPack/>
|
||||
<Graphic>
|
||||
<api>1</api>
|
||||
<device>00000000040000000000000000000000</device>
|
||||
<VSync>1</VSync>
|
||||
<GX2DrawdoneSync>true</GX2DrawdoneSync>
|
||||
<UpscaleFilter>1</UpscaleFilter>
|
||||
<DownscaleFilter>0</DownscaleFilter>
|
||||
<FullscreenScaling>0</FullscreenScaling>
|
||||
<AsyncCompile>true</AsyncCompile>
|
||||
<vkAccurateBarriers>true</vkAccurateBarriers>
|
||||
<Overlay>
|
||||
<Position>0</Position>
|
||||
<TextColor>4282069997</TextColor>
|
||||
<TextScale>100</TextScale>
|
||||
<FPS>true</FPS>
|
||||
<DrawCalls>false</DrawCalls>
|
||||
<CPUUsage>true</CPUUsage>
|
||||
<CPUPerCoreUsage>true</CPUPerCoreUsage>
|
||||
<RAMUsage>true</RAMUsage>
|
||||
<VRAMUsage>true</VRAMUsage>
|
||||
<Debug>false</Debug>
|
||||
</Overlay>
|
||||
<Notification>
|
||||
<Position>4</Position>
|
||||
<TextColor>4294967295</TextColor>
|
||||
<TextScale>100</TextScale>
|
||||
<ControllerProfiles>true</ControllerProfiles>
|
||||
<ControllerBattery>false</ControllerBattery>
|
||||
<ShaderCompiling>true</ShaderCompiling>
|
||||
<FriendService>false</FriendService>
|
||||
</Notification>
|
||||
</Graphic>
|
||||
<Audio>
|
||||
<api>3</api>
|
||||
<delay>2</delay>
|
||||
<TVChannels>1</TVChannels>
|
||||
<PadChannels>1</PadChannels>
|
||||
<InputChannels>0</InputChannels>
|
||||
<TVVolume>100</TVVolume>
|
||||
<PadVolume>0</PadVolume>
|
||||
<InputVolume>50</InputVolume>
|
||||
<TVDevice>alsa_output.pci-0000_04_00.6.analog-stereo</TVDevice>
|
||||
<PadDevice></PadDevice>
|
||||
<InputDevice></InputDevice>
|
||||
</Audio>
|
||||
<Account>
|
||||
<PersistentId>2147483649</PersistentId>
|
||||
<OnlineEnabled>false</OnlineEnabled>
|
||||
<ActiveService>0</ActiveService>
|
||||
</Account>
|
||||
<Debug>
|
||||
<CrashDumpUnix>0</CrashDumpUnix>
|
||||
</Debug>
|
||||
<Input>
|
||||
<DSUC host="127.0.0.1" port="26760"/>
|
||||
</Input>
|
||||
</content>
|
86
packages/games/emulators/cemu/package.mk
Normal file
86
packages/games/emulators/cemu/package.mk
Normal file
|
@ -0,0 +1,86 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2022-present Frank Hartung (supervisedthinking (@) gmail.com)
|
||||
# Copyright (C) 2022-present Fewtarius
|
||||
|
||||
PKG_NAME="cemu"
|
||||
PKG_VERSION="33bd10b" #v2.0-25
|
||||
PKG_ARCH="x86_64"
|
||||
PKG_LICENSE="MPL-2.0"
|
||||
PKG_SITE="https://github.com/cemu-project/Cemu"
|
||||
PKG_URL="https://github.com/cemu-project/Cemu.git"
|
||||
PKG_DEPENDS_TARGET="toolchain libzip glslang glm curl rapidjson openssl boost libfmt pugixml libpng gtk3 wxwidgets"
|
||||
PKG_LONGDESC="Cemu is a Wii U emulator that is able to run most Wii U games and homebrew in a playable state"
|
||||
PKG_GIT_CLONE_BRANCH="main"
|
||||
PKG_GIT_CLONE_SINGLE="yes"
|
||||
GET_HANDLER_SUPPORT="git"
|
||||
PKG_BUILD_FLAGS="+lto"
|
||||
|
||||
configure_package() {
|
||||
# Displayserver Support
|
||||
if [ "${DISPLAYSERVER}" = "x11" ]; then
|
||||
PKG_DEPENDS_TARGET+=" xorg-server"
|
||||
elif [ "${DISPLAYSERVER}" = "wl" ]; then
|
||||
PKG_DEPENDS_TARGET+=" wayland"
|
||||
fi
|
||||
|
||||
# OpenGL Support
|
||||
if [ "${OPENGL_SUPPORT}" = "yes" ]; then
|
||||
PKG_DEPENDS_TARGET+=" ${OPENGL}"
|
||||
fi
|
||||
|
||||
# Vulkan Support
|
||||
if [ "${VULKAN_SUPPORT}" = "yes" ]; then
|
||||
PKG_DEPENDS_TARGET+=" ${VULKAN}"
|
||||
fi
|
||||
}
|
||||
|
||||
pre_configure_target() {
|
||||
# Force build of cubeb submodule
|
||||
sed -e '/find_package(cubeb)/d' -i ${PKG_BUILD}/CMakeLists.txt
|
||||
# Fix glm linking
|
||||
sed -e "s#glm::glm#glm#" -i ${PKG_BUILD}/src/{Common,input}/CMakeLists.txt
|
||||
|
||||
PKG_CMAKE_OPTS_TARGET="-D ENABLE_VCPKG=OFF \
|
||||
-D PORTABLE=OFF \
|
||||
-D ENABLE_DISCORD_RPC=OFF \
|
||||
-D ENABLE_SDL=ON \
|
||||
-D ENABLE_CUBEB=ON \
|
||||
-D ENABLE_WXWIDGETS=ON \
|
||||
-Wno-dev"
|
||||
|
||||
# Wayland Support
|
||||
if [ "${DISPLAYSERVER}" = "wl" ]; then
|
||||
PKG_CMAKE_OPTS_TARGET+=" -D ENABLE_WAYLAND=ON"
|
||||
else
|
||||
PKG_CMAKE_OPTS_TARGET+=" -D ENABLE_WAYLAND=OFF"
|
||||
fi
|
||||
|
||||
# OpenGL Support
|
||||
if [ "${OPENGL_SUPPORT}" = "yes" ]; then
|
||||
PKG_CMAKE_OPTS_TARGET+=" -D ENABLE_OPENGL=ON"
|
||||
else
|
||||
PKG_CMAKE_OPTS_TARGET+=" -D ENABLE_OPENGL=OFF"
|
||||
fi
|
||||
|
||||
# Vulkan Support
|
||||
if [ "${VULKAN_SUPPORT}" = "yes" ]; then
|
||||
PKG_CMAKE_OPTS_TARGET+=" -D ENABLE_VULKAN=ON"
|
||||
else
|
||||
PKG_CMAKE_OPTS_TARGET+=" -D ENABLE_VULKAN=OFF"
|
||||
fi
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
# Copy binary, scripts & config files
|
||||
mkdir -p ${INSTALL}/usr/bin
|
||||
cp -v ${PKG_BUILD}/bin/Cemu_* ${INSTALL}/usr/bin/cemu
|
||||
cp -v ${PKG_DIR}/scripts/* ${INSTALL}/usr/bin/
|
||||
chmod 0755 ${INSTALL}/usr/bin/*
|
||||
|
||||
mkdir -p ${INSTALL}/usr/config/Cemu
|
||||
cp -PR ${PKG_DIR}/config/* ${INSTALL}/usr/config/Cemu
|
||||
|
||||
# Copy system files
|
||||
mkdir -p ${INSTALL}/usr/share/Cemu
|
||||
cp -PR ${PKG_BUILD}/bin/{gameProfiles,resources} ${INSTALL}/usr/share/Cemu
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
--- a/src/gui/CemuApp.cpp
|
||||
+++ b/src/gui/CemuApp.cpp
|
||||
@@ -132,7 +132,6 @@
|
||||
{
|
||||
if (!wxLocale::IsAvailable(wxLANGUAGE_DEFAULT) || !m_locale.Init(wxLANGUAGE_DEFAULT))
|
||||
{
|
||||
- m_locale.Init(wxLANGUAGE_ENGLISH);
|
||||
m_locale.AddCatalogLookupPathPrefix(ActiveSettings::GetDataPath("resources").generic_string());
|
||||
m_locale.AddCatalog("cemu");
|
||||
}
|
||||
|
84
packages/games/emulators/cemu/scripts/start_cemu.sh
Executable file
84
packages/games/emulators/cemu/scripts/start_cemu.sh
Executable file
|
@ -0,0 +1,84 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2022-present Frank Hartung (supervisedthinking (@) gmail.com)
|
||||
# Copyright (C) 2022-present Fewtarius
|
||||
|
||||
# Source environment variables
|
||||
. /etc/profile
|
||||
|
||||
# Ensure we're using pulseaudio
|
||||
rr_audio.sh pulseaudio
|
||||
export SDL_AUDIODRIVER=pulseaudio
|
||||
|
||||
# Set up mime db
|
||||
mkdir -p /storage/.local/share/mime/packages
|
||||
cp -rf /usr/share/mime/packages/* /storage/.local/share/mime/packages
|
||||
update-mime-database /storage/.local/share/mime
|
||||
|
||||
# Set common paths
|
||||
CEMU_CONFIG_ROOT="/storage/.config/Cemu"
|
||||
CEMU_CACHE_LOG="${CEMU_CONFIG_ROOT}/share/log.txt"
|
||||
CEMU_VAR_LOG="/var/log/Cemu.log"
|
||||
CEMU_HOME_CONFIG="${CEMU_CONFIG_ROOT}/share"
|
||||
CEMU_HOME_LOCAL="/storage/.local/share/Cemu"
|
||||
|
||||
# create link to config directory
|
||||
if [ ! -d ${CEMU_HOME_CONFIG} ]; then
|
||||
mkdir -p ${CEMU_HOME_CONFIG}
|
||||
echo created ${CEMU_HOME_CONFIG}
|
||||
fi
|
||||
|
||||
if [ -d ${CEMU_HOME_LOCAL} ] && [ ! -L ${CEMU_HOME_LOCAL} ]; then
|
||||
cp -rf ${CEMU_HOME_LOCAL}/* ${CEMU_HOME_CONFIG}
|
||||
rm -rf ${CEMU_HOME_LOCAL}
|
||||
echo moved ${CEMU_HOME_LOCAL} to ${CEMU_HOME_CONFIG}
|
||||
fi
|
||||
|
||||
if [ ! -L ${CEMU_HOME_LOCAL} ]; then
|
||||
ln -sf ${CEMU_HOME_CONFIG} ${CEMU_HOME_LOCAL}
|
||||
echo created symlink from ${CEMU_HOME_CONFIG} to ${CEMU_HOME_LOCAL}
|
||||
fi
|
||||
|
||||
# Create symlink to logfile
|
||||
if [ ! -L ${CEMU_VAR_LOG} ]; then
|
||||
ln -sf ${CEMU_CACHE_LOG} ${CEMU_VAR_LOG}
|
||||
fi
|
||||
|
||||
# Make sure CEMU settings exist, and set the audio output.
|
||||
if [ ! -f "${CEMU_CONFIG_ROOT}/settings.xml" ]
|
||||
then
|
||||
cp -f /usr/config/Cemu/settings.xml ${CEMU_CONFIG_ROOT}/settings.xml
|
||||
fi
|
||||
|
||||
# Make sure the basic controller profiles exist.
|
||||
if [ ! -d "${CEMU_CONFIG_ROOT}/controllerProfiles" ]
|
||||
then
|
||||
mkdir -p ${CEMU_CONFIG_ROOT}
|
||||
fi
|
||||
|
||||
if [ ! -f "${CEMU_CONFIG_ROOT}/controllerProfiles/controller0.xml" ]
|
||||
then
|
||||
cp /usr/config/Cemu/controllerProfiles/controller0.xml ${CEMU_CONFIG_ROOT}/controllerProfiles/
|
||||
fi
|
||||
|
||||
FILE=$(echo $@ | sed "s#^/.*/##g")
|
||||
FPS=$(get_setting show_fps wiiu "${FILE}")
|
||||
CON=$(get_setting wiiu_controller_profile wiiu "${FILE}")
|
||||
|
||||
if [ -z "${FPS}" ]
|
||||
then
|
||||
FPS="0"
|
||||
fi
|
||||
if [ -z "${CON}" ]
|
||||
then
|
||||
CON="Wii U GamePad"
|
||||
fi
|
||||
|
||||
xmlstarlet ed --inplace -u "//Overlay/Position" -v "${FPS}" ${CEMU_CONFIG_ROOT}/settings.xml
|
||||
xmlstarlet ed --inplace -u "//fullscreen" -v "true" ${CEMU_CONFIG_ROOT}/settings.xml
|
||||
xmlstarlet ed --inplace -u "//Audio/TVDevice" -v "$(pactl get-default-sink)" ${CEMU_CONFIG_ROOT}/settings.xml
|
||||
xmlstarlet ed --inplace -u "//emulated_controller/type" -v "${CON}" ${CEMU_CONFIG_ROOT}/controllerProfiles/controller0.xml
|
||||
|
||||
# Run the emulator
|
||||
cemu -g "$@"
|
||||
rr_audio.sh alsa
|
|
@ -29,6 +29,7 @@ ln -sf /storage/roms/3ds/citrasa/nand /storage/.config/citra-emu/nand
|
|||
#Emulation Station Features
|
||||
GAME=$(echo "${1}"| sed "s#^/.*/##")
|
||||
RES=$(get_setting resolution_scale 3ds "${GAME}")
|
||||
ROTATE=$(get_setting rotate_screen 3ds "${GAME}")
|
||||
SLAYOUT=$(get_setting screen_layout 3ds "${GAME}")
|
||||
|
||||
#Resolution Scale
|
||||
|
@ -45,32 +46,53 @@ ln -sf /storage/roms/3ds/citrasa/nand /storage/.config/citra-emu/nand
|
|||
sed -i '/resolution_factor =/c\resolution_factor = 2' /storage/.config/citra-emu/sdl2-config.ini
|
||||
fi
|
||||
|
||||
#Rotate Screen
|
||||
if [ "$ROTATE" = "0" ]
|
||||
then
|
||||
sed -i '/upright_screen =/c\upright_screen = 0' /storage/.config/citra-emu/sdl2-config.ini
|
||||
fi
|
||||
if [ "$ROTATE" = "1" ]
|
||||
then
|
||||
sed -i '/upright_screen =/c\upright_screen = 1' /storage/.config/citra-emu/sdl2-config.ini
|
||||
fi
|
||||
|
||||
#Screen Layout
|
||||
if [ "$SLAYOUT" = "0" ]
|
||||
then
|
||||
sed -i '/layout_option =/c\layout_option = 0' /storage/.config/citra-emu/sdl2-config.ini
|
||||
sed -i '/swap_screen =/c\swap_screen = 0' /storage/.config/citra-emu/sdl2-config.ini
|
||||
sed -i '/custom_layout =/c\custom_layout = 0' /storage/.config/citra-emu/sdl2-config.ini
|
||||
fi
|
||||
if [ "$SLAYOUT" = "1a" ]
|
||||
then
|
||||
sed -i '/layout_option =/c\layout_option = 1' /storage/.config/citra-emu/sdl2-config.ini
|
||||
sed -i '/swap_screen =/c\swap_screen = 0' /storage/.config/citra-emu/sdl2-config.ini
|
||||
sed -i '/custom_layout =/c\custom_layout = 0' /storage/.config/citra-emu/sdl2-config.ini
|
||||
fi
|
||||
if [ "$SLAYOUT" = "1b" ]
|
||||
then
|
||||
sed -i '/layout_option =/c\layout_option = 1' /storage/.config/citra-emu/sdl2-config.ini
|
||||
sed -i '/swap_screen =/c\swap_screen = 1' /storage/.config/citra-emu/sdl2-config.ini
|
||||
sed -i '/custom_layout =/c\custom_layout = 0' /storage/.config/citra-emu/sdl2-config.ini
|
||||
fi
|
||||
if [ "$SLAYOUT" = "2" ]
|
||||
then
|
||||
sed -i '/layout_option =/c\layout_option = 2' /storage/.config/citra-emu/sdl2-config.ini
|
||||
sed -i '/swap_screen =/c\swap_screen = 0' /storage/.config/citra-emu/sdl2-config.ini
|
||||
sed -i '/custom_layout =/c\custom_layout = 0' /storage/.config/citra-emu/sdl2-config.ini
|
||||
fi
|
||||
if [ "$SLAYOUT" = "3" ]
|
||||
then
|
||||
sed -i '/layout_option =/c\layout_option = 3' /storage/.config/citra-emu/sdl2-config.ini
|
||||
sed -i '/swap_screen =/c\swap_screen = 0' /storage/.config/citra-emu/sdl2-config.ini
|
||||
sed -i '/custom_layout =/c\custom_layout = 0' /storage/.config/citra-emu/sdl2-config.ini
|
||||
fi
|
||||
if [ "$SLAYOUT" = "4" ]
|
||||
then
|
||||
sed -i '/layout_option =/c\layout_option = 0' /storage/.config/citra-emu/sdl2-config.ini
|
||||
sed -i '/swap_screen =/c\swap_screen = 0' /storage/.config/citra-emu/sdl2-config.ini
|
||||
sed -i '/custom_layout =/c\custom_layout = 1' /storage/.config/citra-emu/sdl2-config.ini
|
||||
fi
|
||||
|
||||
|
||||
rm -rf /storage/.local/share/citra-emu
|
||||
|
|
148
packages/games/emulators/dolphinsa/config/RK3588/Dolphin.ini
Normal file
148
packages/games/emulators/dolphinsa/config/RK3588/Dolphin.ini
Normal file
|
@ -0,0 +1,148 @@
|
|||
[General]
|
||||
LastFilename =
|
||||
ShowLag = False
|
||||
ShowFrameCount = False
|
||||
ISOPaths = 1
|
||||
RecursiveISOPaths = False
|
||||
NANDRootPath =
|
||||
WirelessMac =
|
||||
[Interface]
|
||||
ConfirmStop = True
|
||||
UsePanicHandlers = True
|
||||
OnScreenDisplayMessages = True
|
||||
HideCursor = False
|
||||
AutoHideCursor = False
|
||||
MainWindowPosX = 403
|
||||
MainWindowPosY = 148
|
||||
MainWindowWidth = 800
|
||||
MainWindowHeight = 600
|
||||
Language = 0
|
||||
ShowToolbar = True
|
||||
ShowStatusbar = True
|
||||
ShowLogWindow = False
|
||||
ShowLogConfigWindow = False
|
||||
ExtendedFPSInfo = False
|
||||
ThemeName40 = Clean Blue
|
||||
PauseOnFocusLost = False
|
||||
[Display]
|
||||
FullscreenResolution = Auto
|
||||
Fullscreen = True
|
||||
RenderToMain = False
|
||||
RenderWindowXPos = -1
|
||||
RenderWindowYPos = -1
|
||||
RenderWindowWidth = 640
|
||||
RenderWindowHeight = 480
|
||||
RenderWindowAutoSize = False
|
||||
KeepWindowOnTop = False
|
||||
ProgressiveScan = False
|
||||
PAL60 = True
|
||||
DisableScreenSaver = True
|
||||
ForceNTSCJ = False
|
||||
[GameList]
|
||||
ListDrives = False
|
||||
ListWad = True
|
||||
ListElfDol = True
|
||||
ListWii = True
|
||||
ListGC = True
|
||||
ListJap = True
|
||||
ListPal = True
|
||||
ListUsa = True
|
||||
ListAustralia = True
|
||||
ListFrance = True
|
||||
ListGermany = True
|
||||
ListItaly = True
|
||||
ListKorea = True
|
||||
ListNetherlands = True
|
||||
ListRussia = True
|
||||
ListSpain = True
|
||||
ListTaiwan = True
|
||||
ListWorld = True
|
||||
ListUnknown = True
|
||||
ListSort = 3
|
||||
ListSortSecondary = 0
|
||||
ColorCompressed = True
|
||||
ColumnPlatform = True
|
||||
ColumnBanner = True
|
||||
ColumnNotes = True
|
||||
ColumnFileName = False
|
||||
ColumnID = False
|
||||
ColumnRegion = True
|
||||
ColumnSize = True
|
||||
ColumnState = True
|
||||
[Core]
|
||||
HLE_BS2 = False
|
||||
TimingVariance = 40
|
||||
CPUCore = 4
|
||||
Fastmem = True
|
||||
CPUThread = True
|
||||
DSPHLE = True
|
||||
SkipIdle = True
|
||||
SyncOnSkipIdle = True
|
||||
SyncGPU = False
|
||||
SyncGpuMaxDistance = 200000
|
||||
SyncGpuMinDistance = -200000
|
||||
SyncGpuOverclock = 1.00000000
|
||||
FPRF = False
|
||||
AccurateNaNs = False
|
||||
DefaultISO =
|
||||
DVDRoot =
|
||||
Apploader =
|
||||
EnableCheats = True
|
||||
SelectedLanguage = 0
|
||||
OverrideGCLang = False
|
||||
DPL2Decoder = False
|
||||
Latency = 2
|
||||
MemcardAPath =
|
||||
MemcardBPath =
|
||||
AgpCartAPath =
|
||||
AgpCartBPath =
|
||||
SlotA = 1
|
||||
SlotB = 255
|
||||
SerialPort1 = 255
|
||||
BBA_MAC =
|
||||
SIDevice0 = 6
|
||||
AdapterRumble0 = True
|
||||
SimulateKonga0 = False
|
||||
SIDevice1 = 6
|
||||
AdapterRumble1 = True
|
||||
SimulateKonga1 = False
|
||||
SIDevice2 = 0
|
||||
AdapterRumble2 = True
|
||||
SimulateKonga2 = False
|
||||
SIDevice3 = 0
|
||||
AdapterRumble3 = True
|
||||
SimulateKonga3 = False
|
||||
WiiSDCard = False
|
||||
WiiKeyboard = False
|
||||
WiimoteContinuousScanning = False
|
||||
WiimoteEnableSpeaker = False
|
||||
RunCompareServer = False
|
||||
RunCompareClient = False
|
||||
EmulationSpeed = 1.00000000
|
||||
FrameSkip = 0x00000003
|
||||
Overclock = 4.00000000
|
||||
OverclockEnable = False
|
||||
GFXBackend = OGL
|
||||
GPUDeterminismMode = auto
|
||||
PerfMapDir =
|
||||
[Movie]
|
||||
PauseMovie = False
|
||||
Author =
|
||||
DumpFrames = False
|
||||
DumpFramesSilent = False
|
||||
ShowInputDisplay = False
|
||||
[DSP]
|
||||
EnableJIT = True
|
||||
DumpAudio = False
|
||||
DumpUCode = False
|
||||
Backend = ALSA
|
||||
Volume = 100
|
||||
CaptureLog = False
|
||||
[Input]
|
||||
BackgroundInput = False
|
||||
[FifoPlayer]
|
||||
LoopReplay = True
|
||||
[Analytics]
|
||||
ID = 5082f0c30a7e422b1220107f69d6c108
|
||||
Enabled = False
|
||||
PermissionAsked = True
|
|
@ -0,0 +1,29 @@
|
|||
[GCPad1]
|
||||
Device = evdev/0/Microsoft X-Box 360 pad
|
||||
Buttons/A = Button 1
|
||||
Buttons/B = Button 0
|
||||
Buttons/Start = Button 6
|
||||
Buttons/X = Button 3
|
||||
Buttons/Y = Button 2
|
||||
Buttons/Z = Button 5
|
||||
Buttons/Hotkey = Button 7
|
||||
C-Stick/Dead Zone = 25.000000000000000
|
||||
C-Stick/Down = Axis 4+
|
||||
C-Stick/Left = Axis 3-
|
||||
C-Stick/Modifier = Control_L
|
||||
C-Stick/Modifier/Range = 50.000000000000000
|
||||
C-Stick/Right = Axis 3+
|
||||
C-Stick/Up = Axis 4-
|
||||
D-Pad/Down = Axis 7+
|
||||
D-Pad/Left = Axis 6-
|
||||
D-Pad/Right = Axis 6+
|
||||
D-Pad/Up = Axis 7-
|
||||
Main Stick/Dead Zone = 25.000000000000000
|
||||
Main Stick/Down = Axis 1+
|
||||
Main Stick/Left = Axis 0-
|
||||
Main Stick/Modifier = Shift_L
|
||||
Main Stick/Modifier/Range = 50.000000000000000
|
||||
Main Stick/Right = Axis 0+
|
||||
Main Stick/Up = Axis 1-
|
||||
Triggers/L = Axis 2+
|
||||
Triggers/R = Axis 5+
|
55
packages/games/emulators/dolphinsa/config/RK3588/GFX.ini
Normal file
55
packages/games/emulators/dolphinsa/config/RK3588/GFX.ini
Normal file
|
@ -0,0 +1,55 @@
|
|||
[Hardware]
|
||||
VSync = False
|
||||
Adapter = 0
|
||||
[Settings]
|
||||
AspectRatio = 0
|
||||
Crop = False
|
||||
wideScreenHack = False
|
||||
UseXFB = False
|
||||
UseRealXFB = False
|
||||
SafeTextureCacheColorSamples = 128
|
||||
ShowFPS = False
|
||||
LogRenderTimeToFile = False
|
||||
OverlayStats = False
|
||||
OverlayProjStats = False
|
||||
DumpTextures = False
|
||||
HiresTextures = False
|
||||
ConvertHiresTextures = False
|
||||
CacheHiresTextures = False
|
||||
DumpEFBTarget = False
|
||||
FreeLook = False
|
||||
UseFFV1 = False
|
||||
EnablePixelLighting = False
|
||||
FastDepthCalc = True
|
||||
MSAA = 1
|
||||
SSAA = False
|
||||
EFBScale = 2
|
||||
TexFmtOverlayEnable = False
|
||||
TexFmtOverlayCenter = False
|
||||
Wireframe = False
|
||||
DisableFog = False
|
||||
EnableShaderDebugging = False
|
||||
BorderlessFullscreen = False
|
||||
SWZComploc = True
|
||||
SWZFreeze = True
|
||||
SWDumpObjects = False
|
||||
SWDumpTevStages = False
|
||||
SWDumpTevTexFetches = False
|
||||
SWDrawStart = 0
|
||||
SWDrawEnd = 100000
|
||||
[Enhancements]
|
||||
ForceFiltering = False
|
||||
MaxAnisotropy = 0
|
||||
PostProcessingShader =
|
||||
[Stereoscopy]
|
||||
StereoMode = 0
|
||||
StereoDepth = 20
|
||||
StereoConvergencePercentage = 100
|
||||
StereoSwapEyes = False
|
||||
[Hacks]
|
||||
EFBAccessEnable = False
|
||||
BBoxEnable = False
|
||||
ForceProgressive = True
|
||||
EFBToTextureEnable = True
|
||||
EFBScaledCopy = False
|
||||
EFBEmulateFormatChanges = False
|
|
@ -0,0 +1,27 @@
|
|||
[Wiimote1]
|
||||
Device = evdev/0/Microsoft X-Box 360 pad
|
||||
Extension = Classic
|
||||
Source = 1
|
||||
Classic/Buttons/A = Button 1
|
||||
Classic/Buttons/B = Button 0
|
||||
Classic/Buttons/X = Button 3
|
||||
Classic/Buttons/Y = Button 2
|
||||
Classic/Buttons/ZL = Axis 2+
|
||||
Classic/Buttons/ZR = Axis 5+
|
||||
Classic/Buttons/- = Button 6
|
||||
Classic/Buttons/+ = Button 7
|
||||
Classic/Buttons/Home = Button 8
|
||||
Classic/Left Stick/Up = Axis 1-
|
||||
Classic/Left Stick/Down = Axis 1+
|
||||
Classic/Left Stick/Left = Axis 0-
|
||||
Classic/Left Stick/Right = Axis 0+
|
||||
Classic/Right Stick/Up = Axis 4-
|
||||
Classic/Right Stick/Down = Axis 4+
|
||||
Classic/Right Stick/Left = Axis 3-
|
||||
Classic/Right Stick/Right = Axis 3+
|
||||
Classic/Triggers/L = Button 4
|
||||
Classic/Triggers/R = Button 5
|
||||
Classic/D-Pad/Up = Axis 7-
|
||||
Classic/D-Pad/Down = Axis 7+
|
||||
Classic/D-Pad/Left = Axis 6-
|
||||
Classic/D-Pad/Right = Axis 6+
|
|
@ -0,0 +1,26 @@
|
|||
[Wiimote1]
|
||||
Device = evdev/0/Microsoft X-Box 360 pad
|
||||
Extension = Nunchuk
|
||||
Buttons/A = Button 0
|
||||
Buttons/B = Button 1
|
||||
Buttons/1 = Button 2
|
||||
Buttons/2 = Button 3
|
||||
Buttons/- = Button 6
|
||||
Buttons/+ = Button 7
|
||||
D-Pad/Up = Axis 7-
|
||||
D-Pad/Down = Axis 7+
|
||||
D-Pad/Left = Axis 6-
|
||||
D-Pad/Right = Axis 6+
|
||||
Buttons/Home = Button 8
|
||||
Shake/X = Button 4
|
||||
Shake/Y = Button 4
|
||||
Shake/Z = Button 4
|
||||
Nunchuk/Buttons/C = Button 5
|
||||
Nunchuk/Buttons/Z = Axis 5+
|
||||
Nunchuk/Stick/Up = Axis 1-
|
||||
Nunchuk/Stick/Down = Axis 1+
|
||||
Nunchuk/Stick/Left = Axis 0-
|
||||
Nunchuk/Stick/Right = Axis 0+
|
||||
Nunchuk/Shake/X = Axis 2+
|
||||
Nunchuk/Shake/Y = Axis 2+
|
||||
Nunchuk/Shake/Z = Axis 2+
|
|
@ -0,0 +1,16 @@
|
|||
[Wiimote1]
|
||||
Device = evdev/0/Microsoft X-Box 360 pad
|
||||
Buttons/A = Button 0
|
||||
Buttons/B = Button 1
|
||||
Buttons/1 = Button 2
|
||||
Buttons/2 = Button 3
|
||||
Buttons/- = Button 6
|
||||
Buttons/+ = Button 7
|
||||
Buttons/Home = Button 8
|
||||
Shake/X = Button 4
|
||||
Shake/Y = Button 4
|
||||
Shake/Z = Button 4
|
||||
D-Pad/Up = Axis 7-
|
||||
D-Pad/Down = Axis 7+
|
||||
D-Pad/Left = Axis 6-
|
||||
D-Pad/Right = Axis 6+
|
|
@ -0,0 +1,27 @@
|
|||
[Wiimote1]
|
||||
Device = evdev/0/Microsoft X-Box 360 pad
|
||||
Extension = Classic
|
||||
Source = 1
|
||||
Classic/Buttons/A = Button 1
|
||||
Classic/Buttons/B = Button 0
|
||||
Classic/Buttons/X = Button 3
|
||||
Classic/Buttons/Y = Button 2
|
||||
Classic/Buttons/ZL = Axis 2+
|
||||
Classic/Buttons/ZR = Axis 5+
|
||||
Classic/Buttons/- = Button 6
|
||||
Classic/Buttons/+ = Button 7
|
||||
Classic/Buttons/Home = Button 8
|
||||
Classic/Left Stick/Up = Axis 1-
|
||||
Classic/Left Stick/Down = Axis 1+
|
||||
Classic/Left Stick/Left = Axis 0-
|
||||
Classic/Left Stick/Right = Axis 0+
|
||||
Classic/Right Stick/Up = Axis 4-
|
||||
Classic/Right Stick/Down = Axis 4+
|
||||
Classic/Right Stick/Left = Axis 3-
|
||||
Classic/Right Stick/Right = Axis 3+
|
||||
Classic/Triggers/L = Button 4
|
||||
Classic/Triggers/R = Button 5
|
||||
Classic/D-Pad/Up = Axis 7-
|
||||
Classic/D-Pad/Down = Axis 7+
|
||||
Classic/D-Pad/Left = Axis 6-
|
||||
Classic/D-Pad/Right = Axis 6+
|
|
@ -2,42 +2,26 @@
|
|||
# Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech)
|
||||
|
||||
PKG_NAME="dolphinsa"
|
||||
PKG_VERSION="9d81c84db0bec5c8e8b193efaa43688396e7c638"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://github.com/dolphin-emu/dolphin"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_DEPENDS_TARGET="toolchain libevdev libdrm ffmpeg zlib libpng lzo libusb zstd ecm"
|
||||
PKG_LONGDESC="Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements. "
|
||||
|
||||
case ${DEVICE} in
|
||||
handheld)
|
||||
PKG_SITE="https://github.com/dolphin-emu/dolphin"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_VERSION="e4c007e2e1a442dbab620f91ca5f6b9b2b27dd5b"
|
||||
PKG_PATCH_DIRS+=" wayland"
|
||||
;;
|
||||
*)
|
||||
PKG_SITE="https://github.com/rtissera/dolphin"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_VERSION="0b160db48796f727311cea16072174d96b784f80"
|
||||
PKG_GIT_CLONE_BRANCH="egldrm"
|
||||
PKG_PATCH_DIRS+=" legacy"
|
||||
;;
|
||||
esac
|
||||
PKG_TOOLCHAIN="cmake"
|
||||
PKG_PATCH_DIRS+="wayland"
|
||||
|
||||
if [ ! "${OPENGL}" = "no" ]; then
|
||||
PKG_DEPENDS_TARGET+=" ${OPENGL} glu libglvnd"
|
||||
PKG_CMAKE_OPTS_TARGET+=" -DENABLE_X11=OFF \
|
||||
-DENABLE_EGL=ON"
|
||||
fi
|
||||
|
||||
if [ "${OPENGLES_SUPPORT}" = yes ]; then
|
||||
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
|
||||
PKG_CMAKE_OPTS_TARGET+=" -DENABLE_X11=OFF \
|
||||
-DENABLE_EGL=ON"
|
||||
fi
|
||||
|
||||
if [ "${DISPLAYSERVER}" = "wl" ]; then
|
||||
PKG_DEPENDS_TARGET+=" wayland ${WINDOWMANAGER} xorg-server xrandr libXi"
|
||||
PKG_CMAKE_OPTS_TARGET+=" -DENABLE_WAYLAND=ON \
|
||||
-DENABLE_X11=OFF"
|
||||
PKG_CMAKE_OPTS_TARGET+=" -DENABLE_WAYLAND=ON"
|
||||
fi
|
||||
|
||||
if [ "${VULKAN_SUPPORT}" = "yes" ]
|
||||
|
@ -48,7 +32,6 @@ fi
|
|||
|
||||
PKG_CMAKE_OPTS_TARGET+=" -DENABLE_HEADLESS=ON \
|
||||
-DENABLE_EVDEV=ON \
|
||||
-DTHREADS_PTHREAD_ARG=OFF \
|
||||
-DUSE_DISCORD_PRESENCE=OFF \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
-DUSE_MGBA=OFF \
|
||||
|
@ -59,7 +42,8 @@ PKG_CMAKE_OPTS_TARGET+=" -DENABLE_HEADLESS=ON \
|
|||
-DENABLE_LTO=ON \
|
||||
-DENABLE_QT=OFF \
|
||||
-DENCODE_FRAMEDUMPS=OFF \
|
||||
-DENABLE_CLI_TOOL=OFF"
|
||||
-DENABLE_CLI_TOOL=OFF \
|
||||
-DENABLE_X11=OFF"
|
||||
|
||||
|
||||
makeinstall_target() {
|
||||
|
@ -74,16 +58,3 @@ makeinstall_target() {
|
|||
cp -rf ${PKG_BUILD}/Data/Sys/* ${INSTALL}/usr/config/dolphin-emu
|
||||
cp -rf ${PKG_DIR}/config/${DEVICE}/* ${INSTALL}/usr/config/dolphin-emu
|
||||
}
|
||||
|
||||
post_install() {
|
||||
case ${DEVICE} in
|
||||
*)
|
||||
DOLPHIN_PLATFORM="wayland"
|
||||
;;
|
||||
esac
|
||||
sed -e "s/@DOLPHIN_PLATFORM@/${DOLPHIN_PLATFORM}/g" \
|
||||
-i ${INSTALL}/usr/bin/start_dolphin_gc.sh
|
||||
sed -e "s/@DOLPHIN_PLATFORM@/${DOLPHIN_PLATFORM}/g" \
|
||||
-i ${INSTALL}/usr/bin/start_dolphin_wii.sh
|
||||
|
||||
}
|
||||
|
|
|
@ -1,118 +0,0 @@
|
|||
diff --git a/Source/Core/Core/HW/GCPadEmu.cpp b/Source/Core/Core/HW/GCPadEmu.cpp
|
||||
index c8e7016..fb089c4 100644
|
||||
--- a/Source/Core/Core/HW/GCPadEmu.cpp
|
||||
+++ b/Source/Core/Core/HW/GCPadEmu.cpp
|
||||
@@ -26,6 +26,7 @@ static const u16 button_bitmasks[] = {
|
||||
PAD_BUTTON_Y,
|
||||
PAD_TRIGGER_Z,
|
||||
PAD_BUTTON_START,
|
||||
+ PAD_BUTTON_HOTKEY,
|
||||
0 // MIC HAX
|
||||
};
|
||||
|
||||
@@ -37,7 +38,7 @@ static const u16 trigger_bitmasks[] = {
|
||||
static const u16 dpad_bitmasks[] = {PAD_BUTTON_UP, PAD_BUTTON_DOWN, PAD_BUTTON_LEFT,
|
||||
PAD_BUTTON_RIGHT};
|
||||
|
||||
-static const char* const named_buttons[] = {"A", "B", "X", "Y", "Z", "Start"};
|
||||
+static const char* const named_buttons[] = {"A", "B", "X", "Y", "Z", "Start", "Hotkey"};
|
||||
|
||||
static const char* const named_triggers[] = {
|
||||
// i18n: The left trigger button (labeled L on real controllers)
|
||||
diff --git a/Source/Core/DolphinNoGUI/PlatformDRM.cpp b/Source/Core/DolphinNoGUI/PlatformDRM.cpp
|
||||
index b210cea..77d4e86 100644
|
||||
--- a/Source/Core/DolphinNoGUI/PlatformDRM.cpp
|
||||
+++ b/Source/Core/DolphinNoGUI/PlatformDRM.cpp
|
||||
@@ -11,6 +11,12 @@
|
||||
#include "Core/Core.h"
|
||||
#include "Core/State.h"
|
||||
|
||||
+#include "Core/HW/GCPad.h"
|
||||
+#include "InputCommon/GCPadStatus.h"
|
||||
+#include <fmt/format.h>
|
||||
+#include "Core/Config/GraphicsSettings.h"
|
||||
+#include "VideoCommon/VideoConfig.h"
|
||||
+
|
||||
#include <climits>
|
||||
#include <cstdio>
|
||||
|
||||
@@ -54,9 +60,67 @@ void PlatformDRM::MainLoop()
|
||||
{
|
||||
while (IsRunning())
|
||||
{
|
||||
+ static int hotkey = 0;
|
||||
+ static int slot = 0;
|
||||
+ static int stereo = 0;
|
||||
+
|
||||
UpdateRunningFlag();
|
||||
Core::HostDispatchJobs();
|
||||
|
||||
+ if(Pad::IsInitialized()) {
|
||||
+ GCPadStatus x = Pad::GetStatus(0);
|
||||
+
|
||||
+ if( (x.button & PAD_BUTTON_HOTKEY) == PAD_BUTTON_HOTKEY) { // hotkey pressed
|
||||
+ if(hotkey == 1) {
|
||||
+ hotkey = 2;
|
||||
+ }
|
||||
+ } else {
|
||||
+ hotkey = 1; // assure hotkey is released between actions
|
||||
+ }
|
||||
+
|
||||
+ if(hotkey == 2) { // hotkey pressed
|
||||
+ if( (x.button & PAD_BUTTON_START) == PAD_BUTTON_START) {
|
||||
+ RequestShutdown();
|
||||
+ hotkey = 0;
|
||||
+ }
|
||||
+
|
||||
+ if( (x.button & PAD_TRIGGER_L) == PAD_TRIGGER_L) {
|
||||
+ State::Load(slot);
|
||||
+ hotkey = 0;
|
||||
+ }
|
||||
+ if( (x.button & PAD_TRIGGER_R) == PAD_TRIGGER_R) {
|
||||
+ State::Save(slot);
|
||||
+ hotkey = 0;
|
||||
+ }
|
||||
+ if( (x.button & PAD_BUTTON_DOWN) == PAD_BUTTON_DOWN) {
|
||||
+ if(slot > 0) slot--;
|
||||
+ Core::DisplayMessage(fmt::format("Slot {} selected", slot), 4000);
|
||||
+ hotkey = 0;
|
||||
+ }
|
||||
+ if( (x.button & PAD_BUTTON_UP) == PAD_BUTTON_UP) {
|
||||
+ if(slot < 10) slot++;
|
||||
+ Core::DisplayMessage(fmt::format("Slot {} selected", slot), 4000);
|
||||
+ hotkey = 0;
|
||||
+ }
|
||||
+ if( (x.button & PAD_BUTTON_Y) == PAD_BUTTON_Y) {
|
||||
+ Core::SaveScreenShot();
|
||||
+ hotkey = 0;
|
||||
+ }
|
||||
+ if( (x.button & PAD_BUTTON_X) == PAD_BUTTON_X) {
|
||||
+ if(stereo == 0) {
|
||||
+ Config::SetCurrent(Config::GFX_STEREO_MODE, StereoMode::SBS);
|
||||
+ stereo = 1;
|
||||
+ } else {
|
||||
+ Config::SetCurrent(Config::GFX_STEREO_MODE, StereoMode::Off);
|
||||
+ stereo = 0;
|
||||
+ }
|
||||
+ hotkey = 0;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ }
|
||||
+ //
|
||||
+
|
||||
// TODO: Is this sleep appropriate?
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(1));
|
||||
}
|
||||
diff --git a/Source/Core/InputCommon/GCPadStatus.h b/Source/Core/InputCommon/GCPadStatus.h
|
||||
index 7da1bbd..57d294d 100644
|
||||
--- a/Source/Core/InputCommon/GCPadStatus.h
|
||||
+++ b/Source/Core/InputCommon/GCPadStatus.h
|
||||
@@ -27,6 +27,7 @@ enum PadButton
|
||||
PAD_BUTTON_X = 0x0400,
|
||||
PAD_BUTTON_Y = 0x0800,
|
||||
PAD_BUTTON_START = 0x1000,
|
||||
+ PAD_BUTTON_HOTKEY = 0x2000,
|
||||
};
|
||||
|
||||
struct GCPadStatus
|
|
@ -1,12 +0,0 @@
|
|||
diff --git a/CMake/FindLibevdev.cmake b/CMake/FindLibevdev.cmake
|
||||
index e89a5f229d..a7c73e0536 100644
|
||||
--- a/CMake/FindLibevdev.cmake
|
||||
+++ b/CMake/FindLibevdev.cmake
|
||||
@@ -12,6 +12,7 @@ FIND_PATH(
|
||||
HINTS ${PC_LIBEVDEV_INCLUDEDIR} ${PC_LIBEVDEV_INCLUDE_DIRS}
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
+ /usr/include/libevdev-1.0
|
||||
${LIBEVDEV_PATH_INCLUDES}
|
||||
)
|
||||
|
|
@ -1,203 +0,0 @@
|
|||
diff --git a/Source/Core/Common/Config/Config.cpp b/Source/Core/Common/Config/Config.cpp
|
||||
index 2211d0d5fb..29004787e4 100644
|
||||
--- a/Source/Core/Common/Config/Config.cpp
|
||||
+++ b/Source/Core/Common/Config/Config.cpp
|
||||
@@ -5,6 +5,7 @@
|
||||
#include <algorithm>
|
||||
#include <list>
|
||||
#include <map>
|
||||
+#include <mutex>
|
||||
#include <shared_mutex>
|
||||
|
||||
#include "Common/Config/Config.h"
|
||||
diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.cpp b/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.cpp
|
||||
index dc775ef607..0802a06039 100644
|
||||
--- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.cpp
|
||||
+++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.cpp
|
||||
@@ -133,13 +133,13 @@ const OpArg& Arm64GPRCache::GetGuestGPROpArg(size_t preg) const
|
||||
Arm64GPRCache::GuestRegInfo Arm64GPRCache::GetGuestGPR(size_t preg)
|
||||
{
|
||||
ASSERT(preg < GUEST_GPR_COUNT);
|
||||
- return {32, PPCSTATE_OFF(gpr[preg]), m_guest_registers[GUEST_GPR_OFFSET + preg]};
|
||||
+ return {32, PPCSTATE_OFF_GPR(preg), m_guest_registers[GUEST_GPR_OFFSET + preg]};
|
||||
}
|
||||
|
||||
Arm64GPRCache::GuestRegInfo Arm64GPRCache::GetGuestCR(size_t preg)
|
||||
{
|
||||
ASSERT(preg < GUEST_CR_COUNT);
|
||||
- return {64, PPCSTATE_OFF(cr.fields[preg]), m_guest_registers[GUEST_CR_OFFSET + preg]};
|
||||
+ return {64, PPCSTATE_OFF_CR(preg), m_guest_registers[GUEST_CR_OFFSET + preg]};
|
||||
}
|
||||
|
||||
Arm64GPRCache::GuestRegInfo Arm64GPRCache::GetGuestByIndex(size_t index)
|
||||
@@ -450,8 +450,9 @@ ARM64Reg Arm64FPRCache::R(size_t preg, RegType type)
|
||||
{
|
||||
// Load the high 64bits from the file and insert them in to the high 64bits of the host
|
||||
// register
|
||||
- ARM64Reg tmp_reg = GetReg();
|
||||
- m_float_emit->LDR(64, INDEX_UNSIGNED, tmp_reg, PPC_REG, u32(PPCSTATE_OFF(ps[preg].ps1)));
|
||||
+ const ARM64Reg tmp_reg = GetReg();
|
||||
+ m_float_emit->LDR(64, INDEX_UNSIGNED, tmp_reg, PPC_REG,
|
||||
+ static_cast<s32>(PPCSTATE_OFF_PS1(preg)));
|
||||
m_float_emit->INS(64, host_reg, 1, tmp_reg, 0);
|
||||
UnlockRegister(tmp_reg);
|
||||
|
||||
@@ -505,7 +506,7 @@ ARM64Reg Arm64FPRCache::R(size_t preg, RegType type)
|
||||
}
|
||||
reg.SetDirty(false);
|
||||
m_float_emit->LDR(load_size, INDEX_UNSIGNED, host_reg, PPC_REG,
|
||||
- u32(PPCSTATE_OFF(ps[preg].ps0)));
|
||||
+ static_cast<s32>(PPCSTATE_OFF_PS0(preg)));
|
||||
return host_reg;
|
||||
}
|
||||
default:
|
||||
@@ -553,7 +554,8 @@ ARM64Reg Arm64FPRCache::RW(size_t preg, RegType type)
|
||||
// We are doing a full 128bit store because it takes 2 cycles on a Cortex-A57 to do a 128bit
|
||||
// store.
|
||||
// It would take longer to do an insert to a temporary and a 64bit store than to just do this.
|
||||
- m_float_emit->STR(128, INDEX_UNSIGNED, flush_reg, PPC_REG, u32(PPCSTATE_OFF(ps[preg].ps0)));
|
||||
+ m_float_emit->STR(128, INDEX_UNSIGNED, flush_reg, PPC_REG,
|
||||
+ static_cast<s32>(PPCSTATE_OFF_PS0(preg)));
|
||||
break;
|
||||
case REG_DUP_SINGLE:
|
||||
flush_reg = GetReg();
|
||||
@@ -561,7 +563,8 @@ ARM64Reg Arm64FPRCache::RW(size_t preg, RegType type)
|
||||
[[fallthrough]];
|
||||
case REG_DUP:
|
||||
// Store PSR1 (which is equal to PSR0) in memory.
|
||||
- m_float_emit->STR(64, INDEX_UNSIGNED, flush_reg, PPC_REG, u32(PPCSTATE_OFF(ps[preg].ps1)));
|
||||
+ m_float_emit->STR(64, INDEX_UNSIGNED, flush_reg, PPC_REG,
|
||||
+ static_cast<s32>(PPCSTATE_OFF_PS1(preg)));
|
||||
break;
|
||||
default:
|
||||
// All other types doesn't store anything in PSR1.
|
||||
@@ -688,7 +691,7 @@ void Arm64FPRCache::FlushRegister(size_t preg, bool maintain_state)
|
||||
if (dirty)
|
||||
{
|
||||
m_float_emit->STR(store_size, INDEX_UNSIGNED, host_reg, PPC_REG,
|
||||
- u32(PPCSTATE_OFF(ps[preg].ps0)));
|
||||
+ static_cast<s32>(PPCSTATE_OFF_PS0(preg)));
|
||||
}
|
||||
|
||||
if (!maintain_state)
|
||||
@@ -701,12 +704,18 @@ void Arm64FPRCache::FlushRegister(size_t preg, bool maintain_state)
|
||||
{
|
||||
if (dirty)
|
||||
{
|
||||
- // If the paired registers were at the start of ppcState we could do an STP here.
|
||||
- // Too bad moving them would break savestate compatibility between x86_64 and AArch64
|
||||
- // m_float_emit->STP(64, INDEX_SIGNED, host_reg, host_reg, PPC_REG,
|
||||
- // PPCSTATE_OFF(ps[preg].ps0));
|
||||
- m_float_emit->STR(64, INDEX_UNSIGNED, host_reg, PPC_REG, u32(PPCSTATE_OFF(ps[preg].ps0)));
|
||||
- m_float_emit->STR(64, INDEX_UNSIGNED, host_reg, PPC_REG, u32(PPCSTATE_OFF(ps[preg].ps1)));
|
||||
+ if (PPCSTATE_OFF_PS0(preg) <= 504)
|
||||
+ {
|
||||
+ m_float_emit->STP(64, INDEX_SIGNED, host_reg, host_reg, PPC_REG,
|
||||
+ static_cast<s32>(PPCSTATE_OFF_PS0(preg)));
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ m_float_emit->STR(64, INDEX_UNSIGNED, host_reg, PPC_REG,
|
||||
+ static_cast<s32>(PPCSTATE_OFF_PS0(preg)));
|
||||
+ m_float_emit->STR(64, INDEX_UNSIGNED, host_reg, PPC_REG,
|
||||
+ static_cast<s32>(PPCSTATE_OFF_PS1(preg)));
|
||||
+ }
|
||||
}
|
||||
|
||||
if (!maintain_state)
|
||||
diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.h b/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.h
|
||||
index 9860e4843e..c1b71f1212 100644
|
||||
--- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.h
|
||||
+++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.h
|
||||
@@ -22,6 +22,18 @@ static const Arm64Gen::ARM64Reg DISPATCHER_PC =
|
||||
|
||||
#define PPCSTATE_OFF(elem) (offsetof(PowerPC::PowerPCState, elem))
|
||||
|
||||
+#define PPCSTATE_OFF_ARRAY(elem, i) \
|
||||
+ (offsetof(PowerPC::PowerPCState, elem[0]) + sizeof(PowerPC::PowerPCState::elem[0]) * (i))
|
||||
+
|
||||
+#define PPCSTATE_OFF_GPR(i) PPCSTATE_OFF_ARRAY(gpr, i)
|
||||
+#define PPCSTATE_OFF_CR(i) PPCSTATE_OFF_ARRAY(cr.fields, i)
|
||||
+#define PPCSTATE_OFF_SR(i) PPCSTATE_OFF_ARRAY(sr, i)
|
||||
+#define PPCSTATE_OFF_SPR(i) PPCSTATE_OFF_ARRAY(spr, i)
|
||||
+
|
||||
+static_assert(std::is_same_v<decltype(PowerPC::PowerPCState::ps[0]), PowerPC::PairedSingle&>);
|
||||
+#define PPCSTATE_OFF_PS0(i) (PPCSTATE_OFF_ARRAY(ps, i) + offsetof(PowerPC::PairedSingle, ps0))
|
||||
+#define PPCSTATE_OFF_PS1(i) (PPCSTATE_OFF_ARRAY(ps, i) + offsetof(PowerPC::PairedSingle, ps1))
|
||||
+
|
||||
// Some asserts to make sure we will be able to load everything
|
||||
static_assert(PPCSTATE_OFF(spr[1023]) <= 16380, "LDR(32bit) can't reach the last SPR");
|
||||
static_assert((PPCSTATE_OFF(ps[0].ps0) % 8) == 0,
|
||||
diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp b/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp
|
||||
index d5889fd62c..427afe8c15 100644
|
||||
--- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp
|
||||
+++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp
|
||||
@@ -111,7 +111,7 @@ void JitArm64::mfsr(UGeckoInstruction inst)
|
||||
JITDISABLE(bJITSystemRegistersOff);
|
||||
|
||||
gpr.BindToRegister(inst.RD, false);
|
||||
- LDR(INDEX_UNSIGNED, gpr.R(inst.RD), PPC_REG, PPCSTATE_OFF(sr[inst.SR]));
|
||||
+ LDR(INDEX_UNSIGNED, gpr.R(inst.RD), PPC_REG, PPCSTATE_OFF_SR(inst.SR));
|
||||
}
|
||||
|
||||
void JitArm64::mtsr(UGeckoInstruction inst)
|
||||
@@ -120,7 +120,7 @@ void JitArm64::mtsr(UGeckoInstruction inst)
|
||||
JITDISABLE(bJITSystemRegistersOff);
|
||||
|
||||
gpr.BindToRegister(inst.RS, true);
|
||||
- STR(INDEX_UNSIGNED, gpr.R(inst.RS), PPC_REG, PPCSTATE_OFF(sr[inst.SR]));
|
||||
+ STR(INDEX_UNSIGNED, gpr.R(inst.RS), PPC_REG, PPCSTATE_OFF_SR(inst.SR));
|
||||
}
|
||||
|
||||
void JitArm64::mfsrin(UGeckoInstruction inst)
|
||||
diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStorePaired.cpp b/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStorePaired.cpp
|
||||
index f6a63ee2e6..91da6b2643 100644
|
||||
--- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStorePaired.cpp
|
||||
+++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStorePaired.cpp
|
||||
@@ -77,7 +77,7 @@ void JitArm64::psq_l(UGeckoInstruction inst)
|
||||
}
|
||||
else
|
||||
{
|
||||
- LDR(INDEX_UNSIGNED, scale_reg, PPC_REG, PPCSTATE_OFF(spr[SPR_GQR0 + inst.I]));
|
||||
+ //LDR(INDEX_UNSIGNED, scale_reg, PPC_REG, PPCSTATE_OFF(spr[SPR_GQR0 + inst.I]));
|
||||
UBFM(type_reg, scale_reg, 16, 18); // Type
|
||||
UBFM(scale_reg, scale_reg, 24, 29); // Scale
|
||||
|
||||
@@ -179,7 +179,7 @@ void JitArm64::psq_st(UGeckoInstruction inst)
|
||||
m_float_emit.FCVTN(32, D0, VS);
|
||||
}
|
||||
|
||||
- LDR(INDEX_UNSIGNED, scale_reg, PPC_REG, PPCSTATE_OFF(spr[SPR_GQR0 + inst.I]));
|
||||
+ //LDR(INDEX_UNSIGNED, scale_reg, PPC_REG, PPCSTATE_OFF(spr[SPR_GQR0 + inst.I]));
|
||||
UBFM(type_reg, scale_reg, 0, 2); // Type
|
||||
UBFM(scale_reg, scale_reg, 8, 13); // Scale
|
||||
|
||||
diff --git a/Source/Core/DiscIO/WIACompression.cpp b/Source/Core/DiscIO/WIACompression.cpp
|
||||
index 20d19c4877..10d6d67c22 100644
|
||||
--- a/Source/Core/DiscIO/WIACompression.cpp
|
||||
+++ b/Source/Core/DiscIO/WIACompression.cpp
|
||||
@@ -165,18 +165,18 @@ bool Bzip2Decompressor::Decompress(const DecompressionBuffer& in, DecompressionB
|
||||
m_started = true;
|
||||
}
|
||||
|
||||
- constexpr auto clamped_cast = [](size_t x) {
|
||||
- return static_cast<unsigned int>(
|
||||
- std::min<size_t>(std::numeric_limits<unsigned int>().max(), x));
|
||||
- };
|
||||
+ //constexpr auto clamped_cast = [](size_t x) {
|
||||
+ //return static_cast<unsigned int>(
|
||||
+ //std::min<size_t>(std::numeric_limits<unsigned int>().max(), x));
|
||||
+ //};
|
||||
|
||||
char* const in_ptr = reinterpret_cast<char*>(const_cast<u8*>(in.data.data() + *in_bytes_read));
|
||||
m_stream.next_in = in_ptr;
|
||||
- m_stream.avail_in = clamped_cast(in.bytes_written - *in_bytes_read);
|
||||
+ //m_stream.avail_in = clamped_cast(in.bytes_written - *in_bytes_read);
|
||||
|
||||
char* const out_ptr = reinterpret_cast<char*>(out->data.data() + out->bytes_written);
|
||||
m_stream.next_out = out_ptr;
|
||||
- m_stream.avail_out = clamped_cast(out->data.size() - out->bytes_written);
|
||||
+ //m_stream.avail_out = clamped_cast(out->data.size() - out->bytes_written);
|
||||
|
||||
const int result = BZ2_bzDecompress(&m_stream);
|
||||
|
|
@ -142,4 +142,4 @@ rm -rf /storage/.local/share/dolphin-emu
|
|||
ln -sf /storage/.config/dolphin-emu /storage/.local/share/dolphin-emu
|
||||
|
||||
#Run Dolphin emulator
|
||||
/usr/bin/dolphin-emu-nogui -p @DOLPHIN_PLATFORM@ -a HLE -e "${1}"
|
||||
/usr/bin/dolphin-emu-nogui -p wayland -a HLE -e "${1}"
|
||||
|
|
|
@ -153,4 +153,4 @@ rm -rf /storage/.local/share/dolphin-emu
|
|||
ln -sf /storage/.config/dolphin-emu /storage/.local/share/dolphin-emu
|
||||
|
||||
#Run Dolphin emulator
|
||||
/usr/bin/dolphin-emu-nogui -p @DOLPHIN_PLATFORM@ -a HLE -e "${1}"
|
||||
/usr/bin/dolphin-emu-nogui -p wayland -a HLE -e "${1}"
|
||||
|
|
|
@ -0,0 +1,328 @@
|
|||
[Main]
|
||||
SettingsVersion = 3
|
||||
EmulationSpeed = 1.000000
|
||||
FastForwardSpeed = 0.000000
|
||||
TurboSpeed = 0.000000
|
||||
SyncToHostRefreshRate = false
|
||||
IncreaseTimerResolution = true
|
||||
InhibitScreensaver = true
|
||||
StartPaused = false
|
||||
StartFullscreen = true
|
||||
PauseOnFocusLoss = false
|
||||
PauseOnMenu = true
|
||||
SaveStateOnExit = true
|
||||
CreateSaveStateBackups = true
|
||||
CompressSaveStates = true
|
||||
ConfirmPowerOff = true
|
||||
LoadDevicesFromSaveStates = false
|
||||
ApplyCompatibilitySettings = true
|
||||
ApplyGameSettings = true
|
||||
AutoLoadCheats = true
|
||||
DisableAllEnhancements = false
|
||||
RewindEnable = false
|
||||
RewindFrequency = 10.000000
|
||||
RewindSaveSlots = 10
|
||||
RunaheadFrameCount = 0
|
||||
|
||||
|
||||
[Console]
|
||||
Region = Auto
|
||||
Enable8MBRAM = false
|
||||
|
||||
|
||||
[CPU]
|
||||
ExecutionMode = Recompiler
|
||||
OverclockEnable = false
|
||||
OverclockNumerator = 1
|
||||
OverclockDenominator = 1
|
||||
RecompilerMemoryExceptions = false
|
||||
RecompilerBlockLinking = true
|
||||
RecompilerICache = false
|
||||
FastmemMode = MMap
|
||||
|
||||
|
||||
[GPU]
|
||||
Renderer = Software
|
||||
Adapter =
|
||||
ResolutionScale = 1
|
||||
Multisamples = 1
|
||||
UseDebugDevice = false
|
||||
PerSampleShading = false
|
||||
UseThread = true
|
||||
ThreadedPresentation = true
|
||||
UseSoftwareRendererForReadbacks = false
|
||||
TrueColor = true
|
||||
ScaledDithering = true
|
||||
TextureFilter = Nearest
|
||||
DownsampleMode = Disabled
|
||||
DisableInterlacing = true
|
||||
ForceNTSCTimings = false
|
||||
WidescreenHack = false
|
||||
ChromaSmoothing24Bit = false
|
||||
PGXPEnable = false
|
||||
PGXPCulling = true
|
||||
PGXPTextureCorrection = true
|
||||
PGXPVertexCache = false
|
||||
PGXPCPU = false
|
||||
PGXPPreserveProjFP = false
|
||||
PGXPTolerance = -1.000000
|
||||
PGXPDepthBuffer = false
|
||||
PGXPDepthClearThreshold = 1228800.000000
|
||||
FullscreenMode =
|
||||
|
||||
|
||||
[Display]
|
||||
CropMode = Overscan
|
||||
ActiveStartOffset = 0
|
||||
ActiveEndOffset = 0
|
||||
LineStartOffset = 0
|
||||
LineEndOffset = 0
|
||||
Force4_3For24Bit = false
|
||||
AspectRatio = Auto (Game Native)
|
||||
CustomAspectRatioNumerator = 0
|
||||
LinearFiltering = true
|
||||
IntegerScaling = false
|
||||
Stretch = false
|
||||
PostProcessing = false
|
||||
ShowOSDMessages = true
|
||||
ShowFPS = false
|
||||
ShowSpeed = false
|
||||
ShowResolution = false
|
||||
ShowCPU = false
|
||||
ShowGPU = false
|
||||
ShowStatusIndicators = true
|
||||
ShowInputs = false
|
||||
ShowEnhancements = false
|
||||
DisplayAllFrames = false
|
||||
InternalResolutionScreenshots = false
|
||||
VSync = false
|
||||
MaxFPS = 0.000000
|
||||
OSDScale = 100.000000
|
||||
|
||||
|
||||
[CDROM]
|
||||
ReadaheadSectors = 8
|
||||
RegionCheck = false
|
||||
LoadImageToRAM = false
|
||||
LoadImagePatches = false
|
||||
MuteCDAudio = false
|
||||
ReadSpeedup = 1
|
||||
SeekSpeedup = 1
|
||||
|
||||
|
||||
[Audio]
|
||||
Backend = Cubeb
|
||||
Driver =
|
||||
StretchMode = TimeStretch
|
||||
BufferMS = 50
|
||||
OutputLatencyMS = 20
|
||||
OutputVolume = 100
|
||||
FastForwardVolume = 100
|
||||
OutputMuted = false
|
||||
DumpOnBoot = false
|
||||
|
||||
|
||||
[Hacks]
|
||||
DMAMaxSliceTicks = 1000
|
||||
DMAHaltTicks = 100
|
||||
GPUFIFOSize = 16
|
||||
GPUMaxRunAhead = 128
|
||||
|
||||
|
||||
[BIOS]
|
||||
SearchDirectory = /storage/roms/bios
|
||||
PathNTSCU =
|
||||
PathNTSCJ =
|
||||
PathPAL =
|
||||
PatchTTYEnable = false
|
||||
PatchFastBoot = true
|
||||
|
||||
|
||||
[Controller1]
|
||||
Type = AnalogController
|
||||
|
||||
|
||||
[Controller2]
|
||||
Type = None
|
||||
|
||||
|
||||
[Controller3]
|
||||
Type = None
|
||||
|
||||
|
||||
[Controller4]
|
||||
Type = None
|
||||
|
||||
|
||||
[Controller5]
|
||||
Type = None
|
||||
|
||||
|
||||
[Controller6]
|
||||
Type = None
|
||||
|
||||
|
||||
[Controller7]
|
||||
Type = None
|
||||
|
||||
|
||||
[Controller8]
|
||||
Type = None
|
||||
|
||||
|
||||
[MemoryCards]
|
||||
Card1Type = PerGameTitle
|
||||
Card2Type = None
|
||||
UsePlaylistTitle = true
|
||||
Directory = memcards
|
||||
|
||||
|
||||
[ControllerPorts]
|
||||
MultitapMode = Disabled
|
||||
PointerXScale = 8.000000
|
||||
PointerYScale = 8.000000
|
||||
PointerXInvert = false
|
||||
PointerYInvert = false
|
||||
|
||||
|
||||
[Cheevos]
|
||||
Enabled = false
|
||||
TestMode = false
|
||||
UnofficialTestMode = false
|
||||
UseFirstDiscFromPlaylist = true
|
||||
RichPresence = false
|
||||
ChallengeMode = false
|
||||
|
||||
|
||||
[Logging]
|
||||
LogLevel = Debug
|
||||
LogFilter =
|
||||
LogToConsole = true
|
||||
LogToDebug = true
|
||||
LogToWindow = false
|
||||
LogToFile = true
|
||||
|
||||
|
||||
[Debug]
|
||||
ShowVRAM = false
|
||||
DumpCPUToVRAMCopies = false
|
||||
DumpVRAMToCPUCopies = false
|
||||
ShowGPUState = false
|
||||
ShowCDROMState = false
|
||||
ShowSPUState = false
|
||||
ShowTimersState = false
|
||||
ShowMDECState = false
|
||||
ShowDMAState = false
|
||||
|
||||
|
||||
[TextureReplacements]
|
||||
EnableVRAMWriteReplacements = false
|
||||
PreloadTextures = false
|
||||
DumpVRAMWrites = false
|
||||
DumpVRAMWriteForceAlphaChannel = true
|
||||
DumpVRAMWriteWidthThreshold = 128
|
||||
DumpVRAMWriteHeightThreshold = 128
|
||||
|
||||
|
||||
[Folders]
|
||||
Cache = cache
|
||||
Cheats = cheats
|
||||
Covers = covers
|
||||
Dumps = dump
|
||||
GameSettings = gamesettings
|
||||
InputProfiles = inputprofiles
|
||||
SaveStates = savestates
|
||||
Screenshots = screenshots
|
||||
Shaders = shaders
|
||||
Textures = textures
|
||||
|
||||
|
||||
[InputSources]
|
||||
SDL = true
|
||||
SDLControllerEnhancedMode = false
|
||||
Evdev = false
|
||||
XInput = false
|
||||
RawInput = false
|
||||
|
||||
|
||||
[Pad1]
|
||||
Type = AnalogController
|
||||
Up = SDL-0/DPadUp
|
||||
Right = SDL-0/DPadRight
|
||||
Down = SDL-0/DPadDown
|
||||
Left = SDL-0/DPadLeft
|
||||
Triangle = SDL-0/X
|
||||
Circle = SDL-0/A
|
||||
Cross = SDL-0/B
|
||||
Square = SDL-0/Y
|
||||
Select = SDL-0/Back
|
||||
Start = SDL-0/Start
|
||||
L1 = SDL-0/LeftShoulder
|
||||
R1 = SDL-0/RightShoulder
|
||||
L2 = SDL-0/+LeftTrigger
|
||||
R2 = SDL-0/+RightTrigger
|
||||
L3 = SDL-0/LeftStick & SDL-0/-LeftX
|
||||
R3 = SDL-0/RightStick
|
||||
LLeft = SDL-0/-LeftX
|
||||
LRight = SDL-0/+LeftX
|
||||
LDown = SDL-0/+LeftY
|
||||
LUp = SDL-0/-LeftY
|
||||
RLeft = SDL-0/-RightX
|
||||
RRight = SDL-0/+RightX
|
||||
RDown = SDL-0/+RightY
|
||||
RUp = SDL-0/-RightY
|
||||
|
||||
|
||||
[Pad2]
|
||||
Type = None
|
||||
|
||||
|
||||
[Pad3]
|
||||
Type = None
|
||||
|
||||
|
||||
[Pad4]
|
||||
Type = None
|
||||
|
||||
|
||||
[Pad5]
|
||||
Type = None
|
||||
|
||||
|
||||
[Pad6]
|
||||
Type = None
|
||||
|
||||
|
||||
[Pad7]
|
||||
Type = None
|
||||
|
||||
|
||||
[Pad8]
|
||||
Type = None
|
||||
|
||||
|
||||
[Hotkeys]
|
||||
Screenshot = SDL-0/Back & SDL-0/A
|
||||
ToggleWidescreen = SDL-0/Back & SDL-0/Y
|
||||
OpenPauseMenu = SDL-0/Back & SDL-0/X
|
||||
LoadSelectedSaveState = SDL-0/Back & SDL-0/LeftShoulder
|
||||
SaveSelectedSaveState = SDL-0/Back & SDL-0/RightShoulder
|
||||
SelectPreviousSaveStateSlot = SDL-0/Back & SDL-0/+RightY
|
||||
SelectNextSaveStateSlot = SDL-0/Back & SDL-0/-RightY
|
||||
ToggleFastForward = SDL-0/Back & SDL-0/+RightTrigger
|
||||
PowerOff = SDL-0/Back & SDL-0/Start
|
||||
Reset = SDL-0/Back & SDL-0/B
|
||||
ChangeDisc = SDL-0/Back & SDL-0/-RightX
|
||||
SwapMemoryCards = SDL-0/Back & SDL-0/+RightX
|
||||
Rewind = SDL-0/Back & SDL-0/+LeftTrigger
|
||||
|
||||
|
||||
[NoGUI]
|
||||
WindowX = 0
|
||||
WindowY = 0
|
||||
WindowWidth = 1920
|
||||
WindowHeight = 1152
|
||||
|
||||
|
||||
[GameList]
|
||||
RecursivePaths = /storage/roms/psx
|
|
@ -3,39 +3,25 @@
|
|||
|
||||
PKG_NAME="duckstationsa"
|
||||
PKG_LICENSE="GPLv3"
|
||||
PKG_VERSION="6a7407565a61fb470a495cc98068db729b8f1e4f"
|
||||
PKG_DEPENDS_TARGET="toolchain SDL2 nasm:host pulseaudio openssl libidn2 nghttp2 zlib curl libevdev ecm"
|
||||
PKG_SITE="https://github.com/stenzek/duckstation"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_SHORTDESC="Fast PlayStation 1 emulator for x86-64/AArch32/AArch64 "
|
||||
|
||||
case ${DEVICE} in
|
||||
handheld)
|
||||
PKG_VERSION="06d6447e59f208f21ba42f4df1665b789db13fb7"
|
||||
PKG_PATCH_DIRS+=" new"
|
||||
;;
|
||||
*)
|
||||
PKG_VERSION="5ab5070d73f1acc51e064bd96be4ba6ce3c06f5c"
|
||||
PKG_PATCH_DIRS+=" legacy"
|
||||
;;
|
||||
esac
|
||||
PKG_TOOLCHAIN="cmake"
|
||||
PKG_PATCH_DIRS+="wayland"
|
||||
|
||||
if [ ! "${OPENGL}" = "no" ]; then
|
||||
PKG_DEPENDS_TARGET+=" ${OPENGL} glu libglvnd"
|
||||
PKG_CMAKE_OPTS_TARGET+=" -DUSE_X11=OFF"
|
||||
fi
|
||||
|
||||
if [ "${OPENGLES_SUPPORT}" = yes ]; then
|
||||
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
|
||||
PKG_CMAKE_OPTS_TARGET+=" -DUSE_X11=OFF \
|
||||
-DUSE_DRMKMS=ON \
|
||||
-DENABLE_EGL=ON \
|
||||
-DUSE_MALI=OFF \
|
||||
-DENABLE_VULKAN=OFF"
|
||||
fi
|
||||
|
||||
if [ "${DISPLAYSERVER}" = "wl" ]; then
|
||||
PKG_DEPENDS_TARGET+=" wayland ${WINDOWMANAGER} xorg-server xrandr libXi"
|
||||
PKG_CMAKE_OPTS_TARGET+=" -DUSE_X11=OFF -DUSE_WAYLAND=ON"
|
||||
PKG_CMAKE_OPTS_TARGET+=" -DUSE_WAYLAND=ON"
|
||||
fi
|
||||
|
||||
if [ "${VULKAN_SUPPORT}" = "yes" ]; then
|
||||
|
@ -53,7 +39,8 @@ pre_configure_target() {
|
|||
-DUSE_SDL2=ON \
|
||||
-DENABLE_CHEEVOS=ON \
|
||||
-DUSE_FBDEV=OFF \
|
||||
-DUSE_EVDEV=ON"
|
||||
-DUSE_EVDEV=ON \
|
||||
-DUSE_X11=OFF"
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
|
|
|
@ -1,129 +0,0 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index a02270e7..dbb48953 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -40,6 +40,7 @@ if(SUPPORTS_WAYLAND)
|
||||
endif()
|
||||
if((LINUX OR FREEBSD) OR ANDROID)
|
||||
option(USE_EGL "Support EGL OpenGL context creation" ON)
|
||||
+ option(USE_MALI "Link with libmali for EGL support" OFF)
|
||||
endif()
|
||||
if((LINUX OR FREEBSD) AND NOT ANDROID)
|
||||
option(USE_DRMKMS "Support DRM/KMS OpenGL contexts" OFF)
|
||||
@@ -232,7 +233,7 @@ elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86" OR ${CMAKE_SYSTEM_PROCESSOR} STR
|
||||
elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm64")
|
||||
set(CPU_ARCH "aarch64")
|
||||
elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "armv7-a" OR
|
||||
- ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "armv7l")
|
||||
+ ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "armv7l" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "armv8l")
|
||||
set(CPU_ARCH "aarch32")
|
||||
if(ANDROID)
|
||||
# Force ARM mode, since apparently ANDROID_ARM_MODE isn't working..
|
||||
@@ -240,8 +241,13 @@ elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm" OR ${CMAKE_SYSTEM_PROCESSOR} STR
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -marm")
|
||||
else()
|
||||
# Enable NEON.
|
||||
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -marm -march=armv7-a")
|
||||
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -marm -march=armv7-a")
|
||||
+ if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "armv8l")
|
||||
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -marm -mtune=cortex-a55")
|
||||
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -marm -mtune=cortex-a55")
|
||||
+ else()
|
||||
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -marm -march=armv7-a")
|
||||
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -marm -march=armv7-a")
|
||||
+ endif()
|
||||
endif()
|
||||
else()
|
||||
message(FATAL_ERROR "Unknown system processor: " ${CMAKE_SYSTEM_PROCESSOR})
|
||||
diff -u -r /home/romain/duckstation/CMakeModules/FindEGL.cmake ./CMakeModules/FindEGL.cmake
|
||||
--- /home/romain/duckstation/CMakeModules/FindEGL.cmake 2021-02-13 00:29:48.693304818 +0100
|
||||
+++ ./CMakeModules/FindEGL.cmake 2021-02-13 00:45:35.564462969 +0100
|
||||
@@ -86,6 +86,17 @@
|
||||
${PKG_EGL_LIBRARY_DIRS}
|
||||
)
|
||||
|
||||
+if(USE_MALI)
|
||||
+pkg_check_modules(PKG_MALI QUIET mali)
|
||||
+find_library(MALI_LIBRARY
|
||||
+ NAMES
|
||||
+ mali
|
||||
+ HINTS
|
||||
+ ${PKG_MALI_LIBRARY_DIRS}
|
||||
+)
|
||||
+endif()
|
||||
+
|
||||
+
|
||||
# NB: We do *not* use the version information from pkg-config, as that
|
||||
# is the implementation version (eg: the Mesa version)
|
||||
if(EGL_INCLUDE_DIR)
|
||||
@@ -117,7 +128,11 @@
|
||||
|
||||
cmake_push_check_state(RESET)
|
||||
list(APPEND CMAKE_REQUIRED_LIBRARIES "${EGL_LIBRARY}")
|
||||
+if(USE_MALI)
|
||||
+list(APPEND CMAKE_REQUIRED_LIBRARIES "${MALI_LIBRARY}")
|
||||
+endif()
|
||||
list(APPEND CMAKE_REQUIRED_INCLUDES "${EGL_INCLUDE_DIR}")
|
||||
+list(APPEND CMAKE_REQUIRED_DEFINITIONS "-DEGL_NO_X11 -DUSE_X11=NO")
|
||||
|
||||
check_cxx_source_compiles("
|
||||
#include <EGL/egl.h>
|
||||
@@ -161,7 +176,11 @@
|
||||
mark_as_advanced(EGL_LIBRARY EGL_INCLUDE_DIR HAVE_EGL)
|
||||
|
||||
# compatibility variables
|
||||
+if (USE_MALI)
|
||||
+set(EGL_LIBRARIES ${EGL_LIBRARY} ${MALI_LIBRARY})
|
||||
+else()
|
||||
set(EGL_LIBRARIES ${EGL_LIBRARY})
|
||||
+endif()
|
||||
set(EGL_INCLUDE_DIRS ${EGL_INCLUDE_DIR})
|
||||
set(EGL_VERSION_STRING ${EGL_VERSION})
|
||||
|
||||
Seulement dans ./CMakeModules: FindEGL.cmake.orig
|
||||
diff -u -r /home/romain/duckstation/dep/glad/CMakeLists.txt ./dep/glad/CMakeLists.txt
|
||||
--- /home/romain/duckstation/dep/glad/CMakeLists.txt 2021-02-13 00:29:48.765302377 +0100
|
||||
+++ ./dep/glad/CMakeLists.txt 2021-02-13 00:42:20.848512028 +0100
|
||||
@@ -17,8 +17,9 @@
|
||||
target_sources(glad PRIVATE src/glad_wgl.c)
|
||||
else()
|
||||
if(USE_EGL)
|
||||
+ target_compile_definitions(glad PRIVATE -DEGL_NO_X11)
|
||||
target_sources(glad PRIVATE src/glad_egl.c)
|
||||
- target_link_libraries(glad PRIVATE EGL::EGL)
|
||||
+ target_link_libraries(glad PRIVATE EGL)
|
||||
endif()
|
||||
if(USE_X11)
|
||||
target_sources(glad PRIVATE src/glad_glx.c)
|
||||
diff -u -r /home/romain/duckstation/src/common/CMakeLists.txt ./src/common/CMakeLists.txt
|
||||
--- /home/romain/duckstation/src/common/CMakeLists.txt 2021-02-13 00:29:48.885298307 +0100
|
||||
+++ ./src/common/CMakeLists.txt 2021-02-13 00:42:20.848512028 +0100
|
||||
@@ -175,12 +175,13 @@
|
||||
)
|
||||
endif()
|
||||
if(USE_DRMKMS)
|
||||
+ target_compile_definitions(common PRIVATE "-DEGL_NO_X11=1")
|
||||
target_compile_definitions(common PRIVATE "-DUSE_GBM=1")
|
||||
target_sources(common PRIVATE
|
||||
gl/context_egl_gbm.cpp
|
||||
gl/context_egl_gbm.h
|
||||
)
|
||||
- target_link_libraries(common PUBLIC GBM::GBM)
|
||||
+ target_link_libraries(common PUBLIC gbm EGL)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
diff -u -r /home/romain/duckstation/src/duckstation-nogui/CMakeLists.txt ./src/duckstation-nogui/CMakeLists.txt
|
||||
--- /home/romain/duckstation/src/duckstation-nogui/CMakeLists.txt 2021-02-13 00:29:48.901297765 +0100
|
||||
+++ ./src/duckstation-nogui/CMakeLists.txt 2021-02-13 00:56:19.913224314 +0100
|
||||
@@ -29,6 +29,10 @@
|
||||
target_compile_definitions(duckstation-nogui PRIVATE "-DUSE_LIBEVDEV=1")
|
||||
target_include_directories(duckstation-nogui PRIVATE ${LIBEVDEV_INCLUDE_DIRS})
|
||||
target_link_libraries(duckstation-nogui PRIVATE ${LIBEVDEV_LIBRARIES})
|
||||
+if (USE_MALI)
|
||||
+ target_link_libraries(duckstation-nogui PRIVATE ${MALI_LIBRARY})
|
||||
+endif()
|
||||
+
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
|
@ -1,22 +0,0 @@
|
|||
diff --git a/src/common/file_system.cpp b/src/common/file_system.cpp
|
||||
index 6a24732..a287703 100644
|
||||
--- a/src/common/file_system.cpp
|
||||
+++ b/src/common/file_system.cpp
|
||||
@@ -1179,6 +1179,8 @@ bool FileSystem::DeleteDirectory(const char* Path, bool Recursive)
|
||||
|
||||
std::string GetProgramPath()
|
||||
{
|
||||
+ return "/storage/.config/duckstation";
|
||||
+
|
||||
std::wstring buffer;
|
||||
buffer.resize(MAX_PATH);
|
||||
|
||||
@@ -1549,6 +1551,8 @@ bool DeleteDirectory(const char* Path, bool Recursive)
|
||||
|
||||
std::string GetProgramPath()
|
||||
{
|
||||
+ return "/storage/.config/duckstation";
|
||||
+
|
||||
#if defined(__linux__)
|
||||
static const char* exeFileName = "/proc/self/exe";
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
diff --git a/src/common/file_system.cpp b/src/common/file_system.cpp
|
||||
index ceb2f08..0fa5a04 100644
|
||||
--- a/src/common/file_system.cpp
|
||||
+++ b/src/common/file_system.cpp
|
||||
@@ -683,6 +683,9 @@ std::string GetDisplayNameFromPath(const std::string_view& path)
|
||||
|
||||
std::string_view GetPathDirectory(const std::string_view& path)
|
||||
{
|
||||
+
|
||||
+ return "/storage/.config/duckstation";
|
||||
+
|
||||
std::string::size_type pos = GetLastSeperatorPosition(path, false);
|
||||
if (pos == std::string_view::npos)
|
||||
return {};
|
|
@ -1,13 +0,0 @@
|
|||
diff --git a/src/duckstation-qt/qthostinterface.cpp b/src/duckstation-qt/qthostinterface.cpp
|
||||
index 8052278..4f338d7 100644
|
||||
--- a/src/duckstation-qt/qthostinterface.cpp
|
||||
+++ b/src/duckstation-qt/qthostinterface.cpp
|
||||
@@ -137,7 +137,7 @@ void QtHostInterface::installTranslator()
|
||||
const QString language(QString::fromStdString(GetStringSettingValue("Main", "Language", "en")));
|
||||
|
||||
// install the base qt translation first
|
||||
- const QString base_dir(QStringLiteral("%1/translations").arg(qApp->applicationDirPath()));
|
||||
+ const QString base_dir(QStringLiteral("%1/translations").arg("/storage/.config/duckstation"));
|
||||
const QString base_path(QStringLiteral("%1/qtbase_%2.qm").arg(base_dir).arg(language));
|
||||
if (QFile::exists(base_path))
|
||||
{
|
|
@ -1,389 +0,0 @@
|
|||
diff --git a/src/common/gl/program.h b/src/common/gl/program.h
|
||||
index d877a462..3fa9a7a7 100644
|
||||
--- a/src/common/gl/program.h
|
||||
+++ b/src/common/gl/program.h
|
||||
@@ -40,6 +40,7 @@ public:
|
||||
void Destroy();
|
||||
|
||||
int RegisterUniform(const char* name);
|
||||
+ GLint GetUniformLocation(int index) const { return m_uniform_locations[index]; }
|
||||
void Uniform1ui(int index, u32 x) const;
|
||||
void Uniform2ui(int index, u32 x, u32 y) const;
|
||||
void Uniform3ui(int index, u32 x, u32 y, u32 z) const;
|
||||
@@ -97,6 +98,6 @@ private:
|
||||
GLuint m_fragment_shader_id = 0;
|
||||
|
||||
std::vector<GLint> m_uniform_locations;
|
||||
-};
|
||||
+}; // namespace GL
|
||||
|
||||
} // namespace GL
|
||||
\ No newline at end of file
|
||||
diff --git a/src/core/host_display.cpp b/src/core/host_display.cpp
|
||||
index d0469fd3..790be30f 100644
|
||||
--- a/src/core/host_display.cpp
|
||||
+++ b/src/core/host_display.cpp
|
||||
@@ -103,6 +103,11 @@ bool HostDisplay::GetHostRefreshRate(float* refresh_rate)
|
||||
return WindowInfo::QueryRefreshRateForWindow(m_window_info, refresh_rate);
|
||||
}
|
||||
|
||||
+bool HostDisplay::SetDisplayRotation(Rotation rotation)
|
||||
+{
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
void HostDisplay::SetSoftwareCursor(std::unique_ptr<HostDisplayTexture> texture, float scale /*= 1.0f*/)
|
||||
{
|
||||
m_cursor_texture = std::move(texture);
|
||||
diff --git a/src/core/host_display.h b/src/core/host_display.h
|
||||
index ea01f846..b5a3563e 100644
|
||||
--- a/src/core/host_display.h
|
||||
+++ b/src/core/host_display.h
|
||||
@@ -60,6 +60,15 @@ public:
|
||||
std::vector<std::string> fullscreen_modes;
|
||||
};
|
||||
|
||||
+ enum class Rotation
|
||||
+ {
|
||||
+ None,
|
||||
+ R90Degrees,
|
||||
+ R180Degrees,
|
||||
+ R270Degrees,
|
||||
+ Count
|
||||
+ };
|
||||
+
|
||||
virtual ~HostDisplay();
|
||||
|
||||
ALWAYS_INLINE const WindowInfo& GetWindowInfo() const { return m_window_info; }
|
||||
@@ -201,6 +210,7 @@ public:
|
||||
virtual bool SetDisplayPixels(HostDisplayPixelFormat format, u32 width, u32 height, const void* buffer, u32 pitch);
|
||||
|
||||
virtual bool GetHostRefreshRate(float* refresh_rate);
|
||||
+ virtual bool SetDisplayRotation(Rotation rotation);
|
||||
|
||||
void SetDisplayLinearFiltering(bool enabled) { m_display_linear_filtering = enabled; }
|
||||
void SetDisplayTopMargin(s32 height) { m_display_top_margin = height; }
|
||||
@@ -283,6 +293,7 @@ protected:
|
||||
|
||||
s32 m_display_top_margin = 0;
|
||||
Alignment m_display_alignment = Alignment::Center;
|
||||
+ Rotation m_display_rotation = Rotation::None;
|
||||
|
||||
std::unique_ptr<HostDisplayTexture> m_cursor_texture;
|
||||
float m_cursor_texture_scale = 1.0f;
|
||||
diff --git a/src/core/settings.cpp b/src/core/settings.cpp
|
||||
index 833b6b9f..4381b848 100644
|
||||
--- a/src/core/settings.cpp
|
||||
+++ b/src/core/settings.cpp
|
||||
@@ -230,6 +230,7 @@ void Settings::Load(SettingsInterface& si)
|
||||
display_line_start_offset = static_cast<s8>(si.GetIntValue("Display", "LineStartOffset", 0));
|
||||
display_line_end_offset = static_cast<s8>(si.GetIntValue("Display", "LineEndOffset", 0));
|
||||
display_linear_filtering = si.GetBoolValue("Display", "LinearFiltering", true);
|
||||
+ display_rotate = static_cast<s8>(si.GetIntValue("Display", "Rotate", 0));
|
||||
display_integer_scaling = si.GetBoolValue("Display", "IntegerScaling", false);
|
||||
display_stretch = si.GetBoolValue("Display", "Stretch", false);
|
||||
display_post_processing = si.GetBoolValue("Display", "PostProcessing", false);
|
||||
diff --git a/src/core/settings.h b/src/core/settings.h
|
||||
index e837f8b2..199ecac7 100644
|
||||
--- a/src/core/settings.h
|
||||
+++ b/src/core/settings.h
|
||||
@@ -136,6 +136,7 @@ struct Settings
|
||||
s16 display_active_end_offset = 0;
|
||||
s8 display_line_start_offset = 0;
|
||||
s8 display_line_end_offset = 0;
|
||||
+ s8 display_rotate = 0;
|
||||
bool display_force_4_3_for_24bit = false;
|
||||
bool gpu_24bit_chroma_smoothing = false;
|
||||
bool display_linear_filtering = true;
|
||||
diff --git a/src/duckstation-nogui/nogui_host_interface.cpp b/src/duckstation-nogui/nogui_host_interface.cpp
|
||||
index 638af4ea..6cef355a 100644
|
||||
--- a/src/duckstation-nogui/nogui_host_interface.cpp
|
||||
+++ b/src/duckstation-nogui/nogui_host_interface.cpp
|
||||
@@ -136,6 +136,15 @@ bool NoGUIHostInterface::CreateDisplay(bool fullscreen)
|
||||
return false;
|
||||
}
|
||||
|
||||
+ switch(g_settings.display_rotate & 3)
|
||||
+ {
|
||||
+ case 1: m_display->SetDisplayRotation(HostDisplay::Rotation::R90Degrees);
|
||||
+ case 2: m_display->SetDisplayRotation(HostDisplay::Rotation::R180Degrees);
|
||||
+ case 3: m_display->SetDisplayRotation(HostDisplay::Rotation::R270Degrees);
|
||||
+ case 0:
|
||||
+ default: break;
|
||||
+ }
|
||||
+
|
||||
if (fullscreen)
|
||||
SetFullscreen(true);
|
||||
|
||||
diff --git a/src/frontend-common/opengl_host_display.cpp b/src/frontend-common/opengl_host_display.cpp
|
||||
index 7092b455..ff1c7939 100644
|
||||
--- a/src/frontend-common/opengl_host_display.cpp
|
||||
+++ b/src/frontend-common/opengl_host_display.cpp
|
||||
@@ -203,6 +203,77 @@ void OpenGLHostDisplay::UpdateDisplayPixelsTextureFilter()
|
||||
m_display_texture_is_linear_filtered = m_display_linear_filtering;
|
||||
}
|
||||
|
||||
+bool OpenGLHostDisplay::SetDisplayRotation(Rotation rotation)
|
||||
+{
|
||||
+ m_display_rotation = rotation;
|
||||
+ UpdateDisplayRotationFramebuffer();
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
+void OpenGLHostDisplay::UpdateDisplayRotationFramebuffer()
|
||||
+{
|
||||
+ m_window_info.surface_width = m_gl_context->GetSurfaceWidth();
|
||||
+ m_window_info.surface_height = m_gl_context->GetSurfaceHeight();
|
||||
+
|
||||
+ if (m_display_rotation_framebuffer_fbo != 0)
|
||||
+ {
|
||||
+ glDeleteFramebuffers(1, &m_display_rotation_framebuffer_fbo);
|
||||
+ m_display_rotation_framebuffer_fbo = 0;
|
||||
+ glDeleteTextures(1, &m_display_rotation_framebuffer_texture);
|
||||
+ m_display_rotation_framebuffer_texture = 0;
|
||||
+ }
|
||||
+
|
||||
+ if (m_display_rotation != Rotation::None)
|
||||
+ {
|
||||
+ if (m_display_rotation_framebuffer_texture == 0)
|
||||
+ glGenTextures(1, &m_display_rotation_framebuffer_texture);
|
||||
+ if (m_display_rotation_framebuffer_fbo == 0)
|
||||
+ glGenFramebuffers(1, &m_display_rotation_framebuffer_fbo);
|
||||
+
|
||||
+ if (m_display_rotation == Rotation::R90Degrees || m_display_rotation == Rotation::R270Degrees)
|
||||
+ std::swap(m_window_info.surface_width, m_window_info.surface_height);
|
||||
+
|
||||
+ GLint old_texture;
|
||||
+ glGetIntegerv(GL_TEXTURE_BINDING_2D, &old_texture);
|
||||
+
|
||||
+ glBindTexture(GL_TEXTURE_2D, m_display_rotation_framebuffer_texture);
|
||||
+
|
||||
+ if (GLAD_GL_ARB_texture_storage || GLAD_GL_ES_VERSION_3_1)
|
||||
+ {
|
||||
+ glTexStorage2D(GL_TEXTURE_2D, 1, GL_RGBA8, m_window_info.surface_width, m_window_info.surface_height);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, m_window_info.surface_width, m_window_info.surface_height, 0, GL_RGBA,
|
||||
+ GL_UNSIGNED_BYTE, nullptr);
|
||||
+ }
|
||||
+
|
||||
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
|
||||
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
|
||||
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 1);
|
||||
+
|
||||
+ const GLenum framebuffer_binding = m_use_gles2_draw_path ? GL_FRAMEBUFFER : GL_DRAW_FRAMEBUFFER;
|
||||
+ GLint old_framebuffer;
|
||||
+ glGetIntegerv(m_use_gles2_draw_path ? GL_FRAMEBUFFER_BINDING : GL_DRAW_FRAMEBUFFER_BINDING, &old_framebuffer);
|
||||
+
|
||||
+ glBindFramebuffer(framebuffer_binding, m_display_rotation_framebuffer_fbo);
|
||||
+ glFramebufferTexture2D(framebuffer_binding, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D,
|
||||
+ m_display_rotation_framebuffer_texture, 0);
|
||||
+ Assert(glCheckFramebufferStatus(framebuffer_binding) == GL_FRAMEBUFFER_COMPLETE);
|
||||
+
|
||||
+ glBindFramebuffer(framebuffer_binding, old_framebuffer);
|
||||
+ glBindTexture(GL_TEXTURE_2D, old_texture);
|
||||
+ }
|
||||
+
|
||||
+ if (ImGui::GetCurrentContext())
|
||||
+ {
|
||||
+ ImGui::GetIO().DisplaySize =
|
||||
+ ImVec2(static_cast<float>(m_window_info.surface_width), static_cast<float>(m_window_info.surface_height));
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
bool OpenGLHostDisplay::SupportsDisplayPixelFormat(HostDisplayPixelFormat format) const
|
||||
{
|
||||
const auto [gl_internal_format, gl_format, gl_type] = GetPixelFormatMapping(m_gl_context->IsGLES(), format);
|
||||
@@ -435,7 +506,7 @@ bool OpenGLHostDisplay::InitializeRenderDevice(std::string_view shader_cache_dir
|
||||
glDebugMessageCallback(GLDebugCallback, nullptr);
|
||||
|
||||
glEnable(GL_DEBUG_OUTPUT);
|
||||
- // glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS);
|
||||
+ glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS);
|
||||
}
|
||||
|
||||
if (!CreateResources())
|
||||
@@ -484,7 +555,17 @@ bool OpenGLHostDisplay::ChangeRenderWindow(const WindowInfo& new_wi)
|
||||
return false;
|
||||
}
|
||||
|
||||
- m_window_info = m_gl_context->GetWindowInfo();
|
||||
+ m_window_info = new_wi;
|
||||
+ m_window_info.surface_width = m_gl_context->GetSurfaceWidth();
|
||||
+ m_window_info.surface_height = m_gl_context->GetSurfaceHeight();
|
||||
+
|
||||
+ if (ImGui::GetCurrentContext())
|
||||
+ {
|
||||
+ ImGui::GetIO().DisplaySize.x = static_cast<float>(m_window_info.surface_width);
|
||||
+ ImGui::GetIO().DisplaySize.y = static_cast<float>(m_window_info.surface_height);
|
||||
+ }
|
||||
+
|
||||
+ UpdateDisplayRotationFramebuffer();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -494,7 +575,16 @@ void OpenGLHostDisplay::ResizeRenderWindow(s32 new_window_width, s32 new_window_
|
||||
return;
|
||||
|
||||
m_gl_context->ResizeSurface(static_cast<u32>(new_window_width), static_cast<u32>(new_window_height));
|
||||
- m_window_info = m_gl_context->GetWindowInfo();
|
||||
+ m_window_info.surface_width = m_gl_context->GetSurfaceWidth();
|
||||
+ m_window_info.surface_height = m_gl_context->GetSurfaceHeight();
|
||||
+
|
||||
+ if (ImGui::GetCurrentContext())
|
||||
+ {
|
||||
+ ImGui::GetIO().DisplaySize.x = static_cast<float>(m_window_info.surface_width);
|
||||
+ ImGui::GetIO().DisplaySize.y = static_cast<float>(m_window_info.surface_height);
|
||||
+ }
|
||||
+
|
||||
+ UpdateDisplayRotationFramebuffer();
|
||||
}
|
||||
|
||||
bool OpenGLHostDisplay::SupportsFullscreen() const
|
||||
@@ -560,12 +650,17 @@ bool OpenGLHostDisplay::CreateResources()
|
||||
{
|
||||
static constexpr char fullscreen_quad_vertex_shader[] = R"(
|
||||
uniform vec4 u_src_rect;
|
||||
+uniform mat2 u_rotation_matrix;
|
||||
out vec2 v_tex0;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec2 pos = vec2(float((gl_VertexID << 1) & 2), float(gl_VertexID & 2));
|
||||
- v_tex0 = u_src_rect.xy + pos * u_src_rect.zw;
|
||||
+ v_tex0 = (u_src_rect.xy + pos * u_src_rect.zw);
|
||||
+
|
||||
+ vec2 center = vec2(0.5, 0.5);
|
||||
+ v_tex0 = center + (u_rotation_matrix * (v_tex0 - center));
|
||||
+
|
||||
gl_Position = vec4(pos * vec2(2.0f, -2.0f) + vec2(-1.0f, 1.0f), 0.0f, 1.0f);
|
||||
}
|
||||
)";
|
||||
@@ -617,12 +712,14 @@ void main()
|
||||
|
||||
m_display_program.Bind();
|
||||
m_display_program.RegisterUniform("u_src_rect");
|
||||
+ m_display_program.RegisterUniform("u_rotation_matrix");
|
||||
m_display_program.RegisterUniform("samp0");
|
||||
- m_display_program.Uniform1i(1, 0);
|
||||
+ m_display_program.Uniform1i(2, 0);
|
||||
m_cursor_program.Bind();
|
||||
m_cursor_program.RegisterUniform("u_src_rect");
|
||||
+ m_cursor_program.RegisterUniform("u_rotation_matrix");
|
||||
m_cursor_program.RegisterUniform("samp0");
|
||||
- m_cursor_program.Uniform1i(1, 0);
|
||||
+ m_cursor_program.Uniform1i(2, 0);
|
||||
|
||||
glGenVertexArrays(1, &m_display_vao);
|
||||
|
||||
@@ -749,7 +846,7 @@ bool OpenGLHostDisplay::Render()
|
||||
}
|
||||
|
||||
glDisable(GL_SCISSOR_TEST);
|
||||
- glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);
|
||||
+ glBindFramebuffer(GL_DRAW_FRAMEBUFFER, m_display_rotation_framebuffer_fbo);
|
||||
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
|
||||
@@ -760,6 +857,12 @@ bool OpenGLHostDisplay::Render()
|
||||
|
||||
RenderSoftwareCursor();
|
||||
|
||||
+ if (m_display_rotation_framebuffer_fbo != 0)
|
||||
+ {
|
||||
+ glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);
|
||||
+ RenderRotatedFramebuffer();
|
||||
+ }
|
||||
+
|
||||
m_gl_context->SwapBuffers();
|
||||
return true;
|
||||
}
|
||||
@@ -833,6 +936,13 @@ void OpenGLHostDisplay::RenderDisplay()
|
||||
m_display_texture_view_width, m_display_texture_view_height, m_display_linear_filtering);
|
||||
}
|
||||
|
||||
+static const std::array<std::array<float, 4>, static_cast<u32>(HostDisplay::Rotation::Count)> s_rotation_matrices = {{
|
||||
+ {{1.0f, 0.0f, 0.0f, 1.0f}},
|
||||
+ {{0.0f, 1.0f, 1.0f, 0.0f}},
|
||||
+ {{-1.0f, 0.0f, 0.0f, 1.0f}},
|
||||
+ {{0.0f, -1.0f, -1.0f, 0.0f}},
|
||||
+}};
|
||||
+
|
||||
static void DrawFullscreenQuadES2(s32 tex_view_x, s32 tex_view_y, s32 tex_view_width, s32 tex_view_height,
|
||||
s32 tex_width, s32 tex_height)
|
||||
{
|
||||
@@ -879,6 +989,8 @@ void OpenGLHostDisplay::RenderDisplay(s32 left, s32 bottom, s32 width, s32 heigh
|
||||
(static_cast<float>(texture_view_y) + (position_adjust * flip_adjust)) / static_cast<float>(texture_height),
|
||||
(static_cast<float>(texture_view_width) - size_adjust) / static_cast<float>(texture_width),
|
||||
(static_cast<float>(texture_view_height) - (size_adjust * flip_adjust)) / static_cast<float>(texture_height));
|
||||
+ glUniformMatrix2fv(m_display_program.GetUniformLocation(1), 1, GL_TRUE,
|
||||
+ s_rotation_matrices[static_cast<u32>(HostDisplay::Rotation::None)].data());
|
||||
glBindSampler(0, linear_filter ? m_display_linear_sampler : m_display_nearest_sampler);
|
||||
glBindVertexArray(m_display_vao);
|
||||
glDrawArrays(GL_TRIANGLES, 0, 3);
|
||||
@@ -894,6 +1006,30 @@ void OpenGLHostDisplay::RenderDisplay(s32 left, s32 bottom, s32 width, s32 heigh
|
||||
}
|
||||
}
|
||||
|
||||
+void OpenGLHostDisplay::RenderRotatedFramebuffer()
|
||||
+{
|
||||
+ const u32 width = m_gl_context->GetSurfaceWidth();
|
||||
+ const u32 height = m_gl_context->GetSurfaceHeight();
|
||||
+
|
||||
+ glViewport(0, 0, width, height);
|
||||
+ glDisable(GL_BLEND);
|
||||
+ glDisable(GL_CULL_FACE);
|
||||
+ glDisable(GL_DEPTH_TEST);
|
||||
+ glDisable(GL_SCISSOR_TEST);
|
||||
+ glDepthMask(GL_FALSE);
|
||||
+
|
||||
+ glClear(GL_COLOR_BUFFER_BIT);
|
||||
+
|
||||
+ m_display_program.Bind();
|
||||
+ m_display_program.Uniform4f(0, 0.0f, 0.0f, 1.0f, 1.0f);
|
||||
+ glUniformMatrix2fv(m_display_program.GetUniformLocation(1), 1, GL_TRUE,
|
||||
+ s_rotation_matrices[static_cast<u32>(m_display_rotation)].data());
|
||||
+ glBindTexture(GL_TEXTURE_2D, m_display_rotation_framebuffer_texture);
|
||||
+
|
||||
+ glBindVertexArray(m_display_vao);
|
||||
+ glDrawArrays(GL_TRIANGLES, 0, 3);
|
||||
+}
|
||||
+
|
||||
void OpenGLHostDisplay::RenderSoftwareCursor()
|
||||
{
|
||||
if (!HasSoftwareCursor())
|
||||
diff --git a/src/frontend-common/opengl_host_display.h b/src/frontend-common/opengl_host_display.h
|
||||
index 23e8d700..585ab4b5 100644
|
||||
--- a/src/frontend-common/opengl_host_display.h
|
||||
+++ b/src/frontend-common/opengl_host_display.h
|
||||
@@ -51,6 +51,8 @@ public:
|
||||
|
||||
bool SetPostProcessingChain(const std::string_view& config) override;
|
||||
|
||||
+ bool SetDisplayRotation(Rotation rotation) override;
|
||||
+
|
||||
std::unique_ptr<HostDisplayTexture> CreateTexture(u32 width, u32 height, u32 layers, u32 levels, u32 samples,
|
||||
HostDisplayPixelFormat format, const void* data, u32 data_stride,
|
||||
bool dynamic = false) override;
|
||||
@@ -83,6 +85,8 @@ protected:
|
||||
|
||||
void BindDisplayPixelsTexture();
|
||||
void UpdateDisplayPixelsTextureFilter();
|
||||
+ void UpdateDisplayRotationFramebuffer();
|
||||
+ void RenderRotatedFramebuffer();
|
||||
|
||||
void RenderDisplay();
|
||||
void RenderImGui();
|
||||
@@ -121,6 +125,9 @@ protected:
|
||||
u32 m_display_pixels_texture_pbo_map_size = 0;
|
||||
std::vector<u8> m_gles_pixels_repack_buffer;
|
||||
|
||||
+ GLuint m_display_rotation_framebuffer_texture = 0;
|
||||
+ GLuint m_display_rotation_framebuffer_fbo = 0;
|
||||
+
|
||||
PostProcessingChain m_post_processing_chain;
|
||||
GL::Texture m_post_processing_input_texture;
|
||||
std::unique_ptr<GL::StreamBuffer> m_post_processing_ubo;
|
|
@ -1,110 +0,0 @@
|
|||
diff --git a/src/frontend-common/sdl_controller_interface.cpp b/src/frontend-common/sdl_controller_interface.cpp
|
||||
index 20e81daf..1deac2ce 100644
|
||||
--- a/src/frontend-common/sdl_controller_interface.cpp
|
||||
+++ b/src/frontend-common/sdl_controller_interface.cpp
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "core/host_interface.h"
|
||||
#include "core/system.h"
|
||||
#include "sdl_initializer.h"
|
||||
+#include "fullscreen_ui.h"
|
||||
#include <SDL.h>
|
||||
#include <cmath>
|
||||
Log_SetChannel(SDLControllerInterface);
|
||||
@@ -93,6 +94,8 @@ void SDLControllerInterface::PollEvents()
|
||||
|
||||
bool SDLControllerInterface::ProcessSDLEvent(const SDL_Event* event)
|
||||
{
|
||||
+ if (m_slots < 0) { m_host_interface->AddOSDMessage("State Slot set to #0", 5.f); m_slots = 0; }
|
||||
+
|
||||
switch (event->type)
|
||||
{
|
||||
case SDL_CONTROLLERDEVICEADDED:
|
||||
@@ -204,6 +207,7 @@ bool SDLControllerInterface::OpenGameController(int index)
|
||||
cd.joystick_id = joystick_id;
|
||||
cd.haptic_left_right_effect = -1;
|
||||
cd.game_controller = gcontroller;
|
||||
+ cd.hotkey_down = false;
|
||||
|
||||
#if SDL_VERSION_ATLEAST(2, 0, 9)
|
||||
cd.use_game_controller_rumble = (SDL_GameControllerRumble(gcontroller, 0, 0, 0) == 0);
|
||||
@@ -712,15 +716,59 @@ bool SDLControllerInterface::HandleControllerButtonEvent(const SDL_ControllerBut
|
||||
m_host_interface->SetControllerNavigationButtonState(nav_button_mapping[ev->button], pressed);
|
||||
}
|
||||
|
||||
+ if (ev->button >= MAX_NUM_BUTTONS)
|
||||
+ return false;
|
||||
+
|
||||
+ //------ Mimic Retroarch
|
||||
+ if (ev->button == SDL_CONTROLLER_BUTTON_GUIDE || ev->button == SDL_CONTROLLER_BUTTON_BACK) it->hotkey_down = pressed;
|
||||
+ else if (it->hotkey_down)
|
||||
+ {
|
||||
+ if (!pressed)
|
||||
+ switch(ev->button)
|
||||
+ {
|
||||
+ case SDL_CONTROLLER_BUTTON_A : m_host_interface->SaveScreenshot(); break;
|
||||
+ case SDL_CONTROLLER_BUTTON_B : m_host_interface->ResetSystem(); break;
|
||||
+ case SDL_CONTROLLER_BUTTON_X : if (FullscreenUI::HasActiveWindow()) FullscreenUI::CloseQuickMenu(); else FullscreenUI::OpenQuickMenu(); break;
|
||||
+ case SDL_CONTROLLER_BUTTON_Y : m_host_interface->ToggleWidescreen(); break;
|
||||
+ case SDL_CONTROLLER_BUTTON_START :
|
||||
+ case SDL_CONTROLLER_BUTTON_LEFTSTICK :
|
||||
+ case SDL_CONTROLLER_BUTTON_RIGHTSTICK : break;
|
||||
+ case SDL_CONTROLLER_BUTTON_LEFTSHOULDER : m_host_interface->LoadState(false, m_slots); break;
|
||||
+ case SDL_CONTROLLER_BUTTON_RIGHTSHOULDER: m_host_interface->SaveState(false, m_slots); break;
|
||||
+ case SDL_CONTROLLER_BUTTON_DPAD_UP : m_slots = ++m_slots % 10; m_host_interface->AddOSDMessage(std::string("State Slot set to #") + (char)(0x30 + m_slots), 5.f); break;
|
||||
+ case SDL_CONTROLLER_BUTTON_DPAD_DOWN : m_slots = (m_slots + 9) % 10; m_host_interface->AddOSDMessage(std::string("State Slot set to #") + (char)(0x30 + m_slots), 5.f); break;
|
||||
+ case SDL_CONTROLLER_BUTTON_DPAD_LEFT : m_host_interface->SetRewindState(!System::IsRewinding()); break;
|
||||
+ case SDL_CONTROLLER_BUTTON_DPAD_RIGHT : m_host_interface->SetFastForwardEnabled(!m_host_interface->IsFastForwardEnabled()); break;
|
||||
+ default: break;
|
||||
+ }
|
||||
+ else
|
||||
+ switch(ev->button)
|
||||
+ {
|
||||
+ case SDL_CONTROLLER_BUTTON_START : m_host_interface->RequestExit(); break;
|
||||
+ case SDL_CONTROLLER_BUTTON_A :
|
||||
+ case SDL_CONTROLLER_BUTTON_B :
|
||||
+ case SDL_CONTROLLER_BUTTON_X :
|
||||
+ case SDL_CONTROLLER_BUTTON_Y :
|
||||
+ case SDL_CONTROLLER_BUTTON_LEFTSTICK :
|
||||
+ case SDL_CONTROLLER_BUTTON_RIGHTSTICK :
|
||||
+ case SDL_CONTROLLER_BUTTON_LEFTSHOULDER :
|
||||
+ case SDL_CONTROLLER_BUTTON_RIGHTSHOULDER:
|
||||
+ case SDL_CONTROLLER_BUTTON_DPAD_UP :
|
||||
+ case SDL_CONTROLLER_BUTTON_DPAD_DOWN :
|
||||
+ case SDL_CONTROLLER_BUTTON_DPAD_LEFT :
|
||||
+ case SDL_CONTROLLER_BUTTON_DPAD_RIGHT :
|
||||
+ default: break;
|
||||
+ }
|
||||
+
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
if (m_host_interface->IsControllerNavigationActive())
|
||||
{
|
||||
// UI consumed the event
|
||||
return true;
|
||||
}
|
||||
|
||||
- if (ev->button >= MAX_NUM_BUTTONS)
|
||||
- return false;
|
||||
-
|
||||
const ButtonCallback& cb = it->button_mapping[ev->button];
|
||||
if (cb)
|
||||
{
|
||||
diff --git a/src/frontend-common/sdl_controller_interface.h b/src/frontend-common/sdl_controller_interface.h
|
||||
index 06963a5c..ffc2ffac 100644
|
||||
--- a/src/frontend-common/sdl_controller_interface.h
|
||||
+++ b/src/frontend-common/sdl_controller_interface.h
|
||||
@@ -57,6 +57,7 @@ private:
|
||||
int joystick_id;
|
||||
int player_id;
|
||||
bool use_game_controller_rumble;
|
||||
+ bool hotkey_down;
|
||||
|
||||
float deadzone = 0.25f;
|
||||
|
||||
@@ -93,4 +94,5 @@ private:
|
||||
Hook::Callback m_event_intercept_callback;
|
||||
|
||||
bool m_sdl_subsystem_initialized = false;
|
||||
+ int m_slots = -1;
|
||||
};
|
|
@ -1,13 +0,0 @@
|
|||
diff --git a/src/frontend-common/controller_interface.h b/src/frontend-common/controller_interface.h
|
||||
index f97d0f6..563b5f4 100644
|
||||
--- a/src/frontend-common/sdl_controller_interface.h
|
||||
+++ b/src/frontend-common/sdl_controller_interface.h
|
||||
@@ -46,7 +46,7 @@
|
||||
enum : int
|
||||
{
|
||||
MAX_NUM_AXES = 7,
|
||||
- MAX_NUM_BUTTONS = 16,
|
||||
+ MAX_NUM_BUTTONS = 256,
|
||||
};
|
||||
|
||||
struct ControllerData
|
|
@ -1,17 +0,0 @@
|
|||
diff --git a/src/duckstation-nogui/nogui_host_interface.cpp b/src/duckstation-nogui/nogui_host_interface.cpp
|
||||
index a8e4ddf2..eda7baa3 100644
|
||||
--- a/src/duckstation-nogui/nogui_host_interface.cpp
|
||||
+++ b/src/duckstation-nogui/nogui_host_interface.cpp
|
||||
@@ -105,10 +105,10 @@ bool NoGUIHostInterface::CreateDisplay(bool fullscreen)
|
||||
Assert(!m_display);
|
||||
switch (g_settings.gpu_renderer)
|
||||
{
|
||||
- case GPURenderer::HardwareVulkan:
|
||||
+/* case GPURenderer::HardwareVulkan:
|
||||
m_display = std::make_unique<FrontendCommon::VulkanHostDisplay>();
|
||||
break;
|
||||
-
|
||||
+*/
|
||||
case GPURenderer::HardwareOpenGL:
|
||||
#ifndef _WIN32
|
||||
default:
|
|
@ -1,5 +0,0 @@
|
|||
BaseDataPaths = ".;$PROGDIR;/storage/roms/ecwolf;/storage/roms/ecwolf/spear;/storage/roms/ecwolf/ark";
|
||||
FullScreenWidth = 640;
|
||||
FullScreenHeight = 480;
|
||||
WindowedScreenWidth = 640;
|
||||
WindowedScreenHeight = 480;
|
|
@ -1,56 +0,0 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2021-present Shanti Gilbert (https://github.com/shantigilbert)
|
||||
# Copyright (C) 2021-present Fewtarius
|
||||
|
||||
PKG_NAME="ecwolf"
|
||||
PKG_VERSION="e66f5564b9b382bd8a796b4b21384ac6c1356833"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://bitbucket.org/ecwolf/ecwolf"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_DEPENDS_TARGET="toolchain SDL2 SDL2_mixer SDL2_net ecwolf:host"
|
||||
PKG_LONGDESC="ECWolf is a port of the Wolfenstein 3D engine based of Wolf4SDL. It combines the original Wolfenstein 3D engine with the user experience of ZDoom to create the most user and mod author friendly Wolf3D source port."
|
||||
PKG_TOOLCHAIN="cmake-make"
|
||||
GET_HANDLER_SUPPORT="git"
|
||||
|
||||
pre_patch() {
|
||||
find $(echo "${PKG_BUILD}" | cut -f1 -d\ ) -type f -exec dos2unix -q {} \;
|
||||
}
|
||||
|
||||
pre_build_host() {
|
||||
HOST_CMAKE_OPTS=""
|
||||
}
|
||||
|
||||
make_host() {
|
||||
cmake . -DNO_GTK=ON
|
||||
make
|
||||
}
|
||||
|
||||
makeinstall_host() {
|
||||
: #no
|
||||
}
|
||||
|
||||
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"
|
||||
|
||||
cd ${PKG_BUILD}/deps/gdtoa
|
||||
$HOST_CC -o rithchk arithchk.c -Wall -Wextra
|
||||
./rithchk > ${PKG_BUILD}/deps/gdtoa/arith.h
|
||||
|
||||
$HOST_CC -o qnan qnan.c -Wall -Wextra
|
||||
./qnan > ${PKG_BUILD}/deps/gdtoa/gd_qnan.h
|
||||
cd ${PKG_BUILD}
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p ${INSTALL}/usr/bin
|
||||
cp ${PKG_BUILD}/ecwolf ${INSTALL}/usr/bin/
|
||||
cp ${PKG_DIR}/sources/start_ecwolf.sh ${INSTALL}/usr/bin/
|
||||
chmod 0755 ${INSTALL}/usr/bin/*
|
||||
|
||||
mkdir -p ${INSTALL}/usr/config/game/ecwolf
|
||||
cp ${PKG_BUILD}/ecwolf.pk3 ${INSTALL}/usr/config/game/ecwolf/
|
||||
cp ${PKG_DIR}/config/* ${INSTALL}/usr/config/game/ecwolf/
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
diff --git a/src/sdlvideo.cpp b/src/sdlvideo.cpp
|
||||
index 83e9c73..32a9ee5 100644
|
||||
--- a/src/sdlvideo.cpp
|
||||
+++ b/src/sdlvideo.cpp
|
||||
@@ -388,6 +388,7 @@ static MiniModeInfo WinModes[] =
|
||||
{ 400, 225 }, // 16:9
|
||||
{ 400, 300 },
|
||||
{ 480, 270 }, // 16:9
|
||||
+ { 480, 320 }, // 3:2
|
||||
{ 480, 360 },
|
||||
{ 512, 288 }, // 16:9
|
||||
{ 512, 384 },
|
|
@ -1,13 +0,0 @@
|
|||
diff -wrupN ecwolf.orig/src/wl_play.cpp ecwolf/src/wl_play.cpp
|
||||
--- ecwolf.orig/src/wl_play.cpp 2022-07-11 10:32:39.582296512 -0400
|
||||
+++ ecwolf/src/wl_play.cpp 2022-07-11 11:54:24.558036327 -0400
|
||||
@@ -100,7 +100,8 @@ ControlScheme controlScheme[] =
|
||||
{ bt_zoom, "Zoom", -1, -1, -1, CS_AxisDigital, 0 },
|
||||
{ bt_automap, "Automap", -1, -1, -1, CS_AxisDigital, 0 },
|
||||
{ bt_showstatusbar, "Show Status", -1, sc_Tab, -1, CS_AxisDigital, 0 },
|
||||
- { bt_pause, "Pause", -1, sc_Pause, -1, CS_AxisDigital, 0 },
|
||||
+ { bt_pause, "Pause Game", -1, sc_Enter, -1, CS_AxisDigital, 0 },
|
||||
+ { bt_esc, "Escape Game", -1, sc_Escape, -1, CS_AxisDigital, 0 },
|
||||
|
||||
// End of List
|
||||
{ bt_nobutton, NULL, -1, -1, -1, CS_AxisDigital, 0 }
|
|
@ -1,109 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2021-present Shanti Gilbert (https://github.com/shantigilbert)
|
||||
# Copyright (C) 2021-present 351ELEC (https://github.com/351ELEC/351ELEC)
|
||||
|
||||
. /etc/profile
|
||||
. /etc/os-release
|
||||
|
||||
EE_DEVICE=${HW_DEVICE}
|
||||
RUN_DIR="/storage/roms/ecwolf"
|
||||
CONFIG_DIR="/storage/.config/game/ecwolf"
|
||||
CONFIG_FILE="${CONFIG_DIR}/ecwolf.cfg"
|
||||
PK3_FILE="${CONFIG_DIR}/ecwolf.pk3"
|
||||
SAVE_DIR="/storage/roms/gamedata/ecwolf"
|
||||
LEGACY=true
|
||||
|
||||
if [ ! -L "/storage/.config/ecwolf" ]; then
|
||||
ln -sf "/storage/.config/game/ecwolf" "/storage/.config/ecwolf"
|
||||
fi
|
||||
|
||||
if [ ! -f "/storage/.config/game/ecwolf/ecwolf.cfg" ]; then
|
||||
cp -rf /usr/config/game/ecwolf/ecwolf.cfg /storage/.config/game/ecwolf/
|
||||
fi
|
||||
|
||||
mkdir -p ${SAVE_DIR}
|
||||
|
||||
params=" --config ${CONFIG_FILE} --savedir ${SAVE_DIR}"
|
||||
|
||||
# data can be SD2 SD3 SOD WL6 or N3D and it's passed as the ROM
|
||||
EXT=${1##*.}
|
||||
|
||||
# If its a mod (extension .ecwolf) read the file and parse the data
|
||||
if [ ${EXT} == "ecwolf" ]; then
|
||||
dos2unix "${1}"
|
||||
|
||||
# We don't want to break users that have .ecwolf files that predate the PATH
|
||||
# option, so we'll track that here so we can handle it by:
|
||||
# 1. Parsing PK3[_N] keys
|
||||
# 2. Ignoring MOD and PATH keys
|
||||
# 3. Running from the config dir
|
||||
if grep -q "^PATH=" "${1}"; then
|
||||
LEGACY=false
|
||||
fi
|
||||
|
||||
while IFS== read -r key value; do
|
||||
if $LEGACY; then
|
||||
if [ "$key" == "PK3" ]; then
|
||||
params+=" --file $value"
|
||||
fi
|
||||
if [ "$key" == "PK3_1" ]; then
|
||||
params+=" --file $value"
|
||||
fi
|
||||
if [ "$key" == "PK3_2" ]; then
|
||||
params+=" --file $value"
|
||||
fi
|
||||
if [ "$key" == "PK3_3" ]; then
|
||||
params+=" --file $value"
|
||||
fi
|
||||
if [ "$key" == "PK3_4" ]; then
|
||||
params+=" --file $value"
|
||||
fi
|
||||
else
|
||||
if [ "$key" == "PATH" ]; then
|
||||
# Unquote path value
|
||||
temp="${value}"
|
||||
temp="${temp%\"}"
|
||||
temp="${temp#\"}"
|
||||
RUN_DIR+="/$temp"
|
||||
fi
|
||||
if [ "$key" == "MOD" ]; then
|
||||
params+=" --file $value"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$key" == "DATA" ]; then
|
||||
params+=" --data $value"
|
||||
fi
|
||||
done <"${1}"
|
||||
else
|
||||
params+=" --data ${EXT}"
|
||||
fi
|
||||
|
||||
if $LEGACY; then
|
||||
cd "${CONFIG_DIR}"
|
||||
else
|
||||
|
||||
# There doesn't appear to be a way to tell the engine with command line
|
||||
# arguments where the ecwolf.pk3 is located -- it just looks in the current
|
||||
# working directory. To work around this, we'll bind the ecwolf.pk3 file that
|
||||
# ships with the distribution into the provided game path, if one isn't
|
||||
# already present.
|
||||
DST_PK3_FILE="${RUN_DIR}/ecwolf.pk3"
|
||||
|
||||
if [ ! -e "$DST_PK3_FILE" ]; then
|
||||
do_cleanup() {
|
||||
umount "$DST_PK3_FILE" &>/dev/null
|
||||
rm "${DST_PK3_FILE}"
|
||||
}
|
||||
|
||||
touch "$DST_PK3_FILE"
|
||||
mount -o ro,bind "$PK3_FILE" "$DST_PK3_FILE" >/dev/null 2>&1
|
||||
trap do_cleanup EXIT
|
||||
fi
|
||||
|
||||
cd "${RUN_DIR}"
|
||||
fi
|
||||
|
||||
echo ${params} | xargs /usr/bin/ecwolf >/var/log/ecwolf.log 2>&1
|
|
@ -4,7 +4,7 @@
|
|||
# Copyright (C) 2022-present Fewtarius
|
||||
|
||||
PKG_NAME="flycastsa"
|
||||
PKG_VERSION="b232a10167b3ead55b8755059a0edec53a60463d"
|
||||
PKG_VERSION="611946559c12a569af507019694cb369b3587af6"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://github.com/flyinghead/flycast"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
|
|
|
@ -1,59 +0,0 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2021-present 351ELEC (https://github.com/351ELEC)
|
||||
# Copyright (C) 2022 Fewtarius
|
||||
|
||||
PKG_NAME="gzdoom"
|
||||
PKG_VERSION="8eb9c095f31c201533a16ccbae33892c11721373"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/JustEnoughLinuxOS/gzdoom"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_DEPENDS_HOST="toolchain zmusic:host"
|
||||
PKG_DEPENDS_TARGET="toolchain SDL2 gzdoom:host zmusic"
|
||||
PKG_SHORTDESC="GZDoom is a modder-friendly OpenGL and Vulkan source port based on the DOOM engine"
|
||||
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 \
|
||||
-DHAVE_GLES2=ON \
|
||||
-DHAVE_VULKAN=OFF \
|
||||
-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_DIR}/sources/start_gzdoom.sh ${INSTALL}/usr/bin/
|
||||
cp ${PKG_BUILD}/.${TARGET_NAME}/gzdoom ${INSTALL}/usr/bin
|
||||
chmod 0755 ${INSTALL}/usr/bin/*
|
||||
|
||||
mkdir -p ${INSTALL}/usr/config/game/gzdoom
|
||||
if [ -d "${PKG_DIR}/config/${DEVICE}" ]
|
||||
then
|
||||
cp ${PKG_DIR}/config/${DEVICE}/* ${INSTALL}/usr/config/game/gzdoom
|
||||
fi
|
||||
cp ${PKG_BUILD}/.${TARGET_NAME}/*.pk3 ${INSTALL}/usr/config/game/gzdoom
|
||||
cp -r ${PKG_BUILD}/.${TARGET_NAME}/soundfonts ${INSTALL}/usr/config/game/gzdoom
|
||||
cp -r ${PKG_BUILD}/.${TARGET_NAME}/fm_banks ${INSTALL}/usr/config/game/gzdoom
|
||||
}
|
|
@ -1,46 +0,0 @@
|
|||
#!/usr/bin/bash
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2021-present 351ELEC (https://github.com/351ELEC)
|
||||
|
||||
. /etc/profile
|
||||
. /etc/os-release
|
||||
|
||||
EE_DEVICE=${HW_DEVICE}
|
||||
RUN_DIR="/storage/roms/doom"
|
||||
CONFIG="/storage/.config/game/gzdoom/gzdoom.ini"
|
||||
SAVE_DIR="/storage/roms/gamedata/gzdoom"
|
||||
|
||||
if [ ! -L "/storage/.config/gzdoom" ]; then
|
||||
ln -sf "/storage/.config/game/gzdoom" "/storage/.config/gzdoom"
|
||||
fi
|
||||
|
||||
if [ ! -f "/storage/.config/game/gzdoom/gzdoom.ini" ]; then
|
||||
cp -rf /usr/config/game/gzdoom/gzdoom.ini /storage/.config/game/gzdoom/
|
||||
fi
|
||||
|
||||
mkdir -p ${SAVE_DIR}
|
||||
|
||||
params=" -config ${CONFIG} -savedir ${SAVE_DIR}"
|
||||
params+=" +gl_es 1 +vid_preferbackend 3 +cl_capfps 0 +vid_fps 1"
|
||||
|
||||
# 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
|
|
@ -1,40 +0,0 @@
|
|||
# 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"
|
||||
PKG_LONGDESC="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/
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
# Copyright (C) 2018-present 5schatten (https://github.com/5schatten)
|
||||
|
||||
PKG_NAME="hatarisa"
|
||||
PKG_VERSION="213187b2d0f753139a09e621fc4f70bd2530599b"
|
||||
PKG_VERSION="388b1f32c885fcb497a914b351fa58354e86bf6a"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/hatari/hatari"
|
||||
PKG_URL="https://github.com/hatari/hatari/archive/${PKG_VERSION}.tar.gz"
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,51 +0,0 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="lzdoom"
|
||||
PKG_VERSION="2ee3ea91bc9c052b3143f44c96d85df22851426f"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/351ELEC/lzdoom"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_DEPENDS_TARGET="toolchain SDL2 lzdoom:host"
|
||||
PKG_SHORTDESC="LZDoom"
|
||||
PKG_LONGDESC="ZDoom is a family of enhanced ports of the Doom engine for running on modern operating systems. It runs on Windows, Linux, and OS X, and adds new features not found in the games as originally published by id Software."
|
||||
GET_HANDLER_SUPPORT="git"
|
||||
PKG_TOOLCHAIN="cmake-make"
|
||||
|
||||
PKG_PATCH_DIRS+="${DEVICE}"
|
||||
|
||||
pre_build_host() {
|
||||
HOST_CMAKE_OPTS=""
|
||||
}
|
||||
|
||||
make_host() {
|
||||
cmake . -DNO_GTK=ON
|
||||
make
|
||||
}
|
||||
|
||||
makeinstall_host() {
|
||||
: #no
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p ${INSTALL}/usr/bin
|
||||
cp ${PKG_DIR}/sources/start_lzdoom.sh ${INSTALL}/usr/bin/
|
||||
cp ${PKG_BUILD}/.$TARGET_NAME/lzdoom ${INSTALL}/usr/bin
|
||||
chmod 0755 ${INSTALL}/usr/bin/*
|
||||
|
||||
mkdir -p ${INSTALL}/usr/config/game/lzdoom
|
||||
if [ -d "${PKG_DIR}/config/${DEVICE}" ]
|
||||
then
|
||||
cp ${PKG_DIR}/config/${DEVICE}/* ${INSTALL}/usr/config/game/lzdoom
|
||||
fi
|
||||
cp ${PKG_BUILD}/.$TARGET_NAME/*.pk3 ${INSTALL}/usr/config/game/lzdoom
|
||||
cp -r ${PKG_BUILD}/.$TARGET_NAME/soundfonts ${INSTALL}/usr/config/game/lzdoom
|
||||
cp -r ${PKG_BUILD}/.$TARGET_NAME/fm_banks ${INSTALL}/usr/config/game/lzdoom
|
||||
}
|
|
@ -1,46 +0,0 @@
|
|||
#!/usr/bin/bash
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2021-present 351ELEC (https://github.com/351ELEC/351ELEC)
|
||||
|
||||
. /etc/profile
|
||||
. /etc/os-release
|
||||
|
||||
EE_DEVICE=${HW_DEVICE}
|
||||
RUN_DIR="/storage/roms/doom"
|
||||
CONFIG="/storage/.config/game/lzdoom/lzdoom.ini"
|
||||
SAVE_DIR="/storage/roms/gamedata/lzdoom"
|
||||
|
||||
if [ ! -L "/storage/.config/lzdoom" ]; then
|
||||
ln -sf "/storage/.config/game/lzdoom" "/storage/.config/lzdoom"
|
||||
fi
|
||||
|
||||
if [ ! -f "/storage/.config/game/lzdoom/lzdoom.ini" ]; then
|
||||
cp -rf /usr/config/game/lzdoom/lzdoom.ini /storage/.config/game/lzdoom/
|
||||
fi
|
||||
|
||||
mkdir -p ${SAVE_DIR}
|
||||
|
||||
params=" -config ${CONFIG} -savedir ${SAVE_DIR}"
|
||||
params+=" -width 1152 -height 1920 +vid_fps 1 +cl_capfps 0 +vid_renderer 0 +vid_glswfb 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/lzdoom >/var/log/lzdoom.log 2>&1
|
|
@ -2,7 +2,7 @@
|
|||
# Copyright (C) 2022-present Fewtarius
|
||||
|
||||
PKG_NAME="pico-8"
|
||||
PKG_VERSION="2189f9abbe9f5090f97aa4cf95f6171f0f44eef0"
|
||||
PKG_VERSION="4c282e6eb947eab2e3ab54f3fe47d1aa9f539c0c"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE=""
|
||||
|
|
|
@ -1,658 +0,0 @@
|
|||
[Joy:JS:0]
|
||||
Axis0deadzone=0.300001
|
||||
Axis1deadzone=0.300001
|
||||
Axis2deadzone=0.300001
|
||||
Axis2scale=0.7
|
||||
Axis2map=0
|
||||
Axis3deadzone=0.300001
|
||||
Axis3scale=0.6
|
||||
Axis3map=1
|
||||
|
||||
[Duke.UnknownConsoleVariables]
|
||||
|
||||
[Duke.ConsoleVariables]
|
||||
|
||||
[Duke.LocalServerInfo]
|
||||
|
||||
[Duke.Player]
|
||||
|
||||
[Duke.ConsoleAliases]
|
||||
|
||||
[Duke.VideoSettings]
|
||||
|
||||
[Duke.AutoExec]
|
||||
|
||||
[Duke.Bindings]
|
||||
Joy1=+jump
|
||||
Joy2=+open
|
||||
Joy3=+crouch
|
||||
Joy4=toggle cl_autorun
|
||||
Joy5=+alt_fire
|
||||
Joy6=+fire
|
||||
Joy7=quickload
|
||||
Joy8=quicksave
|
||||
Joy9=menu_main
|
||||
Joy10=pause
|
||||
Joy12=togglemap
|
||||
Joy13=centerview
|
||||
Joy14=invprev
|
||||
Joy15=invnext
|
||||
Joy16=weapprev
|
||||
Joy17=weapnext
|
||||
Axis1Plus=+strafe_right
|
||||
Axis1Minus=+strafe_left
|
||||
Axis2Plus=+move_backward
|
||||
Axis2Minus=+move_forward
|
||||
Axis3Plus=+turn_right
|
||||
Axis3Minus=+turn_left
|
||||
Axis4Plus=+look_down
|
||||
Axis4Minus=+look_up
|
||||
|
||||
[Duke.DoubleBindings]
|
||||
|
||||
[Duke.AutomapBindings]
|
||||
Joy9=+shrink_screen
|
||||
Joy10=+enlarge_Screen
|
||||
Joy13=togglefollow
|
||||
Axis2Minus=+am_panup
|
||||
Axis2Plus=+am_pandown
|
||||
Axis1Minus=+am_panleft
|
||||
Axis1Plus=+am_panright
|
||||
|
||||
[Nam.Bindings]
|
||||
Joy1=+jump
|
||||
Joy2=+open
|
||||
Joy3=+crouch
|
||||
Joy4=toggle cl_autorun
|
||||
Joy5=+alt_fire
|
||||
Joy6=+fire
|
||||
Joy7=quickload
|
||||
Joy8=quicksave
|
||||
Joy9=menu_main
|
||||
Joy10=pause
|
||||
Joy12=togglemap
|
||||
Joy13=centerview
|
||||
Joy14=invprev
|
||||
Joy15=invnext
|
||||
Joy16=weapprev
|
||||
Joy17=weapnext
|
||||
Axis1Plus=+strafe_right
|
||||
Axis1Minus=+strafe_left
|
||||
Axis2Plus=+move_backward
|
||||
Axis2Minus=+move_forward
|
||||
Axis3Plus=+turn_right
|
||||
Axis3Minus=+turn_left
|
||||
Axis4Plus=+look_down
|
||||
Axis4Minus=+look_up
|
||||
|
||||
[Nam.DoubleBindings]
|
||||
|
||||
[Nam.AutomapBindings]
|
||||
Joy9=+shrink_screen
|
||||
Joy10=+enlarge_Screen
|
||||
Joy13=togglefollow
|
||||
Axis2Minus=+am_panup
|
||||
Axis2Plus=+am_pandown
|
||||
Axis1Minus=+am_panleft
|
||||
Axis1Plus=+am_panright
|
||||
|
||||
[NamOnly.UnknownConsoleVariables]
|
||||
|
||||
[NamOnly.ConsoleVariables]
|
||||
|
||||
[NamOnly.LocalServerInfo]
|
||||
|
||||
[NamOnly.Player]
|
||||
|
||||
[NamOnly.ConsoleAliases]
|
||||
|
||||
[NamOnly.VideoSettings]
|
||||
|
||||
[NamOnly.AutoExec]
|
||||
|
||||
[NamOnly.Bindings]
|
||||
Joy1=+jump
|
||||
Joy2=+open
|
||||
Joy3=+crouch
|
||||
Joy4=toggle cl_autorun
|
||||
Joy5=+alt_fire
|
||||
Joy6=+fire
|
||||
Joy7=quickload
|
||||
Joy8=quicksave
|
||||
Joy9=menu_main
|
||||
Joy10=pause
|
||||
Joy12=togglemap
|
||||
Joy13=centerview
|
||||
Joy14=invprev
|
||||
Joy15=invnext
|
||||
Joy16=weapprev
|
||||
Joy17=weapnext
|
||||
Axis1Plus=+strafe_right
|
||||
Axis1Minus=+strafe_left
|
||||
Axis2Plus=+move_backward
|
||||
Axis2Minus=+move_forward
|
||||
Axis3Plus=+turn_right
|
||||
Axis3Minus=+turn_left
|
||||
Axis4Plus=+look_down
|
||||
Axis4Minus=+look_up
|
||||
|
||||
[NamOnly.DoubleBindings]
|
||||
|
||||
[NamOnly.AutomapBindings]
|
||||
Joy9=+shrink_screen
|
||||
Joy10=+enlarge_Screen
|
||||
Joy13=togglefollow
|
||||
Axis2Minus=+am_panup
|
||||
Axis2Plus=+am_pandown
|
||||
Axis1Minus=+am_panleft
|
||||
Axis1Plus=+am_panright
|
||||
|
||||
[Napalm.UnknownConsoleVariables]
|
||||
|
||||
[Napalm.ConsoleVariables]
|
||||
|
||||
[Napalm.LocalServerInfo]
|
||||
|
||||
[Napalm.Player]
|
||||
|
||||
[Napalm.ConsoleAliases]
|
||||
|
||||
[Napalm.VideoSettings]
|
||||
|
||||
[Napalm.AutoExec]
|
||||
|
||||
[Napalm.Bindings]
|
||||
Joy1=+jump
|
||||
Joy2=+open
|
||||
Joy3=+crouch
|
||||
Joy4=toggle cl_autorun
|
||||
Joy5=+alt_fire
|
||||
Joy6=+fire
|
||||
Joy7=quickload
|
||||
Joy8=quicksave
|
||||
Joy9=menu_main
|
||||
Joy10=pause
|
||||
Joy12=togglemap
|
||||
Joy13=centerview
|
||||
Joy14=invprev
|
||||
Joy15=invnext
|
||||
Joy16=weapprev
|
||||
Joy17=weapnext
|
||||
Axis1Plus=+strafe_right
|
||||
Axis1Minus=+strafe_left
|
||||
Axis2Plus=+move_backward
|
||||
Axis2Minus=+move_forward
|
||||
Axis3Plus=+turn_right
|
||||
Axis3Minus=+turn_left
|
||||
Axis4Plus=+look_down
|
||||
Axis4Minus=+look_up
|
||||
|
||||
[Napalm.DoubleBindings]
|
||||
|
||||
[Napalm.AutomapBindings]
|
||||
Joy9=+shrink_screen
|
||||
Joy10=+enlarge_Screen
|
||||
Joy13=togglefollow
|
||||
Axis2Minus=+am_panup
|
||||
Axis2Plus=+am_pandown
|
||||
Axis1Minus=+am_panleft
|
||||
Axis1Plus=+am_panright
|
||||
|
||||
[WW2GI.UnknownConsoleVariables]
|
||||
|
||||
[WW2GI.ConsoleVariables]
|
||||
|
||||
[WW2GI.LocalServerInfo]
|
||||
|
||||
[WW2GI.Player]
|
||||
|
||||
[WW2GI.ConsoleAliases]
|
||||
|
||||
[WW2GI.VideoSettings]
|
||||
|
||||
[WW2GI.AutoExec]
|
||||
|
||||
[WW2GI.Bindings]
|
||||
Joy1=+jump
|
||||
Joy2=+open
|
||||
Joy3=+crouch
|
||||
Joy4=toggle cl_autorun
|
||||
Joy5=+alt_fire
|
||||
Joy6=+fire
|
||||
Joy7=quickload
|
||||
Joy8=quicksave
|
||||
Joy9=menu_main
|
||||
Joy10=pause
|
||||
Joy12=togglemap
|
||||
Joy13=centerview
|
||||
Joy14=invprev
|
||||
Joy15=invnext
|
||||
Joy16=weapprev
|
||||
Joy17=weapnext
|
||||
Axis1Plus=+strafe_right
|
||||
Axis1Minus=+strafe_left
|
||||
Axis2Plus=+move_backward
|
||||
Axis2Minus=+move_forward
|
||||
Axis3Plus=+turn_right
|
||||
Axis3Minus=+turn_left
|
||||
Axis4Plus=+look_down
|
||||
Axis4Minus=+look_up
|
||||
|
||||
[WW2GI.DoubleBindings]
|
||||
|
||||
[WW2GI.AutomapBindings]
|
||||
Joy9=+shrink_screen
|
||||
Joy10=+enlarge_Screen
|
||||
Joy13=togglefollow
|
||||
Axis2Minus=+am_panup
|
||||
Axis2Plus=+am_pandown
|
||||
Axis1Minus=+am_panleft
|
||||
Axis1Plus=+am_panright
|
||||
|
||||
[Redneck.UnknownConsoleVariables]
|
||||
|
||||
[Redneck.ConsoleVariables]
|
||||
|
||||
[Redneck.LocalServerInfo]
|
||||
|
||||
[Redneck.Player]
|
||||
|
||||
[Redneck.ConsoleAliases]
|
||||
|
||||
[Redneck.VideoSettings]
|
||||
|
||||
[Redneck.AutoExec]
|
||||
|
||||
[Redneck.Bindings]
|
||||
Joy1=+jump
|
||||
Joy2=+open
|
||||
Joy3=+crouch
|
||||
Joy4=toggle cl_autorun
|
||||
Joy5=+alt_fire
|
||||
Joy6=+fire
|
||||
Joy7=quickload
|
||||
Joy8=quicksave
|
||||
Joy9=menu_main
|
||||
Joy10=pause
|
||||
Joy12=togglemap
|
||||
Joy13=centerview
|
||||
Joy14=invprev
|
||||
Joy15=invnext
|
||||
Joy16=weapprev
|
||||
Joy17=weapnext
|
||||
Axis1Plus=+strafe_right
|
||||
Axis1Minus=+strafe_left
|
||||
Axis2Plus=+move_backward
|
||||
Axis2Minus=+move_forward
|
||||
Axis3Plus=+turn_right
|
||||
Axis3Minus=+turn_left
|
||||
Axis4Plus=+look_down
|
||||
Axis4Minus=+look_up
|
||||
|
||||
[Redneck.DoubleBindings]
|
||||
|
||||
[Redneck.AutomapBindings]
|
||||
Joy9=+shrink_screen
|
||||
Joy10=+enlarge_Screen
|
||||
Joy13=togglefollow
|
||||
Axis2Minus=+am_panup
|
||||
Axis2Plus=+am_pandown
|
||||
Axis1Minus=+am_panleft
|
||||
Axis1Plus=+am_panright
|
||||
|
||||
[RedneckRides.UnknownConsoleVariables]
|
||||
|
||||
[RedneckRides.ConsoleVariables]
|
||||
|
||||
[RedneckRides.LocalServerInfo]
|
||||
|
||||
[RedneckRides.Player]
|
||||
|
||||
[RedneckRides.ConsoleAliases]
|
||||
|
||||
[RedneckRides.VideoSettings]
|
||||
|
||||
[RedneckRides.AutoExec]
|
||||
|
||||
[RedneckRides.Bindings]
|
||||
Joy1=+jump
|
||||
Joy2=+open
|
||||
Joy3=+crouch
|
||||
Joy4=toggle cl_autorun
|
||||
Joy5=+alt_fire
|
||||
Joy6=+fire
|
||||
Joy7=quickload
|
||||
Joy8=quicksave
|
||||
Joy9=menu_main
|
||||
Joy10=pause
|
||||
Joy12=togglemap
|
||||
Joy13=centerview
|
||||
Joy14=invprev
|
||||
Joy15=invnext
|
||||
Joy16=weapprev
|
||||
Joy17=weapnext
|
||||
Axis1Plus=+strafe_right
|
||||
Axis1Minus=+strafe_left
|
||||
Axis2Plus=+move_backward
|
||||
Axis2Minus=+move_forward
|
||||
Axis3Plus=+turn_right
|
||||
Axis3Minus=+turn_left
|
||||
Axis4Plus=+look_down
|
||||
Axis4Minus=+look_up
|
||||
|
||||
[RedneckRides.DoubleBindings]
|
||||
|
||||
[RedneckRides.AutomapBindings]
|
||||
Joy9=+shrink_screen
|
||||
Joy10=+enlarge_Screen
|
||||
Joy13=togglefollow
|
||||
Axis2Minus=+am_panup
|
||||
Axis2Plus=+am_pandown
|
||||
Axis1Minus=+am_panleft
|
||||
Axis1Plus=+am_panright
|
||||
|
||||
[Blood.UnknownConsoleVariables]
|
||||
|
||||
[Blood.ConsoleVariables]
|
||||
|
||||
[Blood.LocalServerInfo]
|
||||
|
||||
[Blood.Player]
|
||||
|
||||
[Blood.ConsoleAliases]
|
||||
|
||||
[Blood.VideoSettings]
|
||||
|
||||
[Blood.AutoExec]
|
||||
|
||||
[Blood.Bindings]
|
||||
Joy1=+jump
|
||||
Joy2=+open
|
||||
Joy3=+crouch
|
||||
Joy4=toggle cl_autorun
|
||||
Joy5=+alt_fire
|
||||
Joy6=+fire
|
||||
Joy7=weapprev
|
||||
Joy8=weapnext
|
||||
Joy9=menu_main
|
||||
Joy10=pause
|
||||
Joy12=togglemap
|
||||
Joy13=centerview
|
||||
Joy14=third_person_view
|
||||
Joy15=invuse
|
||||
Joy16=invprev
|
||||
Joy17=invnext
|
||||
Axis1Plus=+strafe_right
|
||||
Axis1Minus=+strafe_left
|
||||
Axis2Plus=+move_backward
|
||||
Axis2Minus=+move_forward
|
||||
Axis3Plus=+turn_right
|
||||
Axis3Minus=+turn_left
|
||||
Axis4Plus=+look_down
|
||||
Axis4Minus=+look_up
|
||||
|
||||
[Blood.DoubleBindings]
|
||||
|
||||
[Blood.AutomapBindings]
|
||||
Joy9=+shrink_screen
|
||||
Joy10=+enlarge_Screen
|
||||
Joy13=togglefollow
|
||||
Axis2Minus=+am_panup
|
||||
Axis2Plus=+am_pandown
|
||||
Axis1Minus=+am_panleft
|
||||
Axis1Plus=+am_panright
|
||||
|
||||
[ShadowWarrior.UnknownConsoleVariables]
|
||||
|
||||
[ShadowWarrior.ConsoleVariables]
|
||||
|
||||
[ShadowWarrior.LocalServerInfo]
|
||||
|
||||
[ShadowWarrior.Player]
|
||||
|
||||
[ShadowWarrior.ConsoleAliases]
|
||||
|
||||
[ShadowWarrior.VideoSettings]
|
||||
|
||||
[ShadowWarrior.AutoExec]
|
||||
|
||||
[ShadowWarrior.Bindings]
|
||||
Joy1=+jump
|
||||
Joy2=+open
|
||||
Joy3=+crouch
|
||||
Joy4=toggle cl_autorun
|
||||
Joy5=+alt_fire
|
||||
Joy6=+fire
|
||||
Joy7=quickload
|
||||
Joy8=quicksave
|
||||
Joy9=menu_main
|
||||
Joy10=pause
|
||||
Joy12=togglemap
|
||||
Joy13=centerview
|
||||
Joy14=invprev
|
||||
Joy15=invnext
|
||||
Joy16=weapprev
|
||||
Joy17=weapnext
|
||||
Axis1Plus=+strafe_right
|
||||
Axis1Minus=+strafe_left
|
||||
Axis2Plus=+move_backward
|
||||
Axis2Minus=+move_forward
|
||||
Axis3Plus=+turn_right
|
||||
Axis3Minus=+turn_left
|
||||
Axis4Plus=+look_down
|
||||
Axis4Minus=+look_up
|
||||
|
||||
[ShadowWarrior.DoubleBindings]
|
||||
|
||||
[ShadowWarrior.AutomapBindings]
|
||||
Joy9=+shrink_screen
|
||||
Joy10=+enlarge_Screen
|
||||
Joy13=togglefollow
|
||||
Axis2Minus=+am_panup
|
||||
Axis2Plus=+am_pandown
|
||||
Axis1Minus=+am_panleft
|
||||
Axis1Plus=+am_panright
|
||||
|
||||
[Exhumed.UnknownConsoleVariables]
|
||||
|
||||
[Exhumed.ConsoleVariables]
|
||||
|
||||
[Exhumed.LocalServerInfo]
|
||||
|
||||
[Exhumed.Player]
|
||||
|
||||
[Exhumed.ConsoleAliases]
|
||||
|
||||
[Exhumed.VideoSettings]
|
||||
|
||||
[Exhumed.AutoExec]
|
||||
|
||||
[Exhumed.Bindings]
|
||||
Joy1=+jump
|
||||
Joy2=+open
|
||||
Joy3=+crouch
|
||||
Joy4=toggle cl_autorun
|
||||
Joy5=+alt_fire
|
||||
Joy6=+fire
|
||||
Joy7=quickload
|
||||
Joy8=quicksave
|
||||
Joy9=menu_main
|
||||
Joy10=pause
|
||||
Joy12=togglemap
|
||||
Joy13=centerview
|
||||
Joy14=invprev
|
||||
Joy15=invnext
|
||||
Joy16=weapprev
|
||||
Joy17=weapnext
|
||||
Axis1Plus=+strafe_right
|
||||
Axis1Minus=+strafe_left
|
||||
Axis2Plus=+move_backward
|
||||
Axis2Minus=+move_forward
|
||||
Axis3Plus=+turn_right
|
||||
Axis3Minus=+turn_left
|
||||
Axis4Plus=+look_down
|
||||
Axis4Minus=+look_up
|
||||
|
||||
[Exhumed.DoubleBindings]
|
||||
|
||||
[Exhumed.AutomapBindings]
|
||||
Joy9=+shrink_screen
|
||||
Joy10=+enlarge_Screen
|
||||
Joy13=togglefollow
|
||||
Axis2Minus=+am_panup
|
||||
Axis2Plus=+am_pandown
|
||||
Axis1Minus=+am_panleft
|
||||
Axis1Plus=+am_panright
|
||||
|
||||
[Plutopak.UnknownConsoleVariables]
|
||||
|
||||
[Plutopak.ConsoleVariables]
|
||||
|
||||
[Plutopak.LocalServerInfo]
|
||||
|
||||
[Plutopak.Player]
|
||||
|
||||
[Plutopak.ConsoleAliases]
|
||||
|
||||
[Plutopak.VideoSettings]
|
||||
|
||||
[Plutopak.AutoExec]
|
||||
|
||||
[Plutopak.Bindings]
|
||||
Joy1=+jump
|
||||
Joy2=+open
|
||||
Joy3=+crouch
|
||||
Joy4=toggle cl_autorun
|
||||
Joy5=+alt_fire
|
||||
Joy6=+fire
|
||||
Joy7=quickload
|
||||
Joy8=quicksave
|
||||
Joy9=menu_main
|
||||
Joy10=pause
|
||||
Joy12=togglemap
|
||||
Joy13=centerview
|
||||
Joy14=invprev
|
||||
Joy15=invnext
|
||||
Joy16=weapprev
|
||||
Joy17=weapnext
|
||||
Axis1Plus=+strafe_right
|
||||
Axis1Minus=+strafe_left
|
||||
Axis2Plus=+move_backward
|
||||
Axis2Minus=+move_forward
|
||||
Axis3Plus=+turn_right
|
||||
Axis3Minus=+turn_left
|
||||
Axis4Plus=+look_down
|
||||
Axis4Minus=+look_up
|
||||
|
||||
[Plutopak.DoubleBindings]
|
||||
|
||||
[Plutopak.AutomapBindings]
|
||||
Joy9=+shrink_screen
|
||||
Joy10=+enlarge_Screen
|
||||
Joy13=togglefollow
|
||||
Axis2Minus=+am_panup
|
||||
Axis2Plus=+am_pandown
|
||||
Axis1Minus=+am_panleft
|
||||
Axis1Plus=+am_panright
|
||||
|
||||
[Worldtour.UnknownConsoleVariables]
|
||||
|
||||
[Worldtour.ConsoleVariables]
|
||||
|
||||
[Worldtour.LocalServerInfo]
|
||||
|
||||
[Worldtour.Player]
|
||||
|
||||
[Worldtour.ConsoleAliases]
|
||||
|
||||
[Worldtour.VideoSettings]
|
||||
|
||||
[Worldtour.AutoExec]
|
||||
|
||||
[Worldtour.Bindings]
|
||||
Joy1=+jump
|
||||
Joy2=+open
|
||||
Joy3=+crouch
|
||||
Joy4=toggle cl_autorun
|
||||
Joy5=+alt_fire
|
||||
Joy6=+fire
|
||||
Joy7=quickload
|
||||
Joy8=quicksave
|
||||
Joy9=menu_main
|
||||
Joy10=pause
|
||||
Joy12=togglemap
|
||||
Joy13=centerview
|
||||
Joy14=invprev
|
||||
Joy15=invnext
|
||||
Joy16=weapprev
|
||||
Joy17=weapnext
|
||||
Axis1Plus=+strafe_right
|
||||
Axis1Minus=+strafe_left
|
||||
Axis2Plus=+move_backward
|
||||
Axis2Minus=+move_forward
|
||||
Axis3Plus=+turn_right
|
||||
Axis3Minus=+turn_left
|
||||
Axis4Plus=+look_down
|
||||
Axis4Minus=+look_up
|
||||
|
||||
[Worldtour.DoubleBindings]
|
||||
|
||||
[Worldtour.AutomapBindings]
|
||||
Joy9=+shrink_screen
|
||||
Joy10=+enlarge_Screen
|
||||
Joy13=togglefollow
|
||||
Axis2Minus=+am_panup
|
||||
Axis2Plus=+am_pandown
|
||||
Axis1Minus=+am_panleft
|
||||
Axis1Plus=+am_panright
|
||||
|
||||
[Shareware.UnknownConsoleVariables]
|
||||
|
||||
[Shareware.ConsoleVariables]
|
||||
|
||||
[Shareware.LocalServerInfo]
|
||||
|
||||
[Shareware.Player]
|
||||
|
||||
[Shareware.ConsoleAliases]
|
||||
|
||||
[Shareware.VideoSettings]
|
||||
|
||||
[Shareware.AutoExec]
|
||||
|
||||
[Shareware.Bindings]
|
||||
Joy1=+jump
|
||||
Joy2=+open
|
||||
Joy3=+crouch
|
||||
Joy4=toggle cl_autorun
|
||||
Joy5=+alt_fire
|
||||
Joy6=+fire
|
||||
Joy7=quickload
|
||||
Joy8=quicksave
|
||||
Joy9=menu_main
|
||||
Joy10=pause
|
||||
Joy12=togglemap
|
||||
Joy13=centerview
|
||||
Joy14=invprev
|
||||
Joy15=invnext
|
||||
Joy16=weapprev
|
||||
Joy17=weapnext
|
||||
Axis1Plus=+strafe_right
|
||||
Axis1Minus=+strafe_left
|
||||
Axis2Plus=+move_backward
|
||||
Axis2Minus=+move_forward
|
||||
Axis3Plus=+turn_right
|
||||
Axis3Minus=+turn_left
|
||||
Axis4Plus=+look_down
|
||||
Axis4Minus=+look_up
|
||||
|
||||
[Shareware.DoubleBindings]
|
||||
|
||||
[Shareware.AutomapBindings]
|
||||
Joy9=+shrink_screen
|
||||
Joy10=+enlarge_Screen
|
||||
Joy13=togglefollow
|
||||
Axis2Minus=+am_panup
|
||||
Axis2Plus=+am_pandown
|
||||
Axis1Minus=+am_panleft
|
||||
Axis1Plus=+am_panright
|
|
@ -1,66 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
# Copyright (C) 2022-present travis134
|
||||
|
||||
. /etc/profile
|
||||
|
||||
BUILDENGINEPATH="/storage/roms/build"
|
||||
|
||||
# From https://zdoom.org/wiki/Raze#Supported_games
|
||||
SUPPORTED_GRP=(
|
||||
"BLOOD.RFF"
|
||||
"DUKE3D.GRP"
|
||||
"DUKEDC.GRP"
|
||||
"VACATION.GRP"
|
||||
"NWINTER.GRP"
|
||||
"STUFF.DAT"
|
||||
"NAM.GRP"
|
||||
"REDNECK.GRP"
|
||||
"SW.GRP"
|
||||
"TD.GRP"
|
||||
"TWINDRAG.GRP"
|
||||
"WT.GRP"
|
||||
"WW2GI.GRP"
|
||||
"PLATOONL.DAT"
|
||||
)
|
||||
|
||||
clear
|
||||
echo "Scanning for games..."
|
||||
find_names=()
|
||||
for i in "${!SUPPORTED_GRP[@]}"; do
|
||||
if [[ "${i}" != 0 ]]; then
|
||||
find_names+=("-o")
|
||||
fi
|
||||
find_names+=("-name")
|
||||
find_names+=("${SUPPORTED_GRP[$i]}")
|
||||
done
|
||||
grp_files=$(find "${BUILDENGINEPATH}" -mindepth 1 -type f \( "${find_names[@]}" \))
|
||||
# This is a hack that ensures any expansion GRP file gets written out as a
|
||||
# build file last. For example, VACATION.GRP is an expansion for DUKE3D.GRP.
|
||||
# For the expansion to work, both GRP files must be present, but the expansion
|
||||
# GRP must be passed to the Raze engine. It just so happens that all of the
|
||||
# expansion GRP files are named alphabetically later than base game GRP files,
|
||||
# meaning we can get by with a simple lexical sort before processing.
|
||||
grp_files=$(echo "${grp_files}" | sort)
|
||||
echo "Adding games..."
|
||||
while read -r grp_file; do
|
||||
abs_path=$(dirname "${grp_file}")
|
||||
path=${abs_path#"$BUILDENGINEPATH/"}
|
||||
filename="${path##*/}"
|
||||
if [[ "$path" =~ \ |\' ]]; then
|
||||
path="\"${path}\""
|
||||
fi
|
||||
grp=$(basename "${grp_file}")
|
||||
if [[ "$grp" =~ \ |\' ]]; then
|
||||
grp="\"${grp}\""
|
||||
fi
|
||||
|
||||
file="${BUILDENGINEPATH}/${filename}.build"
|
||||
cat >"${file}" <<-EOM
|
||||
PATH=${path}
|
||||
GRP=${grp}
|
||||
-- end --
|
||||
EOM
|
||||
done <<<"${grp_files}"
|
||||
clear
|
|
@ -1,67 +0,0 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2021-present 351ELEC (https://github.com/351ELEC)
|
||||
# Copyright (C) 2022-present Fewtarius
|
||||
|
||||
PKG_NAME="raze"
|
||||
PKG_VERSION="5a27390eaf0bf130df9ff94ff82835c3bbbdaea1"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/zdoom/Raze"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_DEPENDS_TARGET="toolchain SDL2 raze:host zmusic libvpx"
|
||||
PKG_SHORTDESC="Raze is a fork of Build engine games backed by GZDoom tech and combines Duke Nukem 3D, Blood, Redneck Rampage, Shadow Warrior and Exhumed/Powerslave in a single package."
|
||||
PKG_LONGDESC="Raze is a fork of Build engine games backed by GZDoom tech and combines Duke Nukem 3D, Blood, Redneck Rampage, Shadow Warrior and Exhumed/Powerslave in a single package."
|
||||
GET_HANDLER_SUPPORT="git"
|
||||
PKG_TOOLCHAIN="cmake-make"
|
||||
|
||||
PKG_PATCH_DIRS+="${DEVICE}"
|
||||
|
||||
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 \
|
||||
-DHAVE_GLES2=ON \
|
||||
-DHAVE_VULKAN=OFF \
|
||||
-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_DIR}/sources/start_raze.sh ${INSTALL}/usr/bin/
|
||||
cp ${PKG_BUILD}/.${TARGET_NAME}/raze ${INSTALL}/usr/bin
|
||||
chmod 0755 ${INSTALL}/usr/bin/*
|
||||
|
||||
mkdir -p ${INSTALL}/usr/config/game/raze
|
||||
cp -rf ${PKG_DIR}/config/common/* ${INSTALL}/usr/config/game/raze
|
||||
chmod 0755 ${INSTALL}/usr/config/game/raze/games/*sh
|
||||
if [ -d "${PKG_DIR}/config/${DEVICE}" ]
|
||||
then
|
||||
cp -rf ${PKG_DIR}/config/${DEVICE}/* ${INSTALL}/usr/config/game/raze
|
||||
cat ${INSTALL}/usr/config/game/raze/defaults.ini >> ${INSTALL}/usr/config/game/raze/raze.ini
|
||||
rm ${INSTALL}/usr/config/game/raze/defaults.ini
|
||||
fi
|
||||
cp ${PKG_BUILD}/.${TARGET_NAME}/*.pk3 ${INSTALL}/usr/config/game/raze
|
||||
cp -r ${PKG_BUILD}/.${TARGET_NAME}/soundfonts ${INSTALL}/usr/config/game/raze
|
||||
|
||||
mkdir -p ${INSTALL}/usr/lib/autostart/common
|
||||
cp ${PKG_DIR}/sources/autostart/common/* ${INSTALL}/usr/lib/autostart/common
|
||||
chmod 0755 ${INSTALL}/usr/lib/autostart/common/*
|
||||
}
|
|
@ -1,110 +0,0 @@
|
|||
diff --git a/source/common/rendering/gles/gles_system.cpp b/source/common/rendering/gles/gles_system.cpp
|
||||
index 51f8ee6a2..24904a7b0 100644
|
||||
--- a/source/common/rendering/gles/gles_system.cpp
|
||||
+++ b/source/common/rendering/gles/gles_system.cpp
|
||||
@@ -10,7 +10,7 @@ CVAR(Bool, gles_force_glsl_v100, false, 0);
|
||||
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 --git a/source/common/rendering/gles/gles_system.h b/source/common/rendering/gles/gles_system.h
|
||||
index d7f6ed139..a43e4e52f 100644
|
||||
--- a/source/common/rendering/gles/gles_system.h
|
||||
+++ b/source/common/rendering/gles/gles_system.h
|
||||
@@ -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 --git a/source/games/duke/src/game_misc.cpp b/source/games/duke/src/game_misc.cpp
|
||||
index c0a1fa0c2..1ec1bfbdf 100644
|
||||
--- a/source/games/duke/src/game_misc.cpp
|
||||
+++ b/source/games/duke/src/game_misc.cpp
|
||||
@@ -239,8 +239,6 @@ void drawoverlays(double smoothratio)
|
||||
int cposx, cposy, cang;
|
||||
|
||||
pp = &ps[screenpeek];
|
||||
- // set palette here, in case the 3D view is off.
|
||||
- setgamepalette(setpal(pp));
|
||||
|
||||
float blend[4] = {};
|
||||
|
||||
diff --git a/wadsrc/static/language.def b/wadsrc/static/language.def
|
||||
new file mode 100644
|
||||
index 000000000..210cdfb4e
|
||||
--- /dev/null
|
||||
+++ b/wadsrc/static/language.def
|
||||
@@ -0,0 +1,4 @@
|
||||
+[default]
|
||||
+
|
||||
+// Engine strings
|
||||
+CNTRLMNU_OPEN_MAIN = "Open Main Menu";
|
||||
diff --git a/wadsrc/static/menudef.txt b/wadsrc/static/menudef.txt
|
||||
index 964fdbcac..f4a39981c 100644
|
||||
--- a/wadsrc/static/menudef.txt
|
||||
+++ b/wadsrc/static/menudef.txt
|
||||
@@ -737,6 +737,7 @@ OptionMenu "OtherControlsMenu" protected
|
||||
Control "$CNTRLMNU_ADJUST_GAMMA" , "bumpgamma"
|
||||
|
||||
StaticText ""
|
||||
+ Control "$CNTRLMNU_OPEN_MAIN" , "menu_main"
|
||||
ifnotgame(Exhumed)
|
||||
{
|
||||
Control "$CNTRLMNU_OPEN_HELP" , "openhelpmenu"
|
||||
@@ -1694,33 +1695,14 @@ OptionMenu CustomResolutionMenu protected
|
||||
|
||||
StaticText "$VIDMNU_RESPRESETHEAD"
|
||||
StaticText ""
|
||||
- StaticText "$VIDMNU_ASPECT43"
|
||||
+ Command "320x240", "menu_resolution_set_custom 320 240"
|
||||
+ Command "360x240", "menu_resolution_set_custom 360 240"
|
||||
+ Command "400x300", "menu_resolution_set_custom 400 300"
|
||||
+ Command "450x300", "menu_resolution_set_custom 450 300"
|
||||
+ Command "480x320", "menu_resolution_set_custom 480 320"
|
||||
+ Command "480x360", "menu_resolution_set_custom 480 360"
|
||||
+ Command "512x384", "menu_resolution_set_custom 512 384"
|
||||
Command "640x480", "menu_resolution_set_custom 640 480"
|
||||
- Command "1024x768", "menu_resolution_set_custom 1024 768"
|
||||
- Command "1280x960", "menu_resolution_set_custom 1280 960"
|
||||
- Command "1600x1200", "menu_resolution_set_custom 1600 1200"
|
||||
- StaticText ""
|
||||
- StaticText "$VIDMNU_ASPECT54"
|
||||
- Command "1280x1024", "menu_resolution_set_custom 1280 1024"
|
||||
- StaticText ""
|
||||
- StaticText "$VIDMNU_ASPECT169"
|
||||
- Command "960x540", "menu_resolution_set_custom 960 540"
|
||||
- Command "(720p HD) 1280x720", "menu_resolution_set_custom 1280 720"
|
||||
- Command "1366x768", "menu_resolution_set_custom 1366 768"
|
||||
- Command "(1080p HD) 1920x1080", "menu_resolution_set_custom 1920 1080"
|
||||
- Command "(1440p HD) 2560x1440", "menu_resolution_set_custom 2560 1440"
|
||||
- Command "(4K UHD) 3840x2160", "menu_resolution_set_custom 3840 2160"
|
||||
- StaticText ""
|
||||
- StaticText "$VIDMNU_ASPECT1610"
|
||||
- Command "960x600", "menu_resolution_set_custom 960 600"
|
||||
- Command "1280x800", "menu_resolution_set_custom 1280 800"
|
||||
- Command "1440x900", "menu_resolution_set_custom 1440 900"
|
||||
- Command "1680x1050", "menu_resolution_set_custom 1680 1050"
|
||||
- Command "1920x1200", "menu_resolution_set_custom 1920 1200"
|
||||
- StaticText ""
|
||||
- StaticText "$VIDMNU_ASPECT219"
|
||||
- Command "1920x810", "menu_resolution_set_custom 1920 810"
|
||||
- Command "2560x1080", "menu_resolution_set_custom 2560 1080"
|
||||
}
|
||||
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
# Copyright (C) 2022-present travis134
|
||||
|
||||
if [ ! -e "/storage/roms/build/_Scan Build Engine Games.sh" ]; then
|
||||
cp "/usr/config/game/raze/games/_Scan Build Engine Games.sh" "/storage/roms/build/_Scan Build Engine Games.sh"
|
||||
chmod +x "/storage/roms/build/_Scan Build Engine Games.sh"
|
||||
fi
|
|
@ -1,46 +0,0 @@
|
|||
#!/usr/bin/bash
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2021-present 351ELEC (https://github.com/351ELEC)
|
||||
|
||||
. /etc/profile
|
||||
. /etc/os-release
|
||||
|
||||
EE_DEVICE=${HW_DEVICE}
|
||||
RUN_DIR="/storage/roms/build"
|
||||
CONFIG="/storage/.config/game/raze/raze.ini"
|
||||
SAVE_DIR="/storage/roms/gamedata/raze"
|
||||
|
||||
if [ ! -L "/storage/.config/raze" ]; then
|
||||
ln -sf "/storage/.config/game/raze" "/storage/.config/raze"
|
||||
fi
|
||||
|
||||
if [ ! -f "/storage/.config/game/raze/raze.ini" ]; then
|
||||
cp -rf /usr/config/game/raze/raze.ini /storage/.config/game/raze/
|
||||
fi
|
||||
|
||||
mkdir -p ${SAVE_DIR}
|
||||
|
||||
params=" -config ${CONFIG} -savedir ${SAVE_DIR}"
|
||||
params+=" +gl_es 1 +vid_preferbackend 3 +cl_capfps 0 +cl_nomeleeblur 1 +vid_fps 1"
|
||||
|
||||
EXT=${1##*.}
|
||||
|
||||
if [ ${EXT} == "build" ]; then
|
||||
dos2unix "${1}"
|
||||
while IFS== read -r key value; do
|
||||
if [ "$key" == "PATH" ]; then
|
||||
# Unquote path value
|
||||
temp="${value}"
|
||||
temp="${temp%\"}"
|
||||
temp="${temp#\"}"
|
||||
RUN_DIR+="/$temp"
|
||||
fi
|
||||
if [ "$key" == "GRP" ]; then
|
||||
params+=" -gamegrp $value"
|
||||
fi
|
||||
done <"${1}"
|
||||
fi
|
||||
|
||||
cd "${RUN_DIR}"
|
||||
/usr/bin/raze ${params} >/var/log/raze.log 2>&1
|
|
@ -2,7 +2,7 @@
|
|||
# Copyright (C) 2021-present 351ELEC (https://github.com/351ELEC)
|
||||
|
||||
PKG_NAME="retroarch"
|
||||
PKG_VERSION="750bc7bf8b10c9e351e6502de9bab3b5f180d47b"
|
||||
PKG_VERSION="7213aada8d5fef72a93379a0d700bb1b678e4a70"
|
||||
PKG_SITE="https://github.com/libretro/RetroArch"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_LICENSE="GPLv3"
|
||||
|
@ -86,16 +86,6 @@ makeinstall_target() {
|
|||
cp ${PKG_BUILD}/retroarch ${INSTALL}/usr/bin
|
||||
mkdir -p ${INSTALL}/usr/share/retroarch/filters
|
||||
|
||||
case ${ARCH} in
|
||||
aarch64)
|
||||
cp -vP ${ROOT}/build.${DISTRO}-${DEVICE}.arm/retroarch-*/.install_pkg/usr/bin/retroarch ${INSTALL}/usr/bin/retroarch32
|
||||
mkdir -p ${INSTALL}/usr/share/retroarch/filters/32bit/
|
||||
cp -rvP ${ROOT}/build.${DISTRO}-${DEVICE}.arm/retroarch-*/.install_pkg/usr/share/retroarch/filters/64bit/* ${INSTALL}/usr/share/retroarch/filters/32bit/
|
||||
|
||||
|
||||
;;
|
||||
esac
|
||||
|
||||
mkdir -p ${INSTALL}/etc
|
||||
cp ${PKG_BUILD}/retroarch.cfg ${INSTALL}/etc
|
||||
|
||||
|
|
27
packages/games/emulators/retroarch/sources/RK3588/TATE-MAME 2003-Plus.rmp
Executable file
27
packages/games/emulators/retroarch/sources/RK3588/TATE-MAME 2003-Plus.rmp
Executable file
|
@ -0,0 +1,27 @@
|
|||
input_libretro_device_p1 = "1"
|
||||
input_libretro_device_p2 = "1"
|
||||
input_libretro_device_p3 = "1"
|
||||
input_libretro_device_p4 = "1"
|
||||
input_libretro_device_p5 = "1"
|
||||
input_player1_analog_dpad_mode = "1"
|
||||
input_player1_btn_down = "6"
|
||||
input_player1_btn_left = "4"
|
||||
input_player1_btn_right = "5"
|
||||
input_player1_btn_up = "7"
|
||||
input_player1_stk_l_x+ = "5"
|
||||
input_player1_stk_l_x- = "4"
|
||||
input_player1_stk_l_y+ = "6"
|
||||
input_player1_stk_l_y- = "7"
|
||||
input_player1_stk_r_x+ = "5"
|
||||
input_player1_stk_r_x- = "4"
|
||||
input_player1_stk_r_y+ = "6"
|
||||
input_player1_stk_r_y- = "7"
|
||||
input_player2_analog_dpad_mode = "0"
|
||||
input_player3_analog_dpad_mode = "0"
|
||||
input_player4_analog_dpad_mode = "0"
|
||||
input_player5_analog_dpad_mode = "0"
|
||||
input_remap_port_p1 = "0"
|
||||
input_remap_port_p2 = "1"
|
||||
input_remap_port_p3 = "2"
|
||||
input_remap_port_p4 = "3"
|
||||
input_remap_port_p5 = "4"
|
153
packages/games/emulators/retroarch/sources/RK3588/retroarch-core-options.cfg
Executable file
153
packages/games/emulators/retroarch/sources/RK3588/retroarch-core-options.cfg
Executable file
|
@ -0,0 +1,153 @@
|
|||
mupen64plus-alt-map = "False"
|
||||
mupen64plus-aspect = "4:3"
|
||||
mupen64plus-astick-deadzone = "15"
|
||||
mupen64plus-astick-sensitivity = "100"
|
||||
mupen64plus-BackgroundMode = "Stripped"
|
||||
mupen64plus-BilinearMode = "standard"
|
||||
mupen64plus-CorrectTexrectCoords = "Auto"
|
||||
mupen64plus-CountPerOp = "0"
|
||||
mupen64plus-CountPerOpDenomPot = "0"
|
||||
mupen64plus-cpucore = "dynamic_recompiler"
|
||||
mupen64plus-d-cbutton = "C3"
|
||||
mupen64plus-DitheringPattern = "True"
|
||||
mupen64plus-DitheringQuantization = "True"
|
||||
mupen64plus-EnableCopyAuxToRDRAM = "True"
|
||||
mupen64plus-EnableCopyColorToRDRAM = "Async"
|
||||
mupen64plus-EnableCopyDepthToRDRAM = "Software"
|
||||
mupen64plus-EnableEnhancedHighResStorage = "False"
|
||||
mupen64plus-EnableEnhancedTextureStorage = "False"
|
||||
mupen64plus-EnableFBEmulation = "True"
|
||||
mupen64plus-EnableFragmentDepthWrite = "False"
|
||||
mupen64plus-EnableHiResAltCRC = "False"
|
||||
mupen64plus-EnableHWLighting = "True"
|
||||
mupen64plus-EnableInaccurateTextureCoordinates = "False"
|
||||
mupen64plus-EnableLegacyBlending = "False"
|
||||
mupen64plus-EnableLODEmulation = "True"
|
||||
mupen64plus-EnableNativeResFactor = "1"
|
||||
mupen64plus-EnableNativeResTexrects = "Optimized"
|
||||
mupen64plus-EnableOverscan = "Enabled"
|
||||
mupen64plus-EnableTexCoordBounds = "False"
|
||||
mupen64plus-EnableTextureCache = "True"
|
||||
mupen64plus-ForceDisableExtraMem = "False"
|
||||
mupen64plus-FrameDuping = "True"
|
||||
mupen64plus-Framerate = "Original"
|
||||
mupen64plus-FXAA = "0"
|
||||
mupen64plus-GLideN64IniBehaviour = "late"
|
||||
mupen64plus-HybridFilter = "True"
|
||||
mupen64plus-IgnoreTLBExceptions = "False"
|
||||
mupen64plus-l-cbutton = "C2"
|
||||
mupen64plus-MaxHiResTxVramLimit = "0"
|
||||
mupen64plus-MaxTxCacheSize = "8000"
|
||||
mupen64plus-MultiSampling = "0"
|
||||
mupen64plus-OverscanBottom = "0"
|
||||
mupen64plus-OverscanLeft = "0"
|
||||
mupen64plus-OverscanRight = "0"
|
||||
mupen64plus-OverscanTop = "0"
|
||||
mupen64plus-pak1 = "memory"
|
||||
mupen64plus-pak2 = "none"
|
||||
mupen64plus-pak3 = "none"
|
||||
mupen64plus-pak4 = "none"
|
||||
mupen64plus-r-cbutton = "C1"
|
||||
mupen64plus-rdp-plugin = "gliden64"
|
||||
mupen64plus-RDRAMImageDitheringMode = "BlueNoise"
|
||||
mupen64plus-rsp-plugin = "hle"
|
||||
mupen64plus-ThreadedRenderer = "True"
|
||||
mupen64plus-txCacheCompression = "True"
|
||||
mupen64plus-txEnhancementMode = "None"
|
||||
mupen64plus-txFilterIgnoreBG = "True"
|
||||
mupen64plus-txFilterMode = "None"
|
||||
mupen64plus-txHiresEnable = "False"
|
||||
mupen64plus-txHiresFullAlphaChannel = "False"
|
||||
mupen64plus-u-cbutton = "C4"
|
||||
mupen64plus-virefresh = "Auto"
|
||||
pcsx_rearmed_analog_axis_modifier = "circle"
|
||||
pcsx_rearmed_async_cd = "sync"
|
||||
pcsx_rearmed_bios = "auto"
|
||||
pcsx_rearmed_display_internal_fps = "disabled"
|
||||
pcsx_rearmed_dithering = "enabled"
|
||||
pcsx_rearmed_drc = "enabled"
|
||||
pcsx_rearmed_duping_enable = "enabled"
|
||||
pcsx_rearmed_frameskip_type = "disabled"
|
||||
pcsx_rearmed_gteregsunneeded = "disabled"
|
||||
pcsx_rearmed_gunconadjustratiox = "1"
|
||||
pcsx_rearmed_gunconadjustratioy = "1"
|
||||
pcsx_rearmed_gunconadjustx = "0"
|
||||
pcsx_rearmed_gunconadjusty = "0"
|
||||
pcsx_rearmed_idiablofix = "disabled"
|
||||
pcsx_rearmed_input_sensitivity = "1.00"
|
||||
pcsx_rearmed_inuyasha_fix = "disabled"
|
||||
pcsx_rearmed_memcard2 = "disabled"
|
||||
pcsx_rearmed_multitap1 = "auto"
|
||||
pcsx_rearmed_multitap2 = "auto"
|
||||
pcsx_rearmed_negcon_deadzone = "0"
|
||||
pcsx_rearmed_negcon_response = "linear"
|
||||
pcsx_rearmed_neon_enhancement_enable = "disabled"
|
||||
pcsx_rearmed_neon_enhancement_no_main = "disabled"
|
||||
pcsx_rearmed_neon_interlace_enable = "disabled"
|
||||
pcsx_rearmed_nocdaudio = "enabled"
|
||||
pcsx_rearmed_nogteflags = "disabled"
|
||||
pcsx_rearmed_nosmccheck = "disabled"
|
||||
pcsx_rearmed_noxadecoding = "enabled"
|
||||
pcsx_rearmed_pad1type = "standard"
|
||||
pcsx_rearmed_pad2type = "standard"
|
||||
pcsx_rearmed_pad3type = "none"
|
||||
pcsx_rearmed_pad4type = "none"
|
||||
pcsx_rearmed_pad5type = "none"
|
||||
pcsx_rearmed_pad6type = "none"
|
||||
pcsx_rearmed_pad7type = "none"
|
||||
pcsx_rearmed_pad8type = "none"
|
||||
pcsx_rearmed_pe2_fix = "disabled"
|
||||
pcsx_rearmed_psxclock = "57"
|
||||
pcsx_rearmed_region = "auto"
|
||||
pcsx_rearmed_show_bios_bootlogo = "disabled"
|
||||
pcsx_rearmed_show_other_input_settings = "disabled"
|
||||
pcsx_rearmed_spu_interpolation = "simple"
|
||||
pcsx_rearmed_spu_reverb = "enabled"
|
||||
pcsx_rearmed_spuirq = "disabled"
|
||||
pcsx_rearmed_vibration = "enabled"
|
||||
gambatte_gb_colorization = "disabled"
|
||||
gambatte_gb_internal_palette = ""
|
||||
mame2003-plus_analog = "digital"
|
||||
mame2003-plus_art_resolution = "1"
|
||||
mame2003-plus_brightness = "1.0"
|
||||
mame2003-plus_cheat_input_ports = "disabled"
|
||||
mame2003-plus_core_save_subfolder = "enabled"
|
||||
mame2003-plus_core_sys_subfolder = "enabled"
|
||||
mame2003-plus_dcs_speedhack = "enabled"
|
||||
mame2003-plus_deadzone = "20"
|
||||
mame2003-plus_digital_joy_centering = "enabled"
|
||||
mame2003-plus_display_artwork = "enabled"
|
||||
mame2003-plus_display_setup = "disabled"
|
||||
mame2003-plus_four_way_emulation = "disabled"
|
||||
mame2003-plus_frameskip = "0"
|
||||
mame2003-plus_gamma = "1.0"
|
||||
mame2003-plus_input_interface = "retropad"
|
||||
mame2003-plus_machine_timing = "enabled"
|
||||
mame2003-plus_mame_remapping = "enabled"
|
||||
mame2003-plus_mouse_device = "mouse"
|
||||
mame2003-plus_sample_rate = "48000"
|
||||
mame2003-plus_skip_disclaimer = "disabled"
|
||||
mame2003-plus_skip_warnings = "disabled"
|
||||
flycast_internal_resolution = "640x480"
|
||||
flycast_alpha_sorting = "per-strip (fast, least accurate)"
|
||||
flycast_enable_dsp = "disabled"
|
||||
flycast_threaded_rendering = "enabled"
|
||||
flycast_anisotropic_filtering = "off"
|
||||
flycast_synchronous_rendering = "enabled"
|
||||
flycast_enable_rtt = "disabled"
|
||||
flycast_enable_rttb = "disabled"
|
||||
flycast_delay_frame_swapping = "disabled"
|
||||
flycast_div_matching = "auto"
|
||||
flycast_texupscale = "off"
|
||||
flycast_auto_skip_frame = "normal"
|
||||
opera_swi_hle = "enabled"
|
||||
opera_dsp_threaded = "enabled"
|
||||
opera_madam_matrix_engine = "software"
|
||||
puae_deadzone = "25"
|
||||
melonds_screen_layout = "Left/Right"
|
||||
melonds_swapscreen_mode = "Toggle"
|
||||
melonds_threaded_renderer = "enabled"
|
||||
melonds_touch_mode = "Joystick"
|
||||
duckstation_GPU.Renderer = "Software"
|
||||
virtualjaguar_bios = "enabled"
|
||||
virtualjaguar_usefastblitter = "enabled"
|
822
packages/games/emulators/retroarch/sources/RK3588/retroarch.cfg
Executable file
822
packages/games/emulators/retroarch/sources/RK3588/retroarch.cfg
Executable file
|
@ -0,0 +1,822 @@
|
|||
accessibility_enable = "false"
|
||||
accessibility_narrator_speech_speed = "5"
|
||||
ai_service_enable = "true"
|
||||
ai_service_mode = "1"
|
||||
ai_service_pause = "false"
|
||||
ai_service_source_lang = "0"
|
||||
ai_service_target_lang = "0"
|
||||
ai_service_url = "http://localhost:4404/"
|
||||
all_users_control_menu = "true"
|
||||
apply_cheats_after_load = "false"
|
||||
apply_cheats_after_toggle = "false"
|
||||
aspect_ratio_index = "22"
|
||||
assets_directory = "/tmp/assets"
|
||||
audio_block_frames = "0"
|
||||
audio_device = ""
|
||||
audio_driver = "alsathread"
|
||||
audio_dsp_plugin = ""
|
||||
audio_enable_menu_bgm = "false"
|
||||
audio_enable_menu_cancel = "false"
|
||||
audio_enable_menu = "false"
|
||||
audio_enable_menu_notice = "false"
|
||||
audio_enable_menu_ok = "false"
|
||||
audio_enable = "true"
|
||||
audio_fastforward_mute = "false"
|
||||
audio_filter_dir = "~/.config/retroarch/filters/audio"
|
||||
audio_latency = "64"
|
||||
audio_max_timing_skew = "0.049999"
|
||||
audio_mixer_mute_enable = "false"
|
||||
audio_mixer_volume = "0.000000"
|
||||
audio_mute_enable = "false"
|
||||
audio_out_rate = "48000"
|
||||
audio_rate_control_delta = "0.004999"
|
||||
audio_rate_control = "true"
|
||||
audio_resampler_quality = "2"
|
||||
audio_resampler = "sinc"
|
||||
audio_sync = "true"
|
||||
audio_volume = "0.000000"
|
||||
auto_overrides_enable = "true"
|
||||
auto_remaps_enable = "true"
|
||||
autosave_interval = "10"
|
||||
auto_screenshot_filename = "true"
|
||||
auto_shaders_enable = "true"
|
||||
block_sram_overwrite = "false"
|
||||
bluetooth_driver = "null"
|
||||
builtin_imageviewer_enable = "true"
|
||||
builtin_mediaplayer_enable = "true"
|
||||
bundle_assets_dst_path = ""
|
||||
bundle_assets_dst_path_subdir = ""
|
||||
bundle_assets_extract_enable = "false"
|
||||
bundle_assets_extract_last_version = "0"
|
||||
bundle_assets_extract_version_current = "0"
|
||||
bundle_assets_src_path = ""
|
||||
cache_directory = "/tmp/cache"
|
||||
camera_allow = "false"
|
||||
camera_device = ""
|
||||
camera_driver = "null"
|
||||
cheat_database_path = "/tmp/database/cht"
|
||||
check_firmware_before_loading = "false"
|
||||
cheevos_auto_screenshot = "false"
|
||||
cheevos_badges_enable = "false"
|
||||
cheevos_challenge_indicators = "true"
|
||||
cheevos_enable = "false"
|
||||
cheevos_hardcore_mode_enable = "false"
|
||||
cheevos_leaderboards_enable = ""
|
||||
cheevos_password = ""
|
||||
cheevos_richpresence_enable = "true"
|
||||
cheevos_start_active = "false"
|
||||
cheevos_test_unofficial = "false"
|
||||
cheevos_token = ""
|
||||
cheevos_unlock_sound_enable = "false"
|
||||
cheevos_username = ""
|
||||
cheevos_verbose_enable = "false"
|
||||
config_save_on_exit = "true"
|
||||
content_database_path = "/tmp/database/rdb"
|
||||
content_favorites_directory = "default"
|
||||
content_favorites_path = "~/.config/retroarch/content_favorites.lpl"
|
||||
content_favorites_size = "200"
|
||||
content_history_dir = ""
|
||||
content_history_directory = "default"
|
||||
content_history_path = "~/.config/retroarch/content_history.lpl"
|
||||
content_history_size = "200"
|
||||
content_image_history_directory = "default"
|
||||
content_image_history_path = "~/.config/retroarch/content_image_history.lpl"
|
||||
content_music_history_directory = "default"
|
||||
content_music_history_path = "~/.config/retroarch/content_music_history.lpl"
|
||||
content_runtime_log_aggregate = "false"
|
||||
content_runtime_log = "true"
|
||||
content_show_add_entry = "2"
|
||||
content_show_add = "true"
|
||||
content_show_explore = "true"
|
||||
content_show_favorites = "true"
|
||||
content_show_history = "true"
|
||||
content_show_images = "false"
|
||||
content_show_music = "false"
|
||||
content_show_netplay = "true"
|
||||
content_show_playlists = "true"
|
||||
content_show_settings_password = ""
|
||||
content_show_settings = "true"
|
||||
content_show_video = "false"
|
||||
content_video_directory = "default"
|
||||
content_video_history_path = "~/.config/retroarch/content_video_history.lpl"
|
||||
core_assets_directory = "~/roms/downloads"
|
||||
core_info_cache_enable = "true"
|
||||
core_option_category_enable = "true"
|
||||
core_options_path = ""
|
||||
core_set_supports_no_game_enable = "true"
|
||||
core_updater_auto_backup = "false"
|
||||
core_updater_auto_backup_history_size = "1"
|
||||
core_updater_auto_extract_archive = "true"
|
||||
core_updater_buildbot_assets_url = "http://buildbot.libretro.com/assets/"
|
||||
core_updater_buildbot_cores_url = ""
|
||||
core_updater_buildbot_url = "http://buildbot.libretro.com/nightly/linux/armhf/latest/"
|
||||
core_updater_show_experimental_cores = "false"
|
||||
cpu_main_gov = "performance"
|
||||
cpu_max_freq = "-1"
|
||||
cpu_menu_gov = "interactive"
|
||||
cpu_min_freq = "1"
|
||||
cpu_scaling_mode = "0"
|
||||
crt_switch_center_adjust = "0"
|
||||
crt_switch_hires_menu = "false"
|
||||
crt_switch_porch_adjust = "0"
|
||||
crt_switch_resolution = "0"
|
||||
crt_switch_resolution_super = "2560"
|
||||
crt_switch_resolution_use_custom_refresh_rate = "false"
|
||||
crt_switch_timings = ""
|
||||
crt_video_refresh_rate = "60.000000"
|
||||
current_resolution_id = "0"
|
||||
cursor_directory = "~/.config/retroarch/database/cursors"
|
||||
desktop_menu_enable = "true"
|
||||
discord_allow = "false"
|
||||
discord_app_id = "475456035851599874"
|
||||
driver_switch_enable = "true"
|
||||
dynamic_wallpapers_directory = "default"
|
||||
emuelec_exit_to_kodi = "false"
|
||||
enable_device_vibration = "true"
|
||||
facebook_stream_key = ""
|
||||
fastforward_ratio = "0.000000"
|
||||
filter_by_current_core = "false"
|
||||
flicker_filter_enable = "false"
|
||||
flicker_filter_index = "0"
|
||||
fps_show = "false"
|
||||
fps_update_interval = "256"
|
||||
framecount_show = "false"
|
||||
frame_time_counter_reset_after_fastforwarding = "false"
|
||||
frame_time_counter_reset_after_load_state = "false"
|
||||
frame_time_counter_reset_after_save_state = "false"
|
||||
frontend_log_level = "1"
|
||||
game_specific_options = "true"
|
||||
gamma_correction = "0"
|
||||
global_core_options = "false"
|
||||
history_list_enable = "true"
|
||||
input_ai_service_axis = "nul"
|
||||
input_ai_service_btn = "nul"
|
||||
input_ai_service_mbtn = "nul"
|
||||
input_ai_service = "nul"
|
||||
input_analog_deadzone = "0.000000"
|
||||
input_analog_sensitivity = "1.500000"
|
||||
input_audio_mute_axis = "nul"
|
||||
input_audio_mute_btn = "nul"
|
||||
input_audio_mute = "f9"
|
||||
input_audio_mute_mbtn = "nul"
|
||||
input_autodetect_enable = "true"
|
||||
input_auto_game_focus = "0"
|
||||
input_auto_mouse_grab = "false"
|
||||
input_axis_threshold = "0.500000"
|
||||
input_bind_hold = "2"
|
||||
input_bind_timeout = "5"
|
||||
input_cheat_index_minus_axis = "nul"
|
||||
input_cheat_index_minus_btn = "nul"
|
||||
input_cheat_index_minus_mbtn = "nul"
|
||||
input_cheat_index_minus = "t"
|
||||
input_cheat_index_plus_axis = "nul"
|
||||
input_cheat_index_plus_btn = "nul"
|
||||
input_cheat_index_plus_mbtn = "nul"
|
||||
input_cheat_index_plus = "y"
|
||||
input_cheat_toggle_axis = "nul"
|
||||
input_cheat_toggle_btn = "nul"
|
||||
input_cheat_toggle_mbtn = "nul"
|
||||
input_cheat_toggle = "u"
|
||||
input_close_content_axis = "nul"
|
||||
input_close_content_btn = "nul"
|
||||
input_close_content_mbtn = "nul"
|
||||
input_close_content = "nul"
|
||||
input_descriptor_hide_unbound = "false"
|
||||
input_descriptor_label_show = "true"
|
||||
input_desktop_menu_toggle_axis = "nul"
|
||||
input_desktop_menu_toggle_btn = "nul"
|
||||
input_desktop_menu_toggle = "f5"
|
||||
input_desktop_menu_toggle_mbtn = "nul"
|
||||
input_device_p1 = "0"
|
||||
input_device_p10 = "0"
|
||||
input_device_p11 = "0"
|
||||
input_device_p12 = "0"
|
||||
input_device_p13 = "0"
|
||||
input_device_p14 = "0"
|
||||
input_device_p15 = "0"
|
||||
input_device_p16 = "0"
|
||||
input_device_p2 = "0"
|
||||
input_device_p3 = "0"
|
||||
input_device_p4 = "0"
|
||||
input_device_p5 = "0"
|
||||
input_device_p6 = "0"
|
||||
input_device_p7 = "0"
|
||||
input_device_p8 = "0"
|
||||
input_device_p9 = "0"
|
||||
input_disk_eject_toggle_axis = "nul"
|
||||
input_disk_eject_toggle_btn = "nul"
|
||||
input_disk_eject_toggle_mbtn = "nul"
|
||||
input_disk_eject_toggle = "nul"
|
||||
input_disk_next_axis = "nul"
|
||||
input_disk_next_btn = "nul"
|
||||
input_disk_next_mbtn = "nul"
|
||||
input_disk_next = "nul"
|
||||
input_disk_prev_axis = "nul"
|
||||
input_disk_prev_btn = "nul"
|
||||
input_disk_prev_mbtn = "nul"
|
||||
input_disk_prev = "nul"
|
||||
input_driver = "udev"
|
||||
input_duty_cycle = "3"
|
||||
input_enable_hotkey_axis = "nul"
|
||||
input_enable_hotkey_btn = "8"
|
||||
input_enable_hotkey_mbtn = "nul"
|
||||
input_enable_hotkey = "nul"
|
||||
input_exit_emulator_axis = "nul"
|
||||
input_exit_emulator_btn = "9"
|
||||
input_exit_emulator = "escape"
|
||||
input_exit_emulator_mbtn = "nul"
|
||||
input_fps_toggle_axis = "nul"
|
||||
input_fps_toggle_btn = "3"
|
||||
input_fps_toggle = "f3"
|
||||
input_fps_toggle_mbtn = "nul"
|
||||
input_frame_advance_axis = "nul"
|
||||
input_frame_advance_btn = "nul"
|
||||
input_frame_advance = "k"
|
||||
input_frame_advance_mbtn = "nul"
|
||||
input_game_focus_toggle_axis = "nul"
|
||||
input_game_focus_toggle_btn = "nul"
|
||||
input_game_focus_toggle_mbtn = "nul"
|
||||
input_game_focus_toggle = "scroll_lock"
|
||||
input_grab_mouse_toggle_axis = "nul"
|
||||
input_grab_mouse_toggle_btn = "nul"
|
||||
input_grab_mouse_toggle = "f11"
|
||||
input_grab_mouse_toggle_mbtn = "nul"
|
||||
input_hold_fast_forward_axis = "nul"
|
||||
input_hold_fast_forward_btn = "nul"
|
||||
input_hold_fast_forward = "l"
|
||||
input_hold_fast_forward_mbtn = "nul"
|
||||
input_hold_slowmotion_axis = "nul"
|
||||
input_hold_slowmotion_btn = "nul"
|
||||
input_hold_slowmotion = "e"
|
||||
input_hold_slowmotion_mbtn = "nul"
|
||||
input_hotkey_block_delay = "5"
|
||||
input_joypad_driver = "udev"
|
||||
input_keyboard_layout = ""
|
||||
input_libretro_device_p10 = "1"
|
||||
input_libretro_device_p1 = "1"
|
||||
input_libretro_device_p11 = "1"
|
||||
input_libretro_device_p12 = "1"
|
||||
input_libretro_device_p13 = "1"
|
||||
input_libretro_device_p14 = "1"
|
||||
input_libretro_device_p15 = "1"
|
||||
input_libretro_device_p16 = "1"
|
||||
input_libretro_device_p2 = "1"
|
||||
input_libretro_device_p3 = "1"
|
||||
input_libretro_device_p4 = "1"
|
||||
input_libretro_device_p5 = "1"
|
||||
input_libretro_device_p6 = "1"
|
||||
input_libretro_device_p7 = "1"
|
||||
input_libretro_device_p8 = "1"
|
||||
input_libretro_device_p9 = "1"
|
||||
input_load_state_axis = "nul"
|
||||
input_load_state_btn = "4"
|
||||
input_load_state = "f4"
|
||||
input_load_state_mbtn = "nul"
|
||||
input_max_users = "5"
|
||||
input_menu_toggle_axis = "nul"
|
||||
input_menu_toggle_btn = "2"
|
||||
input_menu_toggle = "f1"
|
||||
input_menu_toggle_gamepad_combo = "2"
|
||||
input_menu_toggle_mbtn = "nul"
|
||||
input_movie_record_toggle_axis = "nul"
|
||||
input_movie_record_toggle_btn = "nul"
|
||||
input_movie_record_toggle_mbtn = "nul"
|
||||
input_movie_record_toggle = "o"
|
||||
input_netplay_game_watch_axis = "nul"
|
||||
input_netplay_game_watch_btn = "nul"
|
||||
input_netplay_game_watch = "i"
|
||||
input_netplay_game_watch_mbtn = "nul"
|
||||
input_netplay_host_toggle_axis = "nul"
|
||||
input_netplay_host_toggle_btn = "nul"
|
||||
input_netplay_host_toggle_mbtn = "nul"
|
||||
input_netplay_host_toggle = "nul"
|
||||
input_nowinkey_enable = "false"
|
||||
input_osk_toggle_axis = "nul"
|
||||
input_osk_toggle_btn = "nul"
|
||||
input_osk_toggle = "f12"
|
||||
input_osk_toggle_mbtn = "nul"
|
||||
input_overlay = ""
|
||||
input_overlay_aspect_adjust_landscape = "0.000000"
|
||||
input_overlay_aspect_adjust_portrait = "0.000000"
|
||||
input_overlay_auto_rotate = "false"
|
||||
input_overlay_auto_scale = "false"
|
||||
input_overlay_enable_autopreferred = "true"
|
||||
input_overlay_enable = "false"
|
||||
input_overlay_hide_in_menu = "true"
|
||||
input_overlay_hide_when_gamepad_connected = "false"
|
||||
input_overlay_next_axis = "nul"
|
||||
input_overlay_next_btn = "nul"
|
||||
input_overlay_next_mbtn = "nul"
|
||||
input_overlay_next = "nul"
|
||||
input_overlay_opacity = "0.700000"
|
||||
input_overlay_scale_landscape = "1.000000"
|
||||
input_overlay_scale_portrait = "1.000000"
|
||||
input_overlay_show_inputs = "2"
|
||||
input_overlay_show_inputs_port = "0"
|
||||
input_overlay_show_mouse_cursor = "true"
|
||||
input_overlay_x_offset_landscape = "0.000000"
|
||||
input_overlay_x_offset_portrait = "0.000000"
|
||||
input_overlay_x_separation_landscape = "0.000000"
|
||||
input_overlay_x_separation_portrait = "0.000000"
|
||||
input_overlay_y_offset_landscape = "0.000000"
|
||||
input_overlay_y_offset_portrait = "0.000000"
|
||||
input_overlay_y_separation_landscape = "0.000000"
|
||||
input_overlay_y_separation_portrait = "0.000000"
|
||||
input_pause_toggle_axis = "nul"
|
||||
input_pause_toggle_btn = "nul"
|
||||
input_pause_toggle_mbtn = "nul"
|
||||
input_pause_toggle = "p"
|
||||
input_poll_type_behavior = "2"
|
||||
input_quit_gamepad_combo = "0"
|
||||
input_recording_toggle_axis = "nul"
|
||||
input_recording_toggle_btn = "nul"
|
||||
input_recording_toggle_mbtn = "nul"
|
||||
input_recording_toggle = "nul"
|
||||
input_remap_binds_enable = "true"
|
||||
input_remapping_directory = "~/remappings"
|
||||
input_reset_axis = "nul"
|
||||
input_reset_btn = "nul"
|
||||
input_reset = "h"
|
||||
input_reset_mbtn = "nul"
|
||||
input_rewind_axis = "nul"
|
||||
input_rewind_btn = "6"
|
||||
input_rewind_mbtn = "nul"
|
||||
input_rewind = "r"
|
||||
input_rumble_gain = "100"
|
||||
input_runahead_toggle_axis = "nul"
|
||||
input_runahead_toggle_btn = "nul"
|
||||
input_runahead_toggle_mbtn = "nul"
|
||||
input_runahead_toggle = "nul"
|
||||
input_save_state_axis = "nul"
|
||||
input_save_state_btn = "5"
|
||||
input_save_state = "f2"
|
||||
input_save_state_mbtn = "nul"
|
||||
input_screenshot_axis = "nul"
|
||||
input_screenshot_btn = "nul"
|
||||
input_screenshot = "f8"
|
||||
input_screenshot_mbtn = "nul"
|
||||
input_send_debug_info_axis = "nul"
|
||||
input_send_debug_info_btn = "nul"
|
||||
input_send_debug_info = "f10"
|
||||
input_send_debug_info_mbtn = "nul"
|
||||
input_sensors_enable = "true"
|
||||
input_shader_next_axis = "nul"
|
||||
input_shader_next_btn = "nul"
|
||||
input_shader_next = "m"
|
||||
input_shader_next_mbtn = "nul"
|
||||
input_shader_prev_axis = "nul"
|
||||
input_shader_prev_btn = "nul"
|
||||
input_shader_prev_mbtn = "nul"
|
||||
input_shader_prev = "n"
|
||||
input_state_slot_decrease_axis = "nul"
|
||||
input_state_slot_decrease_btn = "nul"
|
||||
input_state_slot_decrease = "f6"
|
||||
input_state_slot_decrease_mbtn = "nul"
|
||||
input_state_slot_increase_axis = "nul"
|
||||
input_state_slot_increase_btn = "nul"
|
||||
input_state_slot_increase = "f7"
|
||||
input_state_slot_increase_mbtn = "nul"
|
||||
input_streaming_toggle_axis = "nul"
|
||||
input_streaming_toggle_btn = "nul"
|
||||
input_streaming_toggle_mbtn = "nul"
|
||||
input_streaming_toggle = "nul"
|
||||
input_toggle_fast_forward_axis = "nul"
|
||||
input_toggle_fast_forward_btn = "7"
|
||||
input_toggle_fast_forward_mbtn = "nul"
|
||||
input_toggle_fast_forward = "space"
|
||||
input_toggle_fullscreen_axis = "nul"
|
||||
input_toggle_fullscreen_btn = "nul"
|
||||
input_toggle_fullscreen = "f"
|
||||
input_toggle_fullscreen_mbtn = "nul"
|
||||
input_toggle_slowmotion_axis = "nul"
|
||||
input_toggle_slowmotion_btn = "nul"
|
||||
input_toggle_slowmotion_mbtn = "nul"
|
||||
input_toggle_slowmotion = "nul"
|
||||
input_touch_scale = "1"
|
||||
input_turbo_default_button = "0"
|
||||
input_turbo_mode = "0"
|
||||
input_turbo_period = "6"
|
||||
input_volume_down_axis = "nul"
|
||||
input_volume_down_btn = "nul"
|
||||
input_volume_down_mbtn = "nul"
|
||||
input_volume_down = "subtract"
|
||||
input_volume_up = "add"
|
||||
input_volume_up_axis = "nul"
|
||||
input_volume_up_btn = "nul"
|
||||
input_volume_up_mbtn = "nul"
|
||||
joypad_autoconfig_dir = "/tmp/joypads"
|
||||
keyboard_gamepad_enable = "true"
|
||||
keyboard_gamepad_mapping_type = "1"
|
||||
kiosk_mode_enable = "false"
|
||||
kiosk_mode_password = ""
|
||||
led_driver = "null"
|
||||
libretro_directory = "/tmp/cores"
|
||||
libretro_info_path = "/tmp/cores"
|
||||
libretro_log_level = "1"
|
||||
load_dummy_on_core_shutdown = "true"
|
||||
location_allow = "false"
|
||||
location_driver = "null"
|
||||
log_dir = "~/.config/retroarch/logs"
|
||||
log_to_file = "false"
|
||||
log_to_file_timestamp = "false"
|
||||
log_verbosity = "true"
|
||||
materialui_auto_rotate_nav_bar = "true"
|
||||
materialui_dual_thumbnail_list_view_enable = "true"
|
||||
materialui_icons_enable = "true"
|
||||
materialui_landscape_layout_optimization = "1"
|
||||
materialui_menu_color_theme = "9"
|
||||
materialui_menu_transition_animation = "0"
|
||||
materialui_playlist_icons_enable = "true"
|
||||
materialui_show_nav_bar = "true"
|
||||
materialui_thumbnail_background_enable = "true"
|
||||
materialui_thumbnail_view_landscape = "2"
|
||||
materialui_thumbnail_view_portrait = "1"
|
||||
memory_show = "false"
|
||||
memory_update_interval = "256"
|
||||
menu_battery_level_enable = "true"
|
||||
menu_core_enable = "true"
|
||||
menu_driver = "xmb"
|
||||
menu_dynamic_wallpaper_enable = "false"
|
||||
menu_enable_widgets = "true"
|
||||
menu_font_color_blue = "255"
|
||||
menu_font_color_green = "255"
|
||||
menu_font_color_red = "255"
|
||||
menu_footer_opacity = "1.000000"
|
||||
menu_framebuffer_opacity = "0.899999"
|
||||
menu_header_opacity = "1.000000"
|
||||
menu_horizontal_animation = "true"
|
||||
menu_insert_disk_resume = "true"
|
||||
menu_left_thumbnails = "0"
|
||||
menu_linear_filter = "false"
|
||||
menu_mouse_enable = "false"
|
||||
menu_navigation_browser_filter_supported_extensions_enable = "true"
|
||||
menu_navigation_wraparound_enable = "true"
|
||||
menu_pause_libretro = "true"
|
||||
menu_pointer_enable = "false"
|
||||
menu_rgui_full_width_layout = "true"
|
||||
menu_rgui_shadows = "false"
|
||||
menu_rgui_transparency = "true"
|
||||
menu_savestate_resume = "true"
|
||||
menu_scale_factor = "0.300000"
|
||||
menu_screensaver_animation = "0"
|
||||
menu_screensaver_animation_speed = "1.000000"
|
||||
menu_screensaver_timeout = "0"
|
||||
menu_scroll_delay = "256"
|
||||
menu_scroll_fast = "false"
|
||||
menu_shader_pipeline = "2"
|
||||
menu_show_advanced_settings = "true"
|
||||
menu_show_configurations = "true"
|
||||
menu_show_core_updater = "false"
|
||||
menu_show_dump_disc = "true"
|
||||
menu_show_help = "true"
|
||||
menu_show_information = "true"
|
||||
menu_show_latency = "true"
|
||||
menu_show_legacy_thumbnail_updater = "false"
|
||||
menu_show_load_content_animation = "false"
|
||||
menu_show_load_content = "true"
|
||||
menu_show_load_core = "true"
|
||||
menu_show_load_disc = "true"
|
||||
menu_show_online_updater = "true"
|
||||
menu_show_overlays = "true"
|
||||
menu_show_quit_retroarch = "true"
|
||||
menu_show_reboot = "false"
|
||||
menu_show_restart_retroarch = "true"
|
||||
menu_show_rewind = "true"
|
||||
menu_show_shutdown = "false"
|
||||
menu_show_sublabels = "true"
|
||||
menu_show_video_layout = "true"
|
||||
menu_swap_ok_cancel_buttons = "false"
|
||||
menu_throttle_framerate = "true"
|
||||
menu_thumbnails = "3"
|
||||
menu_thumbnail_upscale_threshold = "0"
|
||||
menu_ticker_smooth = "true"
|
||||
menu_ticker_speed = "2.000000"
|
||||
menu_ticker_type = "1"
|
||||
menu_timedate_date_separator = "0"
|
||||
menu_timedate_enable = "true"
|
||||
menu_timedate_style = "11"
|
||||
menu_unified_controls = "false"
|
||||
menu_use_preferred_system_color_theme = "false"
|
||||
menu_wallpaper = ""
|
||||
menu_wallpaper_opacity = "1.000000"
|
||||
menu_widget_scale_auto = "false"
|
||||
menu_widget_scale_factor = "0.350000"
|
||||
menu_widget_scale_factor_windowed = "1.000000"
|
||||
menu_xmb_animation_horizontal_highlight = "0"
|
||||
menu_xmb_animation_move_up_down = "0"
|
||||
menu_xmb_animation_opening_main_menu = "0"
|
||||
menu_xmb_thumbnail_scale_factor = "100"
|
||||
midi_driver = "alsa"
|
||||
midi_input = "Off"
|
||||
midi_output = "Off"
|
||||
midi_volume = "100"
|
||||
netplay_allow_slaves = "true"
|
||||
netplay_check_frames = "600"
|
||||
netplay_input_latency_frames_min = "0"
|
||||
netplay_input_latency_frames_range = "0"
|
||||
netplay_ip_address = ""
|
||||
netplay_ip_port = "55435"
|
||||
netplay_max_connections = "3"
|
||||
netplay_mitm_server = "nyc"
|
||||
netplay_nat_traversal = "true"
|
||||
netplay_nickname = ""
|
||||
netplay_password = ""
|
||||
netplay_public_announce = "true"
|
||||
netplay_request_device_p10 = "false"
|
||||
netplay_request_device_p11 = "false"
|
||||
netplay_request_device_p12 = "false"
|
||||
netplay_request_device_p13 = "false"
|
||||
netplay_request_device_p14 = "false"
|
||||
netplay_request_device_p15 = "false"
|
||||
netplay_request_device_p16 = "false"
|
||||
netplay_request_device_p1 = "false"
|
||||
netplay_request_device_p2 = "false"
|
||||
netplay_request_device_p3 = "false"
|
||||
netplay_request_device_p4 = "false"
|
||||
netplay_request_device_p5 = "false"
|
||||
netplay_request_device_p6 = "false"
|
||||
netplay_request_device_p7 = "false"
|
||||
netplay_request_device_p8 = "false"
|
||||
netplay_request_device_p9 = "false"
|
||||
netplay_require_slaves = "false"
|
||||
netplay_share_analog = "1"
|
||||
netplay_share_digital = "1"
|
||||
netplay_spectate_password = ""
|
||||
netplay_start_as_spectator = "false"
|
||||
netplay_stateless_mode = "false"
|
||||
netplay_use_mitm_server = "false"
|
||||
network_cmd_enable = "false"
|
||||
network_cmd_port = "55355"
|
||||
network_on_demand_thumbnails = "false"
|
||||
network_remote_base_port = "55400"
|
||||
network_remote_enable = "false"
|
||||
network_remote_enable_user_p10 = "false"
|
||||
network_remote_enable_user_p11 = "false"
|
||||
network_remote_enable_user_p12 = "false"
|
||||
network_remote_enable_user_p13 = "false"
|
||||
network_remote_enable_user_p14 = "false"
|
||||
network_remote_enable_user_p15 = "false"
|
||||
network_remote_enable_user_p16 = "false"
|
||||
network_remote_enable_user_p1 = "false"
|
||||
network_remote_enable_user_p2 = "false"
|
||||
network_remote_enable_user_p3 = "false"
|
||||
network_remote_enable_user_p4 = "false"
|
||||
network_remote_enable_user_p5 = "false"
|
||||
network_remote_enable_user_p6 = "false"
|
||||
network_remote_enable_user_p7 = "false"
|
||||
network_remote_enable_user_p8 = "false"
|
||||
network_remote_enable_user_p9 = "false"
|
||||
notification_show_autoconfig = "false"
|
||||
notification_show_cheats_applied = "true"
|
||||
notification_show_config_override_load = "false"
|
||||
notification_show_fast_forward = "true"
|
||||
notification_show_netplay_extra = "false"
|
||||
notification_show_patch_applied = "true"
|
||||
notification_show_refresh_rate = "true"
|
||||
notification_show_remap_load = "false"
|
||||
notification_show_screenshot_duration = "2"
|
||||
notification_show_screenshot = "false"
|
||||
notification_show_screenshot_flash = "1"
|
||||
notification_show_set_initial_disk = "true"
|
||||
overlay_directory = "/tmp/overlays"
|
||||
ozone_collapse_sidebar = "false"
|
||||
ozone_menu_color_theme = "1"
|
||||
ozone_scroll_content_metadata = "false"
|
||||
ozone_sort_after_truncate_playlist_name = "true"
|
||||
ozone_truncate_playlist_name = "true"
|
||||
pause_nonactive = "true"
|
||||
perfcnt_enable = "false"
|
||||
playlist_compression = "false"
|
||||
playlist_cores = ""
|
||||
playlist_directory = "~/playlists"
|
||||
playlist_entry_remove_enable = "1"
|
||||
playlist_entry_remove = "false"
|
||||
playlist_entry_rename = "false"
|
||||
playlist_fuzzy_archive_match = "false"
|
||||
playlist_names = ""
|
||||
playlist_portable_paths = "false"
|
||||
playlist_show_entry_idx = "true"
|
||||
playlist_show_inline_core_name = "0"
|
||||
playlist_show_sublabels = "true"
|
||||
playlist_sort_alphabetical = "true"
|
||||
playlist_sublabel_last_played_style = "0"
|
||||
playlist_sublabel_runtime_type = "0"
|
||||
playlist_use_old_format = "false"
|
||||
quick_menu_show_add_to_favorites = "true"
|
||||
quick_menu_show_cheats = "true"
|
||||
quick_menu_show_close_content = "true"
|
||||
quick_menu_show_controls = "true"
|
||||
quick_menu_show_core_options_flush = "false"
|
||||
quick_menu_show_download_thumbnails = "true"
|
||||
quick_menu_show_information = "true"
|
||||
quick_menu_show_options = "true"
|
||||
quick_menu_show_recording = "true"
|
||||
quick_menu_show_reset_core_association = "true"
|
||||
quick_menu_show_restart_content = "true"
|
||||
quick_menu_show_resume_content = "true"
|
||||
quick_menu_show_save_content_dir_overrides = "true"
|
||||
quick_menu_show_save_core_overrides = "false"
|
||||
quick_menu_show_save_game_overrides = "false"
|
||||
quick_menu_show_save_load_state = "true"
|
||||
quick_menu_show_set_core_association = "true"
|
||||
quick_menu_show_shaders = "true"
|
||||
quick_menu_show_start_recording = "true"
|
||||
quick_menu_show_start_streaming = "true"
|
||||
quick_menu_show_streaming = "true"
|
||||
quick_menu_show_take_screenshot = "true"
|
||||
quick_menu_show_undo_save_load_state = "false"
|
||||
quit_on_close_content = "0"
|
||||
quit_press_twice = "true"
|
||||
record_driver = "null"
|
||||
recording_config_directory = ""
|
||||
recording_output_directory = "~/roms/screenshots"
|
||||
resampler_directory = ""
|
||||
rewind_buffer_size = "20971520"
|
||||
rewind_buffer_size_step = "10"
|
||||
rewind_enable = "false"
|
||||
rewind_granularity = "1"
|
||||
rgui_aspect_ratio = "0"
|
||||
rgui_aspect_ratio_lock = "0"
|
||||
rgui_background_filler_thickness_enable = "true"
|
||||
rgui_border_filler_enable = "true"
|
||||
rgui_border_filler_thickness_enable = "true"
|
||||
rgui_browser_directory = "~/roms"
|
||||
rgui_config_directory = "~/.config/retroarch/config"
|
||||
rgui_extended_ascii = "false"
|
||||
rgui_inline_thumbnails = "false"
|
||||
rgui_internal_upscale_level = "0"
|
||||
rgui_menu_color_theme = "4"
|
||||
rgui_menu_theme_preset = ""
|
||||
rgui_particle_effect = "0"
|
||||
rgui_particle_effect_screensaver = "true"
|
||||
rgui_particle_effect_speed = "1.000000"
|
||||
rgui_show_start_screen = "false"
|
||||
rgui_swap_thumbnails = "false"
|
||||
rgui_switch_icons = "true"
|
||||
rgui_thumbnail_delay = "0"
|
||||
rgui_thumbnail_downscaler = "0"
|
||||
run_ahead_enabled = "false"
|
||||
run_ahead_frames = "1"
|
||||
run_ahead_hide_warnings = "false"
|
||||
run_ahead_secondary_instance = "true"
|
||||
runtime_log_directory = "default"
|
||||
save_file_compression = "false"
|
||||
savefile_directory = "~/.config/retroarch/saves"
|
||||
savefiles_in_content_dir = "true"
|
||||
savestate_auto_index = "false"
|
||||
savestate_auto_load = "false"
|
||||
savestate_auto_save = "false"
|
||||
savestate_directory = "~/.config/retroarch/states"
|
||||
savestate_file_compression = "true"
|
||||
savestate_max_keep = "0"
|
||||
savestates_in_content_dir = "false"
|
||||
savestate_thumbnail_enable = "true"
|
||||
scan_without_core_match = "false"
|
||||
screen_brightness = "100"
|
||||
screen_orientation = "0"
|
||||
screenshot_directory = "~/roms/screenshots"
|
||||
screenshots_in_content_dir = "false"
|
||||
settings_show_accessibility = "true"
|
||||
settings_show_achievements = "true"
|
||||
settings_show_ai_service = "true"
|
||||
settings_show_audio = "true"
|
||||
settings_show_configuration = "true"
|
||||
settings_show_core = "true"
|
||||
settings_show_directory = "true"
|
||||
settings_show_drivers = "true"
|
||||
settings_show_file_browser = "true"
|
||||
settings_show_frame_throttle = "true"
|
||||
settings_show_input = "true"
|
||||
settings_show_latency = "true"
|
||||
settings_show_logging = "true"
|
||||
settings_show_network = "true"
|
||||
settings_show_onscreen_display = "true"
|
||||
settings_show_playlists = "true"
|
||||
settings_show_power_management = "true"
|
||||
settings_show_recording = "true"
|
||||
settings_show_saving = "true"
|
||||
settings_show_user_interface = "true"
|
||||
settings_show_user = "true"
|
||||
settings_show_video = "true"
|
||||
show_hidden_files = "false"
|
||||
slowmotion_ratio = "3.000000"
|
||||
soft_filter_enable = "false"
|
||||
soft_filter_index = "0"
|
||||
sort_savefiles_by_content_enable = "false"
|
||||
sort_savefiles_enable = "false"
|
||||
sort_savestates_by_content_enable = "false"
|
||||
sort_savestates_enable = "false"
|
||||
sort_screenshots_by_content_enable = "false"
|
||||
state_slot = "0"
|
||||
statistics_show = "false"
|
||||
stdin_cmd_enable = "false"
|
||||
streaming_mode = "0"
|
||||
suspend_screensaver_enable = "true"
|
||||
sustained_performance_mode = "false"
|
||||
system_directory = "~/roms/bios"
|
||||
systemfiles_in_content_dir = "false"
|
||||
threaded_data_runloop_enable = "true"
|
||||
thumbnails_directory = "~/thumbnails"
|
||||
twitch_stream_key = ""
|
||||
ui_companion_enable = "false"
|
||||
ui_companion_start_on_boot = "true"
|
||||
ui_companion_toggle = "false"
|
||||
ui_menubar_enable = "true"
|
||||
use_last_start_directory = "false"
|
||||
user_language = "0"
|
||||
vibrate_on_keypress = "true"
|
||||
video_adaptive_vsync = "false"
|
||||
video_allow_rotate = "true"
|
||||
video_aspect_ratio = "-1.000000"
|
||||
video_aspect_ratio_auto = "true"
|
||||
video_black_frame_insertion = "0"
|
||||
video_context_driver = ""
|
||||
video_crop_overscan = "true"
|
||||
video_ctx_scaling = "false"
|
||||
video_disable_composition = "false"
|
||||
video_driver = "glcore"
|
||||
video_filter = ""
|
||||
video_filter_dir = "~/.config/retroarch/filters/video"
|
||||
video_font_enable = "true"
|
||||
video_font_path = "/usr/share/retroarch-assets/xmb/monochrome/font.ttf"
|
||||
video_font_size = "32.000000"
|
||||
video_force_aspect = "true"
|
||||
video_force_srgb_disable = "false"
|
||||
video_frame_delay = "0"
|
||||
video_frame_delay_auto = "false"
|
||||
video_fullscreen = "true"
|
||||
video_fullscreen_x = "1920"
|
||||
video_fullscreen_y = "1080"
|
||||
video_gpu_record = "false"
|
||||
video_gpu_screenshot = "false"
|
||||
video_hard_sync = "false"
|
||||
video_hard_sync_frames = "0"
|
||||
video_hdr_display_contrast = "5.000000"
|
||||
video_hdr_enable = "false"
|
||||
video_hdr_expand_gamut = "true"
|
||||
video_hdr_max_nits = "1000.000000"
|
||||
video_hdr_paper_white_nits = "200.000000"
|
||||
video_layout_directory = "~/.config/retroarch/layouts"
|
||||
video_layout_enable = "true"
|
||||
video_layout_path = ""
|
||||
video_layout_selected_view = "0"
|
||||
video_max_swapchain_images = "3"
|
||||
video_message_color = "ffff00"
|
||||
video_message_pos_x = "0.049999"
|
||||
video_message_pos_y = "0.049999"
|
||||
video_monitor_index = "0"
|
||||
video_msg_bgcolor_blue = "0"
|
||||
video_msg_bgcolor_enable = "false"
|
||||
video_msg_bgcolor_green = "0"
|
||||
video_msg_bgcolor_opacity = "1.000000"
|
||||
video_msg_bgcolor_red = "0"
|
||||
video_notch_write_over_enable = "false"
|
||||
video_oga_vertical_enable = "false"
|
||||
video_post_filter_record = "false"
|
||||
video_record_config = ""
|
||||
video_record_quality = "4"
|
||||
video_record_scale_factor = "1"
|
||||
video_record_threads = "2"
|
||||
video_refresh_rate = "60.000000"
|
||||
video_rotation = "0"
|
||||
video_scale = "3.000000"
|
||||
video_scale_integer = "false"
|
||||
video_scale_integer_overscale = "false"
|
||||
video_shader_delay = "0"
|
||||
video_shader_dir = "/tmp/shaders"
|
||||
video_shader_enable = "false"
|
||||
video_shader_preset_save_reference_enable = "true"
|
||||
video_shader_remember_last_dir = "false"
|
||||
video_shader_watch_files = "false"
|
||||
video_shared_context = "false"
|
||||
video_smooth = "false"
|
||||
video_stream_config = ""
|
||||
video_stream_port = "56400"
|
||||
video_stream_quality = "10"
|
||||
video_stream_scale_factor = "1"
|
||||
video_stream_url = ""
|
||||
video_swap_interval = "1"
|
||||
video_threaded = "true"
|
||||
video_vsync = "true"
|
||||
video_window_auto_height_max = "1080"
|
||||
video_window_auto_width_max = "1920"
|
||||
video_window_custom_size_enable = "false"
|
||||
video_windowed_fullscreen = "false"
|
||||
video_windowed_position_height = "720"
|
||||
video_windowed_position_width = "1280"
|
||||
video_windowed_position_x = "0"
|
||||
video_windowed_position_y = "0"
|
||||
video_window_opacity = "100"
|
||||
video_window_save_positions = "false"
|
||||
video_window_show_decorations = "true"
|
||||
vrr_runloop_enable = "false"
|
||||
wifi_driver = "null"
|
||||
wifi_enabled = "true"
|
||||
xmb_alpha_factor = "75"
|
||||
xmb_font = "/usr/share/retroarch-assets/xmb/monochrome/font.ttf"
|
||||
xmb_layout = "2"
|
||||
xmb_menu_color_theme = "4"
|
||||
xmb_shadows_enable = "true"
|
||||
xmb_theme = "0"
|
||||
xmb_vertical_thumbnails = "false"
|
||||
youtube_stream_key = ""
|
|
@ -0,0 +1,2 @@
|
|||
audio_filter_dir = "/usr/share/retroarch/filters/32bit/audio"
|
||||
video_filter_dir = "/usr/share/retroarch/filters/32bit/video"
|
|
@ -0,0 +1,2 @@
|
|||
audio_filter_dir = "/usr/share/retroarch/filters/64bit/audio"
|
||||
video_filter_dir = "/usr/share/retroarch/filters/64bit/video"
|
|
@ -3,7 +3,7 @@
|
|||
# Copyright (C) 2020-present Fewtarius
|
||||
|
||||
PKG_NAME="scummvmsa"
|
||||
PKG_VERSION="45091c309d90b40f672469eae0915a75c434ba57"
|
||||
PKG_VERSION="7a3ce2ff5cf3052b0241dbc58514e08138cf7560"
|
||||
PKG_REV="1"
|
||||
PKG_LICENSE="GPL2"
|
||||
PKG_SITE="https://github.com/scummvm/scummvm"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Copyright (C) 2020-present Fewtarius
|
||||
|
||||
PKG_NAME="vicesa"
|
||||
PKG_VERSION="3.6.1"
|
||||
PKG_VERSION="3.7.1"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
|
@ -13,7 +13,7 @@ PKG_PRIORITY="optional"
|
|||
PKG_SECTION="emulators"
|
||||
PKG_SHORTDESC="Commodore 8-bit Emulator"
|
||||
PKG_LONGDESC="Commodore 8-bit Emulator"
|
||||
PKG_CONFIGURE_OPTS_TARGET+="--disable-pdf-docs"
|
||||
PKG_CONFIGURE_OPTS_TARGET+=" --disable-pdf-docs --enable-gtk3ui=no"
|
||||
|
||||
if [ ! "${OPENGL}" = "no" ]; then
|
||||
PKG_DEPENDS_TARGET+=" ${OPENGL} glu libglvnd"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech)
|
||||
|
||||
PKG_NAME="yuzusa"
|
||||
PKG_VERSION="bbeb6e460cf1fd8f796978980e745410bc77ce08"
|
||||
PKG_VERSION="cbcf210c19b3661e0edda03f22ef323cb5b30c26"
|
||||
PKG_ARCH="x86_64"
|
||||
PKG_LICENSE="GPLv3"
|
||||
PKG_SITE="https://github.com/yuzu-emu/yuzu"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="beetle-lynx"
|
||||
PKG_VERSION="f8fc53b15a64f804cbb5ff5b8992af31a917c993"
|
||||
PKG_VERSION="d48ebb62affc93940f121bc5a16a67658bca26ae"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="beetle-pce-fast"
|
||||
PKG_VERSION="aa1e5458eada0e2d3e35cc1840f0422146404590"
|
||||
PKG_VERSION="994372c491569c84bd8d5178ca1822fc1200e7c0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="beetle-pce"
|
||||
PKG_VERSION="51aaf58a96d63eec5e6c3347285780948fc99209"
|
||||
PKG_VERSION="c61a633e4598edc46da3b6bed24b27175b353a8d"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="beetle-pcfx"
|
||||
PKG_VERSION="7ed3694713e9bc8ac3e95187ae8350a129f4a46f"
|
||||
PKG_VERSION="14294f9617da36f6a24f736b41f1fa0de24c9f83"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="beetle-supergrafx"
|
||||
PKG_VERSION="751321e2e2c48def9eadaad4b9e289d0843914b7"
|
||||
PKG_VERSION="7c435d6d83ce54eb2782df75c05acd9f4eac6f34"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="beetle-wswan"
|
||||
PKG_VERSION="c9b3777471c74090df096c2ef65d2fc3ab40e018"
|
||||
PKG_VERSION="75f65e384bf0319f75b535bd6910616a6786d20e"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="core-info"
|
||||
PKG_VERSION="0c56d506ea3eb0d87b3fe64552a7d2bbe04d1658"
|
||||
PKG_VERSION="5fa19a5e944ecdb830011a66e9150e0b01b8bf30"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/libretro/libretro-core-info"
|
||||
PKG_URL="https://github.com/libretro/libretro-core-info/archive/${PKG_VERSION}.tar.gz"
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech)
|
||||
|
||||
PKG_NAME="ecwolf_libretro"
|
||||
PKG_VERSION="f098da0d003c4780adf6a9503801081f1f25cc27"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://github.com/libretro/ecwolf"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_DEPENDS_TARGET="toolchain SDL2 SDL2_mixer SDL2_net libjpeg-turbo bzip2"
|
||||
PKG_SHORTDESC="ECWolf is a port of the Wolfenstein 3D engine based of Wolf4SDL."
|
||||
PKG_TOOLCHAIN="make"
|
||||
|
||||
PKG_MAKE_OPTS_TARGET="-C src/libretro"
|
||||
|
||||
pre_make_target() {
|
||||
cd ${PKG_BUILD}
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p ${INSTALL}/usr/lib/libretro
|
||||
cp src/libretro/ecwolf_libretro.so ${INSTALL}/usr/lib/libretro/
|
||||
}
|
|
@ -3,7 +3,7 @@
|
|||
# Maintenance 2020 351ELEC team (https://github.com/fewtarius/351ELEC)
|
||||
|
||||
PKG_NAME="fbneo"
|
||||
PKG_VERSION="50a01508d96621f358c4cc910ef5596968c5d0dd"
|
||||
PKG_VERSION="1a968de5d8c52ef4b606c1ab0878c7859449c355"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="Non-commercial"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="fceumm"
|
||||
PKG_VERSION="5ca702053ecd2e1007d01d32c1a9708d36e47afe"
|
||||
PKG_VERSION="159f27a1f16e74f4e1f7f424477d3bb098302ea0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# Copyright (C) 2022-present Fewtarius
|
||||
|
||||
PKG_NAME="flycast"
|
||||
PKG_VERSION="b232a10167b3ead55b8755059a0edec53a60463d"
|
||||
PKG_VERSION="611946559c12a569af507019694cb369b3587af6"
|
||||
PKG_SITE="https://github.com/flyinghead/flycast"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_DEPENDS_TARGET="toolchain libzip"
|
||||
|
@ -42,16 +42,5 @@ pre_configure_target() {
|
|||
|
||||
makeinstall_target() {
|
||||
mkdir -p ${INSTALL}/usr/lib/libretro
|
||||
case ${TARGET_ARCH} in
|
||||
aarch64)
|
||||
cp -vP ${ROOT}/build.${DISTRO}-${DEVICE}.arm/flycast-*/.install_pkg/usr/lib/libretro/flycast32_libretro.so ${INSTALL}/usr/lib/libretro
|
||||
cp flycast_libretro.so ${INSTALL}/usr/lib/libretro/flycast_libretro.so
|
||||
;;
|
||||
arm)
|
||||
cp flycast_libretro.so ${INSTALL}/usr/lib/libretro/flycast32_libretro.so
|
||||
;;
|
||||
*)
|
||||
cp flycast_libretro.so ${INSTALL}/usr/lib/libretro/flycast_libretro.so
|
||||
;;
|
||||
esac
|
||||
cp flycast_libretro.so ${INSTALL}/usr/lib/libretro/flycast_libretro.so
|
||||
}
|
||||
|
|
|
@ -47,6 +47,11 @@ pre_configure_target() {
|
|||
|
||||
pre_make_target() {
|
||||
export BUILD_SYSROOT=${SYSROOT_PREFIX}
|
||||
case ${DEVICE} in
|
||||
RK3588)
|
||||
PKG_MAKE_OPTS_TARGET+=" platform=${DEVICE}"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
diff -rupN flycast.orig/Makefile flycast/Makefile
|
||||
--- flycast.orig/Makefile 2022-06-18 13:29:52.675787687 -0400
|
||||
+++ flycast/Makefile 2022-06-18 13:53:23.564624927 -0400
|
||||
@@ -403,26 +403,30 @@ else ifeq ($(platform), arm64_cortex_a53
|
||||
|
||||
#######################################
|
||||
|
||||
-# ARM64 SM1 Odroid C4
|
||||
-else ifeq ($(platform), odroidc4)
|
||||
+# ARM64 RK3588
|
||||
+else ifeq ($(platform), RK3588)
|
||||
EXT ?= so
|
||||
TARGET := $(TARGET_NAME)_libretro.$(EXT)
|
||||
SHARED += -shared -Wl,--version-script=link.T
|
||||
- LDFLAGS += -Wl,--no-undefined
|
||||
fpic = -fPIC
|
||||
LIBS += -lrt
|
||||
ARM_FLOAT_ABI_HARD = 0
|
||||
FORCE_GLES = 1
|
||||
SINGLE_PREC_FLAGS = 1
|
||||
- CPUFLAGS += -DHOST_CPU=0x20000006 -DTARGET_LINUX_ARMv8 -frename-registers
|
||||
- CFLAGS += -mcpu=cortex-a55 -mtune=cortex-a55 $(CPUFLAGS)
|
||||
- CXXFLAGS += -mcpu=cortex-a55 -mtune=cortex-a55 $(CPUFLAGS)
|
||||
- ASFLAGS += $(CFLAGS) -c -frename-registers -fno-strict-aliasing -ffast-math -ftree-vectorize
|
||||
+ HAVE_LTCG = 0
|
||||
+ HAVE_OPENMP = 0
|
||||
+ CFLAGS += -Ofast \
|
||||
+ -fuse-linker-plugin \
|
||||
+ -fno-stack-protector -fno-ident -fomit-frame-pointer \
|
||||
+ -fmerge-all-constants -ffast-math -funroll-all-loops \
|
||||
+ -mcpu=cortex-a76 -mtune=cortex-a76
|
||||
+ CXXFLAGS += $(CFLAGS)
|
||||
+ LDFLAGS += -mcpu=cortex-a76 -mtune=cortex-a76 -Ofast -flto -fuse-linker-plugin
|
||||
PLATFORM_EXT := unix
|
||||
+ CORE_DEFINES += -DLOW_END -DLOW_RES
|
||||
WITH_DYNAREC=arm64
|
||||
+ PLATFORM_EXT := unix
|
||||
HAVE_GENERIC_JIT = 0
|
||||
- HAVE_VULKAN = 0
|
||||
- HAVE_LTCG = 0
|
|
@ -20,7 +20,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="gambatte"
|
||||
PKG_VERSION="7e02df60048db0898131ea365f387a026e4e648d"
|
||||
PKG_VERSION="d4bb33eea4c41760eb3cccfc4047eeff1313f8c7"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="genesis-plus-gx"
|
||||
PKG_VERSION="418a0ea0c5ea1ed68b4ba1d4df53308f202323be"
|
||||
PKG_VERSION="d9ed3003b7d470ee19c9fe0019263f617fa458eb"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="Non-commercial"
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="handy"
|
||||
PKG_VERSION="517bb2d02909271836604c01c8f09a79ad605297"
|
||||
PKG_VERSION="7c2dbcb46a26cdb2355ccb4e982460095a55ba44"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="Zlib"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Copyright (C) 2019 Trond Haugland (trondah@gmail.com)
|
||||
|
||||
PKG_NAME="mame"
|
||||
PKG_VERSION="85581d60bb24fea14542b154aef2c7b624f5b60f"
|
||||
PKG_VERSION="b1bd6059a6b76061cbc1b397317b4c9cbb9b3b1c"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://github.com/libretro/mame"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="mame2003-plus"
|
||||
PKG_VERSION="b8c90d9b3c9374bef96d202540460af40ead24bf"
|
||||
PKG_VERSION="3e666d814f6080d364570a7d9033e0dad233d4f6"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="MAME"
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="mgba"
|
||||
PKG_VERSION="ec5ecb26deba8d7ac830fc66ade9fac0eeaeb4ae"
|
||||
PKG_VERSION="641488a39f41a4a373332e0954375fb8acfa2c49"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="MPLv2.0"
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="nestopia"
|
||||
PKG_VERSION="dd78611bb3548e0e3f605566614b6b8173cdf977"
|
||||
PKG_VERSION="cb1e24e2d6e5d49a85924a9d6dd9c470c109f537"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="nxengine"
|
||||
PKG_VERSION="e271c6262d73f07e5d92d285503f1c049801c51a"
|
||||
PKG_VERSION="1b57d2d1d064a78b551e51bb6ec9ea56c185a3e1"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv3"
|
||||
|
|
|
@ -21,6 +21,12 @@ if [ "${OPENGLES_SUPPORT}" = yes ]; then
|
|||
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
|
||||
fi
|
||||
|
||||
case ${DEVICE} in
|
||||
RK3588)
|
||||
PKG_MAKE_OPTS_TARGET=" platform=unix_RK3588"
|
||||
;;
|
||||
esac
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p ${INSTALL}/usr/lib/libretro
|
||||
cp parallel_n64_libretro.so ${INSTALL}/usr/lib/libretro/
|
||||
|
|
|
@ -1,40 +1,12 @@
|
|||
diff --git a/Makefile b/Makefile
|
||||
index 8a719d55..bc243d06 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -119,7 +119,7 @@ ifneq (,$(findstring unix,$(platform)))
|
||||
endif
|
||||
fpic = -fPIC
|
||||
|
||||
- HAVE_THR_AL=1
|
||||
+ HAVE_THR_AL=0
|
||||
LDFLAGS += -lpthread
|
||||
|
||||
|
||||
@@ -134,6 +134,33 @@ ifneq (,$(findstring unix,$(platform)))
|
||||
diff -rupN parallel-n64.orig/Makefile parallel-n64/Makefile
|
||||
--- parallel-n64.orig/Makefile 2023-01-08 13:17:14.937637431 +0000
|
||||
+++ parallel-n64/Makefile 2023-01-08 13:17:57.606530001 +0000
|
||||
@@ -134,6 +134,15 @@ ifneq (,$(findstring unix,$(platform)))
|
||||
GL_LIB := -lGL
|
||||
endif
|
||||
|
||||
+ # RK3326
|
||||
+ ifneq (,$(findstring RK3326,$(platform)))
|
||||
+ TARGET := $(TARGET_NAME)_libretro.so
|
||||
+ CPUFLAGS += -DARM_FIX -DCLASSIC
|
||||
+ GLES = 1
|
||||
+ GL_LIB := -lGLESv2
|
||||
+ WITH_DYNAREC = aarch64
|
||||
+ endif
|
||||
+
|
||||
+ # RK3356
|
||||
+ ifneq (,$(findstring RK3566,$(platform)))
|
||||
+ TARGET := $(TARGET_NAME)_libretro.so
|
||||
+ CPUFLAGS += -DARM_FIX -DCLASSIC
|
||||
+ GLES = 1
|
||||
+ GL_LIB := -lGLESv2
|
||||
+ WITH_DYNAREC = aarch64
|
||||
+ endif
|
||||
+
|
||||
+ # RK3399
|
||||
+ ifneq (,$(findstring RK3399,$(platform)))
|
||||
+ # RK3588
|
||||
+ ifneq (,$(findstring RK3588,$(platform)))
|
||||
+ TARGET := $(TARGET_NAME)_libretro.so
|
||||
+ CPUFLAGS += -DARM_FIX -DCLASSIC
|
||||
+ GLES = 1
|
||||
|
@ -45,10 +17,9 @@ index 8a719d55..bc243d06 100644
|
|||
# Raspberry Pi
|
||||
ifneq (,$(findstring rpi,$(platform)))
|
||||
GLES = 1
|
||||
diff --git a/libretro/libretro.c b/libretro/libretro.c
|
||||
index eea606f5..f14afdef 100644
|
||||
--- a/libretro/libretro.c
|
||||
+++ b/libretro/libretro.c
|
||||
diff -rupN parallel-n64.orig/libretro/libretro.c parallel-n64/libretro/libretro.c
|
||||
--- parallel-n64.orig/libretro/libretro.c 2023-01-08 13:17:14.945637598 +0000
|
||||
+++ parallel-n64/libretro/libretro.c 2023-01-08 13:30:37.562604648 +0000
|
||||
@@ -400,7 +400,9 @@ static void setup_variables(void)
|
||||
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES)
|
||||
"|glide64|gln64|rice"
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="ppsspp"
|
||||
PKG_VERSION="40386bca08d33c2d6584d6e7da4efee9bfeb3f96"
|
||||
PKG_VERSION="5f10cabe5a0a4442e642d473f360e309288dd5f4"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://github.com/hrydgard/ppsspp"
|
||||
PKG_URL="https://github.com/hrydgard/ppsspp.git"
|
||||
|
@ -66,11 +66,8 @@ else
|
|||
fi
|
||||
|
||||
case ${TARGET_ARCH} in
|
||||
arm)
|
||||
PKG_CMAKE_OPTS_TARGET+=" -DARMV7=ON"
|
||||
;;
|
||||
aarch64)
|
||||
PKG_CMAKE_OPTS_TARGET+=" -DARM64=ON"
|
||||
PKG_CMAKE_OPTS_TARGET+=" -DFORCED_CPU=aarch64"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 90cd57ace..2ace6b70a 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -58,6 +58,10 @@ if(CMAKE_SYSTEM_PROCESSOR)
|
||||
set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -target armv7a-none-linux-android")
|
||||
endif()
|
||||
endif()
|
||||
+ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^armv8")
|
||||
+ add_compile_options(-march=armv8-a+crc -mtune=cortex-a53 -mfloat-abi=hard -mfpu=neon-fp-armv8 -fomit-frame-pointer)
|
||||
+ add_definitions(-DPPSSPP_ARCH_ARM_NEON=1 -DPPSSPP_ARCH_ARMV8=1)
|
||||
+ endif()
|
||||
elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^amd64" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "^x86_64" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "^AMD64")
|
||||
set(X86_DEVICE ON)
|
||||
set(X86_64_DEVICE ON)
|
||||
diff --git a/Common/ArmCPUDetect.cpp b/Common/ArmCPUDetect.cpp
|
||||
index 437bd3158..d46cf19db 100644
|
||||
--- a/Common/ArmCPUDetect.cpp
|
||||
+++ b/Common/ArmCPUDetect.cpp
|
||||
@@ -337,6 +337,13 @@ void CPUInfo::Detect()
|
||||
bNEON = true;
|
||||
bASIMD = true;
|
||||
#endif
|
||||
+
|
||||
+#if PPSSPP_ARCH(ARMV8)
|
||||
+ bNEON = true;
|
||||
+ bASIMD = true;
|
||||
+ bFP = true;
|
||||
+#endif
|
||||
+
|
||||
}
|
||||
|
||||
// Turn the cpu info into a string we can show
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue