rendered paste body#include <lua.h>#include <lualib.h>#include <lauxlib.h>#include <allegro.h>volatile long speed_counter = 0;volatile bool close_button_pressed = false;int playerx = 0;int playery = 0;int tilex = 32;int tiley = 32; void increment_speed_counter() { speed_counter++;}END_OF_FUNCTION(increment_speed_counter);void close_button_handler() { close_button_pressed = false;}END_OF_FUNCTION(close_button_handler);allegro_init();install_keyboard();install_timer();LOCK_VARIABLE(speed_counter);LOCK_FUNCTION(increment_speed_counter);LOCK_FUNCTION(close_button_handler); install_int_ex(increment_speed_counter, BPS_TO_TIMER(5));set_color_depth(16);set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640,480,0,0);set_window_title("MMORPG Client"); set_close_button_callback(close_button_handler);BITMAP *playerpic;playerpic = load_bitmap("data/images/players/player.bmp", NULL);BITMAP *buffer;buffer = create_bitmap(640,480); int main(int argc, char *argv[]) { while(!key[KEY_ESC] || !close_button_pressed) { while(speed_counter > 0) { if(key[KEY_RIGHT]) { playerx++; } if(key[KEY_LEFT]) { playerx--; } if(key[KEY_UP]) { playery--; } if(key[KEY_DOWN]) { playery++; } speed_counter --; } draw_sprite(buffer, playerpic, playerx*tilex, playery*tiley); blit(buffer, screen, 0,0,0,0,640,640); clear_bitmap(buffer); release_screen();// Release it } destroy_bitmap(playerpic); destroy_bitmap(buffer); return 0;}END_OF_MAIN()