SSBM Decomp
Loading...
Searching...
No Matches
GXLight.h
Go to the documentation of this file.
1#ifndef DOLPHIN_GX_GXLIGHT_H
2#define DOLPHIN_GX_GXLIGHT_H
3
4#include <platform.h>
5
7
9#include <dolphin/gx/GXEnum.h>
10#include <dolphin/gx/types.h>
11#include <dolphin/mtx/types.h>
12
13typedef struct _GXLightObj {
14 char x0[0xC]; // at 0x00
15 GXColor color; // at 0x0C
16 f32 aa; // at 0x10
17 f32 ab; // at 0x14
18 f32 ac; // at 0x18
19 f32 ka; // at 0x1C
20 f32 kb; // at 0x20
21 f32 kc; // at 0x24
22 Vec3 pos; // at 0x28
23 Vec3 dir; // at 0x34
25
26void GXInitLightAttn(GXLightObj* light, f32 aa, f32 ab, f32 ac, f32 ka, f32 kb,
27 f32 kc);
28void GXInitLightSpot(GXLightObj* light, f32 angle, GXSpotFn fn);
29void GXInitLightDistAttn(GXLightObj* light, f32 ref_distance,
30 f32 ref_brightness, GXDistAttnFn dist_fn);
31void GXInitLightPos(GXLightObj* light, f32 x, f32 y, f32 z);
32void GXInitLightDir(GXLightObj* light, f32 x, f32 y, f32 z);
33void GXInitLightColor(GXLightObj* light, GXColor color);
34void GXLoadLightObjImm(GXLightObj* light, GXLightID light_id);
35void GXSetChanAmbColor(GXChannelID chan, GXColor* color);
36void GXSetChanMatColor(GXChannelID chan, GXColor* color);
37void GXSetNumChans(u8 num_chans);
38void GXSetChanCtrl(GXChannelID chan, GXBool enable, GXColorSrc amb_src,
39 GXColorSrc mat_src, u32 light_mask, GXDiffuseFn diff_fn,
40 GXAttnFn attn_fn);
41
42#endif
GXLightID
Definition GXEnum.h:470
GXSpotFn
Definition GXEnum.h:494
GXDiffuseFn
Definition GXEnum.h:453
GXColorSrc
Definition GXEnum.h:459
GXChannelID
Definition GXEnum.h:318
GXDistAttnFn
Definition GXEnum.h:504
GXAttnFn
Definition GXEnum.h:464
u8 GXBool
Definition GXEnum.h:6
void GXSetChanMatColor(GXChannelID chan, GXColor *color)
Definition GXLight.c:260
void GXInitLightDir(GXLightObj *light, f32 x, f32 y, f32 z)
Definition GXLight.c:135
void GXInitLightAttn(GXLightObj *light, f32 aa, f32 ab, f32 ac, f32 ka, f32 kb, f32 kc)
Definition GXLight.c:6
void GXSetChanAmbColor(GXChannelID chan, GXColor *color)
Definition GXLight.c:204
void GXSetNumChans(u8 num_chans)
Definition GXLight.c:316
void GXInitLightSpot(GXLightObj *light, f32 angle, GXSpotFn fn)
Definition GXLight.c:17
void GXLoadLightObjImm(GXLightObj *light, GXLightID light_id)
Definition GXLight.c:148
void GXSetChanCtrl(GXChannelID chan, GXBool enable, GXColorSrc amb_src, GXColorSrc mat_src, u32 light_mask, GXDiffuseFn diff_fn, GXAttnFn attn_fn)
Definition GXLight.c:325
void GXInitLightPos(GXLightObj *light, f32 x, f32 y, f32 z)
Definition GXLight.c:128
void GXInitLightColor(GXLightObj *light, GXColor color)
Definition GXLight.c:142
void GXInitLightDistAttn(GXLightObj *light, f32 ref_distance, f32 ref_brightness, GXDistAttnFn dist_fn)
Definition GXLight.c:85
u32 x0
Definition OSInit.c:142
unsigned long u32
An unsigned 32-bit integer.
Definition platform.h:26
float f32
A 32-bit floating-point number.
Definition platform.h:62
unsigned char u8
An unsigned 8-bit integer.
Definition platform.h:20
Definition types.h:30
Definition GXLight.h:13
Vec3 dir
Definition GXLight.h:23
f32 ab
Definition GXLight.h:17
f32 ac
Definition GXLight.h:18
f32 aa
Definition GXLight.h:16
Vec3 pos
Definition GXLight.h:22
f32 kc
Definition GXLight.h:21
GXColor color
Definition GXLight.h:15
f32 kb
Definition GXLight.h:20
f32 ka
Definition GXLight.h:19
Definition types.h:13