Pikmin 2 waterboxes

From Pikmin Technical Knowledge Base
Jump to navigation Jump to search
Water modified in the Awakening Wood

waterbox.txt hold x, y and z coordinates that tell the game where to draw a waterbox in 3D space. These files are typically located in texts.szs archives such as user/kando/map/*/texts.szs/waterbox.txt. Each body of water is defined to be in the shape of a cuboid.

Format[edit]

Header[edit]

Each file start with a version number on line 1, commented with #type, it is unknown how this may affect the parsing of the file or effect on the waterboxes themselves.[unsure].

On line 2, it has a comment of #CNode as a label of the array that starts on line 3.

Line 3 starts the array with a single bracket, where the first piece of data (line 4) holds the total number of waterbox coordinates it contains.

Waterbox[edit]

Editor's note: Be wary that the positional values used for waterboxes will be based around the centerpoint of the model it's found under. Waterboxes used in cave units should ideally be measured within the model particularly in cave units that can spawn plentifully (eg. hallways, corner turns, intersections) as large waterboxes can clip into cave units that don't have waterboxes defined. If you plan on using a waterbox that covers an entire generated cave, use a single room as a candidate to hold a single large waterbox that extends throughout the cave. As reference caves units shouldn't typically generate past 3,000 units in the x and y directions.

The array defines the waterbox as two sets of coordinate points with x, y and z positional values stored as floats. The game will draw a waterbox that fills the area between the two points defined. The format of the data that stores these values is <X1> <Y1> <Z1> <X2> <Y2> <Z2>.

In the vanilla files each waterbox coordinates are commented with an identification number (starts at 0), and the total number of boxes (e.g. # 2/4). Comments aren't necessary and are never parsed. They are simply just labels to help track and organize data.

Example[edit]

This is the file used for the Wistful Wild's water boxes.

File line Data Line explanation
1
0 	# type
Version type of waterbox file. Meaning is unknown.[unsure]
2
# CNode
Comment, presumably the label of the array
3
{
Start of array
4
	2 
First value of the array will always hold the total number of waterboxes.
5
	-3700.000000 -110.000000 850.000000 -2500.000000 -10.000000 1650.000000 # 0/2
The set of x, y, and z positional values of the first waterbox. The first set is for the bottom left back of the cuboid, and the second is for the top right front.
6
	-2000.000000 -90.000000 50.000000 -1000.000000 10.000000 1450.000000 # 1/2
Ditto for second waterbox.
7
}
End of array.

Notes: While the water will still appear and be animated, if the Y1-Y2 distance (or depth) isn't large enough then it will not behave like water. One would assume the depth must be 100 units, based on the two given examples.