3D:: dog stripes

This commit is contained in:
Zeno Rogue 2019-06-01 19:50:17 +02:00
parent 1077abf223
commit 5d7a01febe
2 changed files with 12 additions and 2 deletions

View File

@ -564,6 +564,16 @@ void geometry_information::make_revolution_cut(hpcshape &sh, int each, ld push,
last->flags |= POLY_TRIANGLES;
add_texture(sh);
shift_last(-push);
if(&sh == &shDogTorso) {
finishshape();
shDogStripes = shDogTorso;
auto& utt = models_texture;
int a = (6 * 360 / step);
for(int i=0; i<shDogStripes.e - shDogStripes.s; i++)
if(i % (2 * a) < a)
utt.tvertices[i + shDogStripes.texture_offset][1] /= 4;
}
}
void disable(hpcshape& sh) {

View File

@ -1545,11 +1545,11 @@ bool drawMonsterType(eMonster m, cell *where, const transmatrix& V1, color_t col
queuepoly(VABODY, cgi.shDogBody, darkena(0xFFFFFF, 0, 0xFF));
else {
ShadowV(V, cgi.shDogTorso);
queuepoly(VABODY, cgi.shDogTorso, darkena(0xFFFFFF, 0, 0xFF));
if(GDIM == 2) queuepoly(VABODY, cgi.shDogTorso, darkena(0xFFFFFF, 0, 0xFF));
animallegs(VALEGS, moRunDog, darkena(0xFFFFFF, 0, 0xFF), footphase);
}
queuepoly(VAHEAD, cgi.shDogHead, darkena(0xFFFFFF, 0, 0xFF));
queuepoly(VABODY, cgi.shDogStripes, darkena(0x303030, 0, 0xFF));
queuepoly(VABODY, cgi.shDogStripes, GDIM == 2 ? darkena(0x303030, 0, 0xFF) : 0xFFFFFFFF);
queuepoly(VAHEAD, cgi.shWolf1, darkena(0x202020, 0, 0xFF));
queuepoly(VAHEAD, cgi.shWolf2, darkena(0x202020, 0, 0xFF));
queuepoly(VAHEAD, cgi.shWolf3, darkena(0x202020, 0, 0xFF));