SSBM Decomp
Loading...
Searching...
No Matches
displayfunc.c File Reference
#include "displayfunc.h"
#include "baselib/cobj.h"
#include "baselib/dobj.h"
#include "baselib/lobj.h"
#include "baselib/mobj.h"
#include "baselib/mtx.h"
#include "baselib/objalloc.h"
#include "baselib/pobj.h"
#include "baselib/state.h"
#include "baselib/tev.h"
#include "baselib/util.h"
#include <dolphin/gx/GXAttr.h>
#include <dolphin/gx/GXGeometry.h>
#include <dolphin/gx/GXPixel.h>
#include <dolphin/gx/GXTev.h>
#include <dolphin/gx/GXTexture.h>
#include <dolphin/gx/GXTransform.h>
#include <dolphin/gx/GXVert.h>
#include <dolphin/mtx/vec.h>
#include <Runtime/__mem.h>

Data Structures

struct  HSD_ZList
 

Macros

#define FLT_EPSILON   1.00000001335e-10F
 
#define ZLIST_NEXT(list, offset)   (*(HSD_ZList**) (((u8*) (list)) + (offset)))
 

Functions

void HSD_ZListInitAllocData (void)
 
static HSD_ZListHSD_ZListAlloc (void)
 
static void HSD_ZListFree (HSD_ZList *ptr)
 
void HSD_StateInitDirect (int vtxfmt, u32 rendermode)
 
static void mkVBillBoardMtx (HSD_JObj *jobj, MtxPtr src, MtxPtr dst)
 
static void mkHBillBoardMtx (HSD_JObj *jobj, MtxPtr src, MtxPtr dst)
 
static void mkBillBoardMtx (HSD_JObj *jobj, MtxPtr src, MtxPtr dst)
 
static void mkRBillBoardMtx (HSD_JObj *jobj, MtxPtr src, MtxPtr dst)
 
void HSD_JObjMakePositionMtx (HSD_JObj *jobj, Mtx vmtx, Mtx pmtx)
 
HSD_JObjHSD_JObjFindSkeleton (HSD_JObj *jobj)
 
MtxPtr _HSD_mkEnvelopeModelNodeMtx (HSD_JObj *m, MtxPtr mtx)
 
void HSD_JObjDispSub (HSD_JObj *jobj, MtxPtr vmtx, MtxPtr pmtx, HSD_TrspMask trsp_mask, u32 rendermode)
 
void HSD_JObjDispDObj (HSD_JObj *jobj, MtxPtr vmtx, HSD_TrspMask trsp_mask, u32 rendermode)
 
static HSD_ZListzlist_sort (HSD_ZList *list, s32 nb, s32 offset)
 
void _HSD_ZListSort (void)
 
void _HSD_ZListDisp (void)
 
void _HSD_ZListClear (void)
 
void HSD_JObjDisp (HSD_JObj *jobj, MtxPtr vmtx, HSD_TrspMask trsp_mask, u32 rendermode)
 
void HSD_JObjSetSPtclCallback (void(*func)(s32, s32, s32, HSD_JObj *))
 
void HSD_SetEraseColor (u8 r, u8 g, u8 b, u8 a)
 
void HSD_EraseRect (f32 top, f32 bottom, f32 left, f32 right, f32 z, int enable_color, int enable_alpha, int enable_depth)
 
void _HSD_DispForgetMemory (void *lo, void *hi)
 

Variables

HSD_ObjAllocData zlist_alloc_data
 
static void(* sptcl_callback )(s32, s32, s32, HSD_JObj *) = NULL
 
static GXColor erase_color = { 0, 0, 0, 0 }
 
static int zsort_listing = 0
 
static int zsort_sorting = 0
 
static HSD_ZListzlist_top = NULL
 
static HSD_ZList ** zlist_bottom = &zlist_top
 
static HSD_ZListzlist_texedge_top = NULL
 
static HSD_ZList ** zlist_texedge_bottom = &zlist_texedge_top
 
static int zlist_texedge_nb = 0
 
static HSD_ZListzlist_xlu_top = NULL
 
static HSD_ZList ** zlist_xlu_bottom = &zlist_xlu_top
 
static int zlist_xlu_nb = 0
 
Vec3 zOne = { 0, 0, 1 }
 
Vec3 yOne = { 0, 1, 0 }
 
Vec3 zOne2 = { 0, 0, 1 }
 

Macro Definition Documentation

◆ FLT_EPSILON

#define FLT_EPSILON   1.00000001335e-10F

◆ ZLIST_NEXT

#define ZLIST_NEXT (   list,
  offset 
)    (*(HSD_ZList**) (((u8*) (list)) + (offset)))

Function Documentation

◆ HSD_ZListInitAllocData()

void HSD_ZListInitAllocData ( void  )

◆ HSD_ZListAlloc()

static HSD_ZList * HSD_ZListAlloc ( void  )
static

◆ HSD_ZListFree()

static void HSD_ZListFree ( HSD_ZList ptr)
static

◆ HSD_StateInitDirect()

void HSD_StateInitDirect ( int  vtxfmt,
u32  rendermode 
)

◆ mkVBillBoardMtx()

static void mkVBillBoardMtx ( HSD_JObj jobj,
MtxPtr  src,
MtxPtr  dst 
)
static

◆ mkHBillBoardMtx()

static void mkHBillBoardMtx ( HSD_JObj jobj,
MtxPtr  src,
MtxPtr  dst 
)
static

◆ mkBillBoardMtx()

static void mkBillBoardMtx ( HSD_JObj jobj,
MtxPtr  src,
MtxPtr  dst 
)
static

◆ mkRBillBoardMtx()

static void mkRBillBoardMtx ( HSD_JObj jobj,
MtxPtr  src,
MtxPtr  dst 
)
static

◆ HSD_JObjMakePositionMtx()

void HSD_JObjMakePositionMtx ( HSD_JObj jobj,
Mtx  vmtx,
Mtx  pmtx 
)

◆ HSD_JObjFindSkeleton()

HSD_JObj * HSD_JObjFindSkeleton ( HSD_JObj jobj)

◆ _HSD_mkEnvelopeModelNodeMtx()

MtxPtr _HSD_mkEnvelopeModelNodeMtx ( HSD_JObj m,
MtxPtr  mtx 
)

◆ HSD_JObjDispSub()

void HSD_JObjDispSub ( HSD_JObj jobj,
MtxPtr  vmtx,
MtxPtr  pmtx,
HSD_TrspMask  trsp_mask,
u32  rendermode 
)

◆ HSD_JObjDispDObj()

void HSD_JObjDispDObj ( HSD_JObj jobj,
MtxPtr  vmtx,
HSD_TrspMask  trsp_mask,
u32  rendermode 
)

◆ zlist_sort()

static HSD_ZList * zlist_sort ( HSD_ZList list,
s32  nb,
s32  offset 
)
static

◆ _HSD_ZListSort()

void _HSD_ZListSort ( void  )
Todo:
Create and use an offsetof macro to get ZList sort.texedge and sort.xlu

◆ _HSD_ZListDisp()

void _HSD_ZListDisp ( void  )

◆ _HSD_ZListClear()

void _HSD_ZListClear ( void  )

◆ HSD_JObjDisp()

void HSD_JObjDisp ( HSD_JObj jobj,
MtxPtr  vmtx,
HSD_TrspMask  trsp_mask,
u32  rendermode 
)

◆ HSD_JObjSetSPtclCallback()

void HSD_JObjSetSPtclCallback ( void(*)(s32, s32, s32, HSD_JObj *)  func)

◆ HSD_SetEraseColor()

void HSD_SetEraseColor ( u8  r,
u8  g,
u8  b,
u8  a 
)

◆ HSD_EraseRect()

void HSD_EraseRect ( f32  top,
f32  bottom,
f32  left,
f32  right,
f32  z,
int  enable_color,
int  enable_alpha,
int  enable_depth 
)

◆ _HSD_DispForgetMemory()

void _HSD_DispForgetMemory ( void *  lo,
void *  hi 
)

Variable Documentation

◆ zlist_alloc_data

HSD_ObjAllocData zlist_alloc_data

◆ sptcl_callback

void(* sptcl_callback) (s32, s32, s32, HSD_JObj *) ( s32  ,
s32  ,
s32  ,
HSD_JObj  
) = NULL
static

◆ erase_color

GXColor erase_color = { 0, 0, 0, 0 }
static

◆ zsort_listing

int zsort_listing = 0
static

◆ zsort_sorting

int zsort_sorting = 0
static

◆ zlist_top

HSD_ZList* zlist_top = NULL
static

◆ zlist_bottom

HSD_ZList** zlist_bottom = &zlist_top
static

◆ zlist_texedge_top

HSD_ZList* zlist_texedge_top = NULL
static

◆ zlist_texedge_bottom

HSD_ZList** zlist_texedge_bottom = &zlist_texedge_top
static

◆ zlist_texedge_nb

int zlist_texedge_nb = 0
static

◆ zlist_xlu_top

HSD_ZList* zlist_xlu_top = NULL
static

◆ zlist_xlu_bottom

HSD_ZList** zlist_xlu_bottom = &zlist_xlu_top
static

◆ zlist_xlu_nb

int zlist_xlu_nb = 0
static

◆ zOne

Vec3 zOne = { 0, 0, 1 }

◆ yOne

Vec3 yOne = { 0, 1, 0 }

◆ zOne2

Vec3 zOne2 = { 0, 0, 1 }