78 lines
1.4 KiB
C
78 lines
1.4 KiB
C
#include "cube3d.h"
|
|
|
|
// temp, to map all the keys on linux and mac
|
|
static int print_keycode(int keycode)
|
|
{
|
|
ft_putnbrendl(keycode);
|
|
return(0);
|
|
}
|
|
// temp end
|
|
|
|
int keypress(int keycode, t_game *game)
|
|
{
|
|
unsigned i;
|
|
|
|
// temp
|
|
print_keycode(keycode);
|
|
|
|
i = 0;
|
|
while (i < MAX_NB_KEY && game->k_hook[i] != 0 && game->k_hook[i] != keycode)
|
|
i++;
|
|
if (game->k_hook[i] == keycode && i < MAX_NB_KEY)
|
|
game->k_hook[i] = 0;
|
|
else if (i < MAX_NB_KEY)
|
|
game->k_hook[i] = keycode;
|
|
|
|
keypress_do_action(game);
|
|
return (0);
|
|
}
|
|
|
|
int keyrelease(int keycode, t_game *game)
|
|
{
|
|
unsigned i;
|
|
|
|
i = 0;
|
|
while (i < MAX_NB_KEY && game->k_hook[i] != keycode)
|
|
i++;
|
|
if (i < MAX_NB_KEY)
|
|
game->k_hook[i] = 0;
|
|
|
|
return (0);
|
|
}
|
|
|
|
/*
|
|
* first version, cannot combine key hook
|
|
*/
|
|
|
|
/*
|
|
* static void keypress_action(int keycode, t_game *game)
|
|
* {
|
|
* // escape
|
|
* if (keycode == 65307)
|
|
* shut_down(game);
|
|
* // left
|
|
* if (keycode == 65361)
|
|
* (game->plr_x) -= 5;
|
|
* // right
|
|
* if (keycode == 65363)
|
|
* (game->plr_x) += 5;
|
|
* // up
|
|
* if (keycode == 65362)
|
|
* (game->plr_y) -= 5;
|
|
* // down
|
|
* if (keycode == 65364)
|
|
* (game->plr_y) += 5;
|
|
* mlx_pixel_put(game->mlx_ptr, game->win_ptr, game->plr_x, game->plr_y, 0x74db74);
|
|
* }
|
|
*
|
|
* int keypress(int keycode, t_game *game)
|
|
* {
|
|
* // temp
|
|
* print_keycode(keycode);
|
|
*
|
|
* keypress_action(keycode, game);
|
|
* return (0);
|
|
* }
|
|
*
|
|
*/
|