SSBM Decomp
Loading...
Searching...
No Matches
shadow.h
Go to the documentation of this file.
1#ifndef _shadow_h_
2#define _shadow_h_
3
4#include <platform.h>
5
6#include "baselib/forward.h"
7
8#include "baselib/cobj.h"
9#include "baselib/list.h"
10#include "baselib/objalloc.h"
11#include "baselib/tobj.h"
12
13#include <dolphin/mtx/types.h>
14
15struct HSD_Shadow {
19 f32 scaleS; // 0xC
20 f32 scaleT; // 0x10
21 f32 transS; // 0x14
22 f32 transT; // 0x18
23 bool active; // 0x1C
24 u8 intensity; // 0x20
25 void* user_data; // 0x24
26};
27
41
45void HSD_ShadowAddObject(HSD_Shadow* shadow, HSD_JObj* jobj);
46void HSD_ShadowDeleteObject(HSD_Shadow* shadow, HSD_JObj* jobj);
47
50void HSD_ShadowSetActive(HSD_Shadow* shadow, int active);
51
53void HSD_ShadowRemove(HSD_Shadow* shadow);
54void HSD_ShadowInit(HSD_Shadow* shadow);
55void HSD_ShadowSetSize(HSD_Shadow* shadow, u16 width, u16 height);
56
57void HSD_ShadowSetViewingRect(HSD_Shadow* shadow, float top, float bottom,
58 float left, float right);
59void HSD_ViewingRectInit(HSD_ViewingRect* rect, Vec3* position, Vec3* interest,
60 Vec3* upvector, int perspective);
62void HSD_ViewingRectAddRect(HSD_ViewingRect* rect, Vec3* position, float top,
63 float bottom, float left, float right);
64
65#endif
float f32
A 32-bit floating-point number.
Definition platform.h:62
unsigned short u16
An unsigned 16-bit integer.
Definition platform.h:23
unsigned char u8
An unsigned 8-bit integer.
Definition platform.h:20
void HSD_ShadowSetSize(HSD_Shadow *shadow, u16 width, u16 height)
Definition shadow.c:119
void HSD_ShadowSetActive(HSD_Shadow *shadow, int active)
Definition shadow.c:288
int HSD_ViewingRectCheck(HSD_ViewingRect *rect)
Definition shadow.c:461
HSD_Shadow * HSD_ShadowAlloc(void)
Definition shadow.c:58
void HSD_ShadowRemove(HSD_Shadow *shadow)
Definition shadow.c:83
void HSD_ViewingRectInit(HSD_ViewingRect *rect, Vec3 *position, Vec3 *interest, Vec3 *upvector, int perspective)
Definition shadow.c:442
void HSD_ShadowAddObject(HSD_Shadow *shadow, HSD_JObj *jobj)
Definition shadow.c:313
void HSD_ShadowInit(HSD_Shadow *shadow)
Definition shadow.c:109
void HSD_ShadowInitAllocData(void)
Definition shadow.c:41
HSD_ObjAllocData * HSD_ShadowGetAllocData(void)
Definition shadow.c:36
void HSD_ShadowDeleteObject(HSD_Shadow *shadow, HSD_JObj *jobj)
Definition shadow.c:330
void HSD_ShadowEndRender(HSD_Shadow *shadow)
Definition shadow.c:269
void HSD_ShadowSetViewingRect(HSD_Shadow *shadow, float top, float bottom, float left, float right)
Definition shadow.c:394
HSD_TObj * makeShadowTObj(void)
Definition shadow.c:46
void HSD_ShadowStartRender(HSD_Shadow *shadow)
Definition shadow.c:181
void HSD_ViewingRectAddRect(HSD_ViewingRect *rect, Vec3 *position, float top, float bottom, float left, float right)
Definition shadow.c:467
Definition cobj.h:39
Definition jobj.h:108
Definition objalloc.h:21
Definition list.h:6
Definition shadow.h:15
HSD_TObj * texture
Definition shadow.h:18
HSD_CObj * camera
Definition shadow.h:17
f32 scaleS
Definition shadow.h:19
f32 transT
Definition shadow.h:22
HSD_SList * objects
Definition shadow.h:16
bool active
Definition shadow.h:23
f32 scaleT
Definition shadow.h:20
void * user_data
Definition shadow.h:25
f32 transS
Definition shadow.h:21
u8 intensity
Definition shadow.h:24
Definition tobj.h:133
Definition shadow.h:28
f32 top
Definition shadow.h:35
f32 distance
Definition shadow.h:34
Vec3 origin
Definition shadow.h:29
Vec3 up_v
Definition shadow.h:30
int perspective
Definition shadow.h:39
Vec3 eye_vn
Definition shadow.h:33
Vec3 right_v
Definition shadow.h:31
Vec3 eye_v
Definition shadow.h:32
f32 left
Definition shadow.h:37
f32 right
Definition shadow.h:38
f32 bottom
Definition shadow.h:36
Definition types.h:13