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.h>
#include <dolphin/mtx.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, bool 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()

void MakeTextureMtx ( HSD_TObj * tobj)
static
Todo
Convert to HSD_ASSERT once a byte-matching form is found.

◆ TObjInfoInit()

void TObjInfoInit ( void )
static

◆ HSD_TObjRemoveAnim()

void HSD_TObjRemoveAnim ( HSD_TObj * tobj)

◆ HSD_TObjRemoveAnimAll()

void HSD_TObjRemoveAnimAll ( HSD_TObj * tobj)

◆ lookupTextureAnim()

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()

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()

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()

u32 HSD_TexMapID2PTTexMtx ( GXTexMapID id)
static

◆ TObjSetupMtx()

void TObjSetupMtx ( HSD_TObj * tobj)
static

◆ setupTextureCoordGen()

void setupTextureCoordGen ( HSD_TObj * tobj)
static

◆ setupTextureCoordGenBump()

void setupTextureCoordGenBump ( HSD_TObj * bump)
static

◆ setupTextureCoordGenToon()

void setupTextureCoordGenToon ( HSD_TObj * toon)
static

◆ HSD_TObjSetupTextureCoordGen()

void HSD_TObjSetupTextureCoordGen ( HSD_TObj * tobj)

◆ TObjSetupTevModulateShadow()

void TObjSetupTevModulateShadow ( HSD_TObj * shadow)
static

◆ SetupEmbossBumpTev()

void SetupEmbossBumpTev ( HSD_TObj * bump)
static

◆ HSD_TObjSetupVolatileTev()

void HSD_TObjSetupVolatileTev ( HSD_TObj * tobj,
u32 rendermode )

◆ MakeColorGenTExp()

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

◆ TObjMakeTExp()

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()

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,
bool sync )

◆ TObjRelease()

void TObjRelease ( HSD_Class * o)
static

◆ TObjAmnesia()

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