SSBM Decomp
Loading...
Searching...
No Matches
object.h File Reference
#include <platform.h>
#include "baselib/forward.h"
#include "baselib/class.h"
#include "baselib/debug.h"

Go to the source code of this file.

Data Structures

struct  HSD_Obj
 
struct  HSD_ObjInfo
 

Macros

#define HSD_OBJ_NOREF   ((u16) - 1)
 
#define HSD_OBJ(o)   ((HSD_Obj*) o)
 
#define HSD_OBJECT_INFO(o)   (o.parent.parent)
 
#define HSD_OBJECT_METHOD(o)   (o->parent.parent.class_info)
 
#define HSD_OBJECT_PARENT_INFO(o)   ((o)->parent.parent.head.parent)
 
#define MASK_OF(type)   (1 << ((type) - 1))
 

Enumerations

enum  HSD_Type {
  AOBJ_TYPE = 1 ,
  COBJ_TYPE ,
  DOBJ_TYPE ,
  FOBJ_TYPE ,
  FOG_TYPE ,
  JOBJ_TYPE ,
  LOBJ_TYPE ,
  MOBJ_TYPE ,
  POBJ_TYPE ,
  ROBJ_TYPE ,
  TOBJ_TYPE ,
  WOBJ_TYPE ,
  RENDER_TYPE ,
  CHAN_TYPE ,
  TEVREG_TYPE ,
  CBOBJ_TYPE ,
  HSD_MAX_TYPE
}
 
enum  HSD_TypeMask {
  AOBJ_MASK = MASK_OF(AOBJ_TYPE) ,
  COBJ_MASK = MASK_OF(COBJ_TYPE) ,
  DOBJ_MASK = MASK_OF(DOBJ_TYPE) ,
  FOBJ_MASK = MASK_OF(FOBJ_TYPE) ,
  FOG_MASK = MASK_OF(FOG_TYPE) ,
  JOBJ_MASK = MASK_OF(JOBJ_TYPE) ,
  LOBJ_MASK = MASK_OF(LOBJ_TYPE) ,
  MOBJ_MASK = MASK_OF(MOBJ_TYPE) ,
  POBJ_MASK = MASK_OF(POBJ_TYPE) ,
  ROBJ_MASK = MASK_OF(ROBJ_TYPE) ,
  TOBJ_MASK = MASK_OF(TOBJ_TYPE) ,
  WOBJ_MASK = MASK_OF(WOBJ_TYPE) ,
  RENDER_MASK = MASK_OF(RENDER_TYPE) ,
  CHAN_MASK = MASK_OF(CHAN_TYPE) ,
  TEVREG_MASK = MASK_OF(TEVREG_TYPE) ,
  CBOBJ_MASK = MASK_OF(CBOBJ_TYPE) ,
  ALL_TYPE_MASK = MASK_OF(HSD_MAX_TYPE) - 1
}
 

Functions

void ObjInfoInit (void)
 
static bool ref_DEC (void *o)
 
static void ref_INC (void *o)
 
static int ref_CNT (void *o)
 
static int iref_CNT (void *o)
 
static bool iref_DEC (void *o)
 
static void iref_INC (void *o)
 

Variables

HSD_ClassInfo hsdObj
 

Macro Definition Documentation

◆ HSD_OBJ_NOREF

#define HSD_OBJ_NOREF   ((u16) - 1)

◆ HSD_OBJ

#define HSD_OBJ (   o)    ((HSD_Obj*) o)

◆ HSD_OBJECT_INFO

#define HSD_OBJECT_INFO (   o)    (o.parent.parent)

◆ HSD_OBJECT_METHOD

#define HSD_OBJECT_METHOD (   o)    (o->parent.parent.class_info)

◆ HSD_OBJECT_PARENT_INFO

#define HSD_OBJECT_PARENT_INFO (   o)    ((o)->parent.parent.head.parent)

◆ MASK_OF

#define MASK_OF (   type)    (1 << ((type) - 1))

Enumeration Type Documentation

◆ HSD_Type

enum HSD_Type
Enumerator
AOBJ_TYPE 
COBJ_TYPE 
DOBJ_TYPE 
FOBJ_TYPE 
FOG_TYPE 
JOBJ_TYPE 
LOBJ_TYPE 
MOBJ_TYPE 
POBJ_TYPE 
ROBJ_TYPE 
TOBJ_TYPE 
WOBJ_TYPE 
RENDER_TYPE 
CHAN_TYPE 
TEVREG_TYPE 
CBOBJ_TYPE 
HSD_MAX_TYPE 

◆ HSD_TypeMask

Enumerator
AOBJ_MASK 
COBJ_MASK 
DOBJ_MASK 
FOBJ_MASK 
FOG_MASK 
JOBJ_MASK 
LOBJ_MASK 
MOBJ_MASK 
POBJ_MASK 
ROBJ_MASK 
TOBJ_MASK 
WOBJ_MASK 
RENDER_MASK 
CHAN_MASK 
TEVREG_MASK 
CBOBJ_MASK 
ALL_TYPE_MASK 

Function Documentation

◆ ObjInfoInit()

void ObjInfoInit ( void  )

◆ ref_DEC()

static bool ref_DEC ( void *  o)
inlinestatic

◆ ref_INC()

static void ref_INC ( void *  o)
inlinestatic

◆ ref_CNT()

static int ref_CNT ( void *  o)
inlinestatic

◆ iref_CNT()

static int iref_CNT ( void *  o)
inlinestatic

◆ iref_DEC()

static bool iref_DEC ( void *  o)
inlinestatic

◆ iref_INC()

static void iref_INC ( void *  o)
inlinestatic

Variable Documentation

◆ hsdObj

HSD_ClassInfo hsdObj
extern