.BWC Script Reference Manual
(c) 2001 DragonZap, dragonzap1@aol.com

For my MilkShape plug-ins, I've made a script format which is very similar to the
.qc files used for Half-Life, Quake, Quake 2, et al. models. BWC files are used
to generate .CBN files, and if you so choose, you don't even need to make a new
model to use a new .CBN file (for example, if you only wanted to change hair color
or hair length of a creature).

.BWC files can also be used to make .HD files, in case you want to change the
skins of the good/evil advisors.

BWC Commands:

BWCversion <number>
	Determines the version of the plug-in that created the .BWC file.
	This is necessary as the .BWC commands will probably change several times
	before the plug-in is completed.

segment <type> <commands>
	Defines a segment. Different segment types have different sets of commands.
	.CBN files use "Creature" segments.
	.HD files use "helpdude" segments.

"Creature" segment commands (Used for .CBN files only):
model <name> <filename>
	Sets the filename used for model <name>. <name> can be base, evil, good,
	thin, fat, weak, and strong. <filename> must be the name of an .L3D file
	in the "Data\CreatureMesh" directory, minus the .L3D extension. For
	example, the Ape's base mesh is "c_ape_Boned_Base". Use this command
	to change where Black & White looks for your custom model files so that
	you don't have to overwrite existing .L3D files. As an example, if I
	made, say, a snail creature, I might want to call the base mesh
	"C_DragonZap_snail_base".

hairgroup <segment count> <commands>
	Defines a hair group. Hairs in the hair group will be made up of
	<segment count> parts. See below for "hairgroup" block commands.

eyes <size> <commands>
	Defines information for creature eyes. There can be only one "eyes"
	block per Creature segment. See below for "eyes" block commands.

soundbank <filename>
	Sets the soundbank filename of the creature. Since nobody has a way to
	make custom sounds for creatures yet, there isn't much use for changing
	this yet. (and using it to use a different creature's sounds does not
	seem to work)

	<filename> should be the name of the .SAD file as found in the
	"Audio\Creature\SFX" directory, minus the .SAD extension.

tattoo <group name> <x> <y> <scale> <rotation> <flipped>
	Sets the positioning of creature tattoos. There can be a maximum of 8
	tattoos.

	<group name> should be the name of the triangle group that you used in
	MilkShape. <x> and <y> refer to the pixel position of the center of the
	tattoo on the texture image. <scale> is used to scale those images.
	<rotation> is a number from 0-3 which is the number of times that the
	tattoo image should be rotated 90 degrees clockwise. A value of 2 would
	mean that the tattoo was turned upside-down. If <flipped> is 1, then the
	tattoo will be a mirror image of itself.

"hairgroup" block commands:
align <type> <r> <g> <b> <length> <damping> <stiffness> <thickness>
	Sets basic information about creature hair for the current hair group.
	<type> can be base, good, or evil. <r> <g> <b> are numbers from 0-255 and
	are the red, green, and blue values of the hair color. ("0 0 255" would be
	completely blue hair, for example.) <length>, <damping>, <stiffness>, and
	<thickness> all refer to properties of the creature hair. Play around with
	them to get the effects you want.

hair <flags> <commands>
	Defines a single hair. The meaning of the flags is not yet known, so
	it should be left alone.

"hair" block commands:
intersect <n1> <n2> <n3> <n4> <n5> <n6> <n7> <n8> <n9>
	This command has something to do with the placement of the hair on a
	creature, but it is not yet known what the numbers mean. The numbers
	can, however, be copied from one hair to another to give two hairs the
	same position.

sweep <rotx> <roty> <rotz>
	Not sure. May have something to do with how the hair sways.

"eyes" block commands:
eye <n1> <n2> <n3> <n4> <n5> <n6> <n7> <n8> <n9> <n10>
	Has something to do with the placement of eyes on a creature.
	<n2>-<n10> are supposedly the same as the "hair" block's "intersect"
	command's <n1>-<n9>, but I still don't know what they mean. There
	can be up to four "eye" commands, but there seem to be two for
	each eye. (That is, normal creatures always come up with four, and
	the Greek [ogre] creature comes up with two.)

range <name> <open> <closed> <default>
	Has something to do with how open or closed eyes should be. <name>
	can be "good", "evil", or "base".

"helpdude" segment commands (Used for .HD files only):
model <filename>
	Filename of the model used in the .HD file. For now, only models
	that are the original advisor models, (Yogi_Mesh or Demon_Mesh)
	possibly with their skins changed, will work. Models which have
	a different file size will cause Black & White to crash.

animations <count>
	The number of animations in the .HD file. Don't change this.

flags <flags>
	Possibly a set of flags for the HelpDude, but maybe not. Don't
	change this.

name <name>
	A filename for an animation. As of yet, no animations are actually
	extracted or separated, so don't change any of the names.

remainder <filename>
	The name of the file containing the rest of the raw data extracted
	from the .HD file. This is why only skin replacement for advisors
	is currently supported -- I don't know what the data means yet,
	but it's necessary to have it.

Send questions/comments to dragonzap1@aol.com. English only, please.