Difference between revisions of "Pikmin 2 area generator file"

From Pikmin Technical Knowledge Base
Jump to navigation Jump to search
Line 41: Line 41:
  
 
==Entity==
 
==Entity==
Underneath that in the brackets is the actual entity; in this case, the Hocotate Ship. Everything above <code># pos</code> seems to be debug info for the original programmers with no effect on the entity(enemy or object) itself. The numbers next to <code># pos</code> are the entity's x, y, and z coordinates. To find a point's coordinates in a level use 3DS Max or Super Mario Sunshine (SMS) Bin Editor. In <code># offset</code> are more x y z coordinates that will "offset" or move the entity over more by the amount specified. This value is not used in-game and is basically redundant.
+
Underneath that in the brackets is the actual entity; in the above example, the Hocotate Ship. Everything above <code># pos</code> seems to be debug info for the original programmers with no effect on the entity(enemy or object) itself. The numbers next to <code># pos</code> are the entity's x, y, and z coordinates. To find a point's coordinates in a level use 3DS Max or Super Mario Sunshine (SMS) Bin Editor. In <code># offset</code> are more x y z coordinates that will "offset" or move the entity over more by the amount specified. This value is not used in-game and is basically redundant. Under that is the Entity's class, for example <code>{item} {0002}</code>. Finally, entities have 3 <code># rotation</code> values, to rotate it a number of degrees on the x, y, or z axis, respectively. To keep an object upright only change the y parameter. In the brackets under that lie the Entity's unique parameters.
 
There are multiple types of Entities in the Overworld, with differing parameters. These include...
 
There are multiple types of Entities in the Overworld, with differing parameters. These include...
  
Line 47: Line 47:
  
 
# '''"{item} {0002}"'''
 
# '''"{item} {0002}"'''
#* Includes Hocotate Ship, the Onions, Caves, Weight Blocks, Gates, Rock Clogs, Nectar Grass, Necter Pebble, and Bridges
+
#* Includes Hocotate Ship, the Onions, Caves, Weight Blocks, Gates, Rock Clogs, Nectar Grass, Necter Pebble, and Bridges.
 
#* Some living things as well, like Burgeoning Spirderwort and the Ujadani.
 
#* Some living things as well, like Burgeoning Spirderwort and the Ujadani.
 
# '''"{piki} {0001}"'''
 
# '''"{piki} {0001}"'''
Line 54: Line 54:
 
# '''{teki} {0005}'''
 
# '''{teki} {0005}'''
 
#* Includes all things in the Piklopedia; that is to say, enemies.
 
#* Includes all things in the Piklopedia; that is to say, enemies.
#* An enemy with a treasure in it is part of this group and has a value of that treasure + 768
+
#* An enemy with a treasure in it is part of this group and has a value of that treasure + 768.
 
# '''{pelt} {0000}'''
 
# '''{pelt} {0000}'''
 
#* Are exclusively treasures.
 
#* Are exclusively treasures.
  
 +
'''*Below, an x is used to denote where the variable is to be input in a parameter line.'''
 +
 +
{| class="wikitable sortable"
 +
! Parameter || Effect || Notes
 +
|-
 +
| <code>x # onyon index x # after boot? true==1</code> || The type of Onion it is  || Index 4 = Hocotate Ship, Index 2 = Yellow Onion, Index 1 = Red Onion, Index 0 = Blue Onion, 0 after boot = Onion leaves after a day, 1 after boot = Onion stays for good
 +
|-
 +
| <code>{p000} 4 x # 色 {p001} 4 x # 数 {p002} 4 x # 自活(1=yes) {_eof} </code> || Controls the type, amount of Pikmin, and if they attack enemies before being whistled. The fours are part of the code || {p000} 0 = Blue 1 = Red 2 = Yellow 3 = Purple 4 = White, {p001} x = # of Pikmin, {p002} 0 for idle Pikmin, 1 if otherwise
 +
|-
 +
| <code>x #うじゃ王数 x #石か草か</code> || First value is number of plucks needed to deplete it, Second is if it's the stone or the grass || x #1 = amount of grass x #2 = 0 for stone, 1 for nectar grass
 +
|-
 +
| <code>under construction</code> || x || '''Temporary'''.
 +
|-
 +
|}
  
  

Revision as of 04:33, 5 June 2019

Editor's note: This page is under construction.

