@@ -15,6 +15,7 @@ void TRANS_RotTransPersVectorf(cdc::Vector3* srcvector, cdc::Vector3* dstvector)
15
15
Hooking::Call (addr, srcvector, dstvector);
16
16
}
17
17
18
+ #ifdef TR8
18
19
void TRANS_TransToDrawVertex (cdc::Vector3* vec, DRAWVERTEX* v)
19
20
{
20
21
auto addr = GET_ADDRESS (0x000000 , 0x000000 , 0x48A450 );
@@ -28,6 +29,7 @@ void TRANS_TransToLineVertex(cdc::Vector3* vec, LINEVERTEX* v)
28
29
29
30
Hooking::Call (addr, vec, v);
30
31
}
32
+ #endif
31
33
32
34
void DRAW_DrawQuads (int flags, int tpage, DRAWVERTEX* verts, int numquads)
33
35
{
@@ -38,7 +40,7 @@ void DRAW_DrawQuads(int flags, int tpage, DRAWVERTEX* verts, int numquads)
38
40
39
41
void DRAW_DrawLines (LINEVERTEX* verts, int numlines)
40
42
{
41
- auto addr = GET_ADDRESS (0x000000 , 0x000000 , 0x5BFCD0 );
43
+ auto addr = GET_ADDRESS (0x406120 , 0x000000 , 0x5BFCD0 );
42
44
43
45
Hooking::Call (addr, verts, numlines);
44
46
}
@@ -50,7 +52,7 @@ void DRAW_DrawTriangles(int flags, int tpage, DRAWVERTEX* verts, int numtris)
50
52
Hooking::Call (addr, flags, tpage, verts, numtris);
51
53
}
52
54
53
- inline void TransformToVertex (DRAWVERTEX* v, cdc::Vector3* vec)
55
+ inline void TransformToDrawVertex (DRAWVERTEX* v, cdc::Vector3* vec)
54
56
{
55
57
#ifndef TR8
56
58
TRANS_TransToDrawVertexV4f (v, vec);
@@ -59,13 +61,22 @@ inline void TransformToVertex(DRAWVERTEX* v, cdc::Vector3* vec)
59
61
#endif
60
62
}
61
63
64
+ inline void TransformToLineVertex (LINEVERTEX* v, cdc::Vector3* vec)
65
+ {
66
+ #ifndef TR8
67
+ TRANS_TransToDrawVertexV4f ((DRAWVERTEX*)v, vec);
68
+ #else
69
+ TRANS_TransToLineVertex (vec, v);
70
+ #endif
71
+ }
72
+
62
73
void DrawTriangle (cdc::Vector3* v0, cdc::Vector3* v1, cdc::Vector3* v2, int color)
63
74
{
64
75
DRAWVERTEX verts[3 ];
65
76
66
- TransformToVertex (verts, v0);
67
- TransformToVertex (&verts[1 ], v1);
68
- TransformToVertex (&verts[2 ], v2);
77
+ TransformToDrawVertex (verts, v0);
78
+ TransformToDrawVertex (&verts[1 ], v1);
79
+ TransformToDrawVertex (&verts[2 ], v2);
69
80
70
81
verts[0 ].color = color;
71
82
verts[1 ].color = color;
@@ -81,12 +92,12 @@ void DrawPlane(cdc::Vector3* v0, cdc::Vector3* v1, int color)
81
92
auto v2 = cdc::Vector3{ v0->x , v0->y , v1->z };
82
93
auto v3 = cdc::Vector3{ v1->x , v1->y , v0->z };
83
94
84
- TransformToVertex (verts, v0);
85
- TransformToVertex (&verts[1 ], &v2);
86
- TransformToVertex (&verts[2 ], v1);
87
- TransformToVertex (&verts[3 ], &v3);
88
- TransformToVertex (&verts[4 ], v1);
89
- TransformToVertex (&verts[5 ], v0);
95
+ TransformToDrawVertex (verts, v0);
96
+ TransformToDrawVertex (&verts[1 ], &v2);
97
+ TransformToDrawVertex (&verts[2 ], v1);
98
+ TransformToDrawVertex (&verts[3 ], &v3);
99
+ TransformToDrawVertex (&verts[4 ], v1);
100
+ TransformToDrawVertex (&verts[5 ], v0);
90
101
91
102
verts[0 ].color = color;
92
103
verts[1 ].color = color;
@@ -98,10 +109,9 @@ void DrawPlane(cdc::Vector3* v0, cdc::Vector3* v1, int color)
98
109
DRAW_DrawTriangles (2 , 0 , verts, 2 );
99
110
}
100
111
101
- // Scuffed ass line, TODO fix
102
112
void DrawLine (cdc::Vector3* v0, cdc::Vector3* v1, int color)
103
113
{
104
- #ifndef TR8
114
+ #ifdef TRAE
105
115
DRAWVERTEX verts[6 ];
106
116
107
117
auto v2 = *v1;
@@ -112,12 +122,12 @@ void DrawLine(cdc::Vector3* v0, cdc::Vector3* v1, int color)
112
122
v2.y += 20 .f ;
113
123
v3.y += 20 .f ;
114
124
115
- TransformToVertex (verts, v0);
116
- TransformToVertex (&verts[1 ], &v2);
117
- TransformToVertex (&verts[2 ], v1);
118
- TransformToVertex (&verts[3 ], &v3);
119
- TransformToVertex (&verts[4 ], v1);
120
- TransformToVertex (&verts[5 ], v0);
125
+ TransformToDrawVertex (verts, v0);
126
+ TransformToDrawVertex (&verts[1 ], &v2);
127
+ TransformToDrawVertex (&verts[2 ], v1);
128
+ TransformToDrawVertex (&verts[3 ], &v3);
129
+ TransformToDrawVertex (&verts[4 ], v1);
130
+ TransformToDrawVertex (&verts[5 ], v0);
121
131
122
132
verts[0 ].color = color;
123
133
verts[1 ].color = color;
@@ -130,8 +140,8 @@ void DrawLine(cdc::Vector3* v0, cdc::Vector3* v1, int color)
130
140
#else
131
141
LINEVERTEX lines[2 ];
132
142
133
- TRANS_TransToLineVertex (v0, lines );
134
- TRANS_TransToLineVertex (v1, &lines[1 ]);
143
+ TransformToLineVertex (lines, v0 );
144
+ TransformToLineVertex ( &lines[1 ], v1 );
135
145
136
146
lines[0 ].color = color;
137
147
lines[1 ].color = color;
0 commit comments