-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathric-savemod.bat
125 lines (89 loc) · 3.8 KB
/
ric-savemod.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
@ECHO OFF
CLS
ECHO Wybierz akcje:
ECHO.
ECHO 1.Zainstaluj moda
ECHO 2.Odinstaluj moda
ECHO 3.Importuj zapisy gry
ECHO 4.Wyjdz
ECHO.
CHOICE /C 1234 /M "Twoj wybor:"
IF ERRORLEVEL 4 GOTO Wyjdz
IF ERRORLEVEL 3 GOTO Przenies zapisy gry
IF ERRORLEVEL 2 GOTO Odinstaluj
IF ERRORLEVEL 1 GOTO Zainstaluj
:Zainstaluj
:: Backup files creation
for /F "usebackq delims=" %%G in ("%~dp0modfiles\modfilelist.txt") do if not exist "%~dp0%%G.bak" copy "%~dp0%%G" "%~dp0%%G.bak" && echo Backup %%~nxG && echo.
:: Converting EOL characters from Unix to Windows and decoding files with AMkd
for /F "usebackq delims=" %%G in ("%~dp0modfiles\modfilelist.txt") do (
echo %%~nxG:
echo Konwersja EOL
for %%E in (""\r\n" "\n"", ""\n" "\r\n"") do "%~dp0modfiles\fart.exe" -q -C "%~dp0%%G" %%~E
"%~dp0modfiles\AMkd.exe" "%~dp0%%G"
for %%D in ("%~dp0%%G.dek") do if %%~zD==0 (del %%D && echo Rodzaj: Niezakodowany) else (
echo Rodzaj: Zakodowany
copy "%~dp0%%G.dek" "%~dp0%%G" && del "%~dp0%%G.dek"
echo Zdekodowano
)
echo.
)
echo Modyfikacja plikow: && echo.
:: Applying changes from fullpatch.txt to all the files using fart-it
for /F "usebackq delims=" %%f in ("%~dp0modfiles\fullpatch.txt") do "%~dp0modfiles\fart.exe" "%~dp0%%f
echo. && echo Wgrywanie nowej struktury plikow zapisu: && echo.
:: Copying required basic save folder contents if they don't exist
for %%S in (save, save\slot0, save\slot1, save\slot2, save\slot3, save\slot4) do (
for %%F in ("%~dp0modfiles\%%S\*") do if not exist "%~dp0Common\%%S\%%~nxF" (
xcopy "%%F" "%~dp0Common\%%S\" /Y /Q && echo Utworzono %%S\%%~nxF) else (echo %%S\%%~nxF juz istnieje)
)
if not exist "%~dp0Common\save\slot0\" (mkdir "%~dp0Common\save\slot0" && echo Utworzono save\slot0\) else (echo save\slot0\ juz istnieje)
echo. && echo Koniec instalacji && echo.
pause
GOTO End
:Odinstaluj
:: Restore the backup files if present
for /F "usebackq delims=" %%G in ("%~dp0modfiles\modfilelist.txt") do (
if exist "%~dp0%%G.bak" (
xcopy "%~dp0%%G.bak" "%~dp0%%G" /Y /q && del "%~dp0%%G.bak" && echo Przywrocono kopie zapasowa %%~nxG
) else (echo Brak kopii zapasowej %%~nxG)
)
echo. && echo Koniec dezinstalacji && echo.
pause
GOTO End
:Przenies zapisy gry
ECHO. && ECHO.
ECHO Gdzie znajduja sie pliki zapisu:
ECHO.
ECHO 1.W folderze glownym gry
ECHO 2.W VirtualStore
ECHO.
CHOICE /C 12 /M "Twoj wybor:"
IF ERRORLEVEL 2 set "ImportPath=%LOCALAPPDATA%\VirtualStore%~p0" && goto Import
IF ERRORLEVEL 1 set "ImportPath=%~dp0" && goto Import
:Import
:: Find all DTA and ARR files with filenames ending with a number in Common and copy them to the save\slotX folder
for %%f in (0, 1, 2, 3, 4) do (
for %%A in ("%ImportPath%Common\*") do @echo %%A | >nul findstr %%f.ARR && xcopy "%%A" "%ImportPath%Common\save\slot%%f\" /y /q && echo Importowanie %%~nxA
for %%A in ("%ImportPath%Common\*") do @echo %%A | >nul findstr %%f.DTA && xcopy "%%A" "%ImportPath%Common\save\slot%%f\" /y /q && echo Importowanie %%~nxA
)
:: Copy m_shot.img and some other required files
for %%f in (1, 2, 3, 4) do xcopy "%ImportPath%Common\m_shot%%f.img" "%ImportPath%Common\save\slot%%f\" /y /q && echo Importowanie m_shot%%f.img
for %%f in (PAGE.IMG, SAVE.IMG, SETTINGS.ARR, ZOOM.IMG) do xcopy "%ImportPath%Common\%%f" "%ImportPath%Common\save\" /y /q && echo Importowanie %%~nxf
xcopy "%ImportPath%Common\DODOS*.SAV" "%ImportPath%Common\save\" /y /q && echo Importowanie DODOS.SAV
setlocal enabledelayedexpansion
:: Rename files in slotX folders to remove the last digit from their filename (the number)
for %%b in (0, 1, 2, 3, 4) do (
for %%f in ("%ImportPath%Common\save\slot%%b\*%%b.???") do (
set "filename=%%~nf"
if exist "%%~dpf!filename:~0,-1!%%~xf" del "%%~dpf!filename:~0,-1!%%~xf"
ren "%%f" "!filename:~0,-1!%%~xf"
echo Zmiana nazwy %%~nf
)
)
echo. && echo Koniec importowania && echo.
pause
GOTO End
:Wyjdz
GOTO End
pause