Guest User

Untitled

a guest
Apr 24th, 2015
319
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.60 KB | None | 0 0
  1. @echo off
  2.  
  3. rem Configurable Directories
  4. rem This Batch file should work across most of SOE's games.
  5. rem Tested on Planetside 2 and H1Z1.
  6. set gameDir=F:\games\PlanetSide 2 Test
  7. set gameDataDir=F:\Programs\soe-pack-master\gamedata\test
  8. set toolDataDir=F:\Programs\soe-pack-master\assets\test\tooldata
  9.  
  10. set toolsDir=F:\Programs\soe-pack-master
  11.  
  12. rem Things below here should not need to be edited.
  13. rem --------------------------------------------------------------
  14.  
  15. set assetSource=%gameDataDir%\Resources\Assets
  16. set localeSource=%gameDataDir%\Locale
  17. set luaSource=%gameDataDir%\UI
  18.  
  19. rem Tool Dirs
  20. set soePackDir=%toolsDir%\soe-pack
  21. set soeLocaleDir=%toolsDir%\soe-locale
  22. set unluacDir=%toolsDir%\unluac
  23. set nconvertDir=%toolsDir%\XnView
  24.  
  25. for /f "delims=" %%a in ('%soePackDir%\external\date.exe +%%Y%%m%%d_%%H%%M%%S') do @set timestamp=%%a
  26.  
  27. rem Asset Dirs
  28. set manifestOutput=%toolDataDir%\manifests
  29. set assetOutput=%toolDataDir%\assets
  30. set diffOutput=%toolDataDir%\assets\diff_%timestamp%
  31.  
  32. rem Locale Dir
  33. set localeOutput=%toolDataDir%\locale
  34.  
  35. rem Special Files Dir
  36. set luaOutput=%toolDataDir%\lua
  37. set ddsOutput=%toolDataDir%\dds
  38. set exeOutput=%toolDataDir%\exe
  39. set txtOutput=%toolDataDir%\txt
  40.  
  41.  
  42.  
  43. rem Make Required Dirs
  44. if not exist "%gameDataDir%" mklink /j "%gameDataDir%" "%gameDir%"
  45. if not exist "%toolDataDir%" mkdir "%toolDataDir%"
  46.  
  47. rem Assets
  48. if not exist "%manifestOutput%" mkdir "%manifestOutput%"
  49.  
  50. if not exist "%assetOutput%" (
  51. mkdir "%assetOutput%
  52.  
  53. echo ---------------------------------------------------------
  54. echo Assets have not been extracted yet.
  55. echo The tool will now extract all assets.
  56. echo This is a first time process and may take some time...
  57. echo ---------------------------------------------------------
  58.  
  59. node "%soePackDir%\packer.js" extractall "%assetSource%" "%assetOutput%"
  60. )
  61.  
  62. if not exist "%diffOutput%" mkdir "%diffOutput%"
  63.  
  64.  
  65. rem Locale
  66. if not exist "%localeOutput%" mkdir "%localeOutput%"
  67.  
  68. rem Special Files
  69. if not exist "%luaOutput%" mkdir "%luaOutput%"
  70.  
  71. if not exist "%exeOutput%" mkdir "%exeOutput%"
  72.  
  73. if not exist "%txtOutput%" mkdir "%txtOutput%"
  74.  
  75.  
  76. if not exist "%ddsOutput%" (
  77. mkdir "%ddsOutput%"
  78.  
  79. echo ---------------------------------------------------------
  80. echo DDS Files have not been converted yet.
  81. echo The tool will now extract all DDS files.
  82. echo This is a first time process and may take some time...
  83. echo ---------------------------------------------------------
  84.  
  85. for %%f in ("%assetOutput%\*.dds") do (
  86. REM copy "%assetOutput%\%%~nf.dds" "%ddsOutput%\%%~nf.dds"
  87. REM "%nconvertDir%\nconvert.exe" -out png "%ddsOutput%\%%~nf.dds"
  88. "%nconvertDir%\nconvert.exe" -o "%ddsOutput%\%%~nf.png" -out png "%assetOutput%\%%~nf.dds"
  89. REM del "%ddsOutput%\%%~nf.dds"
  90. )
  91. )
  92.  
  93. echo ---------------------------------------------------------
  94. echo Started Game Data Analysis.
  95. echo Updating Manifests...
  96. echo ---------------------------------------------------------
  97.  
  98. if exist "%manifestOutput%\manifest_latest.txt" (
  99. echo Moving 'latest' manifest to 'previous'
  100. move "%manifestOutput%\manifest_latest.txt" "%manifestOutput%\manifest_previous.txt"
  101. )
  102.  
  103. if exist "%manifestOutput%\diff_latest.json" (
  104. echo Moving 'latest' diff to 'previous'
  105. move "%manifestOutput%\diff_latest.json" "%manifestOutput%\diff_previous.json"
  106. )
  107.  
  108. echo Generating new manifest
  109. node "%soePackDir%\packer.js" manifest "%assetSource%" "%manifestOutput%\manifest_latest.txt"
  110. copy "%manifestOutput%\manifest_latest.txt" "%manifestOutput%\manifest_%timestamp%.txt"
  111.  
  112. if exist "%manifestOutput%\manifest_latest.txt" (
  113. echo Generating new diff from 'previous' to 'latest'
  114. node "%soePackDir%\packer.js" diff "%manifestOutput%\manifest_previous.txt" "%manifestOutput%\manifest_latest.txt" "%manifestOutput%\diff_latest.json"
  115. copy "%manifestOutput%\diff_latest.json" "%manifestOutput%\diff_%timestamp%.json"
  116. )
  117.  
  118. echo ---------------------------------------------------------
  119. echo Manifest Update Complete!
  120. echo Extracting Diff Files...
  121. echo ---------------------------------------------------------
  122.  
  123. node "%soePackDir%\packer.js" extractdiff "%manifestOutput%\diff_latest.json" "%assetSource%" "%diffOutput%"
  124. rem xcopy "%diffOutput%" "%assetOutput%" /y
  125.  
  126. echo ---------------------------------------------------------
  127. echo Diff Extraction Complete!
  128. echo Converting Locale Files...
  129. echo ---------------------------------------------------------
  130.  
  131. mkdir "%localeOutput%\%timestamp%"
  132. for %%f in ("%localeSource%\*.dat") do (
  133. node "%soeLocaleDir%\locale.js" parse "%localeSource%\%%~nf.dat" "%localeSource%\%%~nf.dir" "%localeOutput%\%timestamp%\%%~nf.json"
  134. )
  135.  
  136. echo ---------------------------------------------------------
  137. echo Locale Conversion Complete!
  138. echo Converting LUA Scripts...
  139. echo ---------------------------------------------------------
  140.  
  141. mkdir "%luaOutput%\%timestamp%"
  142. java -jar "%unluacDir%\unluac.jar" "%luaSource%\ScriptsBase.bin" > "%luaOutput%\%timestamp%\ScriptsBase.lua"
  143. java -jar "%unluacDir%\unluac.jar" "%luaSource%\ScriptsBase_x64.bin" > "%luaOutput%\%timestamp%\ScriptsBase_x64.lua"
  144.  
  145. echo ---------------------------------------------------------
  146. echo LUA Conversion Complete!
  147. echo Converting changed/new DDS Files...
  148. echo ---------------------------------------------------------
  149.  
  150. mkdir "%ddsOutput%\%timestamp%"
  151. for %%f in ("%diffOutput%\*.dds") do (
  152. rem copy "%diffOutput%\%%~nf.dds" "%ddsOutput%\%timestamp%\%%~nf.dds"
  153. "%nconvertDir%\nconvert.exe" -o "%ddsOutput%\%timestamp%\%%~nf.png" -out png "%diffOutput%\%%~nf.dds"
  154. )
  155.  
  156. echo ---------------------------------------------------------
  157. echo DDS Conversion Complete!
  158. echo Converting exe's...
  159. echo ---------------------------------------------------------
  160.  
  161. mkdir "%exeOutput%\%timestamp%"
  162. for %%f in ("%gameDataDir%\PlanetSide*.exe") do (
  163. if exist "%exeOutput%\%timestamp%\%%~nf.txt" del "%exeOutput%\%timestamp%\%%~nf.txt"
  164. "%toolsDir%\strings.exe" -a -q -n 6 "%gameDataDir%\%%~nf.exe" >> "%exeOutput%\%timestamp%\%%~nf.txt"
  165. )
  166.  
  167. echo ---------------------------------------------------------
  168. echo Exe Conversion Complete!
  169. echo Converting txts...
  170. echo ---------------------------------------------------------
  171.  
  172. mkdir "%txtOutput%\%timestamp%"
  173. for %%f in ("%diffOutput%\*.txt") do (
  174. copy "%diffOutput%\%%~nf.txt" "%txtOutput%\%timestamp%\%%~nf.csv"
  175. )
  176.  
  177. rem "%toolsDir%\fnr.exe" --cl --find "^" --replace "," --dir "%txtOutput%" --fileMask "*.csv"
  178.  
  179. echo ---------------------------------------------------------
  180. echo TXT convert Complete!
  181. echo Game Analysis Complete!
  182. echo ---------------------------------------------------------
  183.  
  184. PAUSE
Advertisement
Add Comment
Please, Sign In to add comment