Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- rem Configurable Directories
- rem This Batch file should work across most of SOE's games.
- rem Tested on Planetside 2 and H1Z1.
- set gameDir=F:\games\PlanetSide 2 Test
- set gameDataDir=F:\Programs\soe-pack-master\gamedata\test
- set toolDataDir=F:\Programs\soe-pack-master\assets\test\tooldata
- set toolsDir=F:\Programs\soe-pack-master
- rem Things below here should not need to be edited.
- rem --------------------------------------------------------------
- set assetSource=%gameDataDir%\Resources\Assets
- set localeSource=%gameDataDir%\Locale
- set luaSource=%gameDataDir%\UI
- rem Tool Dirs
- set soePackDir=%toolsDir%\soe-pack
- set soeLocaleDir=%toolsDir%\soe-locale
- set unluacDir=%toolsDir%\unluac
- set nconvertDir=%toolsDir%\XnView
- for /f "delims=" %%a in ('%soePackDir%\external\date.exe +%%Y%%m%%d_%%H%%M%%S') do @set timestamp=%%a
- rem Asset Dirs
- set manifestOutput=%toolDataDir%\manifests
- set assetOutput=%toolDataDir%\assets
- set diffOutput=%toolDataDir%\assets\diff_%timestamp%
- rem Locale Dir
- set localeOutput=%toolDataDir%\locale
- rem Special Files Dir
- set luaOutput=%toolDataDir%\lua
- set ddsOutput=%toolDataDir%\dds
- set exeOutput=%toolDataDir%\exe
- set txtOutput=%toolDataDir%\txt
- rem Make Required Dirs
- if not exist "%gameDataDir%" mklink /j "%gameDataDir%" "%gameDir%"
- if not exist "%toolDataDir%" mkdir "%toolDataDir%"
- rem Assets
- if not exist "%manifestOutput%" mkdir "%manifestOutput%"
- if not exist "%assetOutput%" (
- mkdir "%assetOutput%
- echo ---------------------------------------------------------
- echo Assets have not been extracted yet.
- echo The tool will now extract all assets.
- echo This is a first time process and may take some time...
- echo ---------------------------------------------------------
- node "%soePackDir%\packer.js" extractall "%assetSource%" "%assetOutput%"
- )
- if not exist "%diffOutput%" mkdir "%diffOutput%"
- rem Locale
- if not exist "%localeOutput%" mkdir "%localeOutput%"
- rem Special Files
- if not exist "%luaOutput%" mkdir "%luaOutput%"
- if not exist "%exeOutput%" mkdir "%exeOutput%"
- if not exist "%txtOutput%" mkdir "%txtOutput%"
- if not exist "%ddsOutput%" (
- mkdir "%ddsOutput%"
- echo ---------------------------------------------------------
- echo DDS Files have not been converted yet.
- echo The tool will now extract all DDS files.
- echo This is a first time process and may take some time...
- echo ---------------------------------------------------------
- for %%f in ("%assetOutput%\*.dds") do (
- REM copy "%assetOutput%\%%~nf.dds" "%ddsOutput%\%%~nf.dds"
- REM "%nconvertDir%\nconvert.exe" -out png "%ddsOutput%\%%~nf.dds"
- "%nconvertDir%\nconvert.exe" -o "%ddsOutput%\%%~nf.png" -out png "%assetOutput%\%%~nf.dds"
- REM del "%ddsOutput%\%%~nf.dds"
- )
- )
- echo ---------------------------------------------------------
- echo Started Game Data Analysis.
- echo Updating Manifests...
- echo ---------------------------------------------------------
- if exist "%manifestOutput%\manifest_latest.txt" (
- echo Moving 'latest' manifest to 'previous'
- move "%manifestOutput%\manifest_latest.txt" "%manifestOutput%\manifest_previous.txt"
- )
- if exist "%manifestOutput%\diff_latest.json" (
- echo Moving 'latest' diff to 'previous'
- move "%manifestOutput%\diff_latest.json" "%manifestOutput%\diff_previous.json"
- )
- echo Generating new manifest
- node "%soePackDir%\packer.js" manifest "%assetSource%" "%manifestOutput%\manifest_latest.txt"
- copy "%manifestOutput%\manifest_latest.txt" "%manifestOutput%\manifest_%timestamp%.txt"
- if exist "%manifestOutput%\manifest_latest.txt" (
- echo Generating new diff from 'previous' to 'latest'
- node "%soePackDir%\packer.js" diff "%manifestOutput%\manifest_previous.txt" "%manifestOutput%\manifest_latest.txt" "%manifestOutput%\diff_latest.json"
- copy "%manifestOutput%\diff_latest.json" "%manifestOutput%\diff_%timestamp%.json"
- )
- echo ---------------------------------------------------------
- echo Manifest Update Complete!
- echo Extracting Diff Files...
- echo ---------------------------------------------------------
- node "%soePackDir%\packer.js" extractdiff "%manifestOutput%\diff_latest.json" "%assetSource%" "%diffOutput%"
- rem xcopy "%diffOutput%" "%assetOutput%" /y
- echo ---------------------------------------------------------
- echo Diff Extraction Complete!
- echo Converting Locale Files...
- echo ---------------------------------------------------------
- mkdir "%localeOutput%\%timestamp%"
- for %%f in ("%localeSource%\*.dat") do (
- node "%soeLocaleDir%\locale.js" parse "%localeSource%\%%~nf.dat" "%localeSource%\%%~nf.dir" "%localeOutput%\%timestamp%\%%~nf.json"
- )
- echo ---------------------------------------------------------
- echo Locale Conversion Complete!
- echo Converting LUA Scripts...
- echo ---------------------------------------------------------
- mkdir "%luaOutput%\%timestamp%"
- java -jar "%unluacDir%\unluac.jar" "%luaSource%\ScriptsBase.bin" > "%luaOutput%\%timestamp%\ScriptsBase.lua"
- java -jar "%unluacDir%\unluac.jar" "%luaSource%\ScriptsBase_x64.bin" > "%luaOutput%\%timestamp%\ScriptsBase_x64.lua"
- echo ---------------------------------------------------------
- echo LUA Conversion Complete!
- echo Converting changed/new DDS Files...
- echo ---------------------------------------------------------
- mkdir "%ddsOutput%\%timestamp%"
- for %%f in ("%diffOutput%\*.dds") do (
- rem copy "%diffOutput%\%%~nf.dds" "%ddsOutput%\%timestamp%\%%~nf.dds"
- "%nconvertDir%\nconvert.exe" -o "%ddsOutput%\%timestamp%\%%~nf.png" -out png "%diffOutput%\%%~nf.dds"
- )
- echo ---------------------------------------------------------
- echo DDS Conversion Complete!
- echo Converting exe's...
- echo ---------------------------------------------------------
- mkdir "%exeOutput%\%timestamp%"
- for %%f in ("%gameDataDir%\PlanetSide*.exe") do (
- if exist "%exeOutput%\%timestamp%\%%~nf.txt" del "%exeOutput%\%timestamp%\%%~nf.txt"
- "%toolsDir%\strings.exe" -a -q -n 6 "%gameDataDir%\%%~nf.exe" >> "%exeOutput%\%timestamp%\%%~nf.txt"
- )
- echo ---------------------------------------------------------
- echo Exe Conversion Complete!
- echo Converting txts...
- echo ---------------------------------------------------------
- mkdir "%txtOutput%\%timestamp%"
- for %%f in ("%diffOutput%\*.txt") do (
- copy "%diffOutput%\%%~nf.txt" "%txtOutput%\%timestamp%\%%~nf.csv"
- )
- rem "%toolsDir%\fnr.exe" --cl --find "^" --replace "," --dir "%txtOutput%" --fileMask "*.csv"
- echo ---------------------------------------------------------
- echo TXT convert Complete!
- echo Game Analysis Complete!
- echo ---------------------------------------------------------
- PAUSE
Advertisement
Add Comment
Please, Sign In to add comment