Difference between revisions of "Objflow.byaml"

From MK8
Jump to navigation Jump to search
(Cleanup)
Line 1: Line 1:
{{Under-construction}}
+
{{DISPLAYTITLE:objflow.byaml}}
''objflow.byaml'' is a YAML file found in ''/content/data/'' in the game's filesystem.
+
{{under-construction}}
  
ObjFlow contains information about animations, hitboxes, object ids, and each object has it's own set of parameters.
+
== Overview ==
 
+
'''objflow.byaml''' is a [[BYAML]] file found in the directory /[[Filesystem/Wii U/content|content]]/[[Filesystem/Wii U/content/data|data]] of the Wii U version of [[Mario Kart 8]]. It contains information about animations, hitboxes, object IDs, and many others.
= Object Values =
 
 
 
These values are assigned to each object, through the element ''<value>''. The attributes and their functions are listed below.
 
  
 +
== Object Values ==
 +
These values are assigned to each object, through the element '''<value>'''. The attributes and their functions are listed below. Functions marked as gray are unknown/unsure.
 
{| class="wikitable"
 
{| class="wikitable"
|-
+
! Name
! Attribute Name
 
 
! Function
 
! Function
 
|-
 
|-
 
| AiReact
 
| AiReact
| Says how CPU reacts to something, it can be: ignore (some decorations), try to avoid (obstacles), try to hit/collect (coins)
+
| CPU reactions to objects. For example: ignore (decorations), avoid (obstacles), or collect (coins).
 
|-
 
|-
 
| CalcCut
 
| CalcCut
| {{Unknown}} -- can be true or false.
+
| {{unknown-left|Can be true or false.}}
 
|-
 
|-
 
| Clip
 
| Clip
| Culling (Does object unload when far away?) -- can be true or false.
+
| Culling of an object. Can be true or false.
 
|-
 
|-
 
| ClipRadius
 
| ClipRadius
| Distance that the culling takes affect on(?)
+
| {{unknown-left|Distance that the culling takes affect on.}}
 
|-
 
|-
 
| ColOffsetY
 
| ColOffsetY
| {{Unknown}}
+
| {{unknown-left|Unknown.}}
 
|-
 
|-
 
| ColShape
 
| ColShape
| {{Unknown}} -- maybe the shape of the collision? seems to be a integer.
+
| {{unknown-left|Shape of the collision of the object. Is mostly an integer.}}
 
|-
 
|-
 
| DemoCameraCheck
 
| DemoCameraCheck
| {{Unknown}} -- can be true or false.
+
| {{unknown-left|Can be true or false.}}
 
|-
 
|-
 
| LightSetting
 
| LightSetting
| {{Unknown}}
+
| {{unknown-left|Unknown.}}
 
|-
 
|-
 
| Lod1
 
| Lod1
| Distance needed away from object for Lod1 to load.(?)
+
| {{unknown-left|Distance needed away from object for Lod1 to load.}}
 
|-
 
|-
 
| Lod2
 
| Lod2
| Distance needed away from object for Lod2 to load.(?)
+
| {{unknown-left|Distance needed away from object for Lod2 to load.}}
 
|-
 
|-
 
| Lod_NoDisp
 
| Lod_NoDisp
| Distance needed away from object for the object to be invisible.(?)
+
| {{unknown-left|Distance needed away from object to unload.}}
 
|-
 
|-
 
| MgrId
 
| MgrId
| {{Unknown}} -- Mgr usually means "Manager", which controls an object.
+
| {{unknown-left|"Mgr" usually means "Manager", which controls an object.}}
 
|-
 
|-
 
| ModelDraw
 
| ModelDraw
| Does object have model?(?)
+
| {{unknown-left|Defines if the object has a model or not.}}
 
|-
 
|-
 
| ModelEffNo
 
| ModelEffNo
| {{Unknown}} -- seems to relate to if an object has an _FX older in the mapobj folder
+
| {{unknown-left|Sseems to be related to if an object has an "_FX" variant in the [[Filesystem/Wii U/content/mapobj|mapobj]] folder.}}
 
|-
 
|-
 
| MoveBeforeSync
 
| MoveBeforeSync
| Does the object move/animate before the countdown (online only)(?) -- can be true or false.
+
| {{unknown-left|Defines if the object moves/animates before the countdown. Can be true or false.}}
 
|-
 
|-
 
| NotCreate
 
| NotCreate
| Can be true or false, if false byaml objects spawn everytime in start position if they get displaced as pylons
+
| Defines if the object spawns every time in their starting position, if they get displaced as pylons. Can be true or false.pylons
 
|-
 
|-
 
| ObjID
 
| ObjID
| This is what connects the entry to a level object. This ID is called within the course_muunt.byaml and that's how it identifies these parameters.
+
| Defines what object it is.
 
|-
 
|-
 
| Offset
 
| Offset
| Height offset from the muunt point's Y position. (i.e. Itembox has value of 20f)
+
| Height offset from the muunt point's Y position.
 
|-
 
|-
 
| Origin
 
| Origin
| {{Unknown}}
+
| {{unknown-left|Unknown.}}
 
|-
 
|-
 
| PackunEat
 
| PackunEat
| Will the piranha plant item bite at the object?
+
| Defines if the Piranha Plant item will bite at the object.
 
|-
 
|-
 
| PathType
 
| PathType
| {{Unknown}}
+
| {{unknown-left|Unknown.}}
 
|-
 
|-
 
| PylonReact
 
| PylonReact
| {{Unknown}}
+
| {{unknown-left|Unknown.}}
 
|-
 
|-
 
| VR
 
| VR
| Says if the object is a skybox model (all IDs start by 70xx)
+
| Defines if the object is a skybox.
|-
 
 
|}
 
|}
  
