Initial commit: R0Installer source, patch generator, API backend and build scripts

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-27 18:03:44 +08:00
commit 6124d6060c
33 changed files with 8389 additions and 0 deletions
+161
View File
@@ -0,0 +1,161 @@
@echo off
chcp 65001 >nul
setlocal EnableDelayedExpansion
echo.
echo ========================================
echo R0对战平台 增量包生成工具
echo ========================================
echo.
:: 检查 R0PatchGenerator.exe 是否存在
if not exist "%~dp0R0PatchGenerator.exe" (
echo [错误] 未找到 R0PatchGenerator.exe
echo 请先运行 build.bat 编译项目
echo.
pause
exit /b 1
)
:: 检查 hdiffz.exe 是否存在
if not exist "%~dp0hdiffz.exe" (
echo [错误] 未找到 hdiffz.exe
echo 请将 hdiffz.exe 放在同一目录下
echo.
pause
exit /b 1
)
:: 询问旧版本目录
echo [1/5] 请输入旧版本目录路径:
echo (包含旧版本完整文件的目录)
set /p OLD_PATH=^>
if "!OLD_PATH!"=="" (
echo [错误] 旧版本目录不能为空
pause
exit /b 1
)
:: 去除路径两端的引号
set OLD_PATH=!OLD_PATH:"=!
if not exist "!OLD_PATH!" (
echo [错误] 旧版本目录不存在: !OLD_PATH!
pause
exit /b 1
)
echo.
:: 询问新版本目录
echo [2/5] 请输入新版本目录路径:
echo (包含新版本完整文件的目录)
set /p NEW_PATH=^>
if "!NEW_PATH!"=="" (
echo [错误] 新版本目录不能为空
pause
exit /b 1
)
:: 去除路径两端的引号
set NEW_PATH=!NEW_PATH:"=!
if not exist "!NEW_PATH!" (
echo [错误] 新版本目录不存在: !NEW_PATH!
pause
exit /b 1
)
echo.
:: 询问从版本号
echo [3/5] 请输入旧版本号 (例如: 1.0.0):
set /p FROM_VER=^>
if "!FROM_VER!"=="" (
echo [警告] 未输入版本号,将使用 "unknown"
set FROM_VER=unknown
)
echo.
:: 询问到版本号
echo [4/5] 请输入新版本号 (例如: 1.0.1):
set /p TO_VER=^>
if "!TO_VER!"=="" (
echo [警告] 未输入版本号,将使用 "unknown"
set TO_VER=unknown
)
echo.
:: 询问输出文件路径
echo [5/5] 请输入输出文件路径:
echo (默认: %~dp0patch_!FROM_VER!_to_!TO_VER!.zip)
set /p OUTPUT_PATH=^>
if "!OUTPUT_PATH!"=="" (
set OUTPUT_PATH=%~dp0patch_!FROM_VER!_to_!TO_VER!.zip
echo 使用默认路径: !OUTPUT_PATH!
)
:: 去除路径两端的引号
set OUTPUT_PATH=!OUTPUT_PATH:"=!
echo.
echo ========================================
echo 生成参数确认
echo ========================================
echo.
echo 旧版本目录: !OLD_PATH!
echo 新版本目录: !NEW_PATH!
echo 旧版本号: !FROM_VER!
echo 新版本号: !TO_VER!
echo 输出文件: !OUTPUT_PATH!
echo.
echo ========================================
echo.
set /p CONFIRM=确认开始生成? (Y/N):
if /i not "!CONFIRM!"=="Y" (
echo.
echo 已取消操作
pause
exit /b 0
)
echo.
echo 正在生成增量包,请稍候...
echo.
:: 执行生成
"%~dp0R0PatchGenerator.exe" "!OLD_PATH!" "!NEW_PATH!" "!OUTPUT_PATH!" "!FROM_VER!" "!TO_VER!"
if %ERRORLEVEL% EQU 0 (
echo.
echo ========================================
echo 增量包生成完成!
echo ========================================
echo.
if exist "!OUTPUT_PATH!" (
for %%A in ("!OUTPUT_PATH!") do (
set /a SIZE_KB=%%~zA / 1024
set /a SIZE_MB=%%~zA / 1048576
)
echo 输出文件: !OUTPUT_PATH!
call echo 文件大小: %%SIZE_KB%% KB ^(%%SIZE_MB%% MB^)
)
) else (
echo.
echo ========================================
echo 增量包生成失败!
echo ========================================
)
echo.
pause