Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
GDTransform.h
Go to the documentation of this file.
1#ifndef _DOLPHIN_GD_TRANSFORM_H_
2#define _DOLPHIN_GD_TRANSFORM_H_
3
4#ifdef __REVOLUTION_SDK__
6#else
7#include <dolphin/types.h>
8#include <dolphin/gx/GXEnum.h>
9#include <dolphin/mtx.h>
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15#define CP_MTX_REG_A_ID 0x30
16#define CP_MTX_REG_B_ID 0x40
17
18#define XF_REG_MATRIXINDEX0_ID 0x1018
19#define XF_REG_MATRIXINDEX1_ID 0x1019
20#define XF_REG_PROJECTIONA_ID 0x1020
21#define XF_REG_PROJECTIONB_ID 0x1021
22#define XF_REG_PROJECTIONC_ID 0x1022
23#define XF_REG_PROJECTIOND_ID 0x1023
24#define XF_REG_PROJECTIONE_ID 0x1024
25#define XF_REG_PROJECTIONF_ID 0x1025
26#define XF_REG_PROJECTORTHO_ID 0x1026
27
28#define CP_MTX_REG_A(pn, t0, t1, t2, t3) \
29 ( \
30 (u32)(pn) << 0 | \
31 (u32)(t0) << 6 | \
32 (u32)(t1) << 12 | \
33 (u32)(t2) << 18 | \
34 (u32)(t3) << 24 \
35 )
36
37#define CP_MTX_REG_B(t4, t5, t6, t7) \
38 ( \
39 (u32)(t4) << 0 | \
40 (u32)(t5) << 6 | \
41 (u32)(t6) << 12 | \
42 (u32)(t7) << 18 \
43 )
44
45void GDLoadPosMtxImm(const Mtx mtx, u32 id);
46void GDLoadPosMtxIndx(u16 mtx_indx, u32 id);
47void GDLoadNrmMtxImm(const Mtx mtx, u32 id);
48void GDLoadNrmMtxImm3x3(const f32 mtx[3][3], u32 id);
49void GDLoadNrmMtxIndx3x3(u16 mtx_indx, u32 id);
50void GDLoadTexMtxImm(const Mtx mtx, u32 id, GXTexMtxType type);
51void GDLoadTexMtxIndx(u16 mtx_indx, u32 id, GXTexMtxType type);
52void GDSetCurrentMtx(u32 pn, u32 t0, u32 t1, u32 t2, u32 t3, u32 t4, u32 t5, u32 t6, u32 t7);
54
55#ifdef __cplusplus
56}
57#endif
58
59#endif
60#endif
static Mtx mtx[10]
Definition c_lib.cpp:486
static u32 t0
Definition dsp_task.c:8
static u32 t1
Definition dsp_task.c:8
static u32 t2
Definition dsp_task.c:8
void GDLoadPosMtxIndx(u16 mtx_indx, u32 id)
Definition GDTransform.c:20
void GDLoadPosMtxImm(const Mtx mtx, u32 id)
Definition GDTransform.c:4
void GDLoadTexMtxIndx(u16 mtx_indx, u32 id, GXTexMtxType type)
Definition GDTransform.c:85
void GDLoadNrmMtxIndx3x3(u16 mtx_indx, u32 id)
Definition GDTransform.c:50
void GDLoadNrmMtxImm(const Mtx mtx, u32 id)
Definition GDTransform.c:24
void GDSetProjection(const Mtx44 mtx, GXProjectionType type)
Definition GDTransform.c:115
void GDSetCurrentMtx(u32 pn, u32 t0, u32 t1, u32 t2, u32 t3, u32 t4, u32 t5, u32 t6, u32 t7)
Definition GDTransform.c:101
void GDLoadNrmMtxImm3x3(const f32 mtx[3][3], u32 id)
Definition GDTransform.c:37
enum _GXProjectionType GXProjectionType
enum _GXTexMtxType GXTexMtxType
f32 Mtx44[4][4]
Definition mtx.h:28
f32 Mtx[3][4]
Definition mtx.h:25
unsigned long u32
Definition types.h:12
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
void GDLoadTexMtxImm(const Mtx mtx, u32 id, GXTexMtxType type)
Definition GDTransform.c:54