Modding, Mission Design, and Coding => The Modding Workshop => Topic started by: Kazan on April 29, 2004, 09:54:30 am
Title: Console VP Compiler updated
Post by: Kazan on April 29, 2004, 09:54:30 am
I've made some minor updates to the console VP compiler tool - it now uses the files REAL timestamp so you get MD5 consistent VPs across different systems and different builds on the same system
this makes it so if you're mod is currently non-VP you can (or I can make a template and show you how) to make a NSIS installer that automatically turns it into a VP and then patches against the generated VP consistently
Remember the NSIS for TBP that tried to do this and wouldn't work? This is the bug that caused it not to work - fixed
I've also made a small change to correct the NUMFILES in the VP header being wrong - this manifests as duplicate entries of the last file in the VP under VP View 2 - should be resolved now.
In the Archive is VPMake, the md5 utility, and the binary diff/patch utility xdelta
Title: Console VP Compiler updated
Post by: Kazan on April 30, 2004, 03:46:25 pm
bump
Title: Console VP Compiler updated
Post by: karajorma on April 30, 2004, 04:33:10 pm
I've been meaning to make a VP the last few days. This will prove really useful :D
Title: Console VP Compiler updated
Post by: JarC on April 30, 2004, 05:54:28 pm
great!, was hoping you'd release one. Got a bug tho, vpmake goes bananas if you use an actually named 'data' folder as source folder and also as name resulting vp file...you get a vp with a folder structure endlessly nested showing only (0)'s...kinda pointles naming a vp data, I know, but was testing out the required commandline for a context menu addition on the base folder of fs2...would not happen ordinarily, but the possiblity exists...
Title: Console VP Compiler updated
Post by: Kazan on April 30, 2004, 05:54:44 pm
poke around through it's "-h" help flag... :D
Title: Console VP Compiler updated
Post by: JarC on April 30, 2004, 06:04:55 pm
It works alright, not saying that it doesn't :D just that if you happen to use the following commandline inside a folder named 'data', you'll see what I mean
vpmake -dir "%cd%" -o "%cd%.vp" (which is what you typically would use in a right-click contextmenu situation)
change it so just the vp name wil lbe different, and nothing wrong...
vpmake -dir "%cd%" -o "%cd%!.vp"
edit: :oops: forgot a minus...
Title: Console VP Compiler updated
Post by: Kazan on April 30, 2004, 06:20:37 pm
don't do that - the programs absolutely not suppose to be run from within the directory you set as "-dir"
Title: Console VP Compiler updated
Post by: JarC on April 30, 2004, 06:32:29 pm
:D now he tells me...:yes: godsend this one...
:nervous: ehm, any plans for an extractor?
Title: Console VP Compiler updated
Post by: Kazan on April 30, 2004, 06:38:01 pm
i don't see any purpose for me to write one... being that VP View does that just fine
Title: Console VP Compiler updated
Post by: JarC on April 30, 2004, 06:50:43 pm
as console version I mean, creating the folder struct if not there, or at least putting files in the correct ones, vpview don't do that...lumps everything in one folder
Title: Console VP Compiler updated
Post by: Kazan on April 30, 2004, 06:57:52 pm
i could probably do that
Title: Re: Console VP Compiler updated
Post by: JarC on May 02, 2004, 07:12:45 am
Quote
Originally posted by Kazan I've also made a small change to correct the NUMFILES in the VP header being wrong - this manifests as duplicate entries of the last file in the VP under VP View 2 - should be resolved now.
:nervous: I am most sorry to report this bug is still there...it is consistent though, always the last one added and it always is listed 3 times
q1: if I use -mconfig , the -o option is ignored, is this intentional?
q2: Not having used this one before, I am not sure what the correct usage is here, but after having vpmake creating a config file from a basedir named vpdir, which contains the lowest levels folders such as interface, tables, missions etc. If I then try to generate a VP with that config file, it 'alters' the pathnames in the config file, inserting a data/ folder after the vpdir/ and it then can not find any of the files...am I doing something wrong? and if so, where do I make an incorrect assumption?
Title: Console VP Compiler updated
Post by: Kazan on May 02, 2004, 09:32:22 am
q1: yes because when your -mconfig (MAKE config)ing there is no VP output, -o is explicity for VP output, the [configfile] part of -mconfig [configfile] is teh output for an mconfig operation
q2: i need to see the command line arguments you're using to run it
the configfile system is for usage in mod updater NSIS installers to convert a non-vp'ed mod into a VP-ed mod and then patch against it.
for normal operation you should just go vpmake -dir [source data dir] -o [target vp]
such as vpmake -dir TBP_Core_2_0 -o tbp-core-2_0.vp
if it's adding extra data\ onto the config when you're using rconfig it's because when you made the config it prepended data\, lemme peek at stuff to see if it can be made not to prepend data
Title: Console VP Compiler updated
Post by: JarC on May 02, 2004, 09:55:38 am
Quote
Originally posted by Kazan q2: i need to see the command line arguments you're using to run it
this is what I tried... I created the config file using
vpmake -dir BSG -mconfig BSG.vpc
and then I typed
vpmake -dir BSG -rconfig BSG.vpc
BSG being a subfolder in the folder I executed vpmake in, the BSG folder also does not have a DATA folder itself, but only the lower level folders. This because when generating a VP using
Now it makes sense...although it is confusing at first because when taking the last command vpmake -dir d:\games\freespace2\wcsaga -o wcsaga.vp and change it so it is NOT using a configuration file the wcsaga folder would become the data folder in the VP so you end up with
Title: Console VP Compiler updated
Post by: Kazan on May 02, 2004, 10:35:06 am
exactly! when using a relational config (-rconfig) you specify the data dirs parent dir, and the data dir MUST be named "data" - rconfig was meant for extracting an already insalled mod piecewise into several vps
so in short: when building VPs don't use config files, you don't need them - config files are very special purpose
just
vpmake -dir -o
Title: Console VP Compiler updated
Post by: WMCoolmon on May 02, 2004, 10:01:33 pm
Er, what do you mean by the "REAL timestamp"...didn't the old one (cfilearchiver, I presume) use _findfirst() to get the last modification time for the file?
Title: Console VP Compiler updated
Post by: Kazan on May 02, 2004, 11:35:16 pm
wmcoolman: for files not in a VP, filse in a VP need timestamped - i was lazy before and didn't use their real timestamp and instead jsut called time() because the method to get the timestamp is a pain in the ass under windows
Title: Console VP Compiler updated
Post by: WMCoolmon on May 03, 2004, 06:17:30 pm