Difference between revisions of "Cave unit definition file"

From Pikmin Technical Knowledge Base
Jump to navigation Jump to search
(→‎Unit: clarified the length of a cell)
(Undo: That makes no sense.)
Line 10: Line 10:
 
'''Line 2:''' The internal name of the unit. For example, <code>room_block1_3_tsuchi # foldername</code>.
 
'''Line 2:''' The internal name of the unit. For example, <code>room_block1_3_tsuchi # foldername</code>.
  
'''Line 3:''' Consisting of two numbers, this defines how many cave grid cells this unit takes up. The first number is for the length in X, the second for the length in Z (y-up). Basically, this means "this unit is X by Z units big". For example, <code>4 4 # dX/dZ ; cell size</code>. One cell length is 170 meters.
+
'''Line 3:''' Consisting of two numbers, this defines how many cave grid cells this unit takes up. The first number is for the length in X, the second for the length in Z (y-up). Basically, this means "this unit is X by Z units big". For example, <code>4 4 # dX/dZ ; cell size</code>.
  
 
'''Line 4:''' The type of unit this is. <code>0</code> is a dead end, <code>1</code> is a room, and <code>2</code> is a corridor.
 
'''Line 4:''' The type of unit this is. <code>0</code> is a dead end, <code>1</code> is a room, and <code>2</code> is a corridor.

Revision as of 16:15, 5 January 2019

In Pikmin 2, each sublevel points to a cave unit definition file. These files can be found in /user/Mukki/mapunits/units, and contain a list of units that the game is allowed to use to create the cave with. This file just tells the generator how each cave unit attaches with one another. In other words, this file specifies all the rooms to spawn in a sublevel, depending on that sublevel's room count ({f005}).

Header

After a decorated set of comments that say units definition file comes a line containing the number of units defined in this file. This line is commented with number of units. Each unit's data is defined inside its own block, and conveniently has a comment before it that mentions its name.

Unit

Line 1: The version of the block's data format, this is always 1. For example, 1 # version

Line 2: The internal name of the unit. For example, room_block1_3_tsuchi # foldername.

Line 3: Consisting of two numbers, this defines how many cave grid cells this unit takes up. The first number is for the length in X, the second for the length in Z (y-up). Basically, this means "this unit is X by Z units big". For example, 4 4 # dX/dZ ; cell size.

Line 4: The type of unit this is. 0 is a dead end, 1 is a room, and 2 is a corridor.

Line 5: The unit's flags. For example, 0 1 # room Flags.

To do: Document the unit's flags.

Line 6: This indicates how many exits this unit has. For example, 4 # num doors.

Exits

Line 1: The exit's index, starting from 0. For example, 0 # index

Line 2: The first of three numbers - dirs - is the direction of the room and player. For example, in the Emergence Cave the direction is 2, for all other rooms to connect they must also be 2. This value is currently useless because all rooms must be the same value for them to connect to each other. The player will always face this direction (the camera will oppose), which in a single-door room (any room name with "_1" before the room type) is always towards the next room.


To do: Offs and wp index need to be documented

An example of dirs set on 3 while all other room dirs are set on 2.

Line 3: The number of door links. For example, 2 # door links.

Line 4(+): Ddst/door-id/tekiflag; there are as many lines for these three numbers as there are door links (specified in line 3). For example, 849.951904 1 1 # dist/door-id/tekiflag.

Credits: Jimble, Kai-Kai