Difference between revisions of "Box"

From BZFlagWiki
Jump to: navigation, search
m (Code: properties formatting)
Line 13: Line 13:
 
|}
 
|}
 
Valid parameters for a box are
 
Valid parameters for a box are
<properties>
+
 
position=defines the center of the box in X and Y and the bottom of the box in Z.
+
;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.
+
;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.
+
;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.
</properties>
+
  
 
'''In versions 2.0.8 and older, boxes do not support''' [[material]], custom textures, or [[Physics_Drivers|physics drivers]]. The [[meshbox]] object replaces the box object and supports all these features and capabilities.
 
'''In versions 2.0.8 and older, boxes do not support''' [[material]], custom textures, or [[Physics_Drivers|physics drivers]]. The [[meshbox]] object replaces the box object and supports all these features and capabilities.
Line 39: Line 38:
 
|}
 
|}
  
<properties>
+
;x+ , x-, y+ , y-, z+, and z-: Assigns a [[material]] to a specific side of the box
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
top=Assigns a [[material]] to the top (z ) of the box
+
;bottom: Assigns a [[material]] to the bottom (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
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.
texsize=Texture sizes, changes how the textures scale on the object.
+
;texoffset: Controls the offset of the texture
texoffset=Controls the offset of the texture
+
;phydrv: Reference to a predefined [[physics|physics driver]].
phydrv=Reference to a predefined [[physics|physics driver]].
+
</properties>
+
  
 
More information that needs to be merged into the wiki, as well as the BZW manfile: [http://my.bzflag.org/bb/viewtopic.php?t=8199 Smart Boxes and Pyramids]
 
More information that needs to be merged into the wiki, as well as the BZW manfile: [http://my.bzflag.org/bb/viewtopic.php?t=8199 Smart Boxes and Pyramids]

Revision as of 03:17, 28 July 2012

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

Code

Default boxes in 3.0

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) can be different. The size depends on the chosen display quality setting in the options menu.

Box type texsize with quality setting experimental in 2.0.x and high in 2.99
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
Box type texsize with lower quality setting than in the above table
box (old style box) -2.0f -2.0f -8.0f -8.0f
meshbox -2.0f -2.0f -8.0f -8.0f
box with one meshbox property -2.0f -2.0f -8.0f -8.0f

This will cause the textures to scale differently for some players in X and Z axis. This can not be solved by adjusting the texsizes in map. The advice is not to mix old style boxes, meshboxes and boxes with one meshbox property, all in the same map.


In BZFlag 3.0 quality level experimental will become the new level high.

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.