Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
GDTexture.h
Go to the documentation of this file.
1#ifndef _DOLPHIN_GD_TEXTURE_H
2#define _DOLPHIN_GD_TEXTURE_H
3
4#ifdef __REVOLUTION_SDK__
6#else
7#include <dolphin/types.h>
8#include <dolphin/gx/GXEnum.h>
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14#define BP_TEX_MODE0(wrap_s, wrap_t, mag_filt, min_filt, edge_lod, lod_bias, max_aniso, bias_clamp, id) \
15 ( \
16 (u32)(wrap_s) << 0 | \
17 (u32)(wrap_t) << 2 | \
18 (u32)(mag_filt) << 4 | \
19 (u32)(min_filt) << 5 | \
20 (u32)(edge_lod) << 8 | \
21 (u32)(lod_bias) << 9 | \
22 (u32)(max_aniso) << 19 | \
23 (u32)(bias_clamp) << 21 | \
24 (u32)(id) << 24 \
25 )
26
27#define BP_TEX_MODE1(min_lod, max_lod, id) \
28 ( \
29 (u32)(min_lod) << 0 | \
30 (u32)(max_lod) << 8 | \
31 (u32)(id) << 24 \
32 )
33
34#define BP_IMAGE_ATTR(width, height, format, id) \
35 ( \
36 (u32)(width) << 0 | \
37 (u32)(height) << 10 | \
38 (u32)(format) << 20 | \
39 (u32)(id) << 24 \
40 )
41
42#define BP_IMAGE_PTR(ptr, id) \
43 ( \
44 (u32)(ptr) << 0 | \
45 (u32)(id) << 24 \
46 )
47
48#define BP_TEX_CACHE_EVEN(tmem, size0, size1, type, id) \
49 ( \
50 (u32)(tmem) << 0 | \
51 (u32)(size0) << 15 | \
52 (u32)(size1) << 18 | \
53 (u32)(type) << 21 | \
54 (u32)(id) << 24 \
55 )
56
57#define BP_TEX_CACHE_ODD(tmem, size0, size1, id) \
58 ( \
59 (u32)(tmem) << 0 | \
60 (u32)(size0) << 15 | \
61 (u32)(size1) << 18 | \
62 (u32)(id) << 24 \
63 )
64
65#define BP_TEX_TLUT(tmem, format, id) \
66 ( \
67 (u32)(tmem) << 0 | \
68 (u32)(format) << 10 | \
69 (u32)(id) << 24 \
70 )
71
72#define BP_TEXCOORD_S_SCALE(s_scale, s_bias, s_wrap, line_offset, point_offset, id) \
73 ( \
74 (u32)(s_scale) << 0 | \
75 (u32)(s_bias) << 16 | \
76 (u32)(s_wrap) << 17 | \
77 (u32)(line_offset) << 18 | \
78 (u32)(point_offset) << 19 | \
79 (u32)(id) << 24 \
80 )
81
82#define BP_TEXCOORD_T_SCALE(t_scale, t_bias, t_wrap, id) \
83 ( \
84 (u32)(t_scale) << 0 | \
85 (u32)(t_bias) << 16 | \
86 (u32)(t_wrap) << 17 | \
87 (u32)(id) << 24 \
88 )
89
90#define BP_LOAD_TLUT0(ptr, id) \
91 ( \
92 (u32)(ptr) << 0 | \
93 (u32)(id) << 24 \
94 )
95
96#define BP_LOAD_TLUT1(ptr, size, id) \
97 ( \
98 (u32)(ptr) << 0 | \
99 (u32)(size) << 10 | \
100 (u32)(id) << 24 \
101 )
102
104 GXTexWrapMode wrap_t, GXTexFilter min_filt,
105 GXTexFilter mag_filt, f32 min_lod, f32 max_lod,
106 f32 lod_bias, u8 bias_clamp, u8 do_edge_lod,
107 GXAnisotropy max_aniso);
108
109void GDSetTexImgAttr(GXTexMapID id, u16 width, u16 height, GXTexFmt format);
110void GDSetTexImgPtr(GXTexMapID id, void* image_ptr);
111void GDSetTexImgPtrRaw(GXTexMapID id, u32 image_ptr_raw);
112void GDPatchTexImgPtr(void* image_ptr);
113void GDSetTexCached(GXTexMapID id, u32 tmem_even, GXTexCacheSize size_even,
114 u32 tmem_odd, GXTexCacheSize size_odd);
115void GDSetTexPreLoaded(GXTexMapID id, u32 tmem_even, u32 tmem_odd);
116void GDSetTexTlut(GXTexMapID id, u32 tmem_addr, GXTlutFmt format);
117void GDSetTexCoordScale(GXTexCoordID coord, u16 s_scale, u16 t_scale);
118void GDSetTexCoordScale2(GXTexCoordID coord, u16 s_scale, u8 s_bias,
119 u8 s_wrap, u16 t_scale, u8 t_bias, u8 t_wrap);
120void GDSetTexCoordScaleAndTOEs(GXTexCoordID coord, u16 s_scale, u8 s_bias,
121 u8 s_wrap, u16 t_scale, u8 t_bias, u8 t_wrap,
122 u8 line_offset, u8 point_offset);
123void GDLoadTlut(void* tlut_ptr, u32 tmem_addr, GXTlutSize size);
124void GDLoadTlutRaw(u32 tlut_ptr_raw, u32 tmem_addr, GXTlutSize size);
125
126#ifdef __cplusplus
127}
128#endif
129
130#endif
131#endif
void GDSetTexImgPtr(GXTexMapID id, void *image_ptr)
Definition GDTexture.c:27
void GDLoadTlut(void *tlut_ptr, u32 tmem_addr, GXTlutSize size)
Definition GDTexture.c:83
void GDSetTexImgPtrRaw(GXTexMapID id, u32 image_ptr_raw)
Definition GDTexture.c:31
void GDSetTexCoordScaleAndTOEs(GXTexCoordID coord, u16 s_scale, u8 s_bias, u8 s_wrap, u16 t_scale, u8 t_bias, u8 t_wrap, u8 line_offset, u8 point_offset)
Definition GDTexture.c:76
void GDLoadTlutRaw(u32 tlut_ptr_raw, u32 tmem_addr, GXTlutSize size)
Definition GDTexture.c:95
void GDSetTexCached(GXTexMapID id, u32 tmem_even, GXTexCacheSize size_even, u32 tmem_odd, GXTexCacheSize size_odd)
Definition GDTexture.c:39
void GDSetTexLookupMode(GXTexMapID id, GXTexWrapMode wrap_s, GXTexWrapMode wrap_t, GXTexFilter min_filt, GXTexFilter mag_filt, f32 min_lod, f32 max_lod, f32 lod_bias, u8 bias_clamp, u8 do_edge_lod, GXAnisotropy max_aniso)
Definition GDTexture.c:14
void GDSetTexImgAttr(GXTexMapID id, u16 width, u16 height, GXTexFmt format)
Definition GDTexture.c:23
void GDSetTexCoordScale(GXTexCoordID coord, u16 s_scale, u16 t_scale)
Definition GDTexture.c:61
void GDSetTexTlut(GXTexMapID id, u32 tmem_addr, GXTlutFmt format)
Definition GDTexture.c:57
void GDPatchTexImgPtr(void *image_ptr)
Definition GDTexture.c:35
void GDSetTexPreLoaded(GXTexMapID id, u32 tmem_even, u32 tmem_odd)
Definition GDTexture.c:49
void GDSetTexCoordScale2(GXTexCoordID coord, u16 s_scale, u8 s_bias, u8 s_wrap, u16 t_scale, u8 t_bias, u8 t_wrap)
Definition GDTexture.c:69
enum _GXTexCoordID GXTexCoordID
enum _GXTlutSize GXTlutSize
enum _GXTexFmt GXTexFmt
enum _GXTexMapID GXTexMapID
enum _GXTexCacheSize GXTexCacheSize
enum _GXTexWrapMode GXTexWrapMode
enum _GXTlutFmt GXTlutFmt
enum _GXTexFilter GXTexFilter
enum _GXAnisotropy GXAnisotropy
unsigned int size
Definition __os.h:106
unsigned long u32
Definition types.h:12
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8