-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathMAKE_copyintoanimscache.cmd
93 lines (68 loc) · 2.72 KB
/
MAKE_copyintoanimscache.cmd
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
@echo off
:: Paths
set INPUT_FILE=animsfe6.dmp
set OUTPUT_FILE=animsfe6cache.dmp
set OFFSET=0x1030000
copy "%INPUT_FILE%" "%OUTPUT_FILE%"
:: Convert OFFSET from hex to decimal
for /f "tokens=1 delims=" %%i in ('powershell -command "[convert]::ToInt64('%OFFSET%',16)"') do set DEC_OFFSET=%%i
:: Set an optimized block size (e.g., 1/16th of a MB = 65536 bytes)
set BLOCK_SIZE=65536
:: Calculate the number of blocks to skip
set /a SKIP_BLOCKS=%DEC_OFFSET% / %BLOCK_SIZE%
echo Truncating %OUTPUT_FILE% to start at offset %OFFSET% (decimal: %DEC_OFFSET%), using block size %BLOCK_SIZE%...
:: Use dd with larger block size
dd if=%OUTPUT_FILE% of=tmp_%OUTPUT_FILE% bs=%BLOCK_SIZE% skip=%SKIP_BLOCKS%
if %ERRORLEVEL%==0 (
echo Truncation successful. Replacing original file...
move /y tmp_%OUTPUT_FILE% %OUTPUT_FILE%
echo %OUTPUT_FILE% has been updated.
) else (
echo Truncation failed.
del tmp_%OUTPUT_FILE%
)
:: Paths
set INPUT_FILE=animsfe7.dmp
set OUTPUT_FILE=animsfe7cache.dmp
set OFFSET=0x1030000
copy "%INPUT_FILE%" "%OUTPUT_FILE%"
:: Convert OFFSET from hex to decimal
for /f "tokens=1 delims=" %%i in ('powershell -command "[convert]::ToInt64('%OFFSET%',16)"') do set DEC_OFFSET=%%i
:: Set an optimized block size (e.g., 1/16th of a MB = 65536 bytes)
set BLOCK_SIZE=65536
:: Calculate the number of blocks to skip
set /a SKIP_BLOCKS=%DEC_OFFSET% / %BLOCK_SIZE%
echo Truncating %OUTPUT_FILE% to start at offset %OFFSET% (decimal: %DEC_OFFSET%), using block size %BLOCK_SIZE%...
:: Use dd with larger block size
dd if=%OUTPUT_FILE% of=tmp_%OUTPUT_FILE% bs=%BLOCK_SIZE% skip=%SKIP_BLOCKS%
if %ERRORLEVEL%==0 (
echo Truncation successful. Replacing original file...
move /y tmp_%OUTPUT_FILE% %OUTPUT_FILE%
echo %OUTPUT_FILE% has been updated.
) else (
echo Truncation failed.
del tmp_%OUTPUT_FILE%
)
:: Paths
set INPUT_FILE=animsfe8.dmp
set OUTPUT_FILE=animsfe8cache.dmp
set OFFSET=0x1030000
copy "%INPUT_FILE%" "%OUTPUT_FILE%"
:: Convert OFFSET from hex to decimal
for /f "tokens=1 delims=" %%i in ('powershell -command "[convert]::ToInt64('%OFFSET%',16)"') do set DEC_OFFSET=%%i
:: Set an optimized block size (e.g., 1/16th of a MB = 65536 bytes)
set BLOCK_SIZE=65536
:: Calculate the number of blocks to skip
set /a SKIP_BLOCKS=%DEC_OFFSET% / %BLOCK_SIZE%
echo Truncating %OUTPUT_FILE% to start at offset %OFFSET% (decimal: %DEC_OFFSET%), using block size %BLOCK_SIZE%...
:: Use dd with larger block size
dd if=%OUTPUT_FILE% of=tmp_%OUTPUT_FILE% bs=%BLOCK_SIZE% skip=%SKIP_BLOCKS%
if %ERRORLEVEL%==0 (
echo Truncation successful. Replacing original file...
move /y tmp_%OUTPUT_FILE% %OUTPUT_FILE%
echo %OUTPUT_FILE% has been updated.
) else (
echo Truncation failed.
del tmp_%OUTPUT_FILE%
)
pause