How to use SDD

How to use SDD

Discuss the source code and development of Spring Engine in general from a technical point of view. Patches go here too.

Moderator: Moderators

Post Reply
User avatar
Caydr
Omnidouche
Posts: 7179
Joined: 16 Oct 2004, 19:40

How to use SDD

Post by Caydr »

On the latest dev build I've got (it's about 20 or 30 revisions behind already mind you), I can't for the life of me figure out how to arrange the directory structure for SDD files.

Could someone please post an example directory/zip tree for me to look at?

Thanks for implementing my idea so quickly, btw! This'll make AA installs MUCH, MUCH cleaner.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

SDD files arent files at all, they're folders think SDZ == spring data zip SDD = spring data directory.

The contents of an SDD are identical to the contents of an SD7, only they're in a folder not an archive.

aka

/mods/AA.SDD/mod_info.tdf
/mods/AA.SDZ with mod_info.tdf inside.

Look at jelmers dev build releases with sm3 maps, as some of the ones he made use sdd ratehr than sdz/7
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

That is going to rock soooooo hard. We'll be able to distro our mods as self-extracting 7z's... and users will no longer have to wait for the mods to decompress before the next steps of loading the game starts. The overall benefits in terms of speed should be very nice.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

hmm, you'll encounter the problems I encountered with installers, namely people asking where to extract the rar archive too oblivious to the fact its actually containing an installer, all the while, you think they're asking where to install to.

All caused by the file hosting sites not accepting .exe's

I found that a lot of it can be avoided easily. Hence why the archive I uploaded is now named NTaiInstaller.rar not NTaiXE9RC22.rar
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

It may need a bit less CPU while loading because there's no need to decompress anything, but it uses significantly more diskspace (decompressed data plus overhead because of file system's resolution (4k blocks for all filesystems I know).

This means CPU usage may be reduced, but disk IO is probably increased a LOT (esp. if all these many small files are fragmented over the disk while extracting them).

Also keep in mind that e.g. zip is very fast to decompress, so I wouldn't really recommended distributing everything in self extractable .sdd files.

Then I don't even talk about requiring user to perform an extra error-prone step after downloading the file. (e.g. now it's drop in & play, then it's drop in, extract & play.)

E: note that I developed those archives mostly for development purposes: so you can keep around multiple mods in extracted form in your spring directory.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

It always forces non windows users to handle the issue of trying to execute a .exe installer on a non windows system.
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

Hmm... I'll think about it, and of course... do a stress test with NanoBlobs. You guys may be right- it may not be worth it. For development purposes alone, though, this is a godsend... I'll be able to run test cycles at least 25% faster now as I'm working on things...
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

AF wrote:It always forces non windows users to handle the issue of trying to execute a .exe installer on a non windows system.
As long as it are self extracting 7zips it would work I think.

My 64 bit linux 7z binary is capable of creating & extracting 32 bit windows 7z .exe's IIRC :P

But you're right, anything else wouldn't work, and most linux users probably don't know they can extract a 7z self extracting .exe on linux, so they wouldn't even try... :wink:
User avatar
KDR_11k
Game Developer
Posts: 8293
Joined: 25 Jun 2006, 08:44

Post by KDR_11k »

I always set my download zips up so you only have to unzip them into the game directory and everything falls into place.
User avatar
SinbadEV
Posts: 6475
Joined: 02 May 2005, 03:56

Post by SinbadEV »

I think this SDD thing will find it's best use for mod/map developers who don't want to recompress their whole package each time they change a single line in an FBI file.
User avatar
KDR_11k
Game Developer
Posts: 8293
Joined: 25 Jun 2006, 08:44

Post by KDR_11k »

With most modern programs you just drag and drop the file you have changed and only that gets recompressed...
Gnomre
Imperial Winter Developer
Posts: 1754
Joined: 06 Feb 2005, 13:42

Post by Gnomre »

It's still way easier to use sdd. Sdd plus spring.exe's ability to choose mods itself a couple versions ago means it's finally a breeze to test mods. I've been using it since the dev build was put out, and there's no way I could go back now!
HawkMan
Posts: 53
Joined: 20 Jul 2006, 22:28

Post by HawkMan »

KDR_11k wrote:With most modern programs you just drag and drop the file you have changed and only that gets recompressed...
7zip has a crappy compression routine similar to Ace files though. even if all yoru need is that one txt file,it needs to extract the whole archive to get it. so with a huge 7z file the computer will be workign a long time uncompressing data you don't need to a dumping temp folder, to get the one file.

Unless they've majorly restructured and rewrote the algorithm recently, very recently
el_matarife
Posts: 933
Joined: 27 Feb 2006, 02:04

Post by el_matarife »

7zip has a crappy compression routine similar to Ace files though. even if all yoru need is that one txt file,it needs to extract the whole archive to get it.
If you turn solid archive mode off, this doesn't happen. Solid mode is implemented into 7Zip because it improves the compression ratio if you use a lot of similar files by treating all the files as one large data stream. If you turn this option off when you create an archive, the compression ratio may get worse but you can change or extract single files in an archive easier.
User avatar
Caydr
Omnidouche
Posts: 7179
Joined: 16 Oct 2004, 19:40

Post by Caydr »

Ah, I see what it's for now. Hmm, sounds very handy indeed. Ehh... wish I'd had this the last 6 hours while I was tweak-zip-test-curse-tweak-zip-test-throwchair-ing....
User avatar
Caydr
Omnidouche
Posts: 7179
Joined: 16 Oct 2004, 19:40

Post by Caydr »

Gnome wrote:It's still way easier to use sdd. Sdd plus spring.exe's ability to choose mods itself a couple versions ago means it's finally a breeze to test mods. I've been using it since the dev build was put out, and there's no way I could go back now!
Don't forget the F8 save function. It doesn't work perfectly but it saves you the .cheat .give .give .give .give .give ....
Argh wrote:That is going to rock soooooo hard. We'll be able to distro our mods as self-extracting 7z's... and users will no longer have to wait for the mods to decompress before the next steps of loading the game starts. The overall benefits in terms of speed should be very nice.
This isn't necessarily true. AA uses uncompressed ZIPs inside a highly compressed ZIP (the distro package with readmes, URLs, etc), meaning virtually no load time.

~~~

Hmm... Can't get it to work. I put my Patch file dependancy to "AASBASE.SDD", and put a folder in my mods directory called "AASBASE.SDD". Then I dump the contents of AASBASE.SDZ into it... and it crashes.

Says it can't find gamedata/movinfo.tdf, and also the background pic doesn't show, so it's not finding the directory. I'm sure I must be doing something so obvious wrong. Or maybe SDDs can't be used as a dependancy? Anyone?

AASP22.SDZ:

Code: Select all

[MOD]
{
Name=Absolute Annihilation 2.2 Patch Data;
NumDependencies=1;
Depend0=AASBase22.sdd;
}
I don't know if anyone's familiar with the way AA is set up. The mutator relies on the patch which relies on the basic game data. This allows for very easy patching with very small patch files. Anyway... that's why I don't just have an SDD...
User avatar
SinbadEV
Posts: 6475
Joined: 02 May 2005, 03:56

Post by SinbadEV »

I don't the the SDZ's can go in the SDD (logically)
SDZs will still need to be in the root directory I would guess.
Post Reply

Return to “Engine”