MCPcopy Create free account
hub / github.com/assaultcube/AC / render_flatdelta

Function render_flatdelta

source/src/rendercubes.cpp:254–300  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

252}
253
254void render_flatdelta(int wtex, int x, int y, int size, float h1, float h4, float h3, float h2, sqr *l1, sqr *l4, sqr *l3, sqr *l2, bool isceil) // floor/ceil quads on a slope
255{
256 if(showmipstats) { l3 = l1 = &sbright; l4 = l2 = &sdark; }
257
258 Texture *t = lookupworldtexture(wtex);
259 float xf = TEXTURESCALE/t->xs;
260 float yf = TEXTURESCALE/t->ys;
261 float xs = size*xf;
262 float ys = size*yf;
263 float xo = xf*x;
264 float yo = yf*y;
265
266 bool first = striptype!=STRIP_DELTA || x!=ox+size || striptex!=wtex || y!=oy;
267
268 if(first)
269 {
270 stripend(verts);
271 firstindex = verts.length();
272 striptex = wtex;
273 oy = y;
274 striptype = STRIP_DELTA;
275 if(isceil)
276 {
277 vert(x, y, h1, l1, xo, yo);
278 vert(x, y+size, h2, l2, xo, yo+ys);
279 }
280 else
281 {
282 vert(x, y+size, h2, l2, xo, yo+ys);
283 vert(x, y, h1, l1, xo, yo);
284 }
285 }
286
287 if(isceil)
288 {
289 vert(x+size, y, h4, l4, xo+xs, yo);
290 vert(x+size, y+size, h3, l3, xo+xs, yo+ys);
291 }
292 else
293 {
294 vert(x+size, y+size, h3, l3, xo+xs, yo+ys);
295 vert(x+size, y, h4, l4, xo+xs, yo);
296 }
297
298 ox = x;
299 nquads++;
300}
301
302void render_2tris(sqr *h, sqr *s, int x1, int y1, int x2, int y2, int x3, int y3, sqr *l1, sqr *l2, sqr *l3) // floor/ceil tris on a corner cube
303{

Callers

nothing calls this directly

Calls 2

lookupworldtextureFunction · 0.85
lengthMethod · 0.45

Tested by

no test coverage detected