Objects: Difference between revisions

250 bytes added ,  11 October 2023
m
added more code reference, might eventually might a deeper dive section into the anatomy of an object in code
m (added object navbar)
m (added more code reference, might eventually might a deeper dive section into the anatomy of an object in code)
Line 4: Line 4:


== Object Groups ==
== Object Groups ==
Every object is part of a larger "group" that helps define its behavior. Of the 12 groups, some are more strongly defined than others, but it helps to categorize objects within the game.
Every object is part of a larger "group" that helps define its behavior<ref>[https://github.com/n64decomp/sm64/blob/master/src/game/object_list_processor.h#L32 Object Group Enumeration]</ref>. Of the 12 groups, some are more strongly defined than others, but it helps to categorize objects within the game.


===Player Group===
===Player Group===
Line 45: Line 45:
Unimportant objects generally do not affect gameplay at all and exist purely for visuals. This group has the unique quality of unloading to stay under the object limit, hence their "unimportant" name. Some examples include smoke, wind, and dust.
Unimportant objects generally do not affect gameplay at all and exist purely for visuals. This group has the unique quality of unloading to stay under the object limit, hence their "unimportant" name. Some examples include smoke, wind, and dust.


===Processing Order===
==Processing Order==
During a frame, object lists are processed in the following order: Spawner, Surface, Polelike, Player, Pushable, General, Destructive, Level, Default, Unimportant
During a frame, object lists are processed in the following order: Spawner, Surface, Polelike, Player, Pushable, General, Destructive, Level, Default, Unimportant <ref>[https://github.com/n64decomp/sm64/blob/master/src/game/object_list_processor.c#L172 sObjectListUpdateOrder declaration]</ref>


== Object limit ==
== Object limit ==
577

edits