sm64

A Super Mario 64 decompilation
Log | Files | Refs | README | LICENSE

rendering_graph_node.h (1249B)


      1 #ifndef RENDERING_GRAPH_NODE_H
      2 #define RENDERING_GRAPH_NODE_H
      3 
      4 #include <PR/ultratypes.h>
      5 
      6 #include "engine/graph_node.h"
      7 
      8 extern struct GraphNodeRoot *gCurGraphNodeRoot;
      9 extern struct GraphNodeMasterList *gCurGraphNodeMasterList;
     10 extern struct GraphNodePerspective *gCurGraphNodeCamFrustum;
     11 extern struct GraphNodeCamera *gCurGraphNodeCamera;
     12 extern struct GraphNodeObject *gCurGraphNodeObject;
     13 extern struct GraphNodeHeldObject *gCurGraphNodeHeldObject;
     14 extern u16 gAreaUpdateCounter;
     15 
     16 // after processing an object, the type is reset to this
     17 #define ANIM_TYPE_NONE                  0
     18 
     19 // Not all parts have full animation: to save space, some animations only
     20 // have xz, y, or no translation at all. All animations have rotations though
     21 #define ANIM_TYPE_TRANSLATION           1
     22 #define ANIM_TYPE_VERTICAL_TRANSLATION  2
     23 #define ANIM_TYPE_LATERAL_TRANSLATION   3
     24 #define ANIM_TYPE_NO_TRANSLATION        4
     25 
     26 // Every animation includes rotation, after processing any of the above
     27 // translation types the type is set to this
     28 #define ANIM_TYPE_ROTATION              5
     29 
     30 void geo_process_node_and_siblings(struct GraphNode *firstNode);
     31 void geo_process_root(struct GraphNodeRoot *node, Vp *b, Vp *c, s32 clearColor);
     32 
     33 #endif // RENDERING_GRAPH_NODE_H