SSBM Decomp
Loading...
Searching...
No Matches
tobj.c File Reference
#include "tobj.h"
#include "aobj.h"
#include "cobj.h"
#include "debug.h"
#include "lobj.h"
#include "memory.h"
#include "mtx.h"
#include "tev.h"
#include <__mem.h>
#include <dolphin/gx/GXAttr.h>
#include <dolphin/gx/GXFrameBuf.h>
#include <dolphin/gx/GXMisc.h>
#include <dolphin/gx/GXTexture.h>
#include <dolphin/gx/GXTransform.h>
#include <dolphin/mtx.h>
#include <dolphin/mtx/mtxvec.h>
#include <dolphin/mtx/types.h>
#include <dolphin/mtx/vec.h>
#include <MetroTRK/intrinsics.h>

Macros

#define FLT_EPSILON   1.00000001335e-10F
 

Functions

static void MakeTextureMtx (HSD_TObj *tobj)
 
static void TObjInfoInit (void)
 
void HSD_TObjRemoveAnim (HSD_TObj *tobj)
 
void HSD_TObjRemoveAnimAll (HSD_TObj *tobj)
 
static HSD_TexAnimlookupTextureAnim (s32 id, HSD_TexAnim *texanim)
 
void HSD_TObjAddAnim (HSD_TObj *tobj, HSD_TexAnim *texanim)
 
void HSD_TObjAddAnimAll (HSD_TObj *tobj, HSD_TexAnim *texanim)
 
void HSD_TObjReqAnimByFlags (HSD_TObj *tobj, f32 startframe, u32 flags)
 
void HSD_TObjReqAnimAllByFlags (HSD_TObj *tobj, f32 startframe, u32 flags)
 
void HSD_TObjReqAnim (HSD_TObj *tobj, f32 startframe)
 
void HSD_TObjReqAnimAll (HSD_TObj *tobj, f32 startframe)
 
static void TObjUpdateFunc (void *obj, enum_t type, HSD_ObjData *val)
 
void HSD_TObjAnim (HSD_TObj *tobj)
 
void HSD_TObjAnimAll (HSD_TObj *tobj)
 
static int TObjLoad (HSD_TObj *tobj, HSD_TObjDesc *td)
 
HSD_TObjHSD_TObjLoadDesc (HSD_TObjDesc *td)
 
HSD_TlutHSD_TlutLoadDesc (HSD_TlutDesc *tlutdesc)
 
HSD_TObjTevHSD_TObjTevLoadDesc (HSD_TObjTevDesc *tevdesc)
 
HSD_TObj_HSD_TObjGetCurrentByType (HSD_TObj *from, u32 mapping)
 
static u32 HSD_TexMapID2PTTexMtx (GXTexMapID id)
 
static void TObjSetupMtx (HSD_TObj *tobj)
 
static void setupTextureCoordGen (HSD_TObj *tobj)
 
static void setupTextureCoordGenBump (HSD_TObj *bump)
 
static void setupTextureCoordGenToon (HSD_TObj *toon)
 
void HSD_TObjSetupTextureCoordGen (HSD_TObj *tobj)
 
static void TObjSetupTevModulateShadow (HSD_TObj *shadow)
 
static void SetupEmbossBumpTev (HSD_TObj *bump)
 
void HSD_TObjSetupVolatileTev (HSD_TObj *tobj, u32 rendermode)
 
static void MakeColorGenTExp (u32 lightmap, HSD_TObj *tobj, HSD_TExp **c, HSD_TExp **a, HSD_TExp **list, int repeat)
 
static void TObjMakeTExp (HSD_TObj *tobj, u32 lightmap, u32 lightmap_done, HSD_TExp **c, HSD_TExp **a, HSD_TExp **list)
 
s32 HSD_TObjAssignResources (HSD_TObj *tobj_top)
 
static int DifferentTluts (HSD_Tlut *t0, HSD_Tlut *t1)
 
void HSD_TObjSetup (HSD_TObj *tobj)
 
u32 HSD_TGTex2Index (GXTexGenSrc tgtex)
 
GXTexGenSrc HSD_TexCoordID2TexGenSrc (GXTexCoordID coord)
 
u32 HSD_TexCoord2Index (GXTexCoordID coord_id)
 
GXTexCoordID HSD_Index2TexCoord (u32 index)
 
u32 HSD_TexMtx2Index (GXTexMtx texmtx)
 
GXTexMtx HSD_Index2TexMtx (u32 index)
 
GXTexMapID HSD_Index2TexMap (u32 index)
 
u32 HSD_TexMap2Index (GXTexMapID mapid)
 
void HSD_TObjRemove (HSD_TObj *tobj)
 
void HSD_TObjRemoveAll (HSD_TObj *tobj)
 