= Object Hitbox Size =
+
== Object Hitbox Size ==
''<Colsize>'' defines the collision size for the object. Has X, Y, and Z values that can be defined.  
+
'''<Colsize>''' defines the collision size for the object. It has X, Y and Z values that can be defined.
  
= Item Behavior when touching Object =
+
== Item Behavior when touching Object ==
''<Item type>'' lists 12* values in an array. (*iirc not always 12, varies between wii u and switch)
+
'''<Item type>''' lists 12<ref name="note">Value can differ.</ref> values in an array. They dictate what the object does to each item when it collides with it. Each position in the array corresponds to an item.
The values dictate what the object does to each item when it collides with the object. (bounce away, crack shell, etc...)
+
<references/>
 
 
Each position in the array corresponds to an item(?)
 
 
{| class="wikitable"
 
{| class="wikitable"
|+ Caption text
+
! Value !! Function
 
|-
 
|-
! Header text !! Header text
+
| 0 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 0 || Unknown
+
| 1 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 1 || Unknown
+
| 2 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 2 || Unknown
+
| 3 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 3 || Unknown
+
| 4 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 4 || Unknown
+
| 5 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 5 || Unknown
+
| 6 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 6 || Unknown
+
| 7 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 7 || Unknown
+
| 8 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 8 || Unknown
+
| 9 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 9 || Unknown
+
| 10 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 10 || Unknown
+
| 11 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 11 || Unknown
+
| 12 || {{unknown-left|Unknown.}}
|-
 
| 12 || Unknown
 
 
|}
 
|}
 +
<!-- The values within the array range from 0 to 3(?), which can have different affects depending on each object...: -->
  
The values within the array range from 0 to 3(?), which can have different affects depending on each object...:
+
== Object Behavior when touching Item ==
 
+
'''<ItemObj type>''' lists 12<ref name="note">Value can differ.</ref> values in an array. They dictate what the item does to each object when it collides with it. Each position in the array corresponds to an item.
 
+
<references/>
= Object Behavior when touching Item =
 
''<ItemObj type>'' lists 12* values in an array. (*iirc not always 12, varies between wii u and switch)
 
 
 
What the item does to the object when it gets hit with an item. (break, flip, etc...)
 
 
 
Each position in the array corresponds to to an item(?)
 
 
{| class="wikitable"
 
{| class="wikitable"
|+ Caption text
+
! Value !! Function
 
|-
 
|-
! Header text !! Header text
+
| 0 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 0 || Unknown
+
| 1 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 1 || Unknown
+
| 2 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 2 || Unknown
+
| 3 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 3 || Unknown
+
| 4 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 4 || Unknown
+
| 5 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 5 || Unknown
+
| 6 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 6 || Unknown
+
| 7 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 7 || Unknown
+
| 8 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 8 || Unknown
+
| 9 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 9 || Unknown
+
| 10 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 10 || Unknown
+
| 11 || {{unknown-left|Unknown.}}
 
|-
 
|-
| 11 || Unknown
+
| 12 || {{unknown-left|Unknown.}}
|-
 
| 12 || Unknown
 
 
|}
 
|}
 +
<!-- The values within the array range from 0 to 3(?), which can have different affects depending on each object...: -->
  
The values within the array range from 0 to 3(?), which can have different affects depending on each object...:
+
== Vehicle Behavior when touching Object ==
 
+
'''<Kart type>''' lists four<ref name="note">Value can differ.</ref> entries in an array. They dictate what happens to the vehicle when it touches the object. Each position in the array corresponds to what state the vehicle is in when touching the object.
 
+
<references/>
= What the object does to Vehicles =
 
''<Kart type>'' lists 4* entries in an array. (*iirc not always 12, varies between wii u and switch)
 
It describes what happens to the vehicle when it touches the object. (spin out, spin boost, crush etc...)
 
 
 
Each position in the array corresponds to what state the vehicle is in when touching the object.
 
 
{| class="wikitable"
 
{| class="wikitable"
|+ Caption text
+
! Value !! State
 
|-
 
|-
! Header text !! Header text
+
| 0 || Normal.
 
|-
 
|-
| 0 || Normal State
+
| 1 || In a boost.
 
|-
 
|-
| 1 || While Boosting
+
| 2 || In a Star.
 
|-
 
|-
| 2 || In a Star Item
+
| 3 || In a Bullet Bill.
 
|-
 
|-
| 3 || In a Bullet Item
+
| 4 || In a Boo.<ref name="note">[[Mario Kart 8 Deluxe]] only.</ref>
|-
 
| 4 || In a Boo Item (8DX Only)
 
 
|}
 
|}
 +
<references/>
 +
<!-- The values within the array range from 0 to 3(?), which can have different affects depending on each object...: -->
  
The values within the array range from 0 to 3(?), which can have different affects depending on each object...:
+
== Object Behavior when touching Vehicle ==
 
+
'''<KartObj type>''' lists four<ref name="note">Value can differ.</ref> entries in an array. They dictate what happens to the object when a vehicle collides with it. Each position in the array corresponds to what state the vehicle is in when touching the object.
 
+
<references/>
= What vehicles do to Objects =
 
''<KartObj type>'' lists 4* entries in an array. (*iirc not always 12, varies between wii u and switch)
 
What the kart does to the object when touching it.
 
 
 
Each position in the array corresponds to to what state the vehicle is in when touching the object.
 
 
{| class="wikitable"
 
{| class="wikitable"
|+ Caption text
+
! Value !! State
 
|-
 
|-
! Header text !! Header text
+
| 0 || Normal.
 
|-
 
|-
| 0 || Normal State
+
| 1 || In a boost.
 
|-
 
|-
| 1 || While Boosting
+
| 2 || In a Star.
 
|-
 
|-
| 2 || In a Star Item
+
| 3 || In a Bullet Bill.
 
|-
 
|-
| 3 || In a Bullet Item
+
| 4 || In a Boo.<ref name="note">[[Mario Kart 8 Deluxe]] only.</ref>
|-
 
| 4 || In a Boo Item (8DX Only)
 
 
|}
 
|}
 +
<references/>
 +
<!-- The values within the array range from 0 to 3(?), which can have different affects depending on each object...: -->
  
The values within the array range from 0 to ?????,  which can have different affects depending on each object...:
+
== Object Label ==
 
+
'''<Label type>''' is the unique name of the object. It is also used for objects that share a base model but use different textures (i.e. multicolored Toads). The game will uses the object label to find the appropriate _Alb texture to use.
 
 
= Object Label =
 
''<Label type>'' is the unique name of the object. It is also used for objects that share a base model but use different textures (i.e. multicolored Toads). The game will uses the object label to find the appropriate _Alb texture to use.
 
  
= Model Name =
+
== Model Name ==
''<ModelName type>'' lists which model should be used if the .bfres inside the ResName folder has multiple models inside.  
+
'''<ModelName type>''' lists which model should be used if the .bfres inside the ResName folder has multiple models inside.  
  
= Resource Name =
+
== Resource Name ==
''<ResName>'' points to the object's resource folder in mapobj.
+
'''<ResName>''' points to the object's resource folder in the [[Filesystem/Wii U/content/mapobj|mapobj]] directory .

Revision as of 08:58, 16 June 2022

Under Construction
This article is not finished. Help improve it by adding accurate information or correcting grammar and spelling.

Overview

objflow.byaml is a BYAML file found in the directory /content/data of the Wii U version of Mario Kart 8. It contains information about animations, hitboxes, object IDs, and many others.

Object Values

These values are assigned to each object, through the element <value>. The attributes and their functions are listed below. Functions marked as gray are unknown/unsure.

Name Function
AiReact CPU reactions to objects. For example: ignore (decorations), avoid (obstacles), or collect (coins).
CalcCut Can be true or false.
Clip Culling of an object. Can be true or false.
ClipRadius Distance that the culling takes affect on.
ColOffsetY Unknown.
ColShape Shape of the collision of the object. Is mostly an integer.
DemoCameraCheck Can be true or false.
LightSetting Unknown.
Lod1 Distance needed away from object for Lod1 to load.
Lod2 Distance needed away from object for Lod2 to load.
Lod_NoDisp Distance needed away from object to unload.
MgrId "Mgr" usually means "Manager", which controls an object.
ModelDraw Defines if the object has a model or not.
ModelEffNo Sseems to be related to if an object has an "_FX" variant in the mapobj folder.
MoveBeforeSync Defines if the object moves/animates before the countdown. Can be true or false.
NotCreate Defines if the object spawns every time in their starting position, if they get displaced as pylons. Can be true or false.pylons
ObjID Defines what object it is.
Offset Height offset from the muunt point's Y position.
Origin Unknown.
PackunEat Defines if the Piranha Plant item will bite at the object.
PathType Unknown.
PylonReact Unknown.
VR Defines if the object is a skybox.

Object Hitbox Size

<Colsize> defines the collision size for the object. It has X, Y and Z values that can be defined.

Item Behavior when touching Object

<Item type> lists 12[1] values in an array. They dictate what the object does to each item when it collides with it. Each position in the array corresponds to an item.

  1. Value can differ.
Value Function
0 Unknown.
1 Unknown.
2 Unknown.
3 Unknown.
4 Unknown.
5 Unknown.
6 Unknown.
7 Unknown.
8 Unknown.
9 Unknown.
10 Unknown.
11 Unknown.
12 Unknown.

Object Behavior when touching Item

<ItemObj type> lists 12[1] values in an array. They dictate what the item does to each object when it collides with it. Each position in the array corresponds to an item.

  1. Value can differ.
Value Function
0 Unknown.
1 Unknown.
2 Unknown.
3 Unknown.
4 Unknown.
5 Unknown.
6 Unknown.
7 Unknown.
8 Unknown.
9 Unknown.
10 Unknown.
11 Unknown.
12 Unknown.

Vehicle Behavior when touching Object

<Kart type> lists four[1] entries in an array. They dictate what happens to the vehicle when it touches the object. Each position in the array corresponds to what state the vehicle is in when touching the object.

  1. Value can differ.
Value State
0 Normal.
1 In a boost.
2 In a Star.
3 In a Bullet Bill.
4 In a Boo.[1]

Object Behavior when touching Vehicle

<KartObj type> lists four[1] entries in an array. They dictate what happens to the object when a vehicle collides with it. Each position in the array corresponds to what state the vehicle is in when touching the object.

  1. Value can differ.
Value State
0 Normal.
1 In a boost.
2 In a Star.
3 In a Bullet Bill.
4 In a Boo.[1]

Object Label

<Label type> is the unique name of the object. It is also used for objects that share a base model but use different textures (i.e. multicolored Toads). The game will uses the object label to find the appropriate _Alb texture to use.

Model Name

<ModelName type> lists which model should be used if the .bfres inside the ResName folder has multiple models inside.

Resource Name

<ResName> points to the object's resource folder in the mapobj directory .