Box

From BZFlagWiki
Revision as of 11:57, 25 September 2007 by Joevano (Talk | contribs) (Reverted edits by Jftsang (Talk); changed back to last version by 190.7.62.202)

Jump to: navigation, search

A Box is a BZW map structure that defines a rectilinear parellepiped in the world.

Code

Default boxes in 2.2

The code for a box object is as follows

box
 position 10 20 30
 rotation 45
 size 1 2 3
end

Valid parameters for a box are

position defines the center of the box in X and Y and the bottom of the box in Z.
rotation defines a rotation around the Z axis for the box, in degrees.
size defines the distance from the center to the side of the box in X and Y, and the total height of the box in Z.


In versions 2.0.8 and older, boxes do not support material, custom textures, or physics drivers. The meshbox object replaces the box object and supports all these features and capabilities.

However, as of June 6, 2006 (SVN revision 13013, version 2.0.9), bzfs will convert the box object to a mesh when necessary. This feature allows them to be textured and have physics drivers assigned to them.

box
 position 0 40 0
 size 5 5 10
 rotation 0
 top matref something1
 sides matref something2
 y  matref something3
 y- matref something4
 bottom matref something6
 texsize 1 1
 phydrv physics_driver_name
end
x , x-, y , y-, z , and z- Assigns a material to a specific side of the box
top Assigns a material to the top (z ) of the box
bottom Assigns a material to the bottom (z-) of the box
sides or outside Assigns a material to the x , x-, y , and y- sides of the box
texsize Texture sizes, changes how the textures scale on the object.
texoffset Controls the offset of the texture
phydrv Reference to a predefined physics driver.


More information that needs to be merged into the wiki, as well as the BZW manfile: Smart Boxes and Pyramids

Appearance

Box objects by default have a red brick texture on the vertical sides, and a white plaster texture on the top and bottom. A box of height 0 on ground level is visible.

The texsizes of boxes and boxes made of meshes (e.g. meshbox and box with one of the new properties) are different.

Box type texsize
box (old style box) -2.0f -2.0f -8.0f -8.0f
meshbox -8.0f -8.0f -8.0f -8.0f
box with one meshbox property -8.0f -8.0f -8.0f -8.0f

This will cause the textures to scale differently in X and Z axis. Same values will cause textures in Y axis (vertical axis) to scale the same way.

In BZFlag 2.2 all 3 type of boxes will use "texsize -8.0f -8.0f -8.0f -8.0f".

History

The box is one of the original objects supported by BZFlag and has been a mainstay of maps since the very beginning. Boxes are heavily used by the software when generating random maps. In v2.0.0 the box was replaced with the meshbox object to support Materials and Physics Drivers. The original box definition was left unchanged, in order to maintain functional compatibility for older maps.

Editor Support

The box object is supported by all known editors.