142 lines
4.5 KiB
Plaintext
142 lines
4.5 KiB
Plaintext
Please read this before you attempt to make any mods or mod any existing mods.
|
|
|
|
Yes, the whole lot.
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
Please use this format for stuff:
|
|
pkg/<group name>/<mod name>/*
|
|
We can get away with using "base", but you can't.
|
|
|
|
The other directories of course are:
|
|
clsave/<group name>/<mod name>/*
|
|
svsave/<group name>/<mod name>/*
|
|
|
|
You can use a common name for these if you want,
|
|
but please stick to your group name.
|
|
|
|
Also, "pub" and "vol" are not valid group names, as you will find out soon...
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
ALL FILENAMES ARE CASE SENSITIVE.
|
|
If you find that they're not, they WILL be on my computer.
|
|
|
|
To prevent any issues, make sure all your filenames are fully lower-case.
|
|
|
|
THIS INCLUDES FILENAME EXTENSIONS!
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
There are libraries in the base mod!
|
|
Use pkg/base/lib_*.lua for them.
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
For security reasons,
|
|
you are only allowed to modify files in these directories:
|
|
Client only:
|
|
clsave/<group name>/<mod name>/vol/*
|
|
clsave/vol/*
|
|
Secure mode client only (-s 0):
|
|
clsave/pub/*
|
|
Server only:
|
|
svsave/<group name>/<mod name>/vol/*
|
|
svsave/vol/*
|
|
|
|
Note: "vol" is short for "volatile".
|
|
|
|
You can also read them.
|
|
|
|
You ARE allowed to read these:
|
|
pkg/*
|
|
Client only:
|
|
clsave/<group name>/<mod name>/*
|
|
clsave/pub/*
|
|
Server only:
|
|
svsave/<group name>/<mod name>/*
|
|
svsave/pub/*
|
|
|
|
Note, it is advised that you DO NOT run client-local Lua scripts!
|
|
If you do, you open your mod up to an awful lot of cheating.
|
|
|
|
In fact, you should be very careful with ANYTHING in clsave.
|
|
If it's anything other than a config, you will have to sanity-check it.
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
Aside from maps, don't rip stuff from Ace of Spades,
|
|
unless you're doing it as an optional pack and as a separate download.
|
|
|
|
With that said, if someone sets up a good enough pack,
|
|
I would encourage you to use that for AoS data instead.
|
|
|
|
If you're taking on this task, please do the following:
|
|
- Include models/sounds from all versions where possible
|
|
- Denote stuff by the first version that uses it in this format:
|
|
pkg/<group name>/<pack name>/whatever/name-X.XX.whatever
|
|
For instance, shotgun.kv6 would be:
|
|
pkg/<group name>/<pack name>/kv6/shotgun-0.58.kv6
|
|
OR, if converted to PMF:
|
|
pkg/<group name>/<pack name>/pmf/shotgun-0.58.pmf
|
|
- I think that's it, really.
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
See docs/modding_scripts.txt for information on mods.
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
Format support:
|
|
|
|
Maps:
|
|
- *.icemap: Iceball map format
|
|
- *.vxl: Ace of Spades headerless 512x512x64 VOXLAP map
|
|
- well, why *wouldn't* we support that?
|
|
- 1.0 maps are supported by the C side
|
|
|
|
Models:
|
|
- *.pmf: Point Model Format, designed for this game
|
|
- Soon to be (at least in part) deprecated by the vertex array (VA) API.
|
|
- Might support *.kv6 in future, who knows.
|
|
|
|
Graphics:
|
|
- *.tga: Truevision Targa
|
|
- The loader is based on the assumption that RLE is line-by-line.
|
|
- The second version of the TGA spec asserts this.
|
|
- Greyscale images are NOT SUPPORTED.
|
|
- Interleaving is NOT SUPPORTED.
|
|
- Per-pixel attributes are NOT SUPPORTED.
|
|
- X/Y offsets are IGNORED.
|
|
- Extended TGA information is IGNORED.
|
|
- *.png: Portable Network Graphics
|
|
- 1/2/4bpp images aren't supported yet.
|
|
- Translucency/transparency supported in a few ways, probably more than IE
|
|
- Try it, if it doesn't work, submit an issue.
|
|
|
|
Metadata:
|
|
- *.json: JavaScript Oriented Notation
|
|
- Binary files are supported for read and write!
|
|
- Hoping to support a simple line-by-line append-mode format, too.
|
|
|
|
Sounds:
|
|
- 8/16-bit *mono* *.wav. Stereo .wav will just be rejected.
|
|
- IMA ADPCM (codec 0x0011, NOT 0x0002 (which is MS ADPCM)!) supported since 0.2.1-26.
|
|
- If someone can be bothered with libogg/libvorbis, *.ogg vorbis too.
|
|
- Maybe even some form of DFPWM, but that'll be for voice chat only.
|
|
|
|
Music:
|
|
- *.it: Impulse Tracker.
|
|
- This is via libsackit.
|
|
- We are not supporting any other module formats. Convert it to .it.
|
|
- WE ARE NOT USING SDL_MIXER FOR THIS
|
|
- Might possibly allow for *.ogg, too.
|
|
|
|
Video:
|
|
- Oh piss off.
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
|
|
TODO: more stuff
|