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