An area's generator files can be found in /user/Abe/map/*. Amongst these, the loop and nonloop folders, as well as the defaultgen.txt, initgen.txt, and plantsgen.txt contain data for what objects to spawn in the area, and how. These text files must be encoded in Shift-JIS, or at least ASCII. If the file is saved as a UTF-8 text file with the EF BB BF magic word at the start, the game will not read it correctly, assuming you only have one sublevel. To avoid any issues, use Notepad++ and check the encoding in the bottom right.

The loop and nonloop folders have intriguing file-naming formats. They likely mean something, and it's likely related to the days. Possibilities:

  • <starting day>-<ending day>.txt
  • <starting day>-<number of days&gt.txt
Example
# generatorMgr <Generator(Default)>
{v0.1} 	# version
0.000000 0.000000 0.000000 	# startPos
0.000000 	# startDir
34 	# 34 generators
# 宇宙船
{
	{v0.1} 	# version
	0 	# reserved
	0 	# 復活日数
	137 70 146 136 145 68 0 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 	# <宇宙船>
	-331.454987 80.000000 1228.323975 	# pos
	0.000000 0.000000 0.000000 	# offset
	{item} {0002} 	# onyn
	{
		{onyn} 	# item id
		0.000000 -171.524994 0.000000 	# rotation
		{0001} 	# item local version
		4 	# onyon index
		1 	# after boot? true==1
	}
	# gen base
	{
		{_eof} 
	}
}

Header

Each file starts with a line titled # generatorMgr <Generator(Default)>. Under this is, {v0.1}, which denotes the format of the file. The coordinates next to startPos seem to be useless. Under startDir is a number (in this case 34, the number after the hashtag does NOT matter, as does anything else after a hashtag). This number must be the same as the number of entities listed in the file, or else the game will crash.

Entity

Underneath that in the brackets is the actual entity; in the above example, the Hocotate Ship. Everything above # pos seems to be debug info for the original programmers with no effect on the entity(enemy or object) itself. The numbers next to # pos are the entity's x, y, and z coordinates. To find a point's coordinates in a level use 3DS Max or Super Mario Sunshine (SMS) Bin Editor. In # offset are more x y z coordinates that will "offset" or move the entity over more by the amount specified. This value is not used in-game and is basically redundant. Under that is the Entity's class, for example {item} {0002}. Finally, entities have 3 # rotation values, to rotate it a number of degrees on the x, y, or z axis, respectively. To keep an object upright only change the y parameter. In the brackets under that lie the Entity's unique parameters. There are multiple types of Entities in the Overworld, with differing parameters. These include...

Entity categories

  1. "{item} {0002}"
    • Includes Hocotate Ship, the Onions, Caves, Weight Blocks, Gates, Rock Clogs, Nectar Grass, Necter Pebble, and Bridges.
    • Some living things as well, like Burgeoning Spirderwort and the Ujadani.
  2. "{piki} {0001}"
    • Includes all five types of Pikmin, spawning any into overworld is possible.
    • Also seems to deal with Submerged Castle's Blues only code.
  3. {teki} {0005}
    • Includes all things in the Piklopedia; that is to say, enemies.
    • An enemy with a treasure in it is part of this group and has a value of that treasure + 768.
  4. {pelt} {0000}
    • Are exclusively treasures.

*Below, an x is used to denote where the variable is to be input in a parameter line.

Parameter Effect Notes
x # onyon index x # after boot? true==1 The type of Onion it is Index 4 = Hocotate Ship, Index 2 = Yellow Onion, Index 1 = Red Onion, Index 0 = Blue Onion, 0 after boot = Onion leaves after a day, 1 after boot = Onion stays for good
{p000} 4 x # 色 {p001} 4 x # 数 {p002} 4 x # 自活(1=yes) {_eof} Controls the type, amount of Pikmin, and if they attack enemies before being whistled. The fours are part of the code {p000} 0 = Blue 1 = Red 2 = Yellow 3 = Purple 4 = White, {p001} x = # of Pikmin, {p002} 0 for idle Pikmin, 1 if otherwise
x #うじゃ王数 x #石か草か First value is number of plucks needed to deplete it, Second is if it's the stone or the grass x #1 = amount of grass x #2 = 0 for stone, 1 for nectar grass
under construction x Temporary.


Credits: UnclePaul894