#!/bin/bash
# GUI launch hook: which SDL2 pysdl2 loads, and library paths, per device.
command -v export_sdl_gamecontroller_map >/dev/null 2>&1 || . /mnt/SDCARD/spruce/scripts/helperFunctions.sh

# A board whose cfg names its own SDL2 set (DEVICE_PYSDL2_DLL_PATH; the MagicX boards: without
# a path pysdl2 finds no SDL2 at all and the app dies on `import sdl2`, 2026-09-22).
[ -n "$DEVICE_PYSDL2_DLL_PATH" ] && export PYSDL2_DLL_PATH="$DEVICE_PYSDL2_DLL_PATH"

case "$PLATFORM" in
    Flip|SmartProS)          export PYSDL2_DLL_PATH="/mnt/SDCARD/Persistent/portmaster/lib/" ;;
    Brick|SmartPro|BrickPro) export PYSDL2_DLL_PATH="/mnt/SDCARD/spruce/brick/sdl2" ;;
    Anbernic*)               export PYSDL2_DLL_PATH="/mnt/SDCARD/App/PyUI/dll-mali" ;;
    RGB30|Miniloong|A10Mini|A10MiniV4|XUMiniM|G350|V10|RG353M) export PYSDL2_DLL_PATH="/usr/lib/aarch64-linux-gnu" ;;
esac

case "$PLATFORM" in
    RGB30|Miniloong|A10Mini|A10MiniV4|XUMiniM|G350|V10|RG353M) ;;
    *) export PATH="/mnt/SDCARD/spruce/flip/bin:$PATH" ;;
esac

case "$PLATFORM" in
    Flip|SmartProS|Brick|SmartPro|BrickPro)
        export LD_LIBRARY_PATH="/mnt/SDCARD/spruce/flip/lib:$LD_LIBRARY_PATH"
        ;;
    Anbernic*)
        export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/mnt/SDCARD/spruce/h700/ports-lib64"
        export_sdl_gamecontroller_map positional
        ;;
    RGB30|Miniloong|A10Mini|A10MiniV4|XUMiniM|G350|V10)
        export_sdl_gamecontroller_map positional
        ;;
esac