HSD_TObjHSD_TObjGetNext (HSD_TObj *tobj)
 
void HSD_TObjSetDefaultClass (HSD_TObjInfo *info)
 
HSD_TObjInfoHSD_TObjGetDefaultClass (void)
 
HSD_TObjHSD_TObjAlloc (void)
 
void HSD_TObjFree (HSD_TObj *tobj)
 
HSD_TlutHSD_TlutAlloc (void)
 
void HSD_TlutFree (HSD_Tlut *tlut)
 
void HSD_TlutRemove (HSD_Tlut *tlut)
 
HSD_TObjTevHSD_TObjTevAlloc (void)
 
void HSD_TObjTevFree (HSD_TObjTev *tev)
 
void HSD_TObjTevRemove (HSD_TObjTev *tev)
 
HSD_ImageDescHSD_ImageDescAlloc (void)
 
void HSD_ImageDescFree (HSD_ImageDesc *idesc)
 
void HSD_ImageDescCopyFromEFB (HSD_ImageDesc *idesc, u16 origx, u16 origy, GXBool clear, int sync)
 
static void TObjRelease (HSD_Class *o)
 
static void TObjAmnesia (HSD_ClassInfo *info)
 

Variables

HSD_TObjInfo hsdTObj = { TObjInfoInit }
 
static HSD_TObjInfodefault_class = NULL
 
HSD_TObjtobj_head
 

Macro Definition Documentation

◆ FLT_EPSILON

#define FLT_EPSILON   1.00000001335e-10F

Function Documentation

◆ MakeTextureMtx()

static void MakeTextureMtx ( HSD_TObj tobj)
static

◆ TObjInfoInit()

static void TObjInfoInit ( void  )
static

◆ HSD_TObjRemoveAnim()

void HSD_TObjRemoveAnim ( HSD_TObj tobj)

◆ HSD_TObjRemoveAnimAll()

void HSD_TObjRemoveAnimAll ( HSD_TObj tobj)

◆ lookupTextureAnim()

static HSD_TexAnim * lookupTextureAnim ( s32  id,
HSD_TexAnim texanim 
)
static

◆ HSD_TObjAddAnim()

void HSD_TObjAddAnim ( HSD_TObj tobj,
HSD_TexAnim texanim 
)

◆ HSD_TObjAddAnimAll()

void HSD_TObjAddAnimAll ( HSD_TObj tobj,
HSD_TexAnim texanim 
)

◆ HSD_TObjReqAnimByFlags()

void HSD_TObjReqAnimByFlags ( HSD_TObj tobj,
f32  startframe,
u32  flags 
)

◆ HSD_TObjReqAnimAllByFlags()

void HSD_TObjReqAnimAllByFlags ( HSD_TObj tobj,
f32  startframe,
u32  flags 
)

◆ HSD_TObjReqAnim()

void HSD_TObjReqAnim ( HSD_TObj tobj,
f32  startframe 
)

◆ HSD_TObjReqAnimAll()

void HSD_TObjReqAnimAll ( HSD_TObj tobj,
f32  startframe 
)

◆ TObjUpdateFunc()

static void TObjUpdateFunc ( void *  obj,
enum_t  type,
HSD_ObjData val 
)
static

◆ HSD_TObjAnim()

void HSD_TObjAnim ( HSD_TObj tobj)

◆ HSD_TObjAnimAll()

void HSD_TObjAnimAll ( HSD_TObj tobj)

◆ TObjLoad()

static int TObjLoad ( HSD_TObj tobj,
HSD_TObjDesc td 
)
static

◆ HSD_TObjLoadDesc()

HSD_TObj * HSD_TObjLoadDesc ( HSD_TObjDesc td)

◆ HSD_TlutLoadDesc()

HSD_Tlut * HSD_TlutLoadDesc ( HSD_TlutDesc tlutdesc)

◆ HSD_TObjTevLoadDesc()

HSD_TObjTev * HSD_TObjTevLoadDesc ( HSD_TObjTevDesc tevdesc)

◆ _HSD_TObjGetCurrentByType()

HSD_TObj * _HSD_TObjGetCurrentByType ( HSD_TObj from,
u32  mapping 
)

◆ HSD_TexMapID2PTTexMtx()

static u32 HSD_TexMapID2PTTexMtx ( GXTexMapID  id)
static

◆ TObjSetupMtx()

static void TObjSetupMtx ( HSD_TObj tobj)
static

◆ setupTextureCoordGen()

static void setupTextureCoordGen ( HSD_TObj tobj)
static

◆ setupTextureCoordGenBump()

static void setupTextureCoordGenBump ( HSD_TObj bump)
static

◆ setupTextureCoordGenToon()

static void setupTextureCoordGenToon ( HSD_TObj toon)
static

◆ HSD_TObjSetupTextureCoordGen()

void HSD_TObjSetupTextureCoordGen ( HSD_TObj tobj)

◆ TObjSetupTevModulateShadow()

static void TObjSetupTevModulateShadow ( HSD_TObj shadow)
static

◆ SetupEmbossBumpTev()

static void SetupEmbossBumpTev ( HSD_TObj bump)
static

◆ HSD_TObjSetupVolatileTev()

void HSD_TObjSetupVolatileTev ( HSD_TObj tobj,
u32  rendermode 
)

◆ MakeColorGenTExp()

static void MakeColorGenTExp ( u32  lightmap,
HSD_TObj tobj,
HSD_TExp **  c,
HSD_TExp **  a,
HSD_TExp **  list,
int  repeat 
)
static

◆ TObjMakeTExp()

static void TObjMakeTExp ( HSD_TObj tobj,
u32  lightmap,
u32  lightmap_done,
HSD_TExp **  c,
HSD_TExp **  a,
HSD_TExp **  list 
)
static

◆ HSD_TObjAssignResources()

s32 HSD_TObjAssignResources ( HSD_TObj tobj_top)

◆ DifferentTluts()

static int DifferentTluts ( HSD_Tlut t0,
HSD_Tlut t1 
)
static

◆ HSD_TObjSetup()

void HSD_TObjSetup ( HSD_TObj tobj)

◆ HSD_TGTex2Index()

u32 HSD_TGTex2Index ( GXTexGenSrc  tgtex)

◆ HSD_TexCoordID2TexGenSrc()

GXTexGenSrc HSD_TexCoordID2TexGenSrc ( GXTexCoordID  coord)

◆ HSD_TexCoord2Index()

u32 HSD_TexCoord2Index ( GXTexCoordID  coord_id)

◆ HSD_Index2TexCoord()

GXTexCoordID HSD_Index2TexCoord ( u32  index)

◆ HSD_TexMtx2Index()

u32 HSD_TexMtx2Index ( GXTexMtx  texmtx)

◆ HSD_Index2TexMtx()

GXTexMtx HSD_Index2TexMtx ( u32  index)

◆ HSD_Index2TexMap()

GXTexMapID HSD_Index2TexMap ( u32  index)

◆ HSD_TexMap2Index()

u32 HSD_TexMap2Index ( GXTexMapID  mapid)

◆ HSD_TObjRemove()

void HSD_TObjRemove ( HSD_TObj tobj)

◆ HSD_TObjRemoveAll()

void HSD_TObjRemoveAll ( HSD_TObj tobj)

◆ HSD_TObjGetNext()

HSD_TObj * HSD_TObjGetNext ( HSD_TObj tobj)

◆ HSD_TObjSetDefaultClass()

void HSD_TObjSetDefaultClass ( HSD_TObjInfo info)

◆ HSD_TObjGetDefaultClass()

HSD_TObjInfo * HSD_TObjGetDefaultClass ( void  )

◆ HSD_TObjAlloc()

HSD_TObj * HSD_TObjAlloc ( void  )

◆ HSD_TObjFree()

void HSD_TObjFree ( HSD_TObj tobj)

◆ HSD_TlutAlloc()

HSD_Tlut * HSD_TlutAlloc ( void  )

◆ HSD_TlutFree()

void HSD_TlutFree ( HSD_Tlut tlut)

◆ HSD_TlutRemove()

void HSD_TlutRemove ( HSD_Tlut tlut)

◆ HSD_TObjTevAlloc()

HSD_TObjTev * HSD_TObjTevAlloc ( void  )

◆ HSD_TObjTevFree()

void HSD_TObjTevFree ( HSD_TObjTev tev)

◆ HSD_TObjTevRemove()

void HSD_TObjTevRemove ( HSD_TObjTev tev)

◆ HSD_ImageDescAlloc()

HSD_ImageDesc * HSD_ImageDescAlloc ( void  )

◆ HSD_ImageDescFree()

void HSD_ImageDescFree ( HSD_ImageDesc idesc)

◆ HSD_ImageDescCopyFromEFB()

void HSD_ImageDescCopyFromEFB ( HSD_ImageDesc idesc,
u16  origx,
u16  origy,
GXBool  clear,
int  sync 
)

◆ TObjRelease()

static void TObjRelease ( HSD_Class o)
static

◆ TObjAmnesia()

static void TObjAmnesia ( HSD_ClassInfo info)
static

Variable Documentation

◆ hsdTObj

HSD_TObjInfo hsdTObj = { TObjInfoInit }

◆ default_class

HSD_TObjInfo* default_class = NULL
static

◆ tobj_head

HSD_TObj* tobj_head