HW2 DataZip v080322 By Mikail http://isometricland.com/homeworld/homeworld.php WHAT I DID Originally, what I did was take evillejedi's raw decompiled data and run it through my pretty-printer (pretty-printers clean up source code so that it looks nice). Some time later, when CFLuaDC was released, I decompiled all the scripts again using the new decompiler. I then did the same with the scripts contained in the RDN Toolkit. Some of the RDN Toolkit scripts are outdated (they were not updated when the 1.1 patch was released), so I compared the two sets of files in order to determine which files were affected. Since the RDN Toolkit scripts are generally superior (they contain documentation in the form of developer comments), I replaced the decompiled scripts with those from the RDN Toolkit that were proven to be up-to-date. Recently, I've discovered some bugs in CFLuaDC that affected enough files for me to decide to return to using evillejedi's archive, this time adding the RDN scripts. This time around I've also included the pre-patch scripts from the RDN Toolkit, but with an additional ".rdn" suffix appended onto the end of the filename (so that you can compare the two versions). I wanted to export all the ship/missile/nebula/etc. files from the RDN tuning spreadsheets so that they include the comments in the spreadsheets. This is not a big priority, but maybe I'll get around to it. One other thing I wanted to do was copy the developer comments by hand from the out-of-date RDN Tools scripts into the up-to-date decompiled scripts, but I decided to wait until a working decompiler was written (this has turned out to be a long wait (also, after some point I lost interest and decided to move on)). ================================================================ INSTRUCTIONS ON REPRODUCING THIS ARCHIVE (AT YOUR OWN RISK!!!) Don't run the batch files until you've made sure the paths in them point to the correct locations. Paths that need updating include: - path to .arciv file for evillejedi's scripts - path to .arciv file for RDN scripts - path to HW2 pretty printer - path to HW2 .arciv pretty printer - others... ON ERRORS If the pretty-printer encounters what it thinks is an error, it prints a message, quits and generates an empty, zero-byte file in the destination directory. If LuaDC can't decompile a file, it generates a 1KB file in the destination directory, containing LuaDC version information, only. ================================================================ RESULTS I had to edit a string in this file (a very small change, and this is the only file affected by it) in order to keep it from breaking my pretty-printer: - Data\UI\NewUI\Stats.lua LuaDC didn't properly decompile these files: - data\ui\newui\styles\stylesheettestscreen.lua - data\ui\ati\ati.lua - data\ui\newui\fegameoptions.lua - data\ui\newui\gameroom.lua - data\ui\newui\ingamemenu.lua - data\ui\newui\ingameoptions.lua - data\ui\newui\serverlobby.lua - data\ui\newui\stats.lua - data\ui\newui\unmatchingmodstable.lua - data\art\fx\muzzle_flashes\s_muzzle.anim - data\locale\english\scripts\keybindings.lua ...and probably others. CFLuaDC v0.97b didn't properly decompile these files: - data\scripts\formations\2x2_wall.lua - data\scripts\formations\bevelledwall.lua - data\scripts\formations\broad.lua - data\scripts\formations\charging_wall.lua - data\scripts\formations\claw.lua - data\scripts\formations\delta.lua - data\scripts\formations\dockline.lua - data\scripts\formations\dummy_parade.lua - data\scripts\formations\hgn_carrier_parade.lua - data\scripts\formations\hgn_chimera_parade.lua - data\scripts\formations\hgn_mothership_parade.lua - data\scripts\formations\kpr_destroyer_parade.lua - data\scripts\formations\kpr_sajuuk_parade.lua - data\scripts\formations\meg_veilchunk_parade.lua - data\scripts\formations\n_delta.lua - data\scripts\formations\scatterdelta.lua - data\scripts\formations\scatterdelta_long.lua - data\scripts\formations\scatternarrow.lua - data\scripts\formations\scatterwide.lua - data\scripts\formations\spear.lua - data\scripts\formations\staggered_wall.lua - data\scripts\formations\vgr_carrier_parade.lua - data\scripts\formations\vgr_hyperspace_platform.lu a - data\scripts\formations\vgr_mothership_parade.lua - data\scripts\formations\x.lua - data\ui\ati\ati.lua - data\ui\newui\fegameoptions.lua - data\ui\newui\gameroom.lua - data\ui\newui\ingamemenu.lua - data\ui\newui\ingameoptions.lua - data\ui\newui\serverlobby.lua - data\ui\newui\stats.lua - data\ui\newui\styles\hw2styles.lua - data\ui\newui\styles\stylesheettestscreen.lua - data\ui\newui\unmatchingmodstable.lua These files cause the pretty-printer to fail, and need to be copied by hand: (The following list may be out-dated.) - data\ui\newui\styles\stylesheettestscreen.lua - data\ui\ati\ati.lua - data\ui\newui\fegameoptions.lua - data\ui\newui\gameroom.lua - data\ui\newui\ingamemenu.lua - data\ui\newui\ingameoptions.lua - data\ui\newui\serverlobby.lua - data\ui\newui\stats.lua - data\ui\newui\unmatchingmodstable.lua - data\art\fx\muzzle_flashes\s_muzzle.anim ...and probably others. These files were never decompiled in evillejedi's archive: - data\locale\english\fontmap.lua - data\locale\english\animatics\a00_speech.lua - data\locale\english\animatics\a01_speech.lua - data\locale\english\animatics\a02_speech.lua - data\locale\english\animatics\a03_speech.lua - data\locale\english\animatics\a04_speech.lua - data\locale\english\animatics\a05_speech.lua - data\locale\english\animatics\a06_speech.lua - data\locale\english\animatics\a07_speech.lua - data\locale\english\animatics\a08_speech.lua - data\locale\english\animatics\a09_speech.lua - data\locale\english\animatics\a10_speech.lua - data\locale\english\animatics\a12_speech.lua - data\locale\english\animatics\a13_speech.lua - data\locale\english\animatics\a14_speech.lua - data\locale\english\animatics\a15_speech.lua - data\locale\english\scripts\keybindings.lua These files were missing from evillejedi's archive: - data\missile\hgn_clustertorpedoa\hgn_clustertorpedoa.miss - data\missile\hgn_clustertorpedob\hgn_clustertorpedob.miss - data\missile\hgn_longrangetorpedo\hgn_longrangetorpedo.miss - data\missile\hgn_mine\hgn_mine.miss - data\missile\vgr_heavymissile\vgr_heavymissile.miss - data\missile\vgr_infiltratorpod\vgr_infiltratorpod.miss - data\missile\vgr_mine\vgr_mine.miss - data\missile\vgr_smallmissile\vgr_smallmissile.miss These files were stored in the wrong directory in evillejedi's archive: - All files and folders in the "data\locale\" directory belonged in the "data\locale\english\" directory. These files can be removed from evillejedi's archive for other reasons: - data\art\fx\emp_pulse_combo.lua.lua (duplicate file) Files with these extensions are valid Lua files: - .lua generic Lua file - .ti tactical icon - .ship ship data - .subs subsytem data - .wepn weapon data - .miss missile data - .cloud cloud data - .dustcloud dust cloud data - .nebula nebula data - .resource harvestable resource data - .level level data - .events animation/effects data - .wf weapon-fire data - .madstate model animation script - .anim - .mtga - .lod level-of detail - .mres - .flare - .stats end-of-game stats - .joints ??? - .campaign campaign config - .mc macros - .navs navstyles Files with these extensions are not valid Lua files: - .exe executable - .dll dynamic-link library - .ini - .big, .grm compressed data archive - .ucs, .dat localized text strings (acronym = unicode strings?) - .lpr - .aep - .st shader textures. See this post. - .vp - .fp - .ma Maya scene file - .mad model animation data - .hod hardpoint/object data - .ahod variant spelling? - .tga Truevision Targa rastar graphics format - .shader - .txt text file - .csv comma-separated values--used for end-of-game log files - .cur cursors - .hotspot more cursor stuff - .rot relic's graphics format - .dds DirectX rastar graphics format - .fda AIFR sound file variant - .icon - .icons variant spelling? - .nis non-interactive sequence - .script - .sav save-games and sync-error reports - .rec recorded game - .log log file - .rcf font These files in evillejedi's archive aren't valid Lua files, and therefore can't be pretty-printed: - data\art\fx\explosion splash.aep - data\art\fx\planetkiller_explosions\abomb mesh.ma - data\keeper.txt - data\locale\english\ati.ucs - data\locale\english\buildresearch.ucs - data\locale\english\engine.ucs - data\locale\english\events.ucs - data\locale\english\leveldata\campaign\ascension\m03_staging.ucs - data\locale\english\leveldesc.ucs - data\locale\english\resource.ucs - data\locale\english\ships.ucs - data\locale\english\ui.ucs - data\shaders\alphateamglow.st - data\shaders\alphateamglowadditivelight.st - data\shaders\asteroid.st - data\shaders\asteroidtest.st - data\shaders\ati_combine3\badge.st - data\shaders\ati_combine3\ship.st - data\shaders\ati_combine3\thruster.st - data\shaders\backfacingwhite.st - data\shaders\background.st - data\shaders\badge.st - data\shaders\badgeadditivelight.st - data\shaders\badgelight.st - data\shaders\blackandwhite.st - data\shaders\cbv.st - data\shaders\cbvoffset.st - data\shaders\cbvonly.st - data\shaders\default.st - data\shaders\defaultadditivelight.st - data\shaders\defaultlight.st - data\shaders\depthfill.st - data\shaders\dustcloud.st - data\shaders\dustcloudnebula.st - data\shaders\empty.st - data\shaders\env_combine2\background.st - data\shaders\env_combine2\badge.st - data\shaders\env_combine2\innatess.st - data\shaders\env_combine2\matte.st - data\shaders\env_combine2\matteadditivelight.st - data\shaders\env_combine2\ship.st - data\shaders\env_combine2\thruster.st - data\shaders\env_combine3\badgelight.st - data\shaders\env_combine3\mattealphaadditivelight.st - data\shaders\env_combine3\mattealphalight.st - data\shaders\env_combine3\mattelight.st - data\shaders\env_combine3\resource.st - data\shaders\env_combine3\resourcenm.st - data\shaders\env_combine3\shadowlight.st - data\shaders\env_combine3\shadowlightalpha.st - data\shaders\env_combine3\shiplight.st - data\shaders\env_combine3\thrusterlight.st - data\shaders\env_combine3_vp\resourcenm.st - data\shaders\env_combine4\badge.st - data\shaders\env_combine4\ship.st - data\shaders\env_combine4\thruster.st - data\shaders\env_crossbar2\resource.st - data\shaders\env_crossbar2\resourcenm.st - data\shaders\fp_arb\additive.fp - data\shaders\fp_arb\badge.fp - data\shaders\fp_arb\megalith.fp - data\shaders\fp_arb\megalithglowpass.fp - data\shaders\fp_arb\shadowandlight.fp - data\shaders\fp_arb\shadowandlightsmall.fp - data\shaders\fp_arb\ship.fp - data\shaders\fp_arb\shipbasepass.fp - data\shaders\fp_arb\shipbasewithbadgepass.fp - data\shaders\fp_arb\shipglowpass.fp - data\shaders\fp_arb\shiplightpassadditive.fp - data\shaders\fp_arb\thruster.fp - data\shaders\fp_arb\thrusterbasepass.fp - data\shaders\fp_arb\thrusterglowpass.fp - data\shaders\fp_arb\thrusterlightpassadditive.fp - data\shaders\fragment_program\badge.st - data\shaders\fragment_program\badgeadditivelight.st - data\shaders\fragment_program\badgelight.st - data\shaders\fragment_program\megalith.st - data\shaders\fragment_program\megalithadditivelight.st - data\shaders\fragment_program\ship.st - data\shaders\fragment_program\shipadditivelight.st - data\shaders\fragment_program\shiplight.st - data\shaders\fragment_program\thruster.st - data\shaders\fragment_program\thrusteradditivelight.st - data\shaders\fx.st - data\shaders\fxsolid.st - data\shaders\fxsolidalphatest.st - data\shaders\glow.st - data\shaders\glowadditivelight.st - data\shaders\hyperspaceplanestencil.st - data\shaders\hyperspaceplanetextured.st - data\shaders\hyperspacescreen.st - data\shaders\innatess.st - data\shaders\innatesslight.st - data\shaders\matte.st - data\shaders\matteadditivelight.st - data\shaders\mattealpha.st - data\shaders\mattealphaadditivelight.st - data\shaders\mattealphafullbright.st - data\shaders\mattealphalight.st - data\shaders\mattelight.st - data\shaders\megalith.st - data\shaders\megalithadditivelight.st - data\shaders\mouseover.st - data\shaders\nebula.st - data\shaders\nv_reg_combiners\alphateamglow.st - data\shaders\nv_reg_combiners\alphateamglowadditivelight.st - data\shaders\nv_reg_combiners\badge.st - data\shaders\nv_reg_combiners\blackandwhite.st - data\shaders\nv_reg_combiners\default.st - data\shaders\nv_reg_combiners\glow.st - data\shaders\nv_reg_combiners\glowadditivelight.st - data\shaders\nv_reg_combiners\mattewithshadowglow.st - data\shaders\nv_reg_combiners\mattewithshadowspecular.st - data\shaders\nv_reg_combiners\megalith.st - data\shaders\nv_reg_combiners\megalithadditivelight.st - data\shaders\nv_reg_combiners\resource.st - data\shaders\nv_reg_combiners\ship.st - data\shaders\nv_reg_combiners\shipadditivelight.st - data\shaders\nv_reg_combiners\star.st - data\shaders\nv_reg_combiners\starfield.st - data\shaders\nv_reg_combiners\thruster.st - data\shaders\nv_reg_combiners\thrusteradditivelight.st - data\shaders\nv_reg_combiners_vp\resourcenm.st - data\shaders\nv_reg_combiners2\badgeadditivelight.st - data\shaders\nv_reg_combiners2\badgelight.st - data\shaders\nv_reg_combiners2\mattelight.st - data\shaders\nv_reg_combiners2\ship.st - data\shaders\nv_reg_combiners2\shiplight.st - data\shaders\nv_reg_combiners2\thruster.st - data\shaders\nv_reg_combiners2\thrusteradditivelight.st - data\shaders\nv_reg_combiners2\thrusterlight.st - data\shaders\resource.st - data\shaders\resourceadditivelight.st - data\shaders\resourcenm.st - data\shaders\shadowbase.st - data\shaders\shadowdepth.st - data\shaders\shadowhyperspacea.st - data\shaders\shadowhyperspaceb.st - data\shaders\shadowlight.st - data\shaders\shadowlightadditive.st - data\shaders\shadowlightalpha.st - data\shaders\shadowself.st - data\shaders\shadowsm.st - data\shaders\ship.st - data\shaders\shipadditivelight.st - data\shaders\shiplight.st - data\shaders\star.st - data\shaders\starfield.st - data\shaders\subsystem.st - data\shaders\symbol.st - data\shaders\thruster.st - data\shaders\thrusteradditivelight.st - data\shaders\thrusterlight.st - data\shaders\vp_arb\asteroid0.vp - data\shaders\vp_arb\asteroid1.vp - data\shaders\vp_arb\emulate.vp - data\shaders\vp_arb\ship.vp - data\shaders\vp_arb\ship1.vp - data\shaders\vp_arb\ship2.vp - data\shaders\vp_arb\ship3.vp - data\shaders\vp_arb\ship4.vp - data\shaders\vp_arb\ship5.vp - data\shaders\vp_arb\ship6.vp - data\texture.lua.help - data\shaders\*.* - data\locale\english\leveldata\*.* These files exist in the RDN Toolkit but not in "Homeworld2.big": - data\art\fx\ion_beam\ion_beam_melt_trail.tga - data\art\fx\laser_beam\laser_line.tga - Data\DustCloud\Comctl32.ocx - Data\DustCloud\DustCloudTuning.xls - Data\Missile\Comctl32.ocx - Data\Missile\MissileTuning.xls - Data\Missile\MissleEffectEvents.xls - Data\Nebula\Comctl32.ocx - Data\Nebula\NebulaTuning.xls - Data\Resource\Comctl32.ocx - Data\Resource\ResourceTuning.xls - Data\Scripts\Weapon\*.* - Data\Scripts\Scar\StartingFleets\*.* - Data\Ship\Comctl32.ocx - Data\Ship\EffectEvents.xls - Data\Ship\ShipTuning.xls - Data\SubSystem\Comctl32.ocx - Data\SubSystem\EffectEvents.xls - Data\SubSystem\SubSystemEvents.xls - Data\SubSystem\SubSystemTuning.xls - Data\UI\Pings\Meshes\*.mtga - Data\Weapon\Comctl32.ocx - Data\Weapon\WeaponTuning.xls These files exist in "Homeworld.big" but not in the RDN package: - data\animatics\*.* - data\background\*.* - data\badges\*.* - data\cloud\*.* - data\defprofile\*.* - data\effect\*.* - data\keeper.txt\*.* - data\leveldata\*.* - data\locale\*.* - data\nis\*.* - data\pebble\*.* - data\shaders\*.* - data\sound\*.* - data\soundscripts\*.* - data\texture.lua - data\texture.lua.help - data\art\battlescar\*.* - data\art\fxlod\*.* - data\art\fx\ + all files/folders except: - data\art\fx\bullet_splash\ + all files/folders except: - data\art\fx\bullet_splash\bullet_splash.hod - data\art\fx\ion_beam\ + all files/folders except: - data\art\fx\ion_beam\ion_beam_melt_trail.tga - data\art\fx\laser_beam\laser_line.rot - data\art\fx\laser_beam\laser_pulse.rot - data\art\fx\ion_dmg_ring.lua - data\art\fx\laser_line_beam.lua - Data\DustCloud\*.* - Data\Missile\*.* - Data\Nebula\*.* - Data\Resource\*.* - Data\scripts\building and research\bentusi\*.* - Data\Ship\*.* - Data\SubSystem\*.* - Data\ui\font\*.* - Data\ui\mapthumbnails\*.* - Data\ui\meshes\*.* - Data\ui\textures\*.* - Data\ui\logo.rot - Data\ui\ati\meshes\*.* - Data\ui\commandicons\*.rot - Data\ui\cursors\*.rot - Data\ui\newui\playersetup\*.* - Data\ui\newui\clearbg.rot - Data\ui\newui\background\*.rot - Data\ui\newui\elements\*.rot - Data\ui\newui\facility\*.rot - Data\ui\newui\ingameicons\*.rot - Data\ui\newui\network\*.rot - Data\ui\newui\playback\*.rot - Data\ui\newui\research\icons\*.rot - Data\ui\newui\styles\*.rot - Data\ui\newui\styles\arrowbuttons\*.rot - Data\ui\newui\styles\button1\*.rot - Data\ui\newui\styles\button2\*.rot - Data\ui\newui\taskbar\*.rot - Data\ui\pings\meshes\*.rot - Data\ui\sensorsmanager\meshes\*.* - Data\ui\sensorsmanager\disk.hod - Data\ui\shaders\dist1.rot - Data\ui\speechicons\*.rot - Data\ui\tacticalicons\meshes\*.* - Data\ui\tacticsicons\*.rot - Data\Weapon\*.* These files in the RDN package aren't valid Lua files, and therefore can't be pretty-printed: - Data\DustCloud\*.* - Data\Missile\*.* - Data\Nebula\*.* - Data\Resource\*.* - Data\Ship\*.* - Data\SubSystem\*.* - Data\Weapon\*.* - Data\Art\Fx\Bullet_Splash\*.* - Data\Art\Fx\Ion_Beam\*.* - Data\Art\Fx\Laser_Beam\*.* - Data\Scripts\Weapon\*.* - Data\Scripts\Scar\StartingFleets\*.* - Data\UI\Cursors\*.* - Data\UI\Shaders\*.* These files in the RDN package are outdated and should not be used: - data\ai\cpubuild.lua - data\ai\cpubuildsubsystem.lua - data\ai\cpumilitary.lua - data\ai\cpuresearch.lua - data\ai\cpuresource.lua - data\ai\default.lua - data\scripts\building and research\hiigaran\research.lua - data\scripts\building and research\vaygr\research.lua - data\scripts\gamerules\killmothership.lua - data\scripts\scar\scar_util.lua - data\scripts\race.lua - data\scripts\utilityfunctions.lua - data\ui\ati\ati.lua - data\ui\newui\multiplayer\chatui.lua - data\ui\newui\shared\gamesetup.lua - data\ui\newui\styles\hw2styles.lua These files are considerably different in the decompiled (using CFLuaDC v0.97) and RDN Tools versions. This may be due to bugs in the decompiler, or changes as a result of the patch: - data\scripts\save.lua very different! - data\ui\newui\build\collapsablequeue.lua very different! - data\ui\newui\research\research.lua very different! - data\ui\newui\shared\missionselect.lua some improperly referenced textures - data\ui\newui\shared\playersetup.lua very different! - data\ui\newui\chatscreen.lua - data\ui\newui\controlstab.lua very different! - data\ui\newui\unitcapinfopopup.lua one instance of a slightly different string