A Box is a BZW map structure that defines a rectilinear parellepiped in the world. The Box object is little used nowadays and is often replaced by meshbox objects, which have the same effect but supports physics and matrefs.
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.|
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
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 (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".
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.
The box object is supported by all known editors.