diff options
Diffstat (limited to '')
-rw-r--r-- | src/ft_warp_level.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/ft_warp_level.c b/src/ft_warp_level.c index 6962a1d..4618766 100644 --- a/src/ft_warp_level.c +++ b/src/ft_warp_level.c @@ -42,11 +42,32 @@ static void } static void + ft_player_keepings(t_cub *cl) +{ + int8_t tmp_life; + uint8_t tmp_has[2]; + int8_t tmp_handles; + + tmp_life = cl->plist.life; + tmp_has[0] = cl->plist.has_weapon[0]; + tmp_has[1] = cl->plist.has_weapon[1]; + tmp_handles = cl->plist.handles_weapon; + cl->plist = ft_init_player(); + if (!cl->isdead) + cl->plist.life = tmp_life; + else + cl->isdead = 0; + cl->plist.has_weapon[0] = tmp_has[0]; + cl->plist.has_weapon[1] = tmp_has[1]; + cl->plist.handles_weapon = tmp_handles; +} + +static void ft_del_some(t_cub *cl) { int8_t i; - cl->plist = ft_init_player(); + ft_player_keepings(cl); cl->f_rgb = ft_init_rgb(); cl->c_rgb = ft_init_rgb(); cl->rlist = ft_init_s_ray(); |