34cf4058 |
1 | #ifndef F3DEX_H |
2 | #define F3DEX_H |
3 | |
4 | #define F3DEX_MTX_STACKSIZE 18 |
5 | |
6 | #define F3DEX_MTX_MODELVIEW 0x00 |
7 | #define F3DEX_MTX_PROJECTION 0x01 |
8 | #define F3DEX_MTX_MUL 0x00 |
9 | #define F3DEX_MTX_LOAD 0x02 |
10 | #define F3DEX_MTX_NOPUSH 0x00 |
11 | #define F3DEX_MTX_PUSH 0x04 |
12 | |
13 | #define F3DEX_TEXTURE_ENABLE 0x00000002 |
14 | #define F3DEX_SHADING_SMOOTH 0x00000200 |
15 | #define F3DEX_CULL_FRONT 0x00001000 |
16 | #define F3DEX_CULL_BACK 0x00002000 |
17 | #define F3DEX_CULL_BOTH 0x00003000 |
18 | #define F3DEX_CLIPPING 0x00800000 |
19 | |
20 | #define F3DEX_MV_VIEWPORT 0x80 |
21 | |
22 | #define F3DEX_MWO_aLIGHT_1 0x00 |
23 | #define F3DEX_MWO_bLIGHT_1 0x04 |
24 | #define F3DEX_MWO_aLIGHT_2 0x20 |
25 | #define F3DEX_MWO_bLIGHT_2 0x24 |
26 | #define F3DEX_MWO_aLIGHT_3 0x40 |
27 | #define F3DEX_MWO_bLIGHT_3 0x44 |
28 | #define F3DEX_MWO_aLIGHT_4 0x60 |
29 | #define F3DEX_MWO_bLIGHT_4 0x64 |
30 | #define F3DEX_MWO_aLIGHT_5 0x80 |
31 | #define F3DEX_MWO_bLIGHT_5 0x84 |
32 | #define F3DEX_MWO_aLIGHT_6 0xa0 |
33 | #define F3DEX_MWO_bLIGHT_6 0xa4 |
34 | #define F3DEX_MWO_aLIGHT_7 0xc0 |
35 | #define F3DEX_MWO_bLIGHT_7 0xc4 |
36 | #define F3DEX_MWO_aLIGHT_8 0xe0 |
37 | #define F3DEX_MWO_bLIGHT_8 0xe4 |
38 | |
39 | // F3DEX commands |
40 | #define F3DEX_MODIFYVTX 0xB2 |
41 | #define F3DEX_TRI2 0xB1 |
42 | #define F3DEX_BRANCH_Z 0xB0 |
43 | #define F3DEX_LOAD_UCODE 0xAF // 0xCF |
44 | |
45 | void F3DEX_Vtx( u32 w0, u32 w1 ); |
46 | void F3DEX_Tri1( u32 w0, u32 w1 ); |
47 | void F3DEX_CullDL( u32 w0, u32 w1 ); |
48 | void F3DEX_ModifyVtx( u32 w0, u32 w1 ); |
49 | void F3DEX_Tri2( u32 w0, u32 w1 ); |
50 | void F3DEX_Branch_Z( u32 w0, u32 w1 ); |
51 | void F3DEX_Load_uCode( u32 w0, u32 w1 ); |
52 | void F3DEX_Init(); |
53 | #endif |
54 | |