SSBM Decomp
Loading...
Searching...
No Matches
texp.c File Reference
#include <placeholder.h>
#include "texp.h"
#include "debug.h"
#include <__mem.h>
#include <sysdolphin/baselib/class.h>
#include <sysdolphin/baselib/tev.h>
#include <sysdolphin/baselib/texpdag.h>
#include <sysdolphin/baselib/tobj.h>

Functions

HSD_TExpType HSD_TExpGetType (HSD_TExp *texp)
 
void HSD_TExpRef (HSD_TExp *texp, u8 sel)
 
void HSD_TExpUnref (HSD_TExp *texp, u8 sel)
 
static HSD_TExpTevAlloc (void)
 
static HSD_TExpCnstAlloc (void)
 
void HSD_TExpFree (HSD_TExp *texp)
 
HSD_TExpHSD_TExpFreeList (HSD_TExp *texp_list, HSD_TExpType type, s32 all)
 
HSD_TExpHSD_TExpTev (HSD_TExp **texp_list)
 
HSD_TExpHSD_TExpCnst (void *val, HSD_TEInput comp, HSD_TEType type, HSD_TExp **texp_list)
 
void HSD_TExpColorOp (HSD_TExp *texp, GXTevOp op, GXTevBias bias, GXTevScale scale, u8 clamp)
 
void HSD_TExpAlphaOp (HSD_TExp *texp, GXTevOp op, GXTevBias bias, GXTevScale scale, u8 clamp)
 
static void HSD_TExpColorInSub (HSD_TETev *tev, HSD_TEInput sel, HSD_TExp *exp, s32 idx)
 
void HSD_TExpColorIn (HSD_TExp *texp, HSD_TEInput sel_a, HSD_TExp *exp_a, HSD_TEInput sel_b, HSD_TExp *exp_b, HSD_TEInput sel_c, HSD_TExp *exp_c, HSD_TEInput sel_d, HSD_TExp *exp_d)
 
static void HSD_TExpAlphaInSub (HSD_TETev *tev, HSD_TEInput sel, HSD_TExp *exp, s32 idx)
 
void HSD_TExpAlphaIn (HSD_TExp *texp, HSD_TEInput sel_a, HSD_TExp *exp_a, HSD_TEInput sel_b, HSD_TExp *exp_b, HSD_TEInput sel_c, HSD_TExp *exp_c, HSD_TEInput sel_d, HSD_TExp *exp_d)
 
void HSD_TExpOrder (HSD_TExp *texp, HSD_TObj *tex, GXChannelID chan)
 
static int AssignColorReg (HSD_TETev *tev, int idx, HSD_TExpRes *res)
 
static int AssignAlphaReg (HSD_TETev *tev, int idx, HSD_TExpRes *res)
 
static int AssignColorKonst (HSD_TETev *tev, int idx, HSD_TExpRes *res)
 
static int AssignAlphaKonst (HSD_TETev *tev, int idx, HSD_TExpRes *res)
 
static bool IsThroughColor (HSD_TExp *texp)
 
static bool IsThroughAlpha (HSD_TExp *texp)
 
static int TExpAssignReg (HSD_TExp *texp, HSD_TExpRes *res)
 
static void TExp2TevDesc (HSD_TExp *texp, HSD_TExpTevDesc *desc, int *init_cprev, int *init_aprev)
 
void HSD_TExpSetReg (HSD_TExp *texp)
 
void HSD_TExpSetupTev (HSD_TExpTevDesc *tevdesc, HSD_TExp *texp)
 
int HSD_TExpCompile (HSD_TExp *texp, HSD_TExpTevDesc **tevdesc, HSD_TExp **texp_list)
 
void HSD_TExpFreeTevDesc (HSD_TExpTevDesc *tdesc)
 

Variables

static GXTevRegID id [7]
 
static char list_type [27] = "clist->type == HSD_TE_CNST"
 
const float HSD_TExp_804DE7D8 = 255.0
 
const double HSD_TExp_804DE7E0 = 255.0
 

Function Documentation

◆ HSD_TExpGetType()

HSD_TExpType HSD_TExpGetType ( HSD_TExp texp)

◆ HSD_TExpRef()

void HSD_TExpRef ( HSD_TExp texp,
u8  sel 
)

◆ HSD_TExpUnref()

void HSD_TExpUnref ( HSD_TExp texp,
u8  sel 
)

◆ TevAlloc()

static HSD_TExp * TevAlloc ( void  )
static

◆ CnstAlloc()

static HSD_TExp * CnstAlloc ( void  )
static

◆ HSD_TExpFree()

void HSD_TExpFree ( HSD_TExp texp)

