SSBM Decomp
Loading...
Searching...
No Matches
texp.c File Reference
#include "texp.h"
#include "debug.h"
#include <placeholder.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 int TExpAssignReg (HSD_TExp *texp, HSD_TExpRes *res)
static void TExp2TevDesc (HSD_TExp *texp, HSD_TExpTevDesc *desc, int *init_cprev, int *init_aprev)
static int clamp_color (int c)
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 GXTevKColorID id1 [4]
static GXTevRegID id2 [3] = { GX_TEVREG0, GX_TEVREG1, GX_TEVREG2 }

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

HSD_TExp * TevAlloc ( void )
static

◆ CnstAlloc()

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

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

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

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

◆ AssignAlphaReg()

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

◆ AssignColorKonst()

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

◆ AssignAlphaKonst()

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

◆ TExpAssignReg()

int TExpAssignReg ( HSD_TExp * texp,
HSD_TExpRes * res )
static

◆ TExp2TevDesc()

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

◆ clamp_color()

int clamp_color ( int c)
inlinestatic

◆ 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

◆ id1

GXTevKColorID id1[4]
static
Initial value:
= { GX_KCOLOR0, GX_KCOLOR1, GX_KCOLOR2,
GX_KCOLOR3 }

◆ id2

GXTevRegID id2[3] = { GX_TEVREG0, GX_TEVREG1, GX_TEVREG2 }
static