PDA

View Full Version : How to rebuild/repbo ArmA addon pbos faster?



kju
Jul 22 2007, 18:20
hey guys http://forums.bistudio.com/oldsmileys/smile_o.gif

lets start with the example as it should make it more clear.

1. unpbo (ie with cpbo.exe) ArmA\addons\anims.pbo
2. change config.cpp (unrap and rap - details not important)
3. repbo anims.pbo (ie with cpbo.exe)

so only a small config/text file gets changed.

however as the anims.pbo contains all the rtm files (~500 MB),
this takes up to a minute for decompression and compression each.
(decompression is only needed once of course)
(config.bin is renamed to config.bin.bk as config.cpp works as well)

so its there a way to make this process any faster?

sort of "merge only the changed file into an existing pbo"

any help is appreciated a lot!


best regards
Q


build.bat so far:
PATH\cpbo\cpbo.exe -y -p Anims

General Barron
Jul 24 2007, 07:49
WinPBO for OFP had a pbo patching utility. I never used it though so I don't know how it works.

I believe there is a newer utility for ArmA pbo's that has the same capability.

If you wanna get really tricky, perhaps you could try using the #include statement to reference a file outside of the pbo? You'd have to leave the config as a .cpp though, if that is possible.

I do remember that one mod for OFP left all their configs/sounds/etc in external files so that you could easily edit/patch them (was a WWII mod... can't remember which one).

kju
Jul 24 2007, 09:02
good thoughts GB http://forums.bistudio.com/oldsmileys/smile_o.gif

#include is a great idea http://forums.bistudio.com/oldsmileys/smile_o.gif

there is also patchpbo by mikero. it works only for OFP at this point.
however mikero might give it an update in the future.

most efficient is to update/add content to existing class via a different addon. you just have to make sure to get the cfgPatches right and use the correct/or none $prefix$.
access rules might be a problem at times, but it can be avoided.

i'll make a BIKI entry about this someday soon http://forums.bistudio.com/oldsmileys/smile_o.gif


Quote[/b] ][access]
0=ReadAndWrite
1=ReadAndCreate
2=ReadOnly
3=ReadOnlyVerified

Sickboy
Jul 24 2007, 09:04
i'll make a BIKI entry about this someday soon http://forums.bistudio.com/oldsmileys/smile_o.gif


Quote[/b] ][access]
0=ReadAndWrite
1=ReadAndCreate
2=ReadOnly
3=ReadOnlyVerified
You mean like this one http://forums.bistudio.com/oldsmileys/smile_o.gif http://community.bistudio.com/wiki/CfgVehicles_Config_Reference#access

kju
Jul 24 2007, 13:29
nah. i mean a BIKI article about this thread's topic http://forums.bistudio.com/oldsmileys/wink_o.gif

kju
Aug 3 2007, 06:52
to add some info here:

Mikero released an update of his DosTools.
This update contains a working version of PatchPbo http://forums.bistudio.com/oldsmileys/smile_o.gif

http://andrew.nf/ofp/tools/MikeroDosTools1.4.rar




Quote[/b] ]Usage:

patchPbo [-OverrideOption] <patchfile[.pbo]> <targetfile[.pbo]>

options : -a Arma
-A Arma w sha-key (recommended)
-r Resistance
-c cwc
-e elite
if not specified, output pbo will be determined by highest order input file. Eg
if patch is a cwc and target is an Arma file, output is arma.


example:

patchpbo MyPatches APboFile

The output is sent to ApboFile.patched.pbo

NEITHER source files are affected.

You can, as easily, reverse files to

patchbpo ApboFile MyPatches

Output will be to MyPatches.patched.pbo


---
Patchpbo returns NON zero on any error encountered.


PatchPbo will STRIP resistance format out of pbo files as being
entirely redundant (and a bloody pain)

PatchPbo RETAINS the original compression (if any) AND
encryption (if any) of the original files.

DELETING PBO&#39;s

simply supply a file of zero length inside the <PatchPboFile>

if this routine discovers the same name in the target pbo, it will remove it.

*importantly*, if it does NOT discover one in the target pbo, it
considers this to be a geniune attempt to add a zero length file.
Such files are ofen used as version flags.

Enjoy.