Advertisement

Wad, Pak, big files...?

Started by August 22, 1999 03:52 AM
3 comments, last by nPawn 25 years, 3 months ago
The benefits of coding a system yourself is that you know exactly what is being done You can also implement features (Compression, caching, ...?) as you will.

Having said that, it's not exactly a trivial task - dealing with separate files is easier than dealing with separate character streams.

White Fire

I've found the easiest thing to do was to develop using separate file and turn them into a package at the last step.

To begin with all you require is abstractions of the file IO functions. When you're devloping, your IO functions connect directly to the actual files. At a later date you can make new functions that read from packages.

The most basic form of package file is just all of the files concatenated preceded by a table of name/offset information. The abstracted fileopen command would read the name from the table and then seek to the appopriat place in the file.

You should be able to write one of these in less than a day. Definately in less time it would take you to find one on the net that does what you want.

If you want to do compression zlib is a good option. Or LZO if you want less compression and faster reads.
http://www.cdrom.com/pub/infozip/zlib/ http://wildsau.idv.uni-linz.ac.at/mfx/lzo.html

-That which does not kill us has made its last mistake.
Advertisement
I am currently building a library which allows a nice C++ interface (iostreams) to .ZIP files (using ZLIB as a backend).

I've got a putative page up for it at http://www.fensende.com/zpp .

I haven't released anything yet, but I'm almost to the stage where I need it for my game, and will be getting it ready for release (open source, BSD style license) soon.

One of the nicest features that I've put in, is the ability to have "patch" zip files; where files in one archive have priority over a file with the same name in a different archive.

Joe-bob says: check it out.

-- Pryankster

-- Pryankster(Check out my game, a work in progress: DigiBot)
Is there an SDK out there to help you implement a big wad or pak file, where you put all your data files like pictures, sounds, etc, into one big wad file, so it isn't as easily accessible, or is it just better to program one yourself?
Okay, I got off my duff and released something.

The first release of the ZPP library (including full source and VC++ project files to get started) is at http://www.fensende.com/zpp .

-- Pryankster

-- Pryankster(Check out my game, a work in progress: DigiBot)

This topic is closed to new replies.

Advertisement