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.h>
#include <dolphin/mtx.h>
#include <MSL/math_ppc.h>
#include <Runtime/__mem.h>

Data Structures

struct  HSD_ZList

Macros

#define FLT_EPSILON   1.00000001335e-10F
#define ZLIST_NEXT(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)
f32 HSD_MtxColMagFloat (MtxPtr mtx, int col)
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 )
Value:
(*(HSD_ZList**) (((u8*) (list)) + (offset)))
unsigned char u8
Definition hsd_3B2B.h:2
Definition displayfunc.c:21

Function Documentation

◆ HSD_ZListInitAllocData()

void HSD_ZListInitAllocData ( void )

◆ HSD_ZListAlloc()

HSD_ZList * HSD_ZListAlloc ( void )
static

◆ HSD_ZListFree()

void HSD_ZListFree ( HSD_ZList * ptr)
static

◆ HSD_StateInitDirect()

void HSD_StateInitDirect ( int vtxfmt,
u32 rendermode )

◆ HSD_MtxColMagFloat()

f32 HSD_MtxColMagFloat ( MtxPtr mtx,
int col )
inline

◆ mkVBillBoardMtx()

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

◆ mkHBillBoardMtx()

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

◆ mkBillBoardMtx()

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

◆ mkRBillBoardMtx()

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

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(* func )(s32, s32, s32, HSD_JObj *))

◆ 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 }