Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Rubberduckycooly
GitHub Repository: Rubberduckycooly/RSDKv5-Decompilation
Path: blob/master/RSDKv5/RSDK/Graphics/Legacy/Scene3DLegacy.hpp
1175 views
1
2
namespace Legacy
3
{
4
5
enum FaceFlags {
6
FACE_FLAG_TEXTURED_3D = 0,
7
FACE_FLAG_TEXTURED_2D = 1,
8
FACE_FLAG_COLORED_3D = 2,
9
FACE_FLAG_COLORED_2D = 3,
10
FACE_FLAG_FADED = 4,
11
FACE_FLAG_TEXTURED_C = 5,
12
FACE_FLAG_TEXTURED_C_BLEND = 6,
13
FACE_FLAG_3DSPRITE = 7
14
};
15
16
enum MatrixTypes {
17
MAT_WORLD = 0,
18
MAT_VIEW = 1,
19
MAT_TEMP = 2,
20
};
21
22
struct Matrix {
23
int32 values[4][4];
24
};
25
26
struct Vertex {
27
int32 x;
28
int32 y;
29
int32 z;
30
int32 u;
31
int32 v;
32
};
33
34
struct Face {
35
int32 a;
36
int32 b;
37
int32 c;
38
int32 d;
39
uint32 color;
40
int32 flag;
41
};
42
43
struct DrawListEntry3D {
44
int32 faceID;
45
int32 depth;
46
};
47
48
extern int32 vertexCount;
49
extern int32 faceCount;
50
51
extern Matrix matFinal;
52
extern Matrix matWorld;
53
extern Matrix matView;
54
extern Matrix matTemp;
55
56
extern int32 projectionX;
57
extern int32 projectionY;
58
59
extern int32 faceLineStart[SCREEN_YSIZE];
60
extern int32 faceLineEnd[SCREEN_YSIZE];
61
62
extern int32 faceLineStartU[SCREEN_YSIZE];
63
extern int32 faceLineEndU[SCREEN_YSIZE];
64
extern int32 faceLineStartV[SCREEN_YSIZE];
65
extern int32 faceLineEndV[SCREEN_YSIZE];
66
67
void ProcessScanEdge(Vertex *vertA, Vertex *vertB);
68
void ProcessScanEdgeUV(Vertex *vertA, Vertex *vertB);
69
70
} // namespace Legacy
71
72
#include "v3/Scene3DLegacyv3.hpp"
73
#include "v4/Scene3DLegacyv4.hpp"
74