aboutsummaryrefslogtreecommitdiffstats
path: root/src/ft_draw_sprite.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/ft_draw_sprite.c50
1 files changed, 25 insertions, 25 deletions
diff --git a/src/ft_draw_sprite.c b/src/ft_draw_sprite.c
index ffc2d50..1393d38 100644
--- a/src/ft_draw_sprite.c
+++ b/src/ft_draw_sprite.c
@@ -25,26 +25,26 @@ void
int32_t it;
it = 0;
- while (it < cl->mlist->sprite_nbr)
+ while (it < cl->mlist.sprite_nbr)
{
- dist_tab[it] = ((cl->plist->pos_x - cl->sprites[it].s_pos_x) *
- (cl->plist->pos_x - cl->sprites[it].s_pos_x) +
- (cl->plist->pos_y - cl->sprites[it].s_pos_y) *
- (cl->plist->pos_y - cl->sprites[it].s_pos_y));
- cl->mlist->sprite_order[it] = it;
+ dist_tab[it] = ((cl->plist.pos_x - cl->sprites[it].s_pos_x) *
+ (cl->plist.pos_x - cl->sprites[it].s_pos_x) +
+ (cl->plist.pos_y - cl->sprites[it].s_pos_y) *
+ (cl->plist.pos_y - cl->sprites[it].s_pos_y));
+ cl->mlist.sprite_order[it] = it;
it++;
}
it = 0;
- while (it < cl->mlist->sprite_nbr)
+ while (it < cl->mlist.sprite_nbr)
{
if (dist_tab[it] > dist_tab[it + 1])
{
tmp = dist_tab[it];
dist_tab[it] = dist_tab[it + 1];
dist_tab[it + 1] = tmp;
- tmp = cl->mlist->sprite_order[it];
- cl->mlist->sprite_order[it] = cl->mlist->sprite_order[it + 1];
- cl->mlist->sprite_order[it + 1] = tmp;
+ tmp = cl->mlist.sprite_order[it];
+ cl->mlist.sprite_order[it] = cl->mlist.sprite_order[it + 1];
+ cl->mlist.sprite_order[it + 1] = tmp;
it = 0;
}
}
@@ -53,24 +53,24 @@ void
void
ft_sprite_height(t_cub *cl, t_sprite *sprite)
{
- sprite->spriteheight = abs((int)(cl->wlist->y_size / (sprite->transformy)));
- sprite->drawstarty = -sprite->spriteheight / 2 + cl->wlist->y_size / 2;
+ sprite->spriteheight = abs((int)(cl->wlist.y_size / (sprite->transformy)));
+ sprite->drawstarty = -sprite->spriteheight / 2 + cl->wlist.y_size / 2;
if(sprite->drawstarty < 0)
sprite->drawstarty = 0;
- sprite->drawendy = sprite->spriteheight / 2 + cl->wlist->y_size / 2;
- if(sprite->drawendy >= (int)cl->wlist->y_size)
- sprite->drawendy = cl->wlist->y_size - 1;
+ sprite->drawendy = sprite->spriteheight / 2 + cl->wlist.y_size / 2;
+ if(sprite->drawendy >= (int)cl->wlist.y_size)
+ sprite->drawendy = cl->wlist.y_size - 1;
}
void
ft_sprite_width(t_cub *cl, t_sprite *sprite)
{
- sprite->spritewidth = abs((int)(cl->wlist->x_size / (sprite->transformy)));
+ sprite->spritewidth = abs((int)(cl->wlist.x_size / (sprite->transformy)));
sprite->drawstartx = -sprite->spritewidth / 2 + sprite->spritescreenx;
if(sprite->drawstartx < 0)
sprite->drawstartx = 0;
sprite->drawendx = sprite->spritewidth / 2 + sprite->spritescreenx;
- if(sprite->drawendx >= (int)cl->wlist->x_size) sprite->drawendx = cl->wlist->x_size - 1;
+ if(sprite->drawendx >= (int)cl->wlist.x_size) sprite->drawendx = cl->wlist.x_size - 1;
}
void
@@ -79,15 +79,15 @@ void
t_sprite sprite;
int i = 0;
- while (i < cl->mlist->sprite_nbr)
+ while (i < cl->mlist.sprite_nbr)
{
sprite = cl->sprites[i];
- sprite.spritey = sprite.s_pos_x - (cl->plist->pos_x - 0.5);
- sprite.spritex = sprite.s_pos_y - (cl->plist->pos_y - 0.5);
- sprite.invdet = 1.0 / (cl->plist->plane_x * cl->plist->dir_y - cl->plist->dir_x * cl->plist->plane_y);
- sprite.transformx = sprite.invdet * (cl->plist->dir_y * sprite.spritex- cl->plist->dir_x* sprite.spritey);
- sprite.transformy = sprite.invdet * (-cl->plist->plane_y* sprite.spritex + cl->plist->plane_x * sprite.spritey);
- sprite.spritescreenx = (int)(cl->wlist->x_size / 2) * (1 + sprite.transformx / sprite.transformy);
+ sprite.spritey = sprite.s_pos_x - (cl->plist.pos_x - 0.5);
+ sprite.spritex = sprite.s_pos_y - (cl->plist.pos_y - 0.5);
+ sprite.invdet = 1.0 / (cl->plist.plane_x * cl->plist.dir_y - cl->plist.dir_x * cl->plist.plane_y);
+ sprite.transformx = sprite.invdet * (cl->plist.dir_y * sprite.spritex- cl->plist.dir_x* sprite.spritey);
+ sprite.transformy = sprite.invdet * (-cl->plist.plane_y* sprite.spritex + cl->plist.plane_x * sprite.spritey);
+ sprite.spritescreenx = (int)(cl->wlist.x_size / 2) * (1 + sprite.transformx / sprite.transformy);
ft_sprite_height(cl, &sprite);
ft_sprite_width(cl, &sprite);
ft_draw_sprite(cl, &sprite);
@@ -108,7 +108,7 @@ void
sprite->y = sprite->drawstarty;
while (sprite->y < sprite->drawendy)
{
- d = sprite->y * 256 - cl->wlist->y_size * 128 +
+ d = sprite->y * 256 - cl->wlist.y_size * 128 +
sprite->spriteheight * 128;
sprite->tex_y = ((d * cl->tlist[4].img_h / 2) /
sprite->spriteheight) / 128;