aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathaniel Russell <naterussell83@gmail.com>2022-09-10 05:33:29 +0100
committerbedlam <dave@slackbuilds.org>2022-09-10 05:33:29 +0100
commit66c2090a37035613d13d89f158285c70e0295d7c (patch)
tree691722d6d4e7671aa440732e7476bb3bd7cad866
parentd675e69c49114c544833c415b6497f64b010372e (diff)
games/citra: Added ( 3ds Emulator )
Signed-off-by: bedlam <dave@slackbuilds.org>
-rw-r--r--games/citra/README5
-rw-r--r--games/citra/citra.SlackBuild209
-rw-r--r--games/citra/citra.info52
-rw-r--r--games/citra/doinst.sh9
-rw-r--r--games/citra/qt-config.ini555
-rw-r--r--games/citra/slack-desc19
6 files changed, 849 insertions, 0 deletions
diff --git a/games/citra/README b/games/citra/README
new file mode 100644
index 0000000000000..55ae9aeb6ccc3
--- /dev/null
+++ b/games/citra/README
@@ -0,0 +1,5 @@
+Citra is an open-source emulator for the Nintendo 3DS capable of
+playing many of your favorite games.
+
+The emulator is capable of running most commercial games at full
+speed, provided you meet the necessary hardware requirements.
diff --git a/games/citra/citra.SlackBuild b/games/citra/citra.SlackBuild
new file mode 100644
index 0000000000000..46c8ad8398ab8
--- /dev/null
+++ b/games/citra/citra.SlackBuild
@@ -0,0 +1,209 @@
+#!/bin/bash
+
+# Slackware build script for citra
+
+# Copyright 2022 Nathaniel Russell <Texas, USA>
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PRGNAM=citra
+SRCNAM=$PRGNAM-nightly-nightly
+PRGVER=${PRGVER:-"1784"}
+VERSION=${VERSION:-0.1784}
+BOOST=${BOOST:-36603a1e665e849d29b1735a12c0a51284a10dd0}
+CATCH=${CATCH:-c4e3767e265808590986d5db6ca1b5532a7f3d13}
+CPPJWT=${CPPJWT:-e12ef06218596b52d9b5d6e1639484866a8e7067}
+CRYPTOPP=${CRYPTOPP:-f2102243e6fdd48c0b2a393a0993cca228f20573}
+CUBEB=${CUBEB:-1d66483ad2b93f0e00e175f9480c771af90003a7}
+DISCORDRPC=${DISCORDRPC:-963aa9f3e5ce81a4682c6ca3d136cddda614db33}
+DYNARMIC=${DYNARMIC:-9f88f234a180a5e8d5620b4803c971fb6dc2d9f2}
+ENET=${ENET:-498b9e3571c2e096d7143c3c76852c5ec28d7885}
+EXTSOUNDTOUCH=${EXTSOUNDTOUCH:-060181eaf273180d3a7e87349895bd0cb6ccbf4a}
+FMTLIB=${FMTLIB:-cc09f1a6798c085c325569ef466bcdcffdc266d4}
+GOOGLETEST=${GOOGLETEST:-800f5422ac9d9e0ad59cd860a2ef3a679588acb4}
+INIH=${INIH:-1e80a47dffbda813604f0913e2ad68c7054c14e4}
+LIBRESSL=${LIBRESSL:-8929f818fd748fd31a34fec7c04558399e13014a}
+LIBUSB=${LIBUSB:-c6a35c56016ea2ab2f19115d2ea1e85e0edae155}
+LIBYUV=${LIBYUV:-19d71f6b351fe992ae34b114eebd872c383a6bdb}
+LODEPNG=${LODEPNG:-31d9704fdcca0b68fb9656d4764fa0fb60e460c2}
+NIHSTRO=${NIHSTRO:-fd69de1a1b960ec296cc67d32257b0f9e2d89ac6}
+SANITIZERSCMAKE=${SANITIZERSCMAKE:-aab6948fa863bc1cbe5d0850bc46b9ef02ed4c1a}
+TEAKRA=${TEAKRA:-01db7cdd00aabcce559a8dddce8798dabb71949b}
+XBYAK=${XBYAK:-c306b8e5786eeeb87b8925a8af5c3bf057ff5a90}
+ZSTD=${ZSTD:-97a3da1df009d4dc67251de0c4b1c9d7fe286fc1}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+DEPS=$TMP/$SRCNAM-$PRGVER/externals
+
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $SRCNAM-$PRGVER
+tar xvf $CWD/$SRCNAM-$PRGVER.tar.?z
+
+# citra has quite a few external dependencies, we need to extract them to the correct location.
+tar xvf $CWD/boost-$BOOST.tar.gz -C \
+ $DEPS/boost --strip-components 1
+tar xvf $CWD/catch-$CATCH.tar.gz -C \
+ $DEPS/catch --strip-components 1
+tar xvf $CWD/cpp-jwt-$CPPJWT.tar.gz -C \
+ $DEPS/cpp-jwt --strip-components 1
+tar xvf $CWD/cryptopp-$CRYPTOPP.tar.gz -C \
+ $DEPS/cryptopp/cryptopp --strip-components 1
+tar xvf $CWD/cubeb-$CUBEB.tar.gz -C \
+ $DEPS/cubeb --strip-components 1
+tar xvf $CWD/googletest-$GOOGLETEST.tar.gz -C \
+ $DEPS/cubeb/googletest --strip-components 1
+tar xvf $CWD/discord-rpc-$DISCORDRPC.tar.gz -C \
+ $DEPS/discord-rpc --strip-components 1
+tar xvf $CWD/dynarmic-$DYNARMIC.tar.gz -C \
+ $DEPS/dynarmic --strip-components 1
+tar xvf $CWD/enet-$ENET.tar.gz -C \
+ $DEPS/enet --strip-components 1
+tar xvf $CWD/ext-soundtouch-$EXTSOUNDTOUCH.tar.gz -C \
+ $DEPS/soundtouch --strip-components 1
+tar xvf $CWD/fmtlib-$FMTLIB.tar.gz -C \
+ $DEPS/fmt --strip-components 1
+tar xvf $CWD/inih-$INIH.tar.gz -C \
+ $DEPS/inih/inih --strip-components 1
+tar xvf $CWD/libressl-portable-$LIBRESSL.tar.gz -C \
+ $DEPS/libressl --strip-components 1
+tar xvf $CWD/libusb-$LIBUSB.tar.gz -C \
+ $DEPS/libusb/libusb --strip-components 1
+tar xvf $CWD/libyuv-$LIBYUV.tar.gz -C \
+ $DEPS/libyuv --strip-components 1
+tar xvf $CWD/lodepng-$LODEPNG.tar.gz -C \
+ $DEPS/lodepng/lodepng --strip-components 1
+tar xvf $CWD/nihstro-$NIHSTRO.tar.gz -C \
+ $DEPS/nihstro --strip-components 1
+tar xvf $CWD/sanitizers-cmake-$SANITIZERSCMAKE.tar.gz -C \
+ $DEPS/cubeb/cmake/sanitizers-cmake --strip-components 1
+tar xvf $CWD/teakra-$TEAKRA.tar.gz -C \
+ $DEPS/teakra --strip-components 1
+tar xvf $CWD/xbyak-$XBYAK.tar.gz -C \
+ $DEPS/xbyak --strip-components 1
+tar xvf $CWD/zstd-$ZSTD.tar.gz -C \
+ $DEPS/zstd --strip-components 1
+
+# citra checks for external components by checking for their .git files.
+# Since these are not included when we downloaded the commit tarballs, we'll create them.
+echo "gitdir: ../../.git/modules/boost" > $DEPS/boost/.git
+echo "gitdir: ../../.git/modules/catch" > $DEPS/catch/.git
+echo "gitdir: ../../.git/modules/cpp-jwt" > $DEPS/cpp-jwt/.git
+echo "gitdir: ../../.git/modules/cryptopp" > $DEPS/cryptopp/cryptopp/.git
+echo "gitdir: ../../.git/modules/cubeb" > $DEPS/cubeb/.git
+echo "gitdir: ../../.git/modules/discord-rpc" > $DEPS/discord-rpc/.git
+echo "gitdir: ../../.git/modules/dynarmic" > $DEPS/dynarmic/.git
+echo "gitdir: ../../.git/modules/enet" > $DEPS/enet/.git
+echo "gitdir: ../../.git/modules/soundtouch" > $DEPS/soundtouch/.git
+echo "gitdir: ../../.git/modules/fmt" > $DEPS/fmt/.git
+echo "gitdir: ../../../.git/modules/inih" > $DEPS/inih/inih/.git
+echo "gitdir: ../../.git/modules/libressl" > $DEPS/libressl/.git
+echo "gitdir: ../../../.git/modules/libusb" > $DEPS/libusb/libusb/.git
+echo "gitdir: ../../.git/modules/libyuv" > $DEPS/libyuv/.git
+echo "gitdir: ../../../.git/modules/lodepng" > $DEPS/lodepng/lodepng/.git
+echo "gitdir: ../../.git/modules/nihstro" > $DEPS/nihstro/.git
+echo "gitdir: ../../.git/modules/teakra" > $DEPS/teakra/.git
+echo "gitdir: ../../.git/modules/xbyak" > $DEPS/xbyak/.git
+echo "gitdir: ../../.git/modules/zstd" > $DEPS/zstd/.git
+
+cd $PRGNAM-nightly-nightly-$PRGVER
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+mkdir -p build
+cd build
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DCMAKE_BUILD_TYPE=Release ..
+ make
+ make install/strip DESTDIR=$PKG
+cd ..
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mv $PKG/usr/share/man $PKG/usr
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+# Install hicolor
+for size in $(find /usr/share/icons/hicolor -type d -mindepth 1 -maxdepth 1 -exec basename {} \;); do
+ if [ -d assets/unix-icons/hicolor/${size} ]; then
+ cp -a assets/unix-icons/hicolor/${size} $PKG/usr/share/icons/hicolor/${size}
+ fi
+done
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ CONTRIBUTING* README* license.txt \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/qt-config.ini > $PKG/usr/doc/$PRGNAM-$VERSION/qt-config.ini.sample
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/games/citra/citra.info b/games/citra/citra.info
new file mode 100644
index 0000000000000..da5511ea49226
--- /dev/null
+++ b/games/citra/citra.info
@@ -0,0 +1,52 @@
+PRGNAM="citra"
+VERSION="0.1784"
+HOMEPAGE="https://citra-emu.org/"
+DOWNLOAD="UNSUPPORTED"
+MD5SUM=""
+DOWNLOAD_x86_64="https://github.com/citra-emu/ext-boost/archive/36603a1e665e849d29b1735a12c0a51284a10dd0/boost-36603a1e665e849d29b1735a12c0a51284a10dd0.tar.gz \
+ https://github.com/catchorg/Catch2/archive/c4e3767e265808590986d5db6ca1b5532a7f3d13/catch-c4e3767e265808590986d5db6ca1b5532a7f3d13.tar.gz \
+ https://github.com/citra-emu/citra-nightly/archive/nightly-1784/citra-nightly-nightly-1784.tar.gz \
+ https://github.com/arun11299/cpp-jwt/archive/e12ef06218596b52d9b5d6e1639484866a8e7067/cpp-jwt-e12ef06218596b52d9b5d6e1639484866a8e7067.tar.gz \
+ https://github.com/weidai11/cryptopp/archive/f2102243e6fdd48c0b2a393a0993cca228f20573/cryptopp-f2102243e6fdd48c0b2a393a0993cca228f20573.tar.gz \
+ https://github.com/kinetiknz/cubeb/archive/1d66483ad2b93f0e00e175f9480c771af90003a7/cubeb-1d66483ad2b93f0e00e175f9480c771af90003a7.tar.gz \
+ https://github.com/yuzu-emu/discord-rpc/archive/963aa9f3e5ce81a4682c6ca3d136cddda614db33/discord-rpc-963aa9f3e5ce81a4682c6ca3d136cddda614db33.tar.gz \
+ https://github.com/citra-emu/dynarmic/archive/9f88f234a180a5e8d5620b4803c971fb6dc2d9f2/dynarmic-9f88f234a180a5e8d5620b4803c971fb6dc2d9f2.tar.gz \
+ https://github.com/lsalzman/enet/archive/498b9e3571c2e096d7143c3c76852c5ec28d7885/enet-498b9e3571c2e096d7143c3c76852c5ec28d7885.tar.gz \
+ https://github.com/citra-emu/ext-soundtouch/archive/060181eaf273180d3a7e87349895bd0cb6ccbf4a/ext-soundtouch-060181eaf273180d3a7e87349895bd0cb6ccbf4a.tar.gz \
+ https://github.com/fmtlib/fmt/archive/cc09f1a6798c085c325569ef466bcdcffdc266d4/fmtlib-cc09f1a6798c085c325569ef466bcdcffdc266d4.tar.gz \
+ https://github.com/google/googletest/archive/800f5422ac9d9e0ad59cd860a2ef3a679588acb4/googletest-800f5422ac9d9e0ad59cd860a2ef3a679588acb4.tar.gz \
+ https://github.com/benhoyt/inih/archive/1e80a47dffbda813604f0913e2ad68c7054c14e4/inih-1e80a47dffbda813604f0913e2ad68c7054c14e4.tar.gz \
+ https://github.com/citra-emu/ext-libressl-portable/archive/8929f818fd748fd31a34fec7c04558399e13014a/libressl-portable-8929f818fd748fd31a34fec7c04558399e13014a.tar.gz \
+ https://github.com/libusb/libusb/archive/c6a35c56016ea2ab2f19115d2ea1e85e0edae155/libusb-c6a35c56016ea2ab2f19115d2ea1e85e0edae155.tar.gz \
+ https://github.com/lemenkov/libyuv/archive/19d71f6b351fe992ae34b114eebd872c383a6bdb/libyuv-19d71f6b351fe992ae34b114eebd872c383a6bdb.tar.gz \
+ https://github.com/lvandeve/lodepng/archive/31d9704fdcca0b68fb9656d4764fa0fb60e460c2/lodepng-31d9704fdcca0b68fb9656d4764fa0fb60e460c2.tar.gz \
+ https://github.com/neobrain/nihstro/archive/fd69de1a1b960ec296cc67d32257b0f9e2d89ac6/nihstro-fd69de1a1b960ec296cc67d32257b0f9e2d89ac6.tar.gz \
+ https://github.com/arsenm/sanitizers-cmake/archive/aab6948fa863bc1cbe5d0850bc46b9ef02ed4c1a/sanitizers-cmake-aab6948fa863bc1cbe5d0850bc46b9ef02ed4c1a.tar.gz \
+ https://github.com/wwylele/teakra/archive/01db7cdd00aabcce559a8dddce8798dabb71949b/teakra-01db7cdd00aabcce559a8dddce8798dabb71949b.tar.gz \
+ https://github.com/herumi/xbyak/archive/c306b8e5786eeeb87b8925a8af5c3bf057ff5a90/xbyak-c306b8e5786eeeb87b8925a8af5c3bf057ff5a90.tar.gz \
+ https://github.com/facebook/zstd/archive/97a3da1df009d4dc67251de0c4b1c9d7fe286fc1/zstd-97a3da1df009d4dc67251de0c4b1c9d7fe286fc1.tar.gz"
+MD5SUM_x86_64="fa265e0a76b6f09d43d4c0b19636ef15 \
+ 235536413d9d70ff956e014935d8a95e \
+ 6ff4f0ca2aa14c62cfbe703da8bfcb71 \
+ aaedf57982eb620c232238b87d136a2c \
+ a028163a91b5c6cb8212780171cd62de \
+ 9ef7db1c92b99eb7b6888ebf7fb5e569 \
+ 8e479c0b0af279df39e68188510e8715 \
+ 24b1d0e61fb59f347514c8ec41446ec1 \
+ 9ff1d9420e8251297a513a405e1923ac \
+ d11181250ea5119cd4cd43693e00ced8 \
+ 4d81f1ab58831f9787bf1f0fdf10fd73 \
+ b0b23c6e3137c995ed842b6fbae37e7b \
+ ebe3151002aac5d1c1999329d0d21315 \
+ 390d2b55703008acb8eceab019002581 \
+ 5b925726fb0e8c901b67b54f6042dbfb \
+ f45e22aac3e3345a1224345c21ebfb8d \
+ 88262b7d2aaacde68e1d1e040e2364c2 \
+ 496cca29e17d0b2c5b4f60142eb19297 \
+ 0492fedbd255d1d831db432c2578a0c1 \
+ 6dda693557776e2b77be1f91c0e318bf \
+ 2a7204a58bd1cbc6bb99260efa8d3081 \
+ e20c7e3e7c20bc9f51bbc2f7820e794b"
+REQUIRES=""
+MAINTAINER="Nathaniel Russell"
+EMAIL="naterussell83@gmail.com"
diff --git a/games/citra/doinst.sh b/games/citra/doinst.sh
new file mode 100644
index 0000000000000..3e5691a052b5b
--- /dev/null
+++ b/games/citra/doinst.sh
@@ -0,0 +1,9 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
+
+if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
+ if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
+ fi
+fi
diff --git a/games/citra/qt-config.ini b/games/citra/qt-config.ini
new file mode 100644
index 0000000000000..18d685a51e817
--- /dev/null
+++ b/games/citra/qt-config.ini
@@ -0,0 +1,555 @@
+[Audio]
+enable_audio_stretching=true
+enable_audio_stretching\default=true
+enable_dsp_lle=false
+enable_dsp_lle\default=true
+enable_dsp_lle_multithread=false
+enable_dsp_lle_multithread\default=true
+mic_input_device=Default
+mic_input_device\default=true
+mic_input_type=1
+mic_input_type\default=false
+output_device=auto
+output_device\default=true
+output_engine=auto
+output_engine\default=true
+volume=@Variant(\0\0\0\x87?\x80\0\0)
+volume\default=true
+
+[Camera]
+camera_inner_config=
+camera_inner_config\default=true
+camera_inner_flip=0
+camera_inner_flip\default=true
+camera_inner_name=blank
+camera_inner_name\default=true
+camera_outer_left_config=
+camera_outer_left_config\default=true
+camera_outer_left_flip=0
+camera_outer_left_flip\default=true
+camera_outer_left_name=blank
+camera_outer_left_name\default=true
+camera_outer_right_config=
+camera_outer_right_config\default=true
+camera_outer_right_flip=0
+camera_outer_right_flip\default=true
+camera_outer_right_name=blank
+camera_outer_right_name\default=true
+
+[Controls]
+profile=1
+profile\default=false
+profiles\1\button_a="button:0,engine:sdl,guid:030000005e0400008e02000009010000,port:0"
+profiles\1\button_a\default=false
+profiles\1\button_b="button:1,engine:sdl,guid:030000005e0400008e02000009010000,port:0"
+profiles\1\button_b\default=false
+profiles\1\button_debug="code:79,engine:keyboard"
+profiles\1\button_debug\default=true
+profiles\1\button_down="direction:down,engine:sdl,guid:03000000de280000ff11000001000000,hat:0,port:0"
+profiles\1\button_down\default=false
+profiles\1\button_gpio14="code:80,engine:keyboard"
+profiles\1\button_gpio14\default=true
+profiles\1\button_home="code:66,engine:keyboard"
+profiles\1\button_home\default=true
+profiles\1\button_l="axis:2,direction:+,engine:sdl,guid:03000000de280000ff11000001000000,port:0,threshold:0.5"
+profiles\1\button_l\default=false
+profiles\1\button_left="direction:left,engine:sdl,guid:03000000de280000ff11000001000000,hat:0,port:0"
+profiles\1\button_left\default=false
+profiles\1\button_r="axis:5,direction:+,engine:sdl,guid:03000000de280000ff11000001000000,port:0,threshold:0.5"
+profiles\1\button_r\default=false
+profiles\1\button_right="direction:right,engine:sdl,guid:03000000de280000ff11000001000000,hat:0,port:0"
+profiles\1\button_right\default=false
+profiles\1\button_select="button:6,engine:sdl,guid:030000005e0400008e02000009010000,port:0"
+profiles\1\button_select\default=false
+profiles\1\button_start="button:7,engine:sdl,guid:030000005e0400008e02000009010000,port:0"
+profiles\1\button_start\default=false
+profiles\1\button_up="direction:up,engine:sdl,guid:03000000de280000ff11000001000000,hat:0,port:0"
+profiles\1\button_up\default=false
+profiles\1\button_x="button:2,engine:sdl,guid:030000005e0400008e02000009010000,port:0"
+profiles\1\button_x\default=false
+profiles\1\button_y="button:2,engine:sdl,guid:03000000de280000ff11000001000000,port:0"
+profiles\1\button_y\default=false
+profiles\1\button_zl="button:4,engine:sdl,guid:03000000de280000ff11000001000000,port:0"
+profiles\1\button_zl\default=false
+profiles\1\button_zr="button:5,engine:sdl,guid:03000000de280000ff11000001000000,port:0"
+profiles\1\button_zr\default=false
+profiles\1\c_stick="down:axis$01$1direction$0+$1engine$0sdl$1guid$0030000005e0400008e02000009010000$1port$00$1threshold$00.5,engine:analog_from_button,left:axis$00$1direction$0-$1engine$0sdl$1guid$0030000005e0400008e02000009010000$1port$00$1threshold$0-0.5,modifier_scale:0.500000,right:axis$00$1direction$0+$1engine$0sdl$1guid$0030000005e0400008e02000009010000$1port$00$1threshold$00.5,up:axis$01$1direction$0-$1engine$0sdl$1guid$0030000005e0400008e02000009010000$1port$00$1threshold$0-0.5"
+profiles\1\c_stick\default=false
+profiles\1\circle_pad="down:axis$04$1direction$0+$1engine$0sdl$1guid$0030000005e0400008e02000009010000$1port$00$1threshold$00.5,engine:analog_from_button,left:axis$03$1direction$0-$1engine$0sdl$1guid$0030000005e0400008e02000009010000$1port$00$1threshold$0-0.5,modifier_scale:0.500000,right:axis$03$1direction$0+$1engine$0sdl$1guid$0030000005e0400008e02000009010000$1port$00$1threshold$00.5,up:axis$04$1direction$0-$1engine$0sdl$1guid$0030000005e0400008e02000009010000$1port$00$1threshold$0-0.5"
+profiles\1\circle_pad\default=false
+profiles\1\motion_device=engine:cemuhookudp
+profiles\1\motion_device\default=false
+profiles\1\name=default
+profiles\1\name\default=true
+profiles\1\touch_device=engine:emu_window
+profiles\1\touch_device\default=true
+profiles\1\touch_from_button_map=0
+profiles\1\touch_from_button_map\default=true
+profiles\1\udp_input_address=127.0.0.1
+profiles\1\udp_input_address\default=true
+profiles\1\udp_input_port=26760
+profiles\1\udp_input_port\default=true
+profiles\1\udp_pad_index=0
+profiles\1\udp_pad_index\default=true
+profiles\1\use_touch_from_button=false
+profiles\1\use_touch_from_button\default=true
+profiles\2\button_a="button:0,engine:sdl,guid:030000005e0400008e02000009010000,port:0"
+profiles\2\button_a\default=false
+profiles\2\button_b="button:1,engine:sdl,guid:030000005e0400008e02000009010000,port:0"
+profiles\2\button_b\default=false
+profiles\2\button_debug="code:79,engine:keyboard"
+profiles\2\button_debug\default=true
+profiles\2\button_down="direction:down,engine:sdl,guid:03000000de280000ff11000001000000,hat:0,port:0"
+profiles\2\button_down\default=false
+profiles\2\button_gpio14="code:80,engine:keyboard"
+profiles\2\button_gpio14\default=true
+profiles\2\button_home="code:66,engine:keyboard"
+profiles\2\button_home\default=true
+profiles\2\button_l="button:4,engine:sdl,guid:030000005e0400008e02000009010000,port:0"
+profiles\2\button_l\default=false
+profiles\2\button_left="direction:left,engine:sdl,guid:03000000de280000ff11000001000000,hat:0,port:0"
+profiles\2\button_left\default=false
+profiles\2\button_r="button:5,engine:sdl,guid:030000005e0400008e02000009010000,port:0"
+profiles\2\button_r\default=false
+profiles\2\button_right="direction:right,engine:sdl,guid:03000000de280000ff11000001000000,hat:0,port:0"
+profiles\2\button_right\default=false
+profiles\2\button_select="button:6,engine:sdl,guid:030000005e0400008e02000009010000,port:0"
+profiles\2\button_select\default=false
+profiles\2\button_start="button:7,engine:sdl,guid:03000000de280000ff11000001000000,port:0"
+profiles\2\button_start\default=false
+profiles\2\button_up="direction:up,engine:sdl,guid:03000000de280000ff11000001000000,hat:0,port:0"
+profiles\2\button_up\default=false
+profiles\2\button_x="button:2,engine:sdl,guid:030000005e0400008e02000009010000,port:0"
+profiles\2\button_x\default=false
+profiles\2\button_y="button:3,engine:sdl,guid:030000005e0400008e02000009010000,port:0"
+profiles\2\button_y\default=false
+profiles\2\button_zl="axis:2,direction:+,engine:sdl,guid:030000005e0400008e02000009010000,port:0,threshold:0.5"
+profiles\2\button_zl\default=false
+profiles\2\button_zr="axis:5,direction:+,engine:sdl,guid:030000005e0400008e02000009010000,port:0,threshold:0.5"
+profiles\2\button_zr\default=false
+profiles\2\c_stick="down:axis$01$1direction$0+$1engine$0sdl$1guid$0030000005e0400008e02000009010000$1port$00$1threshold$00.5,engine:analog_from_button,left:axis$00$1direction$0-$1engine$0sdl$1guid$0030000005e0400008e02000009010000$1port$00$1threshold$0-0.5,modifier_scale:0.500000,right:axis$00$1direction$0+$1engine$0sdl$1guid$0030000005e0400008e02000009010000$1port$00$1threshold$00.5,up:axis$01$1direction$0-$1engine$0sdl$1guid$0030000005e0400008e02000009010000$1port$00$1threshold$0-0.5"
+profiles\2\c_stick\default=false
+profiles\2\circle_pad="down:axis$04$1direction$0+$1engine$0sdl$1guid$0030000005e0400008e02000009010000$1port$00$1threshold$00.5,engine:analog_from_button,left:axis$03$1direction$0-$1engine$0sdl$1guid$0030000005e0400008e02000009010000$1port$00$1threshold$0-0.5,modifier_scale:0.500000,right:axis$03$1direction$0+$1engine$0sdl$1guid$0030000005e0400008e02000009010000$1port$00$1threshold$00.5,up:axis$04$1direction$0-$1engine$0sdl$1guid$0030000005e0400008e02000009010000$1port$00$1threshold$0-0.5"
+profiles\2\circle_pad\default=false
+profiles\2\motion_device=engine:cemuhookudp
+profiles\2\motion_device\default=false
+profiles\2\name=SD-Default
+profiles\2\name\default=false
+profiles\2\touch_device=engine:emu_window
+profiles\2\touch_device\default=true
+profiles\2\touch_from_button_map=0
+profiles\2\touch_from_button_map\default=true
+profiles\2\udp_input_address=127.0.0.1
+profiles\2\udp_input_address\default=true
+profiles\2\udp_input_port=26760
+profiles\2\udp_input_port\default=true
+profiles\2\udp_pad_index=0
+profiles\2\udp_pad_index\default=true
+profiles\2\use_touch_from_button=false
+profiles\2\use_touch_from_button\default=true
+profiles\size=2
+touch_from_button_maps\1\entries\size=0
+touch_from_button_maps\1\name=default
+touch_from_button_maps\1\name\default=true
+touch_from_button_maps\size=1
+
+[Core]
+cpu_clock_percentage=100
+cpu_clock_percentage\default=true
+use_cpu_jit=true
+use_cpu_jit\default=true
+
+[Data%20Storage]
+nand_directory=/home/nate/.local/share/citra-emu/nand/
+nand_directory\default=true
+sdmc_directory=/home/nate/.local/share/citra-emu/sdmc/
+sdmc_directory\default=true
+use_virtual_sd=true
+use_virtual_sd\default=true
+
+[Debugging]
+LLE\AC=false
+LLE\AC\default=true
+LLE\ACT=false
+LLE\ACT\default=true
+LLE\AM=false
+LLE\AM\default=true
+LLE\BOSS=false
+LLE\BOSS\default=true
+LLE\CAM=false
+LLE\CAM\default=true
+LLE\CDC=false
+LLE\CDC\default=true
+LLE\CECD=false
+LLE\CECD\default=true
+LLE\CFG=false
+LLE\CFG\default=true
+LLE\CSND=false
+LLE\CSND\default=true
+LLE\DLP=false
+LLE\DLP\default=true
+LLE\DSP=false
+LLE\DSP\default=true
+LLE\ERR=false
+LLE\ERR\default=true
+LLE\FRD=false
+LLE\FRD\default=true
+LLE\FS=false
+LLE\FS\default=true
+LLE\GPIO=false
+LLE\GPIO\default=true
+LLE\GSP=false
+LLE\GSP\default=true
+LLE\HID=false
+LLE\HID\default=true
+LLE\HTTP=false
+LLE\HTTP\default=true
+LLE\I2C=false
+LLE\I2C\default=true
+LLE\IR=false
+LLE\IR\default=true
+LLE\LDR=false
+LLE\LDR\default=true
+LLE\MCU=false
+LLE\MCU\default=true
+LLE\MIC=false
+LLE\MIC\default=true
+LLE\MP=false
+LLE\MP\default=true
+LLE\MVD=false
+LLE\MVD\default=true
+LLE\NDM=false
+LLE\NDM\default=true
+LLE\NEWS=false
+LLE\NEWS\default=true
+LLE\NFC=false
+LLE\NFC\default=true
+LLE\NIM=false
+LLE\NIM\default=true
+LLE\NS=false
+LLE\NS\default=true
+LLE\NWM=false
+LLE\NWM\default=true
+LLE\PDN=false
+LLE\PDN\default=true
+LLE\PM=false
+LLE\PM\default=true
+LLE\PS=false
+LLE\PS\default=true
+LLE\PTM=false
+LLE\PTM\default=true
+LLE\PXI=false
+LLE\PXI\default=true
+LLE\QTM=false
+LLE\QTM\default=true
+LLE\SOC=false
+LLE\SOC\default=true
+LLE\SPI=false
+LLE\SPI\default=true
+LLE\SSL=false
+LLE\SSL\default=true
+gdbstub_port=24689
+gdbstub_port\default=true
+record_frame_times=false
+use_gdbstub=false
+use_gdbstub\default=true
+
+[Layout]
+custom_bottom_bottom=480
+custom_bottom_bottom\default=true
+custom_bottom_left=40
+custom_bottom_left\default=true
+custom_bottom_right=360
+custom_bottom_right\default=true
+custom_bottom_top=240
+custom_bottom_top\default=true
+custom_layout=false
+custom_layout\default=true
+custom_top_bottom=240
+custom_top_bottom\default=true
+custom_top_left=0
+custom_top_left\default=true
+custom_top_right=400
+custom_top_right\default=true
+custom_top_top=0
+custom_top_top\default=true
+factor_3d=0
+factor_3d\default=true
+filter_mode=true
+filter_mode\default=true
+layout_option=2
+pp_shader_name=none (builtin)
+pp_shader_name\default=true
+render_3d=0
+render_3d\default=true
+swap_screen=false
+swap_screen\default=true
+upright_screen=false
+upright_screen\default=true
+
+[Miscellaneous]
+log_filter=*:Info
+log_filter\default=true
+
+[Renderer]
+bg_blue=0
+bg_blue\default=true
+bg_green=0
+bg_green\default=true
+bg_red=0
+bg_red\default=true
+frame_limit=100
+frame_limit\default=true
+frame_limit_alternate=200
+frame_limit_alternate\default=true
+resolution_factor=2
+resolution_factor\default=false
+shaders_accurate_mul=false
+shaders_accurate_mul\default=false
+texture_filter_name=none
+texture_filter_name\default=true
+use_disk_shader_cache=true
+use_disk_shader_cache\default=true
+use_frame_limit_alternate=false
+use_frame_limit_alternate\default=true
+use_hw_renderer=true
+use_hw_renderer\default=true
+use_hw_shader=true
+use_hw_shader\default=true
+use_shader_jit=true
+use_shader_jit\default=true
+use_vsync_new=true
+use_vsync_new\default=true
+
+[System]
+init_clock=0
+init_clock\default=true
+init_time=946681277
+init_time\default=true
+is_new_3ds=true
+is_new_3ds\default=true
+region_value=-1
+region_value\default=true
+
+[UI]
+GameList\hideNoIcon=false
+GameList\hideNoIcon\default=true
+GameList\iconSize=2
+GameList\iconSize\default=true
+GameList\row1=2
+GameList\row1\default=true
+GameList\row2=0
+GameList\row2\default=true
+GameList\singleLineMode=false
+GameList\singleLineMode\default=true
+Multiplayer\game_id=0
+Multiplayer\game_id\default=true
+Multiplayer\host_type=0
+Multiplayer\host_type\default=true
+Multiplayer\ip=
+Multiplayer\ip\default=true
+Multiplayer\ip_ban_list\size=0
+Multiplayer\max_player=8
+Multiplayer\max_player\default=true
+Multiplayer\nickname=
+Multiplayer\nickname\default=true
+Multiplayer\port=24872
+Multiplayer\port\default=true
+Multiplayer\room_description=
+Multiplayer\room_description\default=true
+Multiplayer\room_name=
+Multiplayer\room_name\default=true
+Multiplayer\room_nickname=
+Multiplayer\room_nickname\default=true
+Multiplayer\room_port=24872
+Multiplayer\room_port\default=true
+Multiplayer\username_ban_list\size=0
+Paths\gamedirs\1\deep_scan=false
+Paths\gamedirs\1\deep_scan\default=true
+Paths\gamedirs\1\expanded=true
+Paths\gamedirs\1\expanded\default=true
+Paths\gamedirs\1\path=INSTALLED
+Paths\gamedirs\2\deep_scan=false
+Paths\gamedirs\2\deep_scan\default=true
+Paths\gamedirs\2\expanded=true
+Paths\gamedirs\2\expanded\default=true
+Paths\gamedirs\2\path=SYSTEM
+Paths\gamedirs\3\deep_scan=false
+Paths\gamedirs\3\deep_scan\default=true
+Paths\gamedirs\3\expanded=true
+Paths\gamedirs\3\expanded\default=true
+Paths\gamedirs\3\path=/mnt/roms/3ds
+Paths\gamedirs\size=3
+Paths\language=en
+Paths\language\default=false
+Paths\moviePlaybackPath=
+Paths\movieRecordPath=
+Paths\recentFiles="/mnt/roms/3ds/3DS0004 - The Legend Of Zelda Ocarina Of Time 3D (Europe)(En,Fr,Ge,It,Es).3ds", %f, "/mnt/roms/3ds/3DS0008 - Resident Evil The Mercenaries 3D (Europe)(En,Fr,Ge,it,Es).3ds",
+Paths\romsPath=
+Paths\screenshotPath=/home/nate/.local/share/citra-emu/screenshots/
+Paths\symbolsPath=
+Paths\videoDumpingPath=
+Shortcuts\Main%20Window\Advance%20Frame\Context=2
+Shortcuts\Main%20Window\Advance%20Frame\Context\default=true
+Shortcuts\Main%20Window\Advance%20Frame\KeySeq=\\
+Shortcuts\Main%20Window\Advance%20Frame\KeySeq\default=true
+Shortcuts\Main%20Window\Capture%20Screenshot\Context=2
+Shortcuts\Main%20Window\Capture%20Screenshot\Context\default=true
+Shortcuts\Main%20Window\Capture%20Screenshot\KeySeq=Ctrl+P
+Shortcuts\Main%20Window\Capture%20Screenshot\KeySeq\default=true
+Shortcuts\Main%20Window\Continue\Pause%20Emulation\Context=1
+Shortcuts\Main%20Window\Continue\Pause%20Emulation\Context\default=true
+Shortcuts\Main%20Window\Continue\Pause%20Emulation\KeySeq=F4
+Shortcuts\Main%20Window\Continue\Pause%20Emulation\KeySeq\default=true
+Shortcuts\Main%20Window\Decrease%20Speed%20Limit\Context=2
+Shortcuts\Main%20Window\Decrease%20Speed%20Limit\Context\default=true
+Shortcuts\Main%20Window\Decrease%20Speed%20Limit\KeySeq=-
+Shortcuts\Main%20Window\Decrease%20Speed%20Limit\KeySeq\default=true
+Shortcuts\Main%20Window\Exit%20Citra\Context=1
+Shortcuts\Main%20Window\Exit%20Citra\Context\default=true
+Shortcuts\Main%20Window\Exit%20Citra\KeySeq=X
+Shortcuts\Main%20Window\Exit%20Citra\KeySeq\default=false
+Shortcuts\Main%20Window\Exit%20Fullscreen\Context=1
+Shortcuts\Main%20Window\Exit%20Fullscreen\Context\default=true
+Shortcuts\Main%20Window\Exit%20Fullscreen\KeySeq=Esc
+Shortcuts\Main%20Window\Exit%20Fullscreen\KeySeq\default=true
+Shortcuts\Main%20Window\Fullscreen\Context=1
+Shortcuts\Main%20Window\Fullscreen\Context\default=true
+Shortcuts\Main%20Window\Fullscreen\KeySeq=F
+Shortcuts\Main%20Window\Fullscreen\KeySeq\default=false
+Shortcuts\Main%20Window\Increase%20Speed%20Limit\Context=2
+Shortcuts\Main%20Window\Increase%20Speed%20Limit\Context\default=true
+Shortcuts\Main%20Window\Increase%20Speed%20Limit\KeySeq=+
+Shortcuts\Main%20Window\Increase%20Speed%20Limit\KeySeq\default=true
+Shortcuts\Main%20Window\Load%20Amiibo\Context=2
+Shortcuts\Main%20Window\Load%20Amiibo\Context\default=true
+Shortcuts\Main%20Window\Load%20Amiibo\KeySeq=F2
+Shortcuts\Main%20Window\Load%20Amiibo\KeySeq\default=true
+Shortcuts\Main%20Window\Load%20File\Context=1
+Shortcuts\Main%20Window\Load%20File\Context\default=true
+Shortcuts\Main%20Window\Load%20File\KeySeq=Shift+K
+Shortcuts\Main%20Window\Load%20File\KeySeq\default=false
+Shortcuts\Main%20Window\Load%20from%20Newest%20Slot\Context=1
+Shortcuts\Main%20Window\Load%20from%20Newest%20Slot\Context\default=true
+Shortcuts\Main%20Window\Load%20from%20Newest%20Slot\KeySeq=Ctrl+V
+Shortcuts\Main%20Window\Load%20from%20Newest%20Slot\KeySeq\default=true
+Shortcuts\Main%20Window\Remove%20Amiibo\Context=2
+Shortcuts\Main%20Window\Remove%20Amiibo\Context\default=true
+Shortcuts\Main%20Window\Remove%20Amiibo\KeySeq=F3
+Shortcuts\Main%20Window\Remove%20Amiibo\KeySeq\default=true
+Shortcuts\Main%20Window\Restart%20Emulation\Context=1
+Shortcuts\Main%20Window\Restart%20Emulation\Context\default=true
+Shortcuts\Main%20Window\Restart%20Emulation\KeySeq=F6
+Shortcuts\Main%20Window\Restart%20Emulation\KeySeq\default=true
+Shortcuts\Main%20Window\Rotate%20Screens%20Upright\Context=1
+Shortcuts\Main%20Window\Rotate%20Screens%20Upright\Context\default=true
+Shortcuts\Main%20Window\Rotate%20Screens%20Upright\KeySeq=F8
+Shortcuts\Main%20Window\Rotate%20Screens%20Upright\KeySeq\default=true
+Shortcuts\Main%20Window\Save%20to%20Oldest%20Slot\Context=1
+Shortcuts\Main%20Window\Save%20to%20Oldest%20Slot\Context\default=true
+Shortcuts\Main%20Window\Save%20to%20Oldest%20Slot\KeySeq=Shift+L
+Shortcuts\Main%20Window\Save%20to%20Oldest%20Slot\KeySeq\default=false
+Shortcuts\Main%20Window\Stop%20Emulation\Context=1
+Shortcuts\Main%20Window\Stop%20Emulation\Context\default=true
+Shortcuts\Main%20Window\Stop%20Emulation\KeySeq=F5
+Shortcuts\Main%20Window\Stop%20Emulation\KeySeq\default=true
+Shortcuts\Main%20Window\Swap%20Screens\Context=1
+Shortcuts\Main%20Window\Swap%20Screens\Context\default=true
+Shortcuts\Main%20Window\Swap%20Screens\KeySeq=S
+Shortcuts\Main%20Window\Swap%20Screens\KeySeq\default=false
+Shortcuts\Main%20Window\Toggle%20Alternate%20Speed\Context=2
+Shortcuts\Main%20Window\Toggle%20Alternate%20Speed\Context\default=true
+Shortcuts\Main%20Window\Toggle%20Alternate%20Speed\KeySeq=Ctrl+Z
+Shortcuts\Main%20Window\Toggle%20Alternate%20Speed\KeySeq\default=true
+Shortcuts\Main%20Window\Toggle%20Filter%20Bar\Context=1
+Shortcuts\Main%20Window\Toggle%20Filter%20Bar\Context\default=true
+Shortcuts\Main%20Window\Toggle%20Filter%20Bar\KeySeq=Ctrl+F
+Shortcuts\Main%20Window\Toggle%20Filter%20Bar\KeySeq\default=true
+Shortcuts\Main%20Window\Toggle%20Frame%20Advancing\Context=2
+Shortcuts\Main%20Window\Toggle%20Frame%20Advancing\Context\default=true
+Shortcuts\Main%20Window\Toggle%20Frame%20Advancing\KeySeq=Ctrl+A
+Shortcuts\Main%20Window\Toggle%20Frame%20Advancing\KeySeq\default=true
+Shortcuts\Main%20Window\Toggle%20Screen%20Layout\Context=1
+Shortcuts\Main%20Window\Toggle%20Screen%20Layout\Context\default=true
+Shortcuts\Main%20Window\Toggle%20Screen%20Layout\KeySeq=E
+Shortcuts\Main%20Window\Toggle%20Screen%20Layout\KeySeq\default=false
+Shortcuts\Main%20Window\Toggle%20Status%20Bar\Context=1
+Shortcuts\Main%20Window\Toggle%20Status%20Bar\Context\default=true
+Shortcuts\Main%20Window\Toggle%20Status%20Bar\KeySeq=Ctrl+S
+Shortcuts\Main%20Window\Toggle%20Status%20Bar\KeySeq\default=true
+Shortcuts\Main%20Window\Toggle%20Texture%20Dumping\Context=2
+Shortcuts\Main%20Window\Toggle%20Texture%20Dumping\Context\default=true
+Shortcuts\Main%20Window\Toggle%20Texture%20Dumping\KeySeq=Ctrl+D
+Shortcuts\Main%20Window\Toggle%20Texture%20Dumping\KeySeq\default=true
+UILayout\gameListHeaderState=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\a\x80\0\0\0\x5\x1\x1\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x5\0\0\x2\x80\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\x3\xd4\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\0\0\0\x64)
+UILayout\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\a\x7f\0\0\x4\x13\0\0\x1@\0\0\0\xf3\0\0\x6?\0\0\x3\xe\0\0\0\0\x2\0\0\0\a\x80\0\0\0\0\0\0\0\x1d\0\0\a\x7f\0\0\x4\x13)
+UILayout\geometryRenderWindow=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\x14\0\0\x1\xdf\0\0\x1\xf3\0\0\0\0\0\0\0\x14\0\0\x1\xdf\0\0\x1\xf3\0\0\0\0\0\0\0\0\a\x80\0\0\0\0\0\0\0\x14\0\0\x1\xdf\0\0\x1\xf3)
+UILayout\microProfileDialogGeometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\x14\0\0\x3\xe7\0\0\x2k\0\0\0\0\0\0\0\x14\0\0\x3\xe7\0\0\x2k\0\0\0\0\0\0\0\0\a\x80\0\0\0\0\0\0\0\x14\0\0\x3\xe7\0\0\x2k)
+UILayout\microProfileDialogVisible=false
+UILayout\microProfileDialogVisible\default=true
+UILayout\state=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\0\0\0\0\0\0\0\0\0\xfc\x2\0\0\0\x1\xfb\0\0\0\x1c\0W\0\x61\0i\0t\0T\0r\0\x65\0\x65\0W\0i\0\x64\0g\0\x65\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0y\x1\0\0\x3\0\0\0\x1\0\0\0\0\0\0\0\0\xfc\x2\0\0\0\b\xfb\0\0\0\x18\0\x41\0R\0M\0R\0\x65\0g\0i\0s\0t\0\x65\0r\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x85\x1\0\0\x3\xfb\0\0\0 \0G\0r\0\x61\0p\0h\0i\0\x63\0s\0\x44\0\x65\0\x62\0u\0g\0g\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\0y\x1\0\0\x3\xfb\0\0\0\"\0P\0i\0\x63\0\x61\0 \0\x43\0o\0m\0m\0\x61\0n\0\x64\0 \0L\0i\0s\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0\xad\x1\0\0\x3\xfb\0\0\0*\0P\0i\0\x63\0\x61\0\x42\0r\0\x65\0\x61\0k\0P\0o\0i\0n\0t\0s\0W\0i\0\x64\0g\0\x65\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0\xad\x1\0\0\x3\xfb\0\0\0 \0P\0i\0\x63\0\x61\0V\0\x65\0r\0t\0\x65\0x\0S\0h\0\x61\0\x64\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\x1\xde\x1\0\0\x3\xfb\0\0\0\x12\0\x43\0i\0T\0r\0\x61\0\x63\0i\0n\0g\0\0\0\0\0\xff\xff\xff\xff\0\0\0P\x1\0\0\x3\xfb\0\0\0.\0L\0L\0\x45\0S\0\x65\0r\0v\0i\0\x63\0\x65\0M\0o\0\x64\0u\0l\0\x65\0s\0W\0i\0\x64\0g\0\x65\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0y\x1\0\0\x3\xfb\0\0\0\x16\0I\0P\0\x43\0R\0\x65\0\x63\0o\0r\0\x64\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\0\xef\x1\0\0\x3\0\0\a\x80\0\0\x3\xba\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\0)
+Updater\check_for_update_on_start=true
+Updater\check_for_update_on_start\default=true
+Updater\update_on_close=false
+Updater\update_on_close\default=true
+calloutFlags=1
+calloutFlags\default=false
+confirmClose=false
+confirmClose\default=false
+displayTitleBars=true
+displayTitleBars\default=true
+enable_discord_presence=true
+enable_discord_presence\default=true
+firstStart=false
+firstStart\default=false
+fullscreen=false
+fullscreen\default=true
+hideInactiveMouse=false
+hideInactiveMouse\default=true
+pauseWhenInBackground=false
+pauseWhenInBackground\default=true
+screenshot_resolution_factor=0
+screenshot_resolution_factor\default=true
+showConsole=false
+showConsole\default=true
+showFilterBar=true
+showFilterBar\default=true
+showStatusBar=true
+showStatusBar\default=true
+singleWindowMode=true
+singleWindowMode\default=true
+theme=default
+theme\default=true
+
+[Utility]
+custom_textures=false
+custom_textures\default=true
+dump_textures=false
+dump_textures\default=true
+preload_textures=false
+preload_textures\default=true
+
+[VideoDumping]
+audio_bitrate=64000
+audio_bitrate\default=true
+audio_encoder=libvorbis
+audio_encoder\default=true
+audio_encoder_options=
+audio_encoder_options\default=true
+format_options=
+output_format=webm
+output_format\default=true
+video_bitrate=2500000
+video_bitrate\default=true
+video_encoder=libvpx-vp9
+video_encoder\default=true
+video_encoder_options="quality:realtime,speed:6,tile-columns:4,frame-parallel:1,threads:8,row-mt:1"
+video_encoder_options\default=true
+
+[WebService]
+citra_token=
+citra_username=
+enable_telemetry=false
+enable_telemetry\default=false
+web_api_url=https://api.citra-emu.org
+web_api_url\default=true
diff --git a/games/citra/slack-desc b/games/citra/slack-desc
new file mode 100644
index 0000000000000..4bec0c12dd6b1
--- /dev/null
+++ b/games/citra/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+citra: citra ( 3ds Emulator )
+citra: Citra is an experimental open-source Nintendo 3DS emulator/debugger
+citra: written in C++. It is written with portability in mind, with builds
+citra: actively maintained for Windows, Linux and OS X. Citra only emulates
+citra: a subset of 3DS hardware, and therefore is generally only useful for
+citra: running/debugging homebrew applications.
+citra:
+citra:
+citra:
+citra:
+citra: Homepage: https://citra-emu.org/