SSBM Decomp
Loading...
Searching...
No Matches
mobj.h File Reference
#include <platform.h>
#include "baselib/forward.h"
#include "baselib/class.h"
#include "baselib/texp.h"
#include "baselib/tobj.h"
#include <dolphin/gx/types.h>

Go to the source code of this file.

Data Structures

struct  HSD_MObj
 
struct  HSD_Material
 
struct  HSD_PEDesc
 
struct  HSD_MObjDesc
 
struct  HSD_ChanAnim
 
struct  HSD_TevRegAnim
 
struct  HSD_RenderAnim
 
struct  HSD_MatAnim
 
struct  HSD_MatAnimJoint
 
struct  HSD_MObjInfo
 

Macros

#define MOBJ_ANIM   0x4
 
#define TOBJ_ANIM   0x10
 
#define ALL_ANIM   0x7FF
 
#define HSD_A_M_AMBIENT_R   1
 
#define HSD_A_M_AMBIENT_G   2
 
#define HSD_A_M_AMBIENT_B   3
 
#define HSD_A_M_DIFFUSE_R   4
 
#define HSD_A_M_DIFFUSE_G   5
 
#define HSD_A_M_DIFFUSE_B   6
 
#define HSD_A_M_SPECULAR_R   7
 
#define HSD_A_M_SPECULAR_G   8
 
#define HSD_A_M_SPECULAR_B   9
 
#define HSD_A_M_ALPHA   10
 
#define HSD_A_M_PE_REF0   11
 
#define HSD_A_M_PE_REF1   12
 
#define HSD_A_M_PE_DSTALPHA   13
 
#define RENDER_DIFFUSE_SHIFT   0
 
#define RENDER_DIFFUSE_BITS   (3 << RENDER_DIFFUSE_SHIFT)
 
#define RENDER_DIFFUSE_MAT0   (0 << RENDER_DIFFUSE_SHIFT)
 
#define RENDER_DIFFUSE_MAT   (1 << RENDER_DIFFUSE_SHIFT)
 
#define RENDER_DIFFUSE_VTX   (2 << RENDER_DIFFUSE_SHIFT)
 
#define RENDER_DIFFUSE_BOTH   (3 << RENDER_DIFFUSE_SHIFT)
 
#define RENDER_CONSTANT   (1 << 0)
 
#define RENDER_VERTEX   (1 << 1)
 
#define RENDER_DIFFUSE   (1 << 2)
 
#define RENDER_SPECULAR   (1 << 3)
 
#define CHANNEL_FIELD    (RENDER_CONSTANT | RENDER_VERTEX | RENDER_DIFFUSE | RENDER_SPECULAR)
 
#define RENDER_TEX0   (1 << 4)
 
#define RENDER_TEX1   (1 << 5)
 
#define RENDER_TEX2   (1 << 6)
 
#define RENDER_TEX3   (1 << 7)
 
#define RENDER_TEX4   (1 << 8)
 
#define RENDER_TEX5   (1 << 9)
 
#define RENDER_TEX6   (1 << 10)
 
#define RENDER_TEX7   (1 << 11)
 
#define RENDER_TEXTURES
 
#define RENDER_TOON   (1 << 12)
 
#define RENDER_ALPHA_SHIFT   13
 
#define RENDER_ALPHA_BITS   (3 << RENDER_ALPHA_SHIFT)
 
#define RENDER_ALPHA_COMPAT   (0 << RENDER_ALPHA_SHIFT)
 
#define RENDER_ALPHA_MAT   (1 << RENDER_ALPHA_SHIFT)
 
#define RENDER_ALPHA_VTX   (2 << RENDER_ALPHA_SHIFT)
 
#define RENDER_ALPHA_BOTH   (3 << RENDER_ALPHA_SHIFT)
 
#define RENDER_SHADOW   (1 << 26)
 
#define RENDER_ZMODE_ALWAYS   (1 << 27)
 
#define RENDER_NO_ZUPDATE   (1 << 29)
 
#define RENDER_XLU   (1 << 30)
 
#define HSD_MOBJ(o)   ((HSD_MObj*) (o))
 
#define HSD_MOBJ_INFO(i)   ((HSD_MObjInfo*) (i))
 
#define HSD_MOBJ_METHOD(o)   HSD_MOBJ_INFO(HSD_CLASS_METHOD(o))
 

Functions

void HSD_MObjSetCurrent (HSD_MObj *mobj)
 
void HSD_MObjSetFlags (HSD_MObj *mobj, u32 flags)
 
void HSD_MObjClearFlags (HSD_MObj *mobj, u32 flags)
 
void HSD_MObjRemoveAnimByFlags (HSD_MObj *mobj, u32 flags)
 
void HSD_MObjAddAnim (HSD_MObj *mobj, HSD_MatAnim *matanim)
 
void HSD_MObjReqAnimByFlags (HSD_MObj *mobj, f32 startframe, u32 flags)
 
void HSD_MObjReqAnim (HSD_MObj *mobj, f32 startframe)
 
void HSD_MObjAnim (HSD_MObj *mobj)
 
HSD_MObjHSD_MObjLoadDesc (HSD_MObjDesc *mobjdesc)
 
HSD_TObjHSD_MObjGetTObj (HSD_MObj *mobj)
 
void HSD_MObjRemove (HSD_MObj *mobj)
 
HSD_MObjHSD_MObjAlloc (void)
 
HSD_MaterialHSD_MaterialAlloc (void)
 
void HSD_MObjCompileTev (HSD_MObj *mobj)
 
void HSD_MObjDeleteShadowTexture (HSD_TObj *tobj)
 
HSD_TExpMObjMakeTExp (HSD_MObj *mobj, HSD_TObj *tobj_top, HSD_TExp **list)
 
void MObjSetupTev (HSD_MObj *mobj, HSD_TObj *tobj, u32 arg2)
 
void HSD_MObjSetup (HSD_MObj *mobj, u32 rendermode)
 
void HSD_MObjUnset (HSD_MObj *mobj, u32 rendermode)
 
void HSD_MObjSetToonTextureImage (HSD_ImageDesc *imagedesc)
 
void HSD_MObjSetDiffuseColor (HSD_MObj *mobj, u8 r, u8 g, u8 b)
 
void HSD_MObjSetAlpha (HSD_MObj *mobj, f32 alpha)
 
void HSD_MObjAddShadowTexture (HSD_TObj *tobj)
 

Variables

HSD_MObjInfo hsdMObj
 
HSD_TObjtobj_shadows
 
HSD_TObjtobj_toon
 

Macro Definition Documentation

◆ MOBJ_ANIM

#define MOBJ_ANIM   0x4

◆ TOBJ_ANIM

#define TOBJ_ANIM   0x10

◆ ALL_ANIM

#define ALL_ANIM   0x7FF

◆ HSD_A_M_AMBIENT_R

#define HSD_A_M_AMBIENT_R   1

◆ HSD_A_M_AMBIENT_G

#define HSD_A_M_AMBIENT_G   2

◆ HSD_A_M_AMBIENT_B

#define HSD_A_M_AMBIENT_B   3

◆ HSD_A_M_DIFFUSE_R

#define HSD_A_M_DIFFUSE_R   4

◆ HSD_A_M_DIFFUSE_G

#define HSD_A_M_DIFFUSE_G   5

◆ HSD_A_M_DIFFUSE_B

#define HSD_A_M_DIFFUSE_B   6

◆ HSD_A_M_SPECULAR_R

#define HSD_A_M_SPECULAR_R   7

◆ HSD_A_M_SPECULAR_G

#define HSD_A_M_SPECULAR_G   8

◆ HSD_A_M_SPECULAR_B

#define HSD_A_M_SPECULAR_B   9

◆ HSD_A_M_ALPHA

#define HSD_A_M_ALPHA   10

◆ HSD_A_M_PE_REF0

#define HSD_A_M_PE_REF0   11

◆ HSD_A_M_PE_REF1

#define HSD_A_M_PE_REF1   12

◆ HSD_A_M_PE_DSTALPHA

#define HSD_A_M_PE_DSTALPHA   13

◆ RENDER_DIFFUSE_SHIFT

#define RENDER_DIFFUSE_SHIFT   0

◆ RENDER_DIFFUSE_BITS

#define RENDER_DIFFUSE_BITS   (3 << RENDER_DIFFUSE_SHIFT)

◆ RENDER_DIFFUSE_MAT0

#define RENDER_DIFFUSE_MAT0   (0 << RENDER_DIFFUSE_SHIFT)

◆ RENDER_DIFFUSE_MAT

#define RENDER_DIFFUSE_MAT   (1 << RENDER_DIFFUSE_SHIFT)

◆ RENDER_DIFFUSE_VTX

#define RENDER_DIFFUSE_VTX   (2 << RENDER_DIFFUSE_SHIFT)

◆ RENDER_DIFFUSE_BOTH

#define RENDER_DIFFUSE_BOTH   (3 << RENDER_DIFFUSE_SHIFT)

◆ RENDER_CONSTANT

#define RENDER_CONSTANT   (1 << 0)

◆ RENDER_VERTEX

#define RENDER_VERTEX   (1 << 1)

◆ RENDER_DIFFUSE

#define RENDER_DIFFUSE   (1 << 2)

◆ RENDER_SPECULAR

#define RENDER_SPECULAR   (1 << 3)

◆ CHANNEL_FIELD

#define CHANNEL_FIELD    (RENDER_CONSTANT | RENDER_VERTEX | RENDER_DIFFUSE | RENDER_SPECULAR)

◆ RENDER_TEX0

#define RENDER_TEX0   (1 << 4)

◆ RENDER_TEX1

#define RENDER_TEX1   (1 << 5)

◆ RENDER_TEX2

#define RENDER_TEX2   (1 << 6)

◆ RENDER_TEX3

#define RENDER_TEX3   (1 << 7)

◆ RENDER_TEX4

#define RENDER_TEX4   (1 << 8)

◆ RENDER_TEX5

#define RENDER_TEX5   (1 << 9)

◆ RENDER_TEX6

#define RENDER_TEX6   (1 << 10)

◆ RENDER_TEX7

#define RENDER_TEX7   (1 << 11)

◆ RENDER_TEXTURES

#define RENDER_TEXTURES
Value:
#define RENDER_TEX5
Definition mobj.h:50
#define RENDER_TEX2
Definition mobj.h:47
#define RENDER_TEX1
Definition mobj.h:46
#define RENDER_TEX3
Definition mobj.h:48
#define RENDER_TEX0
Definition mobj.h:45
#define RENDER_TEX4
Definition mobj.h:49
#define RENDER_TEX6
Definition mobj.h:51
#define RENDER_TEX7
Definition mobj.h:52

◆ RENDER_TOON

#define RENDER_TOON   (1 << 12)

◆ RENDER_ALPHA_SHIFT

#define RENDER_ALPHA_SHIFT   13

◆ RENDER_ALPHA_BITS

#define RENDER_ALPHA_BITS   (3 << RENDER_ALPHA_SHIFT)

◆ RENDER_ALPHA_COMPAT

#define RENDER_ALPHA_COMPAT   (0 << RENDER_ALPHA_SHIFT)

◆ RENDER_ALPHA_MAT

#define RENDER_ALPHA_MAT   (1 << RENDER_ALPHA_SHIFT)

◆ RENDER_ALPHA_VTX

#define RENDER_ALPHA_VTX   (2 << RENDER_ALPHA_SHIFT)

◆ RENDER_ALPHA_BOTH

#define RENDER_ALPHA_BOTH   (3 << RENDER_ALPHA_SHIFT)

◆ RENDER_SHADOW

#define RENDER_SHADOW   (1 << 26)

◆ RENDER_ZMODE_ALWAYS

#define RENDER_ZMODE_ALWAYS   (1 << 27)

◆ RENDER_NO_ZUPDATE

#define RENDER_NO_ZUPDATE   (1 << 29)

◆ RENDER_XLU

#define RENDER_XLU   (1 << 30)

◆ HSD_MOBJ

#define HSD_MOBJ (   o)    ((HSD_MObj*) (o))

◆ HSD_MOBJ_INFO

#define HSD_MOBJ_INFO (   i)    ((HSD_MObjInfo*) (i))

◆ HSD_MOBJ_METHOD

#define HSD_MOBJ_METHOD (   o)    HSD_MOBJ_INFO(HSD_CLASS_METHOD(o))

Function Documentation

◆ HSD_MObjSetCurrent()

void HSD_MObjSetCurrent ( HSD_MObj mobj)

◆ HSD_MObjSetFlags()

void HSD_MObjSetFlags ( HSD_MObj mobj,
u32  flags 
)

◆ HSD_MObjClearFlags()

void HSD_MObjClearFlags ( HSD_MObj mobj,
u32  flags 
)

◆ HSD_MObjRemoveAnimByFlags()

void HSD_MObjRemoveAnimByFlags ( HSD_MObj mobj,
u32  flags 
)

◆ HSD_MObjAddAnim()

void HSD_MObjAddAnim ( HSD_MObj mobj,
HSD_MatAnim matanim 
)

◆ HSD_MObjReqAnimByFlags()

void HSD_MObjReqAnimByFlags ( HSD_MObj mobj,
f32  startframe,
u32  flags 
)

◆ HSD_MObjReqAnim()

void HSD_MObjReqAnim ( HSD_MObj mobj,
f32  startframe 
)

◆ HSD_MObjAnim()

void HSD_MObjAnim ( HSD_MObj mobj)

◆ HSD_MObjLoadDesc()

HSD_MObj * HSD_MObjLoadDesc ( HSD_MObjDesc mobjdesc)

◆ HSD_MObjGetTObj()

HSD_TObj * HSD_MObjGetTObj ( HSD_MObj mobj)

◆ HSD_MObjRemove()

void HSD_MObjRemove ( HSD_MObj mobj)

◆ HSD_MObjAlloc()

HSD_MObj * HSD_MObjAlloc ( void  )

◆ HSD_MaterialAlloc()

HSD_Material * HSD_MaterialAlloc ( void  )

◆ HSD_MObjCompileTev()

void HSD_MObjCompileTev ( HSD_MObj mobj)

◆ HSD_MObjDeleteShadowTexture()

void HSD_MObjDeleteShadowTexture ( HSD_TObj tobj)

◆ MObjMakeTExp()

HSD_TExp * MObjMakeTExp ( HSD_MObj mobj,
HSD_TObj tobj_top,
HSD_TExp **  list 
)

◆ MObjSetupTev()

void MObjSetupTev ( HSD_MObj mobj,
HSD_TObj tobj,
u32  arg2 
)

◆ HSD_MObjSetup()

void HSD_MObjSetup ( HSD_MObj mobj,
u32  rendermode 
)

◆ HSD_MObjUnset()

void HSD_MObjUnset ( HSD_MObj mobj,
u32  rendermode 
)

◆ HSD_MObjSetToonTextureImage()

void HSD_MObjSetToonTextureImage ( HSD_ImageDesc imagedesc)

◆ HSD_MObjSetDiffuseColor()

void HSD_MObjSetDiffuseColor ( HSD_MObj mobj,
u8  r,
u8  g,
u8  b 
)

◆ HSD_MObjSetAlpha()

void HSD_MObjSetAlpha ( HSD_MObj mobj,
f32  alpha 
)

◆ HSD_MObjAddShadowTexture()

void HSD_MObjAddShadowTexture ( HSD_TObj tobj)

Variable Documentation

◆ hsdMObj

HSD_MObjInfo hsdMObj
extern

◆ tobj_shadows

HSD_TObj* tobj_shadows
extern

◆ tobj_toon

HSD_TObj* tobj_toon
extern