예제 #1
0
char	alert_box(char *str, t_windows *windows, char type)
{
  t_tektext	_tektext;

  if (NULL == (windows->buffer[2] = bunny_start_style(600, 80,
				     TITLEBAR | CLOSE_BUTTON, "AlertBox")))
    return (0);
  if (NULL == (windows->buff_background[2] = bunny_new_pixelarray(600, 80)))
    return (0);
  fill_buffer(windows->buff_background[2], BLACK);
  _tektext.buff_background = windows->buff_background[2];
  if (type == SUCCESS_ALERT_TYPE)
    _tektext.color = GREEN;
  else if (type == ERROR_ALERT_TYPE)
    _tektext.color = RED;
  else if (type == SUCCESS_ALERT_TYPE)
    _tektext.color = WHITE;
  _tektext.pos.x = 10;
  _tektext.pos.y = 10;
  _tektext.margin[0] = 5;
  _tektext.margin[1] = 5;
  _tektext.text = str;
  _tektext.scale[0] = 2;
  _tektext.scale[1] = 2;
  _tektext.flags = TEKTEXT_X_CENTER | TEKTEXT_Y_CENTER;
  tektext(&_tektext);
}
void			disp_npc_name(t_prog *prog, t_npc *npc)
{
  t_font		font;
  t_bunny_position	pos;

  font.font_img = prog->font->font_img;
  font.font_size = 13;
  font.font_color.full = 0xFF040404;
  pos.x = WIN_WIDTH / 2 - prog->exchange_sprite->width / 2 + 25;
  pos.y = WIN_HEIGHT / 2 - prog->exchange_sprite->height / 2 + 25;
  tektext(npc->name, &pos, prog->pix, &font);
}
void			disp_npc_message(t_prog *prog, t_npc *npc)
{
  t_font		font;
  t_bunny_position	pos;
  int			i;

  font.font_img = prog->font->font_img;
  font.font_size = 11;
  font.font_color.full = 0xFF070707;
  pos.x = WIN_WIDTH / 2 - prog->exchange_sprite->width / 2 + 25;
  pos.y = WIN_HEIGHT / 2 - prog->exchange_sprite->height / 2 + 75;
  i = 0;
  while (npc->text[i])
    {
      if (npc->text[i] == ';')
	npc->text[i] = '\n';
      i++;
    }
  tektext(npc->text, &pos, prog->pix, &font);
}
예제 #4
0
t_bunny_response	mainloop(t_data *data)
{
  if (data->player->coef[0] == 0 && data->player->coef[1] == 0)
    if (to_next_node(data) == - 1)
      return (EXIT_ON_ERROR);
  if (data->player->coef[0] != 0 && data->player->coef[1] != 0)
    move_perso(data);
  if (data->id_plan == 0)
    {
      change_pos(data);
      change_pos_nuages(data);
      have_pos(data);
    }
  else if (data->id_plan == 1)
    move_poteau(data);
  envoi_to_copy(data);
  tektext(data->pix, data->text);
  change_pos_perso(data->player->mov[CUR]->calque[0]->pix, data->loop);
  bunny_blit(&data->win->buffer, &data->pix->clipable, data->pos);
  bunny_display(data->win);
  return (GO_ON);
}