NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
g3d_draw1mat1shp.h
1#ifndef NW4R_G3D_DRAW_1MAT_1SHP_H
2#define NW4R_G3D_DRAW_1MAT_1SHP_H
3#include <nw4r/types_nw4r.h>
4
5#include <nw4r/g3d/res/g3d_resmat.h>
6#include <nw4r/g3d/res/g3d_resshp.h>
7
8#include <nw4r/math.h>
9
10namespace nw4r {
11namespace g3d {
12
13// Forward declarations
14namespace G3DState {
15class IndMtxOp;
16} // namespace G3DState
17
18enum Draw1Mat1ShpCtrl {
19 DRAW1MAT1SHP_CTRL_NOPPCSYNC = (1 << 0),
20 DRAW1MAT1SHP_CTRL_NOSWAPSHP = (1 << 1),
21 DRAW1MAT1SHP_CTRL_CULL_FRONT = (1 << 2),
22 DRAW1MAT1SHP_CTRL_FORCE_LIGHTOFF = (1 << 3),
23};
24
25struct Draw1Mat1ShpSwap {
26 ResTexObj texObj; // at 0x0
27 ResTlutObj tlutObj; // at 0x4
28 ResGenMode genMode; // at 0x8
29 ResTev tev; // at 0xC
30 ResMatPix pix; // at 0x10
31 ResMatTevColor tevColor; // at 0x14
32 ResMatIndMtxAndScale indMtxAndScale; // at 0x18
33 ResMatChan chan; // at 0x1C
34 ResMatTexCoordGen texCoordGen; // at 0x20
35 ResMatMisc misc; // at 0x24
36 ResTexSrt texSrt; // at 0x28
37 ResVtxPosData** vtxPosTable; // at 0x2C
38 ResVtxNrmData** vtxNrmTable; // at 0x30
39 ResVtxClrData** vtxClrTable; // at 0x34
40
41 Draw1Mat1ShpSwap()
42 : vtxPosTable(NULL), vtxNrmTable(NULL), vtxClrTable(NULL) {}
43};
44
45void Draw1Mat1ShpDirectly(ResMat mat, ResShp shp, const math::MTX34* pViewPos,
46 const math::MTX34* pViewNrm, ulong ctrl,
47 Draw1Mat1ShpSwap* pSwap,
48 G3DState::IndMtxOp* pIndMtxOp);
49
50} // namespace g3d
51} // namespace nw4r
52
53#endif
3D graphics drawing library.
Definition g3d_3dsmax.h:10