Shadowspawn on 7/4/2006 at 17:31
NH has it right, I'm removing anything I can match up to existing resources in the standard IBT files. I just leave a pointer to the resource and zero out the content in the CBT file. WinZip loves 0's, it takes them all away! Anything I can't find is something that wasn't used in the standard IBTs, or something I can't find or figure out.
Note that if at some point an expansion pack (like T2X) or texture packs, etc, are released, all we have to do is include them in the standard content files and they'll also get compressed away. So if there's a bunch of custom content used in common, we can distribute that and allow the compressor to optimize it away.
I'll certainly publish the source when I'm finished. I don't mind sharing this stuff, I just don't want to document and explain it while I'm still trying to figure it out. Not too much longer now...
potterr on 7/4/2006 at 17:35
Quote:
Note that if at some point an expansion pack (like T2X) or texture packs, etc, are released, all we have to do is include them in the standard content files and they'll also get compressed away. So if there's a bunch of custom content used in common, we can distribute that and allow the compressor to optimize it away.
So thats a case of definitely having updates to the dll and compressor exe.
Ulukai on 7/4/2006 at 19:52
Quote Posted by potterr
I have had a lot of abuse from a few people over GLs UI here
No you didn't. You got it pointed out to you where you were going wrong in a variety of ways ranging from 'quite helpful' to 'funny but cruel'.
Regardless, please do not do your dirty laundry over another thread in here.
STiFU on 8/4/2006 at 08:44
I think he is rather angry that you posted it in the competition thread. He is right that you should've posted your concerns in the "GarrettLoader Issues"-Thread. But anyway, I can understand Poterr a bit. It is always a bad feeling if you invest lots of time into a project and then
most people go ahead and say "this and that is absolute total crap" instead of giving constructive criticism, like you did Ulukai. You said it yourself: "funny but cruel". Any mind you, your first post wasn't that constructive as well.
Quote Posted by Ulukai
I cannot grasp anything looking at what is quite frankly, what scrambled eggs would look like if it manifested itself as an interface.
I don't mean to offend you here, but to defend Poterr. Actually I am of the same oppinion as you. The suggestion you made about the enhanced UI is much more clear, than the original one, which was rather something new (kind of an experiment), but not accepted by the community as much as expected. But poterr, Keep it up!!! :)
Anyway, I don't want to make this thread off-topic. I am really looking forward to see a working compression-system...
potterr on 8/4/2006 at 11:25
And so am I, just going back to my last point about versioning, actually going way back several threads...I'm thinking that standard texture packs may be an idea here as well, maybe a couple of 10MB ones that can not only be downloaded by users but added into the editor itself and shadowspawn's exe and DLL. Ascottk and str8g8 already have a mass of textures, if they are willing to package them up into a zip or two, shadowspawn could probably add them in to his exe while its in development now and I will see what I can do to set GL up so that it will install them as well....somehow...
Crispy on 8/4/2006 at 12:19
I guess one way of doing that would be to add a sort of header to CBT files that records the sources that were used in its compression, with filenames, brief descriptions, homepage URLs, and checksums (MD5 or similar) along these lines:
Bob_TexturePack3.ibt|Bob's Amazing Texture Pack!!!!|(
http://www.bob.com/thief/texturepack3/|578DF93A)
The pipe (|) characters would probably be null bytes or something, but you get the general idea. The 578DF93A is a checksum, included to make sure that the file isn't corrupted or changed. (Corrupted resource packs -> corrupted IBTs -> bad.)
Here's how it might work: Fred downloads Super Duper FM 9000, sticks it in his FM folder and boots up GarrettLoader with great anticipation. He selects the FM and clicks Install - but woe, what is this? 'This FM requires "Bob's Amazing Texture Pack!!!!", which you don't have'. Oh, calamity! Nevertheless, Fred bravely soldiers on in the direction of the provided link, downloads Bob's Amazing Texture Pack, tries to install Super Duper FM 9000 (it works this time) and plays it into the night.
The next day, Fred notices that Super Duper FM 10K is out! It too requires Bob's Amazing Texture Pack; but thankfully, Fred already has it, and so doesn't need to download it again. Hurrah. Bandwidth is saved, time is saved, money is saved. All live happily ever after.
Sorry for the slightly hyped rambling, I'm a bit fatigued at the moment. :p
Uh, anyway, the point of all that was that CBT files would record the details of resource packs used in their construction. GL would tell the decompressor of all available resource packs, and the decompressor would match them up accordingly. If any are missing, or their checksums don't match, then the decompressor would yell at GL, which in turn would politely inform the user of the problem, give them a couple of URLs to follow, and refuse to install anything. This sequence of events has the additional advantage that the decompressor does all the checking work, which means that GL doesn't have to parse the file format or bother with checksums or anything. The decompressor does one job, GL does the other; no need to mingle them. :)
A slight variant on this idea is to have the URLs point directly at the resource pack locations, but I'm not sure this is such a good way to go about it. Adding file downloading support to GL would be way overkill, and I just think the send-them-to-the-website approach is cleaner. Especially if the download URL changes for whatever reason, or maybe the host stops allowing hotlinking; either way you're hosed if you'd used a direct link.
Shadowspawn on 17/4/2006 at 21:50
I just lost the hard drive in my laptop! :mad:
Fortunately, I didn't lose any of the work I've done (thank God I sync with my main home computer), but I can't work on the Decompressor code this week while I'm traveling for work.
Sorry for the delay guys, I almost got the test version of the decompressor finished. Once I got it working, I was going to convert it to a DLL so potterr can use it in GL.
While I'm here, a question for the FM designers; Do you mind running a command line program to compress your IBT files? Or do you use GL to help you set up your FM for distribution? I can build whatever we need, I just want to get an idea of how people would want to use these tools. I know we have to make it idiot proof for the receiving end (those guys just want to play FMs), but on the designer end - what would you like?
Crispy - I'll take those ideas into consideration. I think it's a good set of ideas for starting. Due to the way I'm mangling the IBT file into a CBT, I think it'll be easier for me to include a file for each CBT which lists the IBT files it needs. That will make this whole thing more flexible.
potterr - I'll make sure I add a version stamp some way which it can be read by GL.
I also wrote a little program while runs through an IBT and analyzes the contents, and writes important info into a text file. I use this while running the compressor to make a lookup database of what's available and in which files. I'll supply this to the designers, you wouldn't normally need to run it, I'll provide the already processed .cnt (Content) files. But, it can be run on a new resource IBT, like a texture pack, and be automatically included in any future compressions, which will give us the ability to add "Bob's Amazing Texture Pack!!!!" anytime we want. :cheeky:
I'll check back in here when I get my laptop rebuilt or I make progress again from home (not until Friday at the earliest).
nomad of the pacific on 18/4/2006 at 04:54
Quote:
Originally posted by Shadowspawn:Do you mind running a command line program to compress your IBT files? Or do you use GL to help you set up your FM for distribution?
Command line is fine for me. :D
Sorry about your hard drive. I'm glad you sync! Your work for the community is invaluable. It would be a shame to lose it because of a faulty hard drive! :p
d'Spair on 18/4/2006 at 09:04
Actually, I don't use GL because of the damn Windows tools I need to install, and they won't install on my computer. I use ThiefLoader instead.
That's going to be a problem for me personally.
STiFU on 18/4/2006 at 10:57
I don't get it? So you play Thief 3 on Linux or whatever system? I didn't know that there was a non-windows version out... And I didn't even know that there is another thief3 mission loader!! :D
However, I'd prefer the version included in Garrettloader, because Garrett loader supports us with all the other features as well. But I see the problem with that. Perhaps we should start a vote.