#!/usr/bin/env bash

for_install=0
if [[ -n "$1" ]] && [[ "$1" == "--for-install" ]]; then
    for_install=1
fi

# we don't want the uninstall script to be able to cause a failure if being triggered by the setup script
[ "$for_install" -eq 0 ] && set -e

# Make sure only root can run our script
if [ "$(id -u)" != "0" ]; then
   echo "This script must be run as root" 1>&2
   exit 1
fi

# Get the directory of the current script
script_dir=$(dirname "$0")

USER=${SUDO_USER:-$USER}
GROUP=$(id -gn $USER)
USER_HOME=$(getent passwd $USER | cut -d: -f6)

if [ -z "$XDG_DATA_HOME" ]; then
  XDG_DATA_HOME="$USER_HOME/.local/share"
fi
VULKAN_DATA_DIR="$XDG_DATA_HOME/vulkan"

if [ -z "$XDG_CONFIG_HOME" ]; then
  XDG_CONFIG_HOME="$USER_HOME/.config"
fi

if [ -z "$XDG_BIN_HOME" ]; then
  XDG_BIN_HOME="$USER_HOME/.local/bin"
fi
OLD_BIN_DIR="$USER_HOME/bin"
BIN_DIR="$XDG_BIN_HOME"

LIB_DIR="$USER_HOME/.local/lib"
LIB32_DIR="$USER_HOME/.local/lib32"

if [ "$for_install" -eq 0 ]; then
    UA_EVENT_NAME="breezy_uninstall"
    UA_CLIENT_ID="BreezyVulkan"
    #INJECT_UA_CALL
fi

[ "$for_install" -eq 0 ] && echo "Removing vkBasalt binaries from $LIB_DIR[32]/"
rm $LIB_DIR/libvkbasalt.so
rm $LIB32_DIR/libvkbasalt.so

[ "$for_install" -eq 0 ] && echo "Removing vkBasalt vulkan layer configs from $VULKAN_DATA_DIR/implicit_layer.d/"
rm $VULKAN_DATA_DIR/implicit_layer.d/vkBasalt.json
rm $VULKAN_DATA_DIR/implicit_layer.d/vkBasalt.x86.json

[ "$for_install" -eq 0 ] && echo "Removing vkBasalt and reshade directories at $CONFIG_DIR/"
rm -rf $XDG_CONFIG_HOME/vkBasalt
rm -rf $XDG_CONFIG_HOME/reshade

[ "$for_install" -eq 0 ] && echo "Removing scripts at $BIN_DIR"
rm -f $BIN_DIR/breezy_vulkan_verify

[ "$for_install" -eq 0 ] && echo "SKIPPING xrDriver uninstall to keep mouse/joystick driver functionality."
[ "$for_install" -eq 0 ] && echo "To manually uninstall xrDriver, do: \"sudo xr_driver_uninstall\""

# this script is self-deleting, leave this as the last command
# remove the one we're not using first
if [ "$script_dir" = "$OLD_BIN_DIR" ]; then
    rm -f "$BIN_DIR/breezy_vulkan_uninstall"
    rm -f "$OLD_BIN_DIR/breezy_vulkan_uninstall"
else
    rm -f "$OLD_BIN_DIR/breezy_vulkan_uninstall"
    rm -f "$BIN_DIR/breezy_vulkan_uninstall"
fi