#!/bin/bash

source /etc/init.d/functions.sh || exit 1

if [[ ! -f ~/.pcsx/config ]]; then
	einfo You are running PCSX for the first time.
	einfo Setting up your PCSX environment... Please wait...

	mkdir -p ~/.pcsx
	cd ~/.pcsx
	mkdir memcards bios cfg plugins

	ln -s GAMES_BINDIR/pcsx.bin pcsx
	ln -s GAMES_LIBDIR/psemu/plugins/* plugins/
	ln -s GAMES_DATADIR/pcsx .pixmaps

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

	cat >~/.pcsx/config <<EOF
Bios = $biosname
Gpu = $(basename $(ls plugins/libgpu* | cut -f1 -d\ ) )
Spu = $(basename $(ls plugins/libspu* | cut -f1 -d\ ) )
Cdr = $(basename $(ls plugins/libcdr* | cut -f1 -d\ ) )
Pad1 = $(basename $(ls plugins/libpadXwin-* | cut -f1 -d\ ) )
Pad2 = $(basename $(ls plugins/libpadXwin-* | cut -f1 -d\ ) )
Mcd1 = ${HOME}/.pcsx/memcards/Mcd001.mcr
Mcd2 = ${HOME}/.pcsx/memcards/Mcd002.mcr
PluginsDir = ${HOME}/.pcsx/plugins/
BiosDir = ${HOME}/.pcsx/bios/
Xa = 0
Sio = 0
Mdec = 0
PsxAuto = 1
PsxType = 0
Cdda = 0
Cpu = 0
PsxOut = 0
SpuIrq = 0
CdTiming = 0
EOF
	unset biosname
fi

cd ~/.pcsx/

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

exec ./pcsx "$@"