◆ HSD_TExpFreeList()

HSD_TExp * HSD_TExpFreeList ( HSD_TExp texp_list,
HSD_TExpType  type,
s32  all 
)

◆ HSD_TExpTev()

HSD_TExp * HSD_TExpTev ( HSD_TExp **  texp_list)

◆ HSD_TExpCnst()

HSD_TExp * HSD_TExpCnst ( void *  val,
HSD_TEInput  comp,
HSD_TEType  type,
HSD_TExp **  texp_list 
)

◆ HSD_TExpColorOp()

void HSD_TExpColorOp ( HSD_TExp texp,
GXTevOp  op,
GXTevBias  bias,
GXTevScale  scale,
u8  clamp 
)

◆ HSD_TExpAlphaOp()

void HSD_TExpAlphaOp ( HSD_TExp texp,
GXTevOp  op,
GXTevBias  bias,
GXTevScale  scale,
u8  clamp 
)

◆ HSD_TExpColorInSub()

static void HSD_TExpColorInSub ( HSD_TETev tev,
HSD_TEInput  sel,
HSD_TExp exp,
s32  idx 
)
static

◆ HSD_TExpColorIn()

void HSD_TExpColorIn ( HSD_TExp texp,
HSD_TEInput  sel_a,
HSD_TExp exp_a,
HSD_TEInput  sel_b,
HSD_TExp exp_b,
HSD_TEInput  sel_c,
HSD_TExp exp_c,
HSD_TEInput  sel_d,
HSD_TExp exp_d 
)

◆ HSD_TExpAlphaInSub()

static void HSD_TExpAlphaInSub ( HSD_TETev tev,
HSD_TEInput  sel,
HSD_TExp exp,
s32  idx 
)
static

◆ HSD_TExpAlphaIn()

void HSD_TExpAlphaIn ( HSD_TExp texp,
HSD_TEInput  sel_a,
HSD_TExp exp_a,
HSD_TEInput  sel_b,
HSD_TExp exp_b,
HSD_TEInput  sel_c,
HSD_TExp exp_c,
HSD_TEInput  sel_d,
HSD_TExp exp_d 
)

◆ HSD_TExpOrder()

void HSD_TExpOrder ( HSD_TExp texp,
HSD_TObj tex,
GXChannelID  chan 
)

◆ AssignColorReg()

static int AssignColorReg ( HSD_TETev tev,
int  idx,
HSD_TExpRes res 
)
static

◆ AssignAlphaReg()

static int AssignAlphaReg ( HSD_TETev tev,
int  idx,
HSD_TExpRes res 
)
static

◆ AssignColorKonst()

static int AssignColorKonst ( HSD_TETev tev,
int  idx,
HSD_TExpRes res 
)
static

◆ AssignAlphaKonst()

static int AssignAlphaKonst ( HSD_TETev tev,
int  idx,
HSD_TExpRes res 
)
static

◆ IsThroughColor()

static bool IsThroughColor ( HSD_TExp texp)
inlinestatic

◆ IsThroughAlpha()

static bool IsThroughAlpha ( HSD_TExp texp)
inlinestatic

◆ TExpAssignReg()

static int TExpAssignReg ( HSD_TExp texp,
HSD_TExpRes res 
)
static

◆ TExp2TevDesc()

static void TExp2TevDesc ( HSD_TExp texp,
HSD_TExpTevDesc desc,
int *  init_cprev,
int *  init_aprev 
)
static

◆ HSD_TExpSetReg()

void HSD_TExpSetReg ( HSD_TExp texp)

◆ HSD_TExpSetupTev()

void HSD_TExpSetupTev ( HSD_TExpTevDesc tevdesc,
HSD_TExp texp 
)

◆ HSD_TExpCompile()

int HSD_TExpCompile ( HSD_TExp texp,
HSD_TExpTevDesc **  tevdesc,
HSD_TExp **  texp_list 
)

◆ HSD_TExpFreeTevDesc()

void HSD_TExpFreeTevDesc ( HSD_TExpTevDesc tdesc)

Variable Documentation

◆ id

GXTevRegID id[7]
static
Initial value:
@ GX_TEVPREV
Definition GXEnum.h:446
@ GX_TEVREG0
Definition GXEnum.h:447
@ GX_TEVREG2
Definition GXEnum.h:449
@ GX_TEVREG1
Definition GXEnum.h:448

◆ list_type

char list_type[27] = "clist->type == HSD_TE_CNST"
static

◆ HSD_TExp_804DE7D8

const float HSD_TExp_804DE7D8 = 255.0

◆ HSD_TExp_804DE7E0

const double HSD_TExp_804DE7E0 = 255.0