spillerrec / VirtualAA2

2 stars 0 forks source link

Import PackUpdater updates #8

Open spillerrec opened 8 years ago

spillerrec commented 8 years ago

An importer for official updates using the PackUpdater.exe is very much needed. Compared to FileCopy.exe this is not trivial to do manually, as it uses filenames like up00_00.pp instead of the real filenames of the PP files it affects.

I'm not sure how to do this, as the filenames are stored in the EXE. It would be easy to extract the filenames, but I don't think there is an reliable way to identify which string belongs to what file.

An advanced way to support this would to enable writes to the virtualized PP archives and create a mod package by keeping track of the diffs. But this is too complicated to consider for now...

spillerrec commented 8 years ago

Anyway, this is the section we are interested in: strings2.exe PackUpdater.exe | grep "\.pp\|Software"

Software\illusion\AA2Edit\
%s/data/jg2e02_00_00.pp
%s/data/jg2e02_00_04.pp
%s/data/up01_00.pp
%s/data/up01_01.pp
Software\illusion\AA2Play\
%s/data/jg2p00_00_00.pp
%s/data/jg2el02_02_00.pp
%s/data/jg2p05_s01_00.pp
%s/data/jg2p09_04_00.pp
%s/data/jg2p09_06_00.pp
%s/data/jg2p09_07_00.pp
%s/data/jg2p09_08_00.pp
%s/data/jg2p09_11_00.pp
%s/data/jg2p00_00_01.pp
%s/data/jg2p00_00_02.pp
%s/data/jg2p05_a21_01.pp
%s/data/up00_00.pp
%s/data/up00_01.pp
%s/data/up00_02.pp
%s/data/up00_03.pp
%s/data/up00_04.pp
%s/data/up00_05.pp
%s/data/up00_06.pp
%s/data/up00_07.pp
%s/data/up02_00.pp
%s/data/up03_00.pp
%s/data/up03_01.pp
%s/data/up00_08.pp

strings2.exe: http://split-code.com/strings2.html grep: http://gnuwin32.sourceforge.net/packages/grep.htm

spillerrec commented 8 years ago

So tried just to match up the filenames based on its order. Guess what, problems. Notice how the above contains more upXX_XX.pp files than the jp2p_XX_XX_XX.pp files. Furthermore, at least one of the upXX_XX.pp files does not even exist...