aboutsummaryrefslogtreecommitdiff
path: root/project/src/db-object.c
diff options
context:
space:
mode:
authorWiimm <wiimm@wiimm.de>2022-05-13 19:22:13 +0200
committerWiimm <wiimm@wiimm.de>2022-05-13 19:22:13 +0200
commit568365f5bdd4dc71a156ca963d89ac002f405a34 (patch)
tree730d0311536d8fd46a56b74e2c8cac028e778243 /project/src/db-object.c
parent9ae8841ec4720e74173e2f72fac33f0848bbf435 (diff)
SZS v2.27a
Diffstat (limited to 'project/src/db-object.c')
-rw-r--r--project/src/db-object.c277
1 files changed, 143 insertions, 134 deletions
diff --git a/project/src/db-object.c b/project/src/db-object.c
index 2e61e59..57c084b 100644
--- a/project/src/db-object.c
+++ b/project/src/db-object.c
@@ -61,28 +61,28 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
/* 0x000 */ { 0,0,0,0,0,0, {-1,-1,-1},0, {0,0,0,0,0,0,0,0} },
/* 0x001 */
- { "airblock", "Object not used in regular tracks. Used in competitions as \"invisible wall\" above barriers (so you can't fly/jump over them). They are boxes of 200x200x200 units with a pivot in the bottom face.",
+ { "airblock", "Object not used in regular tracks. Used in tournaments as an \"invisible wall\" above barriers so you cannot fly/jump over them. They are boxes of 200x200x200 units with a pivot in the bottom face.",
OBF_OBJFLOW | OBF_SOLID,
obj_charact_s,
&settings_format_uuuu, &settings_format_uuuu,
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x002 */
- { "Psea", "The sea on GCN Peach Beach; for details see Object/Psea.",
+ { "Psea", "The sea on <small>GCN</small> Peach Beach; for details see Object/Psea.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_t,
&settings_format_uuuu, &settings_format_uuuu,
{116,-1,-1}, "Psea(B)",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x003 */
- { "lensFX", "Generates a lens flare object when looking at the sun; it's also highly recommended to place this object near or coincident to `sun'.",
+ { "lensFX", "Generates a lens flare object when looking at the sun; it is also highly recommended to place this object near or coincident to `sun'.",
OBF_OBJECT | OBF_NO_FILE | OBF_OBJFLOW | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK | OBF_M_ARENA,
obj_charact_ta,
&settings_format_uuuu, &settings_format_uuuu,
{203,-1,-1}, "lensFX",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x004 */
- { "venice_nami", "The rising and dropping sea on Delfino Pier. This object goes through five stages before it ends at its final height given in setting 2. Stages 1, 3 and 5 are active until a target height is reached, stages 2 and 4 are active for a given time period. The object has an ongoing additional cyclus of rising and dropping between -80 and 80 added to its current height. All target heights are relative to the placement height, the rising speed is in units per frame.",
+ { "venice_nami", "The rising and dropping sea on Delfino Pier. It requires `pocha' if the player can interact with it, or else the game will freeze upon respawning. This object goes through five stages before it ends at its final height given in setting 2. Stages 1, 3 and 5 are active until a target height is reached, stages 2 and 4 are active for a given time period. The object has an ongoing additional cyclus of rising and dropping between -80 and 80 added to its current height. All target heights are relative to the placement height, the rising speed is in units per frame.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_NO_ROUTE | OBF_FNAME | OBF_M_ARENA,
obj_charact_a,
&settings_format_uuuu, &settings_format_uuuu,
@@ -96,21 +96,21 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Rising speed in even stages",
0 }},
/* 0x005 */
- { "sound_river", "Generates a river sound effect, the range where the sound comes from is controlled by the route, so makes use of it. Only works on slots 3.2, 4.2, 5.2 and 7.3.",
+ { "sound_river", "Generates a river sound effect. The range where the sound comes from is controlled by the route, so make use of it. Only works on slots 3.2, 4.2, 5.2, and 7.3.",
OBF_OBJFLOW | OBF_ALWAYS_ROUTE | OBF_M_TRACK,
obj_charact_r_t,
&settings_format_uuuu, &settings_format_uuuu,
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x006 */
- { "sound_water_fall", "Generates a waterfall sound effect, the range where the sound comes from is controlled by the route, so makes use of it. Only works on slots 3.2, 4.2, 5.2 and 7.3.",
+ { "sound_water_fall", "Generates a waterfall sound effect. The range where the sound comes from is controlled by the route, so make use of it. Only works on slots 3.2, 4.2 and 7.3.",
OBF_OBJFLOW | OBF_ALWAYS_ROUTE | OBF_M_TRACK,
obj_charact_r_t,
&settings_format_uuuu, &settings_format_uuuu,
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x007 */
- { "pocha", "Generates a water splash effect when a player touches KCL flag 0x10 with variants 1 (water) or 3 (icy water that also needs the `0x17|Ice' object). Also works for KCL flag 0x1A with variant 2, but cannot be triggered again until the player respawns. Only Y coordinate is used.",
+ { "pocha", "Generates a water splash effect when a player touches KCL flag 0x10 with variants 1 (water) or 3 (icy water that also needs the `0x17|ice' object). Also works for KCL flag 0x1A with variant 2, but cannot be triggered again until the player respawns. Only the Y coordinate is used.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_OBJFLOW | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK | OBF_M_ARENA,
obj_charact_ta,
&settings_format_uuuu, &settings_format_uuuu,
@@ -118,70 +118,70 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{ "Group Y KCL Index",
0, 0, 0, 0, 0, 0, 0 }},
/* 0x008 */
- { "sound_lake", "Generates a lake sound effect, the range where the sound comes from is controlled by the route, so makes use of it. Only works on slot 8.2.",
+ { "sound_lake", "Generates a lake sound effect. The range where the sound comes from is controlled by the route, so make use of it. Only works on slots 2.2, 3.1, 5.1, and 8.2.",
OBF_OBJFLOW | OBF_ALWAYS_ROUTE | OBF_M_TRACK,
obj_charact_r_t,
&settings_format_uuuu, &settings_format_uuuu,
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x009 */
- { "sound_big_fall", "Generates a louder waterfall sound effect, the range where the sound comes from is controlled by the route, so makes use of it. Only works on slots 3.2 and 7.3.",
+ { "sound_big_fall", "Generates a louder waterfall sound effect. The range where the sound comes from is controlled by the route, so make use of it. Only works on slots 3.2, 4.2 and 7.3.",
OBF_OBJFLOW | OBF_ALWAYS_ROUTE | OBF_M_TRACK,
obj_charact_r_t,
&settings_format_uuuu, &settings_format_uuuu,
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x00a */
- { "sound_sea", "Generates a sea sound effect, the range where the sound comes from is controlled by the route, so makes use of it.",
+ { "sound_sea", "Generates a sea sound effect. The range where the sound comes from is controlled by the route, so make use of it. Only works on slots 5.1 and 6.3.",
OBF_OBJFLOW | OBF_ALWAYS_ROUTE | OBF_M_TRACK,
obj_charact_r_t,
&settings_format_uuuu, &settings_format_uuuu,
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x00b */
- { "sound_fountain", "Generates a fountain sound effect, the range where the sound comes from is controlled by the route, so makes use of it. Only works on slots 2.2 and 3.1.",
+ { "sound_fountain", "Generates a fountain sound effect. The range where the sound comes from is controlled by the route, so make use of it. Only works on slots 2.2, 3.1, 5.1, and 8.2.",
OBF_OBJFLOW | OBF_ALWAYS_ROUTE | OBF_M_TRACK,
obj_charact_r_t,
&settings_format_uuuu, &settings_format_uuuu,
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x00c */
- { "sound_volcano", "Generates a volcano sound effect, the range where the sound comes from is controlled by the route, so makes use of it.",
+ { "sound_volcano", "Generates a volcano sound effect. The range where the sound comes from is controlled by the route, so make use of it. Only works on slot 8.3.",
OBF_OBJFLOW | OBF_ALWAYS_ROUTE | OBF_M_TRACK,
obj_charact_r_t,
&settings_format_uuuu, &settings_format_uuuu,
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x00d */
- { "sound_audience", "Generates an audience sound effect, the range where the sound comes from is controlled by the route, so makes use of it. Works on slots 1.1, 1.4, 2.3, 3.1 and 5.4; slot 3.1 doesn't feature slot-based audience ambience.",
+ { "sound_audience", "Generates an audience sound effect. The range where the sound comes from is controlled by the route, so make use of it. Works on slots 1.1, 1.4, 2.3, 3.1, and 5.4; slot 3.1 does not feature slot-based audience ambience.",
OBF_OBJFLOW | OBF_ALWAYS_ROUTE | OBF_M_TRACK,
obj_charact_r_t,
&settings_format_uuuu, &settings_format_uuuu,
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x00e */
- { "sound_big_river", "Generates a louder river sound effect, the range where the sound comes from is controlled by the route, so makes use of it. Only works on slot 5.2.",
+ { "sound_big_river", "Generates a louder river sound effect. The range where the sound comes from is controlled by the route, so make use of it. Only works on slots 3.2, 4.2, 5.2, and 7.3.",
OBF_OBJFLOW | OBF_ALWAYS_ROUTE | OBF_M_TRACK,
obj_charact_r_t,
&settings_format_uuuu, &settings_format_uuuu,
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x00f */
- { "sound_sand_fall", "Object not used in any track. Generates a sand fall sound effect, the range where the sound comes from is controlled by the route. This object must have a route.",
+ { "sound_sand_fall", "Object not used in any track. Generates a sand fall sound effect. The range where the sound comes from is controlled by the route. This object must have a route.",
OBF_OBJFLOW,
obj_charact,
&settings_format_uuuu, &settings_format_uuuu,
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x010 */
- { "sound_lift", "Generates a lift sound effect, the range where the sound comes from is controlled by the route, so makes use of it. Route Setting 1 is always 1 in all Nintendo tracks.",
+ { "sound_lift", "Generates a lift sound effect. The range where the sound comes from is controlled by the route, so make use of it. Route Setting 1 is always 1 in all Nintendo tracks.",
OBF_OBJFLOW | OBF_ALWAYS_ROUTE | OBF_M_TRACK,
obj_charact_r_t,
&settings_format_uuuu, &settings_format_uuuu,
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x011 */
- { "pochaYogan", "Generates a lava splash effect when a player touches KCL flag 0x10 with variant 2. Only Y coordinate is used.",
+ { "pochaYogan", "Generates a lava splash effect when a player touches KCL flag 0x10 with variant 2. Only the Y coordinate is used.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_OBJFLOW | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -196,7 +196,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{172,-1,-1}, "entry(E)",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x013 */
- { "pochaMori", "Generates a leaf splash effect when a player touches KCL flag 0x1A with variant 2. Only Y coordinate is used.",
+ { "pochaMori", "Generates a leaf splash effect when a player touches KCL flag 0x1A with variant 2. Only the Y coordinate is used. Only works on slots 4.2 and arena slot 2.5 with group Y KCL index set to 5.",
OBF_OBJECT | OBF_UNIQUE | OBF_EFFECT | OBF_OBJFLOW | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK | OBF_M_ARENA,
obj_charact_ta,
&settings_format_uuuu, &settings_format_uuuu,
@@ -204,7 +204,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{ "Group Y KCL Index",
0, 0, 0, 0, 0, 0, 0 }},
/* 0x014 */
- { "eline_control", "Enemy line controller. Multiple controllers can be chained together. The timer of the next controller in a chain begins after the end of the previous. Controller ID 0 is reserved to indicate the end of a controller chain. Enemies can choose to not obey a controller unless the next EHPH Section is set to -1. Found in slots 1.4, 2.2, 3.4 and 4.1 and in Arena 1.2.",
+ { "eline_control", "Enemy line controller. Multiple controllers can be chained together. The timer of the next controller in a chain begins after the end of the previous controller. Controller ID 0 is reserved to indicate the end of a controller chain. Enemies can choose to not obey a controller unless the next ENPH Section is set to -1. Found in slots 1.4, 2.2, 3.4, 4.1, and arena slot 1.2.",
OBF_OBJFLOW | OBF_NO_ROUTE | OBF_M_TRACK | OBF_M_ARENA,
obj_charact_ta,
&settings_format_uuuu, &settings_format_uuuu,
@@ -216,14 +216,14 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
0, 0, 0,
"ENPH Section; if -1, use ENPH of previous controller" }},
/* 0x015 */
- { "sound_Mii", "Generates a mii crowd sound effect, the range where the sound comes from is controlled by the route, so makes use of it.",
+ { "sound_Mii", "Generates a Mii crowd sound effect. The range where the sound comes from is controlled by the route, so make use of it. Only works on slots 1.1 and 3.1.",
OBF_OBJFLOW | OBF_ALWAYS_ROUTE | OBF_M_TRACK,
obj_charact_r_t,
&settings_format_uuuu, &settings_format_uuuu,
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x016 */
- { "begoman_manager", "Galaxy Colosseum Topmen manager; object not used in any track. Once the topmen controlled by the first manager are defeated, the topmen controlled by the second manager will spawn, etc...",
+ { "begoman_manager", "Galaxy Colosseum Topmen manager; object not used in any track. Once the Topmen controlled by the first manager are defeated, the Topmen controlled by the second manager will spawn and so forth.",
OBF_OBJFLOW | OBF_NO_ROUTE | OBF_F_OTHER,
obj_charact_o,
&settings_format_uuuu, &settings_format_uuuu,
@@ -231,18 +231,20 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{ "Manager ID (1-based)",
"[?] Number of Topmen to control",
"First Topman ID to control",
- "[?] Topman behavior: 1: Coward, they will ignore the player 2: Aggressive, they will attack the player",
+ "[?] Topman behavior: 0: *unknown* 1: Coward, they will ignore the player 2: Aggressive, they will attack the player",
"[?] Number of Topmen under control + Number of Topmen controlled by the previous manager",
- 0, 0, 0 }},
+ "[?] *unknown*",
+ "[?] *unknown*",
+ "[?] *unknown*" }},
/* 0x017 */
- { "ice", "Generates ice around the player when respawned after falling in an icy water fall boundary flag; the location doesn't matter, the ice effect is always gotten. This object can be used to enable tracks for slot 6.1. But is has only impact with in combination with an icy boundary flag. In this case it works only at slot 6.1.",
+ { "ice", "Generates ice around the player when respawned after falling in an icy water fall boundary flag; the location does not matter, the ice effect is always enabled. This object can be used to enable tracks for slot 6.1, but it only has impact in combination with an icy boundary flag. In this case, it only works on slot 6.1.",
OBF_OPTIONAL | OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_t,
&settings_format_uuuu, &settings_format_uuuu,
{191,-1,-1}, "ice(B)",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x018 */
- { "startline2D", "Generates a finish line at given location, this object is used in competitions where you have to drive laps on a battle course and some others; object not used in any track.",
+ { "startline2D", "Generates a finish line at given location. This object is used in tournaments where you have to drive laps on a battle arena and some others; object not used in any track.",
OBF_OBJFLOW,
obj_charact,
&settings_format_uuuu, &settings_format_uuuu,
@@ -325,7 +327,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
/* 0x063 */ { 0,0,0,0,0,0, {-1,-1,-1},0, {0,0,0,0,0,0,0,0} },
/* 0x064 */ { 0,0,0,0,0,0, {-1,-1,-1},0, {0,0,0,0,0,0,0,0} },
/* 0x065 */
- { "itembox", "Spinning box with a question mark in it. If touched it snaps and an item lottery begins; after the lottery the item shown is gotten.",
+ { "itembox", "Spinning box with a question mark inside it. If touched, it snaps and an item lottery begins; after the lottery, the item shown is retrieved.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_M_FOUND | OBF_ITEMBOX,
obj_charact_s_tao,
&settings_format_uxxu, &settings_format_uuuu,
@@ -339,7 +341,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"[?] Additional height, multiplied with unknown number (always 1?).",
"Unknown" }},
/* 0x066 */
- { "DummyPole", "Solidity of the poles of different courses. Deleting this object will cause the Dummy pole itself to be unsolid.",
+ { "DummyPole", "Pole solidity across different tracks. Deleting this object will cause the pole itself to be unsolid.",
OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_M_TRACK | OBF_F_OTHER,
obj_charact_s_to,
&settings_format_uuuu, &settings_format_uuuu,
@@ -361,56 +363,56 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{176,-1,-1}, "flagBlend",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x069 */
- { "gnd_sphere", "Object not used in any track. Green sphere with animation, solid.",
+ { "gnd_sphere", "Object not used in any track. Solid green sphere with an animation.",
OBF_OBJFLOW,
obj_charact,
&settings_format_uuuu, &settings_format_uuuu,
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x06a */
- { "gnd_trapezoid", "Object not used in any track. Red trapezoid with animation, solid.",
+ { "gnd_trapezoid", "Object not used in any track. Solid red trapezoid with an animation.",
OBF_OBJFLOW,
obj_charact,
&settings_format_uuuu, &settings_format_uuuu,
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x06b */
- { "gnd_wave1", "Object not used in any track. Blue object that makes wave animation. If CPUs touch down the object, they dissapear.",
+ { "gnd_wave1", "Object not used in any track. Blue object that makes a wave animation. If CPUs touch down the object, they disappear.",
OBF_OBJFLOW,
obj_charact,
&settings_format_uuuu, &settings_format_uuuu,
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x06c */
- { "gnd_wave2", "Object not used in any track. Yellow object that makes wave animation. If CPUs touch down the object, they dissapear.",
+ { "gnd_wave2", "Object not used in any track. Yellow object that makes a wave animation. If CPUs touch down the object, they disappear.",
OBF_OBJFLOW,
obj_charact,
&settings_format_uuuu, &settings_format_uuuu,
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x06d */
- { "gnd_wave3", "Object not used in any track. Orange object that makes wave animation. If CPUs touch down the object, they dissapear.",
+ { "gnd_wave3", "Object not used in any track. Orange object that makes a wave animation. If CPUs touch down the object, they disappear.",
OBF_OBJFLOW,
obj_charact,
&settings_format_uuuu, &settings_format_uuuu,
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x06e */
- { "gnd_wave4", "Object not used in any track. Blue object that makes wave animation. If CPUs touch down the object, they dissapear.",
+ { "gnd_wave4", "Object not used in any track. Blue object that makes a wave animation. If CPUs touch down the object, they disappear.",
OBF_OBJFLOW,
obj_charact,
&settings_format_uuuu, &settings_format_uuuu,
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x06f */
- { "sun", "The sun in the vrcorn, often used with `lensFX'.",
+ { "sun", "The sun in the background; often used with `lensFX'.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK | OBF_M_ARENA,
obj_charact_ta,
&settings_format_uuuu, &settings_format_uuuu,
{240,-1,-1}, "sun(B)",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x070 */
- { "woodbox", "Wooden box. When touched the player slows down and the box drops an item. The wooden boxes respawn after 5 seconds, drop from 5000 units above the origin and drop onto the first face they touch. In Time Trial it becomes an unbreakable `ironbox'.",
+ { "woodbox", "Wooden box. When touched, the player slows down and the box drops an item. The wooden boxes respawn after five seconds, drop from 5000 units above the origin and drop onto the first face they touch. In Time Trials, it becomes an unbreakable `ironbox'.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_SCALE | OBF_ROTATE | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -428,7 +430,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{73,-1,-1}, "KmoonZ(B)",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x072 */
- { "sunDS", "The Angry Sun from DS Desert Hills. It changes point of view and rotation of the crown according to player's position. Route Setting 2 controls the behavior depending on the value X: X < 30 (1E in hex) → Stays for X/60 seconds X ≥ 30 (1E in hex) → Drops a `FireSnake' staying for X/60 seconds. In both cases the dropping animation is viewed; if the route start point is set to drop, it will drop at the second \"lap\" of the route. Only slots 3.1 and 7.1 support this object.",
+ { "sunDS", "The Angry Sun from <small>DS</small> Desert Hills. It changes point of view and rotation of the crown according to player's position. Route Setting 2 controls the behavior depending on the value X: X < 30 (1E in hex) → Stays for X/60 seconds X ≥ 30 (1E in hex) → Drops a `FireSnake' staying for X/60 seconds. In both cases, the dropping animation is viewed; if the route start point is set to drop, it will drop at the second \"lap\" of the route. Only slots 3.1, 4.2, 6.2, and 7.1 support this object.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_r_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -437,7 +439,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Delay before starting in 1/60 seconds after starting of countdown. 240 (F0 in hex) = Starts immediately after the \"GO!\"",
0, 0, 0, 0, 0, 0 }},
/* 0x073 */
- { "coin", "Present in all battle courses in Coin Runners mode and in some tournaments, when touched it disappears and the player gets one coin. Some coins don't appear at the start of the battle but show up later. See Object/coin for details.",
+ { "coin", "Present within all battle arenas in Coin Runners mode and in some tournaments. When touched, it disappears and the player gets one coin. Some coins do not appear at the start of the battle but show up later on. See Object/coin for details.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_SCALE | OBF_ROTATE | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_M_ARENA,
obj_charact_s_a,
&settings_format_uuuu, &settings_format_uuuu,
@@ -454,7 +456,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x075 */
- { "ItemDirect", "Object used in tournaments (SNES Battle Course 4 and Daisy Circuit). Can be used to place an item directly onto the track. They will not show up in time trial. You must not place more than 11 of these in a track otherwise your track will freeze or hang in online play.",
+ { "ItemDirect", "Object used in tournaments (Daisy Circuit and <small>SNES</small> Battle Course 4). Can be used to place an item directly onto the track; they will not show up in Time Trials. You must not place more than 11 of these in a track; otherwise, your track will freeze or hang in online play.",
OBF_OBJFLOW,
obj_charact,
&settings_format_uuuu, &settings_format_uuuu,
@@ -462,7 +464,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{ "0 = Green Shell 1 = Red Shell 2 = Banana 3 = Mushroom 4 = Star",
0, 0, 0, 0, 0, 0, 0 }},
/* 0x076 */
- { "s_itembox", "Item box that acts like a kart, it moves with moving KCL. When placed high, it falls until it reaches the ground, and when placed on a steep surface, it falls.",
+ { "s_itembox", "Item box that acts similarly to a placed item. It moves in conjunction with most moving objects and is normally locked in a relative Y-position, moving along with the object's behavior. Otherwise, it typically phases through object collision altogether. Some interactions might be slot specific, such as with `quicksand'. When placed high without an object underneath, it falls until it reaches the ground, and when placed on a steep surface, it falls down the slope, but can sometimes cause a crash due to unknown reasons.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK | OBF_M_ARENA | OBF_ITEMBOX,
obj_charact_s_ta,
&settings_format_uxxu, &settings_format_uuuu,
@@ -473,10 +475,10 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"[?] Disables shadow if set",
0,
"[?] Timing lottery",
- "?",
+ "Height offset with object's position, signed.",
"[?] Unknown" }},
/* 0x077 */
- { "pile_coin", "Object not used in any track. This is the pile of coins above the players used in battle mode, static and without collision.",
+ { "pile_coin", "Object not used in any track. This is the pile of coins above the players used in Battle Mode; static and without collision.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_SCALE | OBF_ROTATE | OBF_OBJFLOW | OBF_SOLID | OBF_FNAME,
obj_charact_s,
&settings_format_uuuu, &settings_format_uuuu,
@@ -576,7 +578,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Route start point",
0, 0, 0 }},
/* 0x0ca */
- { "MashBalloonGC", "Airballoon as seen on GCN Mario Circuit. It has an assigned route but also floats from Y to Y.",
+ { "MashBalloonGC", "Air balloon as seen in <small>GCN</small> Mario Circuit. It has an assigned route but also floats from Y to Y. It turns to face the direction it is traveling in.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK | OBF_F_OTHER,
obj_charact_r_to,
&settings_format_uuuu, &settings_format_uuuu,
@@ -585,7 +587,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Max Y difference",
0, 0, 0, 0, 0, 0 }},
/* 0x0cb */
- { "WLwallGC", "Horizontal moving Piranha Plant wall from GCN Waluigi Stadium. It moves like a sine function (inside → outside → inside); normally combined with `WLdokanGC'.",
+ { "WLwallGC", "Horizontal moving Piranha Plant wall from <small>GCN</small> Waluigi Stadium. It moves like a sine function (inside → outside → inside); normally combined with `WLdokanGC'.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_KCL | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -597,7 +599,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Going out first time",
0, 0, 0 }},
/* 0x0cc */
- { "CarA1", "Moving Car from Coconut Mall. It moves exactly like `WLwallGC' but instead left → right.",
+ { "CarA1", "Moving car from Coconut Mall. It moves exactly like `WLwallGC' but instead left → right.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_SOLID | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_r_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -607,7 +609,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Time of pause",
0, 0, 0, 0, 0 }},
/* 0x0cd */
- { "basabasa", "Bats following a route, when touched they act like a wall. The bats are released as groups which can be edited in any way.",
+ { "basabasa", "Swoopers that follow a route. When touched, they act like a wall. They are released as groups which can be edited in any way.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_SOLID | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_r_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -621,7 +623,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Start delay in 1/60 seconds",
"?" }},
/* 0x0ce */
- { "HeyhoShipGBA", "Shy Guy ship which shoots exploding cannonballs; cannonball object is `HeyhoBallGBA'. This object is made for counterclockwise directed tracks, so if a track is clockwise directed this object must be modified with BrawlBox in the following ways: Cullmode from Materials must be set on Cull_Outside and Z scale in KMP must be -1. Only slot 6.2 supports this object and it's necessary to allow tracks to work on this slot.",
+ { "HeyhoShipGBA", "Shy Guy ship which shoots exploding cannonballs; cannonball object is `HeyhoBallGBA'. This object is made for counterclockwise directed tracks, so if a track is clockwise directed, this object must be modified with BrawlBox in the following ways: CullMode from Materials must be set on Cull_Outside and the Z scale in the KMP must be -1. Only slot 6.2 supports this object and it is necessary to allow tracks to work on this slot.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_r_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -630,7 +632,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"How strong it moves up and down",
0, 0, 0, 0, 0, 0 }},
/* 0x0cf */
- { "koopaBall", "Gigantic exploding fireball, used with `koopaFigure'.",
+ { "koopaBall", "Gigantic exploding fireball; used with `koopaFigure'. It bounces on every new route point and explodes on the last one if the route cycle setting is turned on. This object always spins northward. Scale is only obeyed if the route cycle setting is turned off, although the fiery effect still does not obey scaling.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_OBJFLOW | OBF_SOLID | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_r_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -649,7 +651,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Texturing: 0 = MooMoo 1 = Fruit 2 = Factory",
0, 0, 0, 0 }},
/* 0x0d1 */
- { "car_body", "Car from Moonview Highway. Route Setting 1 is used for blinking (1 = Left, 2 = Right) Route Setting 2 selects the speed (0 or 1)",
+ { "car_body", "Car from Moonview Highway. Route Setting 1 is used for blinking (1 = Left, 2 = Right) Route Setting 2 selects the speed (0 or 1).",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_SOLID | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_r_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -661,7 +663,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Unknown",
0, 0, 0 }},
/* 0x0d2 */
- { "skyship", "Blimp from Luigi Circuit.",
+ { "skyship", "Blimp from Luigi Circuit. It turns to face the direction it is traveling in.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK | OBF_F_OTHER,
obj_charact_r_to,
&settings_format_uuuu, &settings_format_uuuu,
@@ -670,7 +672,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"[?] Max Y difference",
0, 0, 0, 0, 0, 0 }},
/* 0x0d3 */
- { "w_woodbox", "Box following route. Route Setting 1 sets the speed (gets added to S1).",
+ { "w_woodbox", "Wooden box that follows a route. Route Setting 1 sets the speed (gets added to S1).",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_SCALE | OBF_ROTATE | OBF_OBJFLOW | OBF_SOLID | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_r_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -684,7 +686,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Max amount of boxes",
0 }},
/* 0x0d4 */
- { "w_itembox", "Itemboxes following route.",
+ { "w_itembox", "Multiple item boxes that follow a route from a starting point to an ending point.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_SOLID | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK | OBF_ITEMBOX,
obj_charact_r_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -698,7 +700,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Number of itemboxes on the route (default 5)",
0 }},
/* 0x0d5 */
- { "w_itemboxline", "`Press', block.brres and `itembox' combination from Toad's Factory. Each block follows a route until it reach the press and the press converts it to an itembox which continues the route. Route setting 1 is the speed it slows down to (if 0 it uses the speed setting in S1). Route setting 2: 0x1: press activates when a block reaches this point 0x2: determines where the itembox glows",
+ { "w_itemboxline", "`Press', block.brres and `itembox' combination from Toad's Factory. Each block follows a route until it reach the press and the press converts it to an item box which continues the route. Route setting 1 is the speed it slows down to (if 0 it uses the speed setting in S1). Route setting 2: 0x1: press activates when a block reaches this point 0x2: determines where the item box goes",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_OBJFLOW | OBF_SOLID | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_MULTI_FNAME | OBF_M_TRACK | OBF_ITEMBOX,
obj_charact_r_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -710,7 +712,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Number of Blocks/Item Boxes that can exist at any one time",
0 }},
/* 0x0d6 */
- { "VolcanoBall1", "Firery rock from Grumble Volcano. When created a volcano explosion occurs and it follows the route until it touches a solid part, then it becomes a fire; slot 3.4 enables its SFX.",
+ { "VolcanoBall1", "Fiery rock from Grumble Volcano. When created, a volcano explosion occurs and it follows the route until it touches a solid part, then it becomes a fire; slot 3.4 enables its SFX.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_OBJFLOW | OBF_SOLID | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_r_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -721,7 +723,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Time until the fire goes out",
0, 0, 0, 0 }},
/* 0x0d7 */
- { "penguin_s", "Small penguin from N64 Sherbet Land, creates a symmetrical copy of itself under the ground to simulate ice reflection. Route Setting 1: 0 = Default; 1 = Glide; 2 = Animation faster; 3 = Default. Route Setting 2 describes the speed when Route Setting 1 ≠ 0, but is always required a value ≠ 0. Slot 6.1 enables its SFX.",
+ { "penguin_s", "Small penguin from <small>N64</small> Sherbet Land. It creates a symmetrical copy of itself under the ground to simulate an ice reflection. Route Setting 1: 0 = Default; 1 = Glide; 2 = Animation faster; 3 = Default. Route Setting 2 describes the speed when Route Setting 1 ≠ 0, but always requires a value ≠ 0. Slot 6.1 enables its SFX.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_BRASD | OBF_OBJFLOW | OBF_SOLID | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_r_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -729,7 +731,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{ "Speed",
0, 0, 0, 0, 0, 0, 0 }},
/* 0x0d8 */
- { "penguin_m", "Medium penguin from N64 Sherbet Land. Slot 6.1 enables its SFX.",
+ { "penguin_m", "Medium penguin from <small>N64</small> Sherbet Land. Slot 6.1 enables its SFX.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_BRASD | OBF_OBJFLOW | OBF_SOLID | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_r_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -738,9 +740,9 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"LE-CODE or cheat code required: Route start point.",
"LE-CODE or cheat code required: If S8=1: Item to drop (same as ItemDirect).",
0, 0, 0, 0,
- "LE-CODE or special cheat code required: 0: normal behaviour 1: custom \"mushroom car\" behaviour developed by KHacker." }},
+ "LE-CODE or special cheat code required: 0: normal behavior 1: custom \"mushroom car\" behavior developed by kHacker35000vr." }},
/* 0x0d9 */
- { "penguin_l", "Large penguin from N64 Sherbet Land.",
+ { "penguin_l", "Large penguin from <small>N64</small> Sherbet Land.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_OBJFLOW | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_r_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -757,7 +759,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Max Y difference",
0, 0, 0, 0, 0, 0 }},
/* 0x0db */
- { "dossunc", "Thwomp with optional route; without route, S1 and S2 must be 0. If S2 = 2, a 3-point route is needed to make effect: 1 → Start point, Route Setting 2 = 0 2 → Rotation point, Route Setting 2 = 1 3 → Going down point, Route Setting 2 = 0. The couple starts, at the second point turns of 180° and goes left and right, going down around the third point according to player's direction, then goes back to the first point. To make effect the object needs a rotation of ±90°, route points must have the same Y and Z coordinate and no other object must be near the start point. In GP and VS Race the object is activated by the proximity of a main player (not a CPU) and the speed is proportional to the player's; in Time Trial speed and start delay are the same of respective settings in KMP file. If S2 = 3, Route Setting 2 (\"cycle\") must be 1, or else the Thwomp will spin endlessly when hit by an item.",
+ { "dossunc", "Thwomp with optional route; without route, S1 and S2 must be 0. If S2 = 2, a 3-point route is needed to make effect: 1 → Start point, Route Setting 2 = 0 2 → Rotation point, Route Setting 2 = 1 3 → Going down point, Route Setting 2 = 0. The couple starts, at the second point turns of 180° and goes left and right, going down around the third point according to player's direction, then goes back to the first point. To make effect, the object needs a rotation of ±90°, route points must have the same Y and Z coordinate and no other object must be near the start point. In Grand Prix and VS races, the object is activated by the proximity of a main player (not a CPU) and the speed is proportional to the player's; in Time Trial speed and start delay are the same of respective settings in KMP file. If S2 = 3, Route Setting 2 (\"cycle\") must be 1, or else the Thwomp will spin endlessly when hit by an item.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_OBJFLOW | OBF_SOLID | OBF_OPT_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_or_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -775,7 +777,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x0dd */
- { "boble", "Podoboo from GBA Bowser Castle 3. Route Setting 1 controls the speed (gets added to S1), Route Setting 2 = 1 means that the model flips horizontally.",
+ { "boble", "Lava bubble from <small>GBA</small> Bowser Castle 3. Route Setting 1 controls the speed (gets added to S1), Route Setting 2 = 1 means that the model flips horizontally.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_OBJFLOW | OBF_SOLID | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_r_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -814,7 +816,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{194,-1,-1}, "kart_truck_dummy",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x0e2 */
- { "hanachan", "Wiggler from Maple Treeway. Route Setting 1 sets the time in 1/60 seconds of stop in that point. Define the route heights carfefully. If the Wiggler has issues with the body segments, move the route to a more flat area.",
+ { "hanachan", "Wiggler from Maple Treeway. It shows up on the minimap in non-racing modes. Route Setting 1 sets the time in 1/60 seconds of stop in that point. Define the route heights carefully. If the Wiggler has issues with the body segments, move the route to a more flat area.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_BRASD | OBF_OBJFLOW | OBF_SOLID | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_r_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -822,7 +824,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{ "Speed",
0, 0, 0, 0, 0, 0, 0 }},
/* 0x0e3 */
- { "seagull", "Seagull route following from tracks with marine setting.",
+ { "seagull", "Seagull that follows a route. It is found in tracks with a marine setting.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_r_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -839,7 +841,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{ "Speed",
0, 0, 0, 0, 0, 0, 0 }},
/* 0x0e5 */
- { "crab", "Crab from GBA Shy Guy Beach. Route Setting 1 sets the time in 1/60 seconds of stop in that point.",
+ { "crab", "Crab from <small>GBA</small> Shy Guy Beach. Route Setting 1 sets the time in 1/60 seconds of stop in that point.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_BRASD | OBF_OBJFLOW | OBF_SOLID | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_r_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -855,7 +857,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x0e7 */
- { "CarA2", "Moving Car from Coconut Mall.",
+ { "CarA2", "Moving car from Coconut Mall.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_SOLID | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_r_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -865,7 +867,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Time of pause",
0, 0, 0, 0, 0 }},
/* 0x0e8 */
- { "CarA3", "Moving Car from Coconut Mall.",
+ { "CarA3", "Moving car from Coconut Mall.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_SOLID | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_r_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -875,7 +877,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Time of pause",
0, 0, 0, 0, 0 }},
/* 0x0e9 */
- { "Hwanwan", "Route-following Chain Chomp from DS Peach Gardens. Hwanwan and wanwan only work together if the effect files are absent. Route Setting 2 = 1 plays a rollover animation, originally used on a Competition in Rainbow Road.",
+ { "Hwanwan", "Route-following Chain Chomp from <small>DS</small> Peach Gardens. Hwanwan and wanwan only work together if the effect files are absent. Route Setting 2 = 1 plays a rollover animation, originally used within a tournament in Rainbow Road.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_OBJFLOW | OBF_SOLID | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_r_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -884,7 +886,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Amount of item boxes carried",
0, 0, 0, 0, 0, 0 }},
/* 0x0ea */
- { "HeyhoBallGBA", "Cannonball landing area, which explodes after 3 seconds, shot by `HeyhoShipGBA'; in GP and VS Race it explodes if touched. The object's scale doesn't affect the explosion effect's dimension. Generally CPUs don't go against this object as they try to avoid them. This objects requires `HeyhoShipGBA' and therefor it can only be used on 6.2. Note that no more than 59 of this object can be used.",
+ { "HeyhoBallGBA", "Cannonball landing area that explodes after three seconds, shot by `HeyhoShipGBA'; in Grand Prix and VS races, it explodes if touched. The object's scale does not affect the explosion effect's dimension. Generally, CPUs do not go against this object as they try to avoid them. This objects requires `HeyhoShipGBA', and therefore, it can only be used on slot 6.2. Note that no more than 59 of this object can be used.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -893,7 +895,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Time between shot and arrival in 1/60 seconds",
0, 0, 0, 0, 0, 0 }},
/* 0x0eb */
- { "Twanwan", "Rolling Chain Chomp from Chain Chomp Wheel. The object has two different kind of movements; one being a route and one relative to it's current location based off a sine wave, whereby the wave is controlled by s3 and s4.",
+ { "Twanwan", "Rolling Chain Chomp from Chain Chomp Wheel. The object has two different kind of movements; one being a route and one relative to its current location based on a sine wave, whereby the wave is controlled by s3 and s4. It appears on the minimap when playing on arena slot 1.4.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_SOLID | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_ARENA,
obj_charact_r_s_a,
&settings_format_uuuu, &settings_format_uuuu,
@@ -914,7 +916,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{ "Start speed",
0, 0, 0, 0, 0, 0, 0 }},
/* 0x0ed */
- { "bird", "Eagle route following from GCN DK Mountain.",
+ { "bird", "Route-following eagle from <small>GCN</small> DK Mountain.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_r_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -923,7 +925,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Number of eagles",
0, 0, 0, 0, 0, 0 }},
/* 0x0ee */
- { "sin_itembox", "Item box following a route back and forth; speed is like sine function. Route Setting 2: 0 = Asymetric; 1 = Symetric.",
+ { "sin_itembox", "Item box following a route back and forth; speed is like a sine function. Route Setting 2: 0 = Asymetric; 1 = Symetric.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_SOLID | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_M_TRACK | OBF_ITEMBOX,
obj_charact_r_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -940,18 +942,18 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{131,-1,-1}, "Twanwan_ue",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x0f0 */
- { "BossHanachan", "Big Wiggler boss used in the Wario's Gold Mine competition; follows a route. If S2 of the route point = 0002 (S1 needs to be 0000 otherwise it will try to do different things at the same time and Wiggler's body will glitch out), it will play Wiggler's trick animation once Wiggler gets to the point. See BossHanachan for more information about his route settings.",
+ { "BossHanachan", "Big Wiggler boss used in the Wario's Gold Mine tournament; follows a route. If S2 of the route point = 0002 (S1 needs to be 0000; otherwise, it will try to do different things at the same time and Wiggler's body will glitch out), it will play Wiggler's trick animation once Wiggler gets to the point. See BossHanachan for more information about its route settings.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_BRASD | OBF_OBJFLOW | OBF_SOLID | OBF_FNAME,
obj_charact_s,
&settings_format_uuuu, &settings_format_uuuu,
{187,-1,-1}, "hanachan(BE2D)",
{ "Primary Wiggler Speed",
- "Unknown",
+ "Time in 1/60 seconds wiggler stops before using its angry speed. Used instead of s7 if player is behind point specified in s6 when wiggler stops",
"Secondary Wiggler Speed",
- "Point where wiggler changes to speed two. If passed before wiggler stops, it will not change to speed two. Route settings must be 0000 0001",
+ "Point player must pass to change wiggler to speed two. The wiggler must stop to activate this speed change. Route settings 0000 0001",
"Angry Wiggler Speed",
- "Point where wiggler changes to angry speed. It will function as long as the second speed change has been added, and route settings are 0000 0001",
- "Time Wiggler stop to being angry (in decimals)",
+ "Point player must pass to allow the wiggler to become angry. Route settings 0000 0001",
+ "Time in 1/60 seconds wiggler stops before using its angry speed. Used instead of s2 if player is past point specified in s6 when wiggler stops",
0 }},
/* 0x0f1 */
{ "Kdossunc", "Object not used in any track.",
@@ -961,7 +963,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x0f2 */
- { "BossHanachanHead", "Object used in the Wario's Gold Mine competition to show the Wiggler's head on the map. It is not found in the KMP, but adding BossHanachan will automatically generate it in game.",
+ { "BossHanachanHead", "Object used in the Wario's Gold Mine tournament to show the Wiggler's head on the minimap. It is not found in the KMP, but adding BossHanachan will automatically generate it in-game.",
OBF_OBJFLOW | OBF_SOLID,
obj_charact_s,
&settings_format_uuuu, &settings_format_uuuu,
@@ -1039,7 +1041,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{171,-1,-1}, "dummy",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x12e */
- { "dokan_sfc", "Pipe from Luigi Circuit and SNES Mario Circuit 3.",
+ { "dokan_sfc", "Pipe from Luigi Circuit and <small>SNES</small> Mario Circuit 3.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_SCALE | OBF_ROTATE | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -1198,7 +1200,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{197,-1,-1}, "kinokoT2",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x144 */
- { "pylon01", "Street cone from Daisy Circuit. Only slots 3.1 and 7.1 support this object with a limit of 30. Colors can be changed in the CLR0 (maybe even added).",
+ { "pylon01", "Street cone from Daisy Circuit. Only slots 3.1, 4.2, 6.2 and 7.1 support this object with a limit of 30. Colors can be changed in the CLR0 (maybe even added).",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -1206,7 +1208,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{ "Color: 0 = Red 1 = Blue 2 = Yellow",
0, 0, 0, 0, 0, 0, 0 }},
/* 0x145 */
- { "PalmTree", "Solid palm from Coconut Mall. It's the largest tree of Mario Kart Wii.",
+ { "PalmTree", "Solid palm from Coconut Mall. It is the largest tree of Mario Kart Wii.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_SCALE | OBF_ROTATE | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -1234,7 +1236,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{70,-1,-1}, "K_sticklift00(B)",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x149 */
- { "heyho2", "Manager of the Shy Guy Ski Lift from DK Summit. Spawns 30 Chairlifts that travel on a route. Route setting 0 removes the Shy Guys. Route setting 1 randomly makes either 0, 1 or 2 randomly coloured Shy Guys spawn on the chair.",
+ { "heyho2", "Manager of the Shy Guy Ski Lift from DK Summit. Spawns 30 Chairlifts that travel on a route. Route setting 0 removes the Shy Guys. Route setting 1 randomly makes either 0, 1 or 2 randomly colored Shy Guys spawn on the chair.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_ALWAYS_ROUTE | OBF_FNAME | OBF_MULTI_FNAME | OBF_M_TRACK,
obj_charact_r_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -1328,7 +1330,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{46,-1,-1}, "FlagB2(B)",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x156 */
- { "FlagA3", "\"Mario Kart\" flag from DS Delfino Square. Strangely, scales must follow a precise proportion: Xscale < Yscale < Zscale, or game freezes. It's a bit buggy, so it's better use another \"FlagA\" object and import the original texture.",
+ { "FlagA3", "\"Mario Kart\" flag from DS Delfino Square. Strangely, scales must follow a precise proportion: Xscale < Yscale < Zscale, or game freezes. It is a bit buggy, so it is better use another \"FlagA\" object and import the original texture.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -1412,7 +1414,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{255,-1,-1}, "windmill(B)",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x162 */
- { "dossun", "Thwomp caged in N64 Bowser's Castle growling when a player approaches; it's an unsolid decoration.",
+ { "dossun", "Thwomp caged in N64 Bowser's Castle growling when a player approaches; it is an unsolid decoration.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_OBJFLOW | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -1426,7 +1428,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{128,-1,-1}, "TownTreeDS(B)",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x164 */
- { "Ksticketc", "Port, opens when approaching.",
+ { "Ksticketc", "Toll booth gate from Moonview Highway, opens when approaching. Opens for cars and trucks only on slot 4.2.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -1561,14 +1563,14 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{247,-1,-1}, "v_stand2",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x175 */
- { "leaf_effect", "Leaf effect when player drives or flies through tree leafs.",
+ { "leaf_effect", "Leaf effect when player drives or flies through tree leaves. Its SFX is exclusive to certain slot(s).",
OBF_OBJECT | OBF_UNIQUE | OBF_EFFECT | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_s_t,
&settings_format_uuuu, &settings_format_uuuu,
{202,-1,-1}, "leaf_effect(E)",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x176 */
- { "karehayama", "Leaf pile from Maple Treeway.",
+ { "karehayama", "Leaf pile from Maple Treeway. Its SFX is exclusive to certain slot(s).",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_SCALE | OBF_ROTATE | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_s_t,
&settings_format_uxuu, &settings_format_uuuu,
@@ -1641,7 +1643,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{98,-1,-1}, "MiiSphinxY2(B)",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x180 */
- { "FlagA5", "Start line flag from Koopa Cape. It's less buggy than `FlagA3'.",
+ { "FlagA5", "Start line flag from Koopa Cape. It is less buggy than `FlagA3'.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -1817,13 +1819,13 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{ "Length of chain in game units",
"Unknown",
0,
- "Let (X,Y) be the the center of the wedge points to, then (X/10) if X positive, 65536+(X/10) if X negative",
- "Let (X,Y) be the the center of the wedge points to, then (Y/10) if Y positive, 65536+(Y/10) if Y negative",
- "Time to wander around (in 1/60 seconds); if 0, about 5 seconds is used. Add 3,5 seconds for full cycle time",
+ "Let (X,Y) be the center of the area where the Chain Chomp snaps to (neither X nor Y are height coordinates). If X is positive, X/10 is the X-Value for the setting; if X is negative, 65536 + X/10 is the X-Value for the setting (make sure to include the negative sign when adding!).",
+ "Let (X,Y) be the center of the area where the Chain Chomp snaps to (neither X nor Y are height coordinates). If Y is positive, Y/10 is the Y-Value for the setting; if Y is negative, 65536 + Y/10 is the Y-Value for the setting (make sure to include the negative sign when adding!).",
+ "Time to wander around (in 1/60 seconds); if 0, about 5 seconds is used. Add 3.5 seconds for full cycle time",
"(Width of wedge in degrees-35)/2",
0 }},
/* 0x197 */
- { "poihana", "Cataquack from GCN Peach Beach. It flings players into the air. In GP and VS race, it looks for players. In Time Trials, it flings only if touched. It is likely possible to add further colors by modifying the Pat0.",
+ { "poihana", "Cataquack from GCN Peach Beach. It flings players into the air. In GP and VS race, it looks for players. In Time Trials, it flings only if touched. It is likely possible to add further colors by modifying the Pat0. Only works on Slot 5.1 if psea or venice_nami is present for a splash sfx.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_BRASD | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -1929,7 +1931,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{217,-1,-1}, "pakkun_dokan(B)",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x1a3 */
- { "begoman_spike", "Topman from Galaxy Colosseum; object not used in any track. To appear, it (or they) must be the first object of section GOBJ. Note that the rings are hardcoded to have their centre at (0,0)",
+ { "begoman_spike", "Topman from Galaxy Colosseum; object not used in any track. To appear, it (or they) must be the first object of section GOBJ. They appear to not obey wall collision. Note that the rings are hardcoded to have their centre at (0,0).",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_F_OTHER,
obj_charact_s_o,
&settings_format_uuuu, &settings_format_uuuu,
@@ -1941,9 +1943,9 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Time in frames from the start of the race until the topman will switch from the 2nd ring to the 3rd ring.",
"The radius of the 3rd ring in which the topman is allowed to roam in.",
"Time in frames from the start of the race until the topman will switch from the 3rd ring to the 4th ring.",
- "The radius of the 3rd ring in which the topman is allowed to roam in." }},
+ "The radius of the 4th ring in which the topman is allowed to roam in." }},
/* 0x1a4 */
- { "FireSnake", "Grounded Podoboo from DS Desert Hills. It bounces casually around its position point. It works with the object `sunDS', so it only works on slots 3.1 and 7.1.",
+ { "FireSnake", "Grounded Podoboo from DS Desert Hills. It bounces casually around its position point. It works with the object `sunDS', so it only works on slots 3.1, 4.2, 6.2 and 7.1.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -1971,7 +1973,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{ "Rotations per 12 seconds",
"Direction: 0 = Clockwise 1 = Counterclockwise",
0, 0, 0, 0, 0,
- "[?] Unused in the normal game. With this cheat code this setting can be used to change the speed to S1/(30*S8) instead of S1/30, allowing for slower Epropellers." }},
+ "[?] Unused in the normal game. With LE-CODE or this cheat code this setting can be used to change the speed to S1/(30*S8) instead of S1/30, allowing for slower Epropellers." }},
/* 0x1a7 */
{ "dc_pillar_c", "Object not used in any track.",
OBF_OBJFLOW | OBF_SOLID,
@@ -1980,17 +1982,17 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x1a8 */
- { "FireSnake_v", "Grounded Podoboo from Grumble Volcano. It jump from its position point describing a parabola and after landing bounces casually around the arrival point.",
+ { "FireSnake_v", "Grounded Podoboo from Grumble Volcano. It jump from its position point describing a parabola and after landing bounces casually around the arrival point for 10 seconds until it vanishes.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_s_t,
&settings_format_uuuu, &settings_format_uuuu,
{39,-1,-1}, "FireSnake(BE)",
{ "Start delay in 1/60 seconds after starting of countdown. 240 (F0 in hex) = Starts immediately after the \"GO!\"",
- "Duration and respawn factor, K reference value is 600 (258 in hex): X < K → Duration time in 1/60 seconds, then respawn without loading vanishing animation X = K → 10 seconds of duration, then respawn after other 10 seconds X > K → 10 seconds of duration, then respawn after (X - 600)/60 seconds. Normally is used the third option",
- "Units of distance from position point to landing point following the Y angulation",
+ "The time between two firesnake spawns. <600 causes the previous snake to disappear, 600 despawns each second snake immediately.",
+ "Units of distance from position point to landing point following the Y angulation.",
0, 0, 0, 0, 0 }},
/* 0x1a9 */
- { "honeBall", "Object not used in regular tracks. Used in the N64 Bowser castle competition with Dry Bowser.",
+ { "honeBall", "Object not used in regular tracks. Used in the <small>N64</small> Bowser's Castle tournament with Dry Bowser. For use of this object in Mission Mode, at least one CPU must be defined. The location of the object does not matter. If more than one CPU is defined, it will cause weird behavior. If more than one CPU exists in a mission with this object, only the one that is the closest to the player will fire at them. Occasionally, some will try and fire at the same time, but this causes them to spin out repeatedly until another fireball is fired. Regardless of how many CPUs are defined in a mission with this object, or how many times this object is added, only one of the CPUs will fire at the player.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_COMMONOBJ | OBF_OBJFLOW | OBF_SOLID | OBF_FNAME,
obj_charact_s,
&settings_format_uuuu, &settings_format_uuuu,
@@ -2004,7 +2006,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{229,-1,-1}, "puchi_pakkun(BD)",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x1ab */
- { "sanbo_big", "Giant Pokey used in the Thwomp Desert Competition, where its scale is 7 on the X, Y, and Z axis KMP KMP cloud seems to slightly corrupt the giant pokey, as its sound will not be loaded and its head will not appear on the minimap.",
+ { "sanbo_big", "Giant Pokey used in the Thwomp Desert tournament, where its scale is 7 on the X, Y and Z-axes. KMP KMP Cloud seems to slightly corrupt the Giant Pokey, as its sound will not be loaded and its head will not appear on the minimap.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_BRASD | OBF_OBJFLOW | OBF_SOLID | OBF_FNAME,
obj_charact_s,
&settings_format_uuuu, &settings_format_uuuu,
@@ -2090,23 +2092,30 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
/* 0x1f3 */ { 0,0,0,0,0,0, {-1,-1,-1},0, {0,0,0,0,0,0,0,0} },
/* 0x1f4 */ { 0,0,0,0,0,0, {-1,-1,-1},0, {0,0,0,0,0,0,0,0} },
/* 0x1f5 */
- { "kinoko_ud", "Moving decoration mushroom from Mushroom Gorge.",
+ { "kinoko_ud", "Moving bouncy mushroom from Mushroom Gorge.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_KCL | OBF_SCALE | OBF_ROTATE | OBF_FALLDOWN | OBF_OBJFLOW | OBF_SOLID | OBF_ROAD | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_s_t,
&settings_format_uuuu, &settings_format_uuuu,
{195,-1,-1}, "kinoko(B4K)",
- { "[?] Texturing: 0 = Light 1 = Dark",
- 0, 0, 0, 0, 0, 0, 0 }},
+ { "[?] Texturing: nonzero values load the dark variant for the stem instead",
+ "[?] Amplitude of the up-down movement",
+ "[?] Time in 1/60s for a full up-down cycle",
+ "[?] Cycle shift (controls where in the cycle to start)",
+ "[?] Time in 1/60s to pause at the lowest point in the cycle",
+ 0, 0, 0 }},
/* 0x1f6 */
- { "kinoko_bend", "Bouncy mushroom.",
+ { "kinoko_bend", "Bouncy mushroom. The model perpetually loops an animation that resembles pulling a rubber band and letting go. It appears on the minimap as a solid circle in non-racing modes.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_KCL | OBF_SCALE | OBF_ROTATE | OBF_FALLDOWN | OBF_OBJFLOW | OBF_SOLID | OBF_ROAD | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_s_t,
&settings_format_uuuu, &settings_format_uuuu,
{195,-1,-1}, "kinoko(B4K)",
- { "Texturing: 0 = Light 1 = Dark",
- 0, 0, 0, 0, 0, 0, 0 }},
+ { "Texturing: nonzero values load the dark variant instead",
+ "[?] Maximum angle",
+ "[?] Time in 1/60s for a full cycle",
+ "[?] Cycle shift (controls where in the cycle to start)",
+ 0, 0, 0, 0 }},
/* 0x1f7 */
- { "VolcanoRock1", "Floating drivable rock (at Grumble Volcano in the lava), it moves like a cosine on the x-axis and the y-axis.",
+ { "VolcanoRock1", "Floating drivable rock (at Grumble Volcano in the lava). It moves like a cosine on the X-axis and the Y-axis.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_KCL | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -2115,11 +2124,11 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Time to go from x1 to x2 and back in 1/60 seconds",
"Max X movement in both directions",
"Offsets starting X and Y position within the specified movement in 1/60 seconds",
- "Time of one period on the y-axis in 1/60 secons",
- "The amplitude of the cosine on the y-axis",
+ "Time of one period on the Y-axis in 1/60 seconds",
+ "The amplitude of the cosine on the Y-axis",
0, 0 }},
/* 0x1f8 */
- { "bulldozer_left", "The moving bulldozer from Toad's Factory.",
+ { "bulldozer_left", "Moving bulldozer from Toad's Factory. Regardless of Y-rotation, it moves eastward from its current position.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_KCL | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -2143,12 +2152,12 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Time of standing still",
0, 0, 0 }},
/* 0x1fa */
- { "kinoko_nm", "Green mushroom.",
+ { "kinoko_nm", "Green mushroom. It appears on the minimap as a solid circle in non-racing modes.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_KCL | OBF_SCALE | OBF_ROTATE | OBF_FALLDOWN | OBF_OBJFLOW | OBF_SOLID | OBF_ROAD | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_s_t,
&settings_format_uuuu, &settings_format_uuuu,
{195,-1,-1}, "kinoko(B4K)",
- { "Texturing: 0 = Light 1 = Dark",
+ { "Texturing: nonzero values load the dark variant instead",
0, 0, 0, 0, 0, 0, 0 }},
/* 0x1fb */
{ "Crane", "Crane platform Toad's Factory. Slot 1.4 enables its SFX.",
@@ -2157,8 +2166,8 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
&settings_format_uuuu, &settings_format_uuuu,
{13,-1,-1}, "Crane(BK)",
{ 0,
- "Movement Distance",
- "Movement Time",
+ "Amplitude of the motion (in game units)",
+ "Period of the motion (in 1/60s)",
"Time before starting",
0, 0, 0, 0 }},
/* 0x1fc */
@@ -2219,7 +2228,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{-1,-1,-1}, 0,
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x202 */
- { "DKturibashiGCc", "Wooden, Swaying bridge from GCN DK Mountain. The object collision is not affected by rotation, so all rotation values need to be 0 in order to work properly.",
+ { "DKturibashiGCc", "Wooden, Swaying bridge from GCN DK Mountain. The object collision is not affected by rotation or scale, so all rotation values need to be 0 and scale 1 in order to work properly.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_SCALE | OBF_ROTATE | OBF_FALLDOWN | OBF_OBJFLOW | OBF_SOLID | OBF_ROAD | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -2240,7 +2249,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{143,-1,-1}, "aurora(B)",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x205 */
- { "venice_saku", "Fence gate from Delfino Pier.",
+ { "venice_saku", "Fence gate from Delfino Pier. Using multiple of this object appears to cause all of them to rise simultaneously.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_KCL | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_M_ARENA,
obj_charact_s_a,
&settings_format_uuuu, &settings_format_uuuu,
@@ -2250,7 +2259,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Speed that it moves up",
0, 0, 0, 0, 0 }},
/* 0x206 */
- { "casino_roulette", "The rotating parts of Chain Chomp Wheel; when used with KCL flag 0x1D, the road slowly around the object counterclockwise. X, Y and Z positions and rotations need to be 0 and scales need to be 1 in order to work properly. Arena slot 1.4 enables functionality that causes players to additionally rotate the direction they are facing on both the object by itself and on KCL flag 0x1D.",
+ { "casino_roulette", "The rotating parts of Chain Chomp Wheel; when used with KCL flag 0x1D, the road slowly rotates around the object counterclockwise. X, Y and Z positions and rotations need to be 0 and scales need to be 1 in order to work properly. Additionally, the file must have a texture animation named \"dushBoard\" (without quotations), or else the game will crash. Arena slot 1.4 enables functionality that causes players to additionally rotate the direction they are facing on both the object by itself and on KCL flag 0x1D. For more information: Moving Terrain",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_KCL | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_M_ARENA,
obj_charact_s_a,
&settings_format_uuuu, &settings_format_uuuu,
@@ -2352,20 +2361,20 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
&settings_format_uuuu, &settings_format_uuuu,
{117,-1,-1}, "RM_ring1(B8K)",
{ "Ring ID; 1 = Outer ring 2 = ring in the middle 3 = Inner ring",
- "Time after course start when the ring starts shaking (seconds)",
+ "Time after course start when the ring starts shaking (seconds) (s2=0 means the ring will never fall)",
"Time that ring shakes (seconds)",
"[?] Delay after ring shakes before falling down (1/60 seconds)",
0, 0, 0, 0 }},
/* 0x212 */
- { "FlamePole_v", "Fire geyser without a base.",
+ { "FlamePole_v", "Fire geyser without a base. It rises like a parabolic curve for 1 second, stays up for s1 - s4 - 490 frames, drops in a linear line for 3 seconds and waits for the time specified in s4 before restarting. Before rising, the geyser has an additional state of 50 frames whereby it is enabled but not rising yet, for this reason it is recommended to not put geysers above track section.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_EFFECT | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_s_t,
&settings_format_uuuu, &settings_format_uuuu,
{51,-1,-1}, "FlamePole_v(BE)",
- { "Time outside the lava, K reference value is 500 (1F4 in hex): X < K → Stays outside the lava for 5 seconds X ≥ K → Stays outside the lava for X/100 seconds",
+ { "Total cycle length, affects time between rising and dropping only.",
"Start delay in 1/60 seconds; it starts 3 seconds before the \"GO!\"",
- "Scale factor; values up to 3 shrink the size, 4 and above grow the size",
- "Cycle time in 1/60 seconds + 8.25 seconds",
+ "The dropping height of the pillar / 384",
+ "Idling time - 200 (1/60 seconds)",
0, 0, 0, 0 }},
/* 0x213 */
{ "M_obj_s_jump", "Ramp used on competitions; object not used in any track.",
@@ -2407,7 +2416,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"S1 activator and S2 conditioner: 0 = S1 Deactivated 1 = S1 Activated",
0, 0, 0, 0, 0 }},
/* 0x217 */
- { "Mdush", "Small jump ramp from Mario Circuit and Moo Moo Meadows.",
+ { "Mdush", "Small jump ramp from Mario Circuit.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_KCL | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -2510,21 +2519,21 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{26,-1,-1}, "DonkyCannonGC(BED)",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x25a */
- { "BeltEasy", "Second set of belts from Toad's Factory.",
+ { "BeltEasy", "Second set of belts from Toad's Factory. For more information: Moving Terrain",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_t,
&settings_format_uuuu, &settings_format_uuuu,
{5,-1,-1}, "BeltEasy(B)",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x25b */
- { "BeltCrossing", "First set of belts from Toad's Factory.",
+ { "BeltCrossing", "First set of belts from Toad's Factory. For more information: Moving Terrain",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_t,
&settings_format_uuuu, &settings_format_uuuu,
{2,-1,-1}, "BeltCrossing(B)",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x25c */
- { "BeltCurveA", "Third set of belts from Toad's Factory. Object is not scalable.",
+ { "BeltCurveA", "Third set of belts from Toad's Factory. Object is not scalable. For more information: Moving Terrain",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -2541,7 +2550,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{4,-1,-1}, "BeltCurveB",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x25e */
- { "escalator", "Coconut Mall escalator.",
+ { "escalator", "Coconut Mall escalator. For more information: Moving Terrain",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_KCL | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -2561,7 +2570,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{27,-1,-1}, "DonkyCannon_wii(BED)",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x260 */
- { "escalator_group", "2 Time Escalators from Coconut Mall. One of the two escalators uses the given speed, the other uses multiplies the speed with -1 (negative speed), so they always run in opposite directions.",
+ { "escalator_group", "2 Time Escalators from Coconut Mall. One of the two escalators uses the given speed, the other uses a multiplied speed of -1 (negative speed), so they always run in opposite directions. For more information: Moving Terrain",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_KCL | OBF_OBJFLOW | OBF_SOLID | OBF_NO_ROUTE | OBF_FNAME | OBF_MULTI_FNAME | OBF_M_TRACK,
obj_charact_s_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -2833,7 +2842,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
obj_charact_t,
&settings_format_uuuu, &settings_format_uuuu,
{57,-1,-1}, "Flash_W(E)",
- { "Unknown",
+ { "0 = flashWaluigi_A 1 = flashWaluigi_B 2 = flashWaluigi_C",
0, 0, 0, 0, 0, 0, 0 }},
/* 0x2d3 */
{ "Flash_M", "Audience camera flashes on N64 Mario Raceway. Active whenever the audience ambience is playing.",
@@ -2848,7 +2857,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
obj_charact_a,
&settings_format_uuuu, &settings_format_uuuu,
{56,-1,-1}, "Flash_S(E)",
- { "Unknown",
+ { "0 = flashSkate_A 1 = flashSkate_B",
0, 0, 0, 0, 0, 0, 0 }},
/* 0x2d5 */
{ "MiiSignNoko", "Koopa face sign from Koopa Cape.",
@@ -2872,7 +2881,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{124,-1,-1}, "Spot64(B)",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x2d8 */
- { "DemoEf", "Object not used in any track.",
+ { "DemoEf", "Fireworks used in the Mario Circuit winning demo.",
OBF_OBJECT | OBF_UNIQUE | OBF_EFFECT | OBF_OBJFLOW | OBF_NO_ROUTE | OBF_FNAME | OBF_F_OTHER,
obj_charact_o,
&settings_format_uuuu, &settings_format_uuuu,
@@ -2886,12 +2895,12 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{37,-1,-1}, "Fall_MH(E)",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x2da */
- { "Fall_Y", "Part of the waterfall effects from Koopa Cape and DS Yoshi Falls.",
+ { "Fall_Y", "Breff animation of the waterfall effects from Koopa Cape and DS Yoshi Falls.",
OBF_OBJECT | OBF_UNIQUE | OBF_EFFECT | OBF_OBJFLOW | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_t,
&settings_format_uuuu, &settings_format_uuuu,
{38,-1,-1}, "Fall_Y(E)",
- { "0 = A, 1 = B or 2 = C breff animation",
+ { "0 = A 1 = B 2 = C",
0, 0, 0, 0, 0, 0, 0 }},
/* 0x2db */
{ "DemoJugemu", "Lakitu model from the Mario Circuit winning demo.",
@@ -3006,7 +3015,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{93,-1,-1}, "MiiObjD03(B)",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x2eb */
- { "mare_a", "Toad from GCN Peach Peach.",
+ { "mare_a", "Yellow Noki from GCN Peach Peach.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -3017,7 +3026,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
"Distance at which it loads the clapping chr0.",
0, 0, 0, 0 }},
/* 0x2ec */
- { "mare_b", "Toad from GCN Peach Peach.",
+ { "mare_b", "Green Noki from GCN Peach Peach.",
OBF_OBJECT | OBF_UNIQUE | OBF_BRRES | OBF_OBJFLOW | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_t,
&settings_format_uuuu, &settings_format_uuuu,
@@ -3056,7 +3065,7 @@ const ObjectInfo_t ObjectInfo[N_KMP_GOBJ] =
{83,-1,-1}, "M_obj_start",
{ 0, 0, 0, 0, 0, 0, 0, 0 }},
/* 0x2f1 */
- { "EnvKarehaUp", "Upward Leaf effect on screen from Maple Treeway; AREA type 0x01 activates this object.",
+ { "EnvKarehaUp", "Upward Leaf effect on screen from Maple Treeway; AREA type 0x01 activates this object if the first AREA setting is set to 1. Instead of surrounding the player with the particle effect, the object's position is used to create a region in which the effect will occur. This region is loosely 10000un eastward and 10000un above the object's position.",
OBF_OBJECT | OBF_UNIQUE | OBF_EFFECT | OBF_OBJFLOW | OBF_NO_ROUTE | OBF_FNAME | OBF_M_TRACK,
obj_charact_t,
&settings_format_uuuu, &settings_format_uuuu,