void d3d_draw_background(int back, gs_scalar x, gs_scalar y, gs_scalar z) { get_background(bck2d,back); const gs_scalar tbx=bck2d->texturex,tby=bck2d->texturey, tbw=bck2d->texturew,tbh=bck2d->textureh; draw_primitive_begin_texture(pr_trianglestrip, bck2d->texture); d3d_vertex_texture(x,y,z,tbx,tby); d3d_vertex_texture(x+bck2d->width,y,z,tbx+tbw,tby); d3d_vertex_texture(x,y+bck2d->height,z, tbx,tby+tbh); d3d_vertex_texture(x+bck2d->width,y+bck2d->height,z, tbx+tbw,tby+tbh); draw_primitive_end(); }
void d3d_draw_sprite(int spr,int subimg, gs_scalar x, gs_scalar y, gs_scalar z) { get_spritev(spr2d,spr); const int usi = subimg >= 0 ? (subimg % spr2d->subcount) : int(((enigma::object_graphics*)enigma::instance_event_iterator->inst)->image_index) % spr2d->subcount; const float tbx = spr2d->texbordxarray[usi], tby = spr2d->texbordyarray[usi], xvert1 = x-spr2d->xoffset, xvert2 = xvert1 + spr2d->width, yvert1 = y-spr2d->yoffset, yvert2 = yvert1 + spr2d->height; draw_primitive_begin_texture(pr_trianglestrip, spr2d->texturearray[usi]); d3d_vertex_texture(xvert1,yvert1,z,0,0); d3d_vertex_texture(xvert2,yvert1,z,tbx,0); d3d_vertex_texture(xvert1,yvert2,z,0,tby); d3d_vertex_texture(xvert2,yvert2,z,tbx,tby); draw_primitive_end(); }