View Single Post
  #4  
Old 05-09-2022, 14:04
KaktoR's Avatar
KaktoR KaktoR is offline
Lame User
 
Join Date: Jan 2012
Location: From outer space
Posts: 4,689
Thanks: 1,106
Thanked 7,337 Times in 2,839 Posts
KaktoR is on a distinguished road
Maybe something is not clear enough, here is a example batch.

PS: You can delete echo and pause commands. I just made them to show the steps

Code:
@echo off
echo. Compress bink files
for /r %%f in (*.bik) do bink_pack "%%f" "%%~df%%~pf%%~nf.bpk_compressed
pause

echo. Unpack compressed file
for /r %%f in (*.bpk_compressed) do bink_unpack "%%f" "%%~df%%~pf%%~nf.tmp_for_patch_creation"
pause

echo. Create diff from original vs unpacked file
for /r %%f in (*.tmp_for_patch_creation) do hdiffz "%%f" "%%~df%%~pf%%~nf.bik" "%%~df%%~pf%%~nf.BinkDIFF"
pause

echo. Delete unpacked files ("*.tmp_for_patch_creation") which were just extracted for patch creation purposes, you no longer need them
del /Q /F /S "*.tmp_for_patch_creation"
pause

echo. ------------------------------------------------------------
echo. On this point you should exclude all "*.bik" files or move them to a backup dir (you can use robocopy for ease)
echo. because you only need to pack "*.bpk_compressed" and "BinkDIFF" files.
echo. Now you have to pack your game files like you normally would
echo. ------------------------------------------------------------
echo.
echo. ------------------------------------------------------------
echo. After installing with Setup or similar, app folder should contain
echo. "*.bpk_compressed" and "*.BinkDIFF" files instead of original "*.bik* files
echo. ------------------------------------------------------------

echo. Unpack compressed to "*.bik_bad_crc"
for /r %%f in (*.bpk_compressed) do bink_unpack "%%f" "%%~df%%~pf%%~nf.bik_bad_crc"
pause

echo. Patch "*.bik_bad_crc" back to original with "*.BinkDIFF" files ("input_file"" input_diff" "output_file")
for /r %%f in (*.bik_bad_crc) do hpatchz.exe "%%~df%%~pf%%~nf.bik_bad_crc" "%%~df%%~pf%%~nf.BinkDIFF" "%%~df%%~pf%%~nf.bik_good_crc"
pause

echo. Rename all file extensions from "*.bik_good_crc" to "*.bik"
ren "*.bik_good_crc" "*.bik"
pause

echo. Remove all temp files
del /Q /F /S "*.bik_bad_crc"
del /Q /F /S "*.BinkDIFF"
del /Q /F /S "*.bpk_compressed"
del /S "hdiffz.exe"
del /S "hpatchz.exe"
pause
__________________
Haters gonna hate

Last edited by KaktoR; 05-09-2022 at 14:09.
Reply With Quote
The Following 5 Users Say Thank You to KaktoR For This Useful Post:
Gehrman (05-09-2022), kj911 (07-09-2022), kuyhaa (06-09-2022), Masquerade (05-09-2022), ScOOt3r (06-09-2022)