#!/bin/bash

if [[ ! -f ${HOME}/.pcsx2/Pcsx2.cfg ]] ; then
	echo You are running PCSX2 for the first time.
	echo Setting up your PCSX2 environment... Please wait...

	mkdir -p "${HOME}"/.pcsx2
	cd "${HOME}"/.pcsx2
	mkdir Bios Docs Plugins host memcards snap

	ln -s "GAMES_BINDIR"/pcsx2.bin pcsx2
	ln -s "GAMES_LIBDIR"/ps2emu/plugins/* Plugins/
	ln -s "GAMES_LIBDIR"/ps2emu/Langs Langs
	ln -s "GAMES_LIBDIR"/ps2emu/cfg cfg

	cd Bios
	if [[ -f GAMES_LIBDIR/ps2emu/bios/scph1001.bin ]] ; then
		ln -s "GAMES_LIBDIR"/ps2emu/bios/scph1001.bin .
		biosname=scph1001.bin
	else
		biosname=HLE
	fi
	cd ..

	firstplugin() { echo $(basename $(ls "$@" | cut -f1 -d\ ) ) 2>/dev/null ; }
	cat > "${HOME}"/.pcsx2/Pcsx2.cfg <<EOF
Bios = $biosname
GS = $(firstplugin Plugins/libGS*)
SPU2 = $(firstplugin Plugins/libSPU2*)
CDVD = $(firstplugin Plugins/libCDVD*)
PAD1 = $(firstplugin Plugins/libPADxwin*)
PAD2 = $(firstplugin Plugins/libPADxwin*)
DEV9 = $(firstplugin Plugins/libDEV9null*)
USB = $(firstplugin Plugins/libUSBlinuz*)
Mcd1 = ${HOME}/.pcsx2/memcards/Mcd001.mcr
Mcd2 = ${HOME}/.pcsx2/memcards/Mcd002.mcr
PluginsDir = ${HOME}/.pcsx2/Plugins/
BiosDir = ${HOME}/.pcsx2/Bios/
Cpu = 0
PsxOut = 0
varLog = 0
Lang = en
EOF

fi

cd "${HOME}"/.pcsx2/

ln -s "GAMES_LIBDIR"/ps2emu/cfg/* cfg/ &> /dev/null
ln -s "GAMES_LIBDIR"/ps2emu/plugins/* plugins/ &> /dev/null

exec ./pcsx2 "$@"
