#!/bin/sh
set -e

RED_WHITE='\033[41;37m'
RESET='\033[0m'

[ "$(id -u)" -ne 0 ] && { echo -e "${RED_WHITE}错误：需要root权限${RESET}"; exit 1; }

PKG="com.tencent.tmgp.pubgmhd"
SO="s72.1.so"

[ ! -d "/data/data/$PKG" ] && { echo -e "${RED_WHITE}错误：未检测到和平精英正式服${RESET}"; exit 1; }
[ ! -f "$SO" ] && { echo -e "${RED_WHITE}错误：缺少 $SO${RESET}"; exit 1; }
[ ! -f "inject" ] && { echo -e "${RED_WHITE}错误：缺少 inject${RESET}"; exit 1; }

DIR="/data/data/$PKG"

if [ -f "$DIR/$SO" ]; then
    cp "$DIR/$SO" "$DIR/${SO}.bak" 2>/dev/null
    echo -e "${RED_WHITE}备份原 $SO 为 ${SO}.bak${RESET}"
fi

cp -f "$SO" "$DIR/"
cp -f "inject" "$DIR/"
chmod 755 "$DIR/$SO"
chmod 777 "$DIR/inject"

echo -e "${RED_WHITE}文件部署完成${RESET}"

if pgrep -f "$PKG" > /dev/null; then
    echo -e "${RED_WHITE}检测到游戏已在运行，跳过启动步骤${RESET}"
else
    echo -e "${RED_WHITE}游戏未运行，正在启动...${RESET}"
    am start -n "$PKG/com.epicgames.ue4.SplashActivity" > /dev/null 2>&1
    for i in $(seq 1 20); do
        if pgrep -f "$PKG" > /dev/null; then
            echo -e "${RED_WHITE}游戏进程已出现${RESET}"
            break
        fi
        usleep 50000
    done
    if ! pgrep -f "$PKG" > /dev/null; then
        echo -e "${RED_WHITE}警告：游戏启动超时，仍尝试注入${RESET}"
    fi
fi

sleep 0.5

if "$DIR/inject" -n "$PKG" -so "$DIR/$SO"; then
    echo -e "${RED_WHITE}注入成功${RESET}"
else
    echo -e "${RED_WHITE}注入失败${RESET}"
fi
