As you might have noticed by now: lbz now stores it's graphics and
models in a ZIP file.
This is a normal zip file created with
winzip or with the linux zip command.
The only trick to it is to
DISABLE COMPRESSION :) lbz only takes UNCOMPRESSED zipfiles.
WHY???
1: I can easily give out patches to the data file.
2: Create
mods and share them (in the future: when the network protocol gets
it's update)
3: This gives me great file search capabilities: (on
windows and linux...)
4: You can overwrite/edit files WITHOUT
deleting the old file. (more on this below...)
HOW DOES IT WORK?
1: LBZ starts up and opens up the “lbzmain.zip”
file.
2: LBZ creates a list of all the files in this zip
file...
3: It then opens up and mod or patch zipfiles it can find
(more below).
4: It checks for new versions of the files found in
lbzmain.zip and new fresh files... these are added to the list.
5:
LBZ is started: the file list is used to load files.
SO I WANT TO MAKE A MOD...... HOW?
Simple: unzip your normal lbzmain.zip.... this should create the
data map etc.
Now edit all you want: (use the other HOWTO's
;)).
Now delete all the files you dont need in you mod from the
data directory.
Zip the data directory and make sure you DONT USE
COMPRESSION!
And last: name your zipfile to mod{number}.zip, where
number is a number from 0 to 999 :)
And voila! your lbzmain.zip is
COMPLETELY UNTOUCHED and you still have your mod.
OK........ AND WHAT ABOUT INSIDE THE DATA DIRECTORY????
Ok... LBZ loads the data directory based on a few rules:
1: All
files that are in the “data/leveltextures” map are loaded
as textures for the levels... simple huh?
2: All MAPS that are in
the “data/levels” map are loaded as levels as long as
they meet the requerements for levels.
3: All MAPS that are in the
“data/characters” map are loaded as characters as long as
there is and index.lcf file in it.
SOUND SIMPLE ENOUGH.... JUST PUT THE FILES IN THE RIGHT PLACE.... BUT WHAT ABOUT REQUEREMENTS???
It's a level when you have at least
these files in the map:
levelshot.tga: This is a picture of the
level. used in the menu.
level.lev: The actual level: you can
create this with the ingame level editor.
Optionaly you can
include:
level.mmd: a configuration file to include models on your
levels.
prerender.lgs: a render script that is called BEFORE your
level is drawn.. (make a nice skybox with this!)
postrender.lgs: a
render script that is called AFTER your level is drawn.. (make nice
fogg effects with this..)
For more info: just check out the lbzmain.zip file and the files inside of it.