Difference between revisions of "Cave unit generation"

From Pikmin Technical Knowledge Base
Jump to navigation Jump to search
Line 3: Line 3:
 
==grid.bin==
 
==grid.bin==
 
[[Pikmin 2 collision format|Collision file for area models]].
 
[[Pikmin 2 collision format|Collision file for area models]].
This file is the collision data located where the waterbox and mapcode files are for area maps. Yoshi2's tool [obj2grid|https://github.com/RenolY2/obj2grid] converts any .OBJ to a perfectly working <code>grid.bin</code> and <code>mapcode.bin</code> which will work in-game.
+
This file is the collision data located where the waterbox and mapcode files are for area maps. Yoshi2's tool obj2grid[https://github.com/RenolY2/obj2grid] converts any .OBJ to a perfectly working <code>grid.bin</code> and <code>mapcode.bin</code> which will work in-game.
  
 
==layout.txt==
 
==layout.txt==

Revision as of 09:20, 29 September 2017

Each cave unit in Pikmin 2 has a SZS file with its settings. Each unit's setting file archive can be found in /user/Mukki/mapunits/arc/*/texts.szs.

grid.bin

Collision file for area models. This file is the collision data located where the waterbox and mapcode files are for area maps. Yoshi2's tool obj2grid[1] converts any .OBJ to a perfectly working grid.bin and mapcode.bin which will work in-game.

layout.txt

This file controls the spawn coordinates for objects.

The second line of the file, which follows the comment BaseGen file, specifies the number of spawn coordinate entries in the list. It is commented with num gens (number of generators).

Each entry in the list is inside its own block.

Spawn coordinate

The first line in the block is the "type". Think of it as a group. Whenever the game wants to spawn an enemy, it picks a random coordinate from the same group as the enemy is. For instance, static Gatling Groinks should probably belong in a different group from the regular, free-roaming enemies. For a list of group IDs and what they're normally used for (although this is not a hard rule), see here.

The second line is the coordinates themselves, in the format X Y Z.


To do: Document the third line.

The fourth line is the maximum radius in which the enemies can randomly spread out from the initial point.

The fifth and sixth lines are the lower and upper limits of the random amount. Every time the game picks a spawn coordinate to use, it generates a number between these two limits, inclusive. Then, it spawns that number of enemies in this spot (until it spawns more than it intended to, at least).

mapcode.bin

To do: Document this.

More Collison.

route.txt

Carrying paths.

To do: Document this.

waterbox.txt

Water boxes in the unit.

To do: Document this.