Original Author(s)
weirdboo
Description
Documentation on the rather large and complex jump table furnitureinfo. This file spawns in BIN furniture models from room archives in root/Iwamoto with a variety of options.
furnitureinfo can be edited with Dollhouse and Jumpah.
Field | Type | Proper Values | Description |
---|---|---|---|
name | String | Any string. | Nintendo always set this string to "furniture", but it can be anything you want. |
dmd_name | String | The name of any BIN furniture model in a room's archive. If no model is desired, then simply put (null). | The string name of the BIN furniture model. This model will need to be in the room archive for the room you're putting it in. These archives are located in root/Iwamoto. Note that the file size for each room archive must be under 450 kilobytes. |
access_name | String | Must match access_name in an enemyinfo entry. If not, then simply put (null). | Checks if the given string matches with access_name in any enemyinfo entry. If there's a match, the actor will be hidden in the furniture, and only allowed to spawn once the furniture has been opened. |
pos_x | Float | Coordinates within the room's bounding box. | These are the spawn coordinates for the furniture. |
pos_y | Float | ||
pos_z | Float | ||
dir_x | Float | -360.000000 < n < 360.000000 | The degree (n) of x-axis rotation for the furniture. Negative values tilt backwards, while positive values tilt forwards. Note that move types 5, 7, 13, 17, 19, and 20 are not compatible with dir_x. |
dir_y | Float | The degree (n) of y-axis rotation for the furniture. Negative values turn left, while positive values turn right. | |
dir_z | Float | The degree (n) of z-axis rotation for the furniture. Negative values tilt left, while positive values tilt right. Note that move types 0-4, 7, 9, 10, 13-22, 24-28, 34-36, 38, 39, 42, and 43 are not compatible with dir_z. | |
scale_x | Float | N/A | Useless. |
scale_y | Float | ||
scale_z | Float | ||
room_no | Integer | map0, map5, map6, map7, and map8: 0-3. | The room that the furniture should spawn in. |
map1, map3, map4, map9, map10, map11, and map12: 0. | |||
map2: 0-71. | |||
item_offset_y | Float | Any float. | How high/low to spawn the item listed in item_table. It starts from the value of pos_y. |
item_table | Integer | The number of an entry in itemappeartable. | The item that will come out of the furniture once opened. The item should be defined in iteminfotable in order for it to spawn properly. If the item is money, then the type must be specified with generate. |
generate_num | Integer | Any non-negative integer. | If the item defined in item_table is money, then generate_num tells the game how much of the money to spawn. |
telesa_hide | Integer | Any non-negative integer. | How likely a furniture will have a Boo hiding in it. Higher values mean it's more likely a boo will spawn there. A value of 0 will make it impossible for a Boo to spawn from the furniture. If all furniture in a room is set to 0, the Boo Radar will turn blue and no Boo will spawn in the room at all. A good way to imagine telesa_hide is to think of it as the number of "raffle tickets" that each furniture has when a Boo spawns. The Boo "picks a ticket" to hide in a furniture, so furniture with more "tickets" will have a higher chance of a Boo picking them. |
move_level | Integer | Any non-negative integer. | How much the furniture shakes when Luigi vacuums it. The higher the number, the more intense the shaking effect will be (0 = no shaking effect at all). |
arg0 | Float | Any float. | Move Types |
arg1 | Float | ||
arg2 | Float | ||
appear_flag | Integer | 0-255. | This flag will allow the furniture to spawn. |
disappear_flag | Integer | 0-255. | This flag will prevent the furniture from spawning. |
furniture_x | Integer | Any non-negative integer. |
These coordinates make an invisible scanbox around the furniture that detects if Luigi is interacting with it. These interactions include: pressing the A button near the furniture and scanning the furniture with the GBH. Setting these coordinates to 0 will prevent Luigi from knocking on / shaking the furniture or scanning it with the GBH, but vacuuming it will still work just fine. Rotating the furniture via dir_x, dir_y, and dir_z will also rotate this invisible scanbox. Note: if you are making invisible furniture such as posters, these coordinates will determine the size. |
furniture_y | Integer | ||
furniture_z | Integer | ||
counter | Integer | 0-255. | This value will be passed to event77 and processed with <COUNTJMP2> when Luigi scans a furniture's scanbox with the GBH. The resulting jump will display Luigi's dialogue.
|
move | Integer | 0-43. | Move Types |
furniture_sound | Integer | 0-25. | Furniture Sounds |
sheet | Integer | 0-25. | Sheet Behaviors |
generate | Integer | 0-8. | Furniture Money |
sheet_texture | Integer | 0-15. | Sheet Textures |
not_transparent | Boolean | 0 or 1. | If set to 1, the furniture will always be solid. If set to 0, the furniture will turn transparent when Luigi walks behind it. |
sheet_gum | Boolean | If sheet ≠0, then 0 or 1. | If set to 0, Luigi can vacuum up the sheet normally. If set to 1, Luigi will not be able to vacuum up the sheet. If Luigi keeps vacuuming and moves far enough backwards, he will be knocked back and lose some health, revealing the Boo "Get out of here!" texture. Luigi can also preemptively let go of the sheet to reveal that texture. Note that sheet_gum was designed to be used with sheet behavior types 9-12 (posters), so using it with other sheet types won't look very good. |
telesa_appear | Integer | N/A | Useless. |