#!/usr/bin/env bash
set -euo pipefail

mod_dir=$(cd "$(dirname "$0")/.." && pwd)
engine_repo=${GEN1RECOMP_REPO:-"$mod_dir/../gen1recomp"}

if [ ! -f "$engine_repo/tools/modkit.py" ]; then
  printf '%s\n' "recomp-rider pre-commit: set GEN1RECOMP_REPO to the engine checkout" >&2
  exit 1
fi

cd "$engine_repo"
if ! validation=$(python3 tools/modkit.py validate "$mod_dir" --strict 2>&1); then
  printf '%s\n' "$validation" >&2
  errors=$(printf '%s\n' "$validation" | grep -c '^MK[0-9][0-9][0-9] ERROR ' || true)
  if [ "$errors" -ne 1 ] || ! printf '%s\n' "$validation" | grep -Eq '^MK003 ERROR recomp-rider: missing dependency: (DRAMATIC_SHAPE|DRAMALESS_SHAPE)$'; then
    exit 1
  fi
fi
python3 tools/modkit.py lint "$mod_dir"
cd "$mod_dir"
luajit tests/kitt_regression.lua
luajit tests/lua_syntax.lua
