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/cobj.h"
7
8#include "baselib/forward.h"
9
10#include "baselib/list.h"
11#include "baselib/objalloc.h"
12#include "baselib/tobj.h"
13
14#include <dolphin/mtx.h>
15
16struct HSD_Shadow {
20 f32 scaleS; // 0xC
21 f32 scaleT; // 0x10
22 f32 transS; // 0x14
23 f32 transT; // 0x18
24 bool active; // 0x1C
25 u8 intensity; // 0x20
26 void* user_data; // 0x24
27};
28
30 Vec3 origin;
31 Vec3 up_v;
32 Vec3 right_v;
33 Vec3 eye_v;
34 Vec3 eye_vn;
36 f32 top;
37 f32 bottom;
38 f32 left;
39 f32 right;
41};
42
46void HSD_ShadowAddObject(HSD_Shadow* shadow, HSD_JObj* jobj);
47void HSD_ShadowDeleteObject(HSD_Shadow* shadow, HSD_JObj* jobj);
48
51void HSD_ShadowSetActive(HSD_Shadow* shadow, int active);
52
54void HSD_ShadowRemove(HSD_Shadow* shadow);
55void HSD_ShadowInit(HSD_Shadow* shadow);
56void HSD_ShadowSetSize(HSD_Shadow* shadow, u16 width, u16 height);
57
58void HSD_ShadowSetViewingRect(HSD_Shadow* shadow, float top, float bottom,
59 float left, float right);
60void HSD_ViewingRectInit(HSD_ViewingRect* rect, Vec3* position, Vec3* interest,
61 Vec3* upvector, int perspective);
63void HSD_ViewingRectAddRect(HSD_ViewingRect* rect, Vec3* position, float top,
64 float bottom, float left, float right);
65
66#endif
void HSD_ShadowSetSize(HSD_Shadow *shadow, u16 width, u16 height)
Definition shadow.c:112
void HSD_ShadowSetActive(HSD_Shadow *shadow, int active)
Definition shadow.c:281
int HSD_ViewingRectCheck(HSD_ViewingRect *rect)
Definition shadow.c:454
HSD_Shadow * HSD_ShadowAlloc(void)
Definition shadow.c:51
void HSD_ShadowRemove(HSD_Shadow *shadow)
Definition shadow.c:76
void HSD_ViewingRectInit(HSD_ViewingRect *rect, Vec3 *position, Vec3 *interest, Vec3 *upvector, int perspective)
Definition shadow.c:435
void HSD_ShadowAddObject(HSD_Shadow *shadow, HSD_JObj *jobj)
Definition shadow.c:306
void HSD_ShadowInit(HSD_Shadow *shadow)
Definition shadow.c:102
void HSD_ShadowInitAllocData(void)
Definition shadow.c:34
HSD_ObjAllocData * HSD_ShadowGetAllocData(void)
Definition shadow.c:29
void HSD_ShadowDeleteObject(HSD_Shadow *shadow, HSD_JObj *jobj)
Definition shadow.c:323
void HSD_ShadowEndRender(HSD_Shadow *shadow)
Definition shadow.c:262
void HSD_ShadowSetViewingRect(HSD_Shadow *shadow, float top, float bottom, float left, float right)
Definition shadow.c:387
HSD_TObj * makeShadowTObj(void)
Definition shadow.c:39
void HSD_ShadowStartRender(HSD_Shadow *shadow)
Definition shadow.c:174
void HSD_ViewingRectAddRect(HSD_ViewingRect *rect, Vec3 *position, float top, float bottom, float left, float right)
Definition shadow.c:460
Definition cobj.h:39
Definition jobj.h:107
Definition objalloc.h:21
Definition list.h:6
Definition shadow.h:16
HSD_TObj * texture
Definition shadow.h:19
HSD_CObj * camera
Definition shadow.h:18
f32 scaleS
Definition shadow.h:20
f32 transT
Definition shadow.h:23
HSD_SList * objects
Definition shadow.h:17
bool active
Definition shadow.h:24
f32 scaleT
Definition shadow.h:21
void * user_data
Definition shadow.h:26
f32 transS
Definition shadow.h:22
u8 intensity
Definition shadow.h:25
Definition tobj.h:134
Definition shadow.h:29
f32 top
Definition shadow.h:36
f32 distance
Definition shadow.h:35
Vec3 origin
Definition shadow.h:30
Vec3 up_v
Definition shadow.h:31
int perspective
Definition shadow.h:40
Vec3 eye_vn
Definition shadow.h:34
Vec3 right_v
Definition shadow.h:32
Vec3 eye_v
Definition shadow.h:33
f32 left
Definition shadow.h:38
f32 right
Definition shadow.h:39
f32 bottom
Definition shadow.h:37