summaryrefslogtreecommitdiff
path: root/src/game.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game.cpp')
-rw-r--r--src/game.cpp123
1 files changed, 56 insertions, 67 deletions
diff --git a/src/game.cpp b/src/game.cpp
index aff40d47..1ca1b35f 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -53,7 +53,6 @@ extern unsigned char screen_mode;
Setup *setup = NULL;
StatsWindow *stats = NULL;
-bool show_stats;
#define MAX_TIME 10000
@@ -99,10 +98,9 @@ short get_elapsed_time(short start_time) {
void game() {
status("INIT");
do_init();
- //init_graphic();
GraphicEngine *graphicEngine = new GraphicEngine();
- while(state!=EXIT) {
+ while (state != EXIT) {
status("INPUT");
do_input();
status("GRAPHIC");
@@ -113,13 +111,13 @@ void game() {
flush();
}
+ delete graphicEngine;
close_session();
}
/** Initialize game engine */
void do_init() {
-
- if(!load_map(map_path)) {
+ if (!load_map(map_path)) {
error("Could not find map file");
}
@@ -150,7 +148,7 @@ void do_init() {
player_node->speed = 150;
player_node->hair_color = char_info->hair_color;
player_node->hair_style = char_info->hair_style;
- if(char_info->weapon==11) {
+ if (char_info->weapon == 11) {
char_info->weapon = 1;
}
player_node->weapon = char_info->weapon;
@@ -243,68 +241,59 @@ void do_input() {
//alert("","","","","",0,0);
}
- if(key[KEY_F10] && action_time==true) {
- //was 3 goes to 0
- //was 0 goes to 3
-
- screen_mode = 1-(screen_mode-1)+1;//Bug is here
- if( 0 != set_gfx_mode(screen_mode, 800, 600, 0, 0))//less than: to add support for other hardware platforms
- error(allegro_error);
- }
-
- if(key[KEY_F9] && action_time==true) {
- setup = Setup::create_setup();
- }
-
- // Emotions, Skill dialog
- if(key_shifts & KB_ALT_FLAG && action_time == true) {
- if(player_node->emotion==0) {
- unsigned char emotion = 0;
- if(key[KEY_1])
- emotion = 1;
- else if(key[KEY_2])
- emotion = 2;
- else if(key[KEY_3])
- emotion = 3;
- else if(key[KEY_4])
- emotion = 4;
- else if(key[KEY_5])
- emotion = 5;
- else if(key[KEY_6])
- emotion = 6;
- else if(key[KEY_7])
- emotion = 7;
- else if(key[KEY_8])
- emotion = 8;
- else if(key[KEY_9])
- emotion = 9;
- else if(key[KEY_0])
- emotion = 10;
- if(emotion!=0) {
- WFIFOW(0) = net_w_value(0x00bf);
- WFIFOB(2) = emotion;
- WFIFOSET(3);
- action_time = false;
- }
- }
+ if (key[KEY_F10] && action_time == true) {
+ // was 3 goes to 0
+ // was 0 goes to 3
+ screen_mode = 3 - screen_mode;
+ if (set_gfx_mode(screen_mode, 800, 600, 0, 0) != 0) {
+ // less than: to add support for other hardware platforms
+ error(allegro_error);
+ }
+ }
+
+ if (key[KEY_F9] && action_time == true) {
+ setup = Setup::create_setup();
+ }
+
+ // Emotions, Skill dialog
+ if (key_shifts & KB_ALT_FLAG && action_time == true) {
+ if (player_node->emotion == 0) {
+ unsigned char emotion = 0;
+ if (key[KEY_1]) emotion = 1;
+ else if (key[KEY_2]) emotion = 2;
+ else if (key[KEY_3]) emotion = 3;
+ else if (key[KEY_4]) emotion = 4;
+ else if (key[KEY_5]) emotion = 5;
+ else if (key[KEY_6]) emotion = 6;
+ else if (key[KEY_7]) emotion = 7;
+ else if (key[KEY_8]) emotion = 8;
+ else if (key[KEY_9]) emotion = 9;
+ else if (key[KEY_0]) emotion = 10;
+ if (emotion != 0) {
+ WFIFOW(0) = net_w_value(0x00bf);
+ WFIFOB(2) = emotion;
+ WFIFOSET(3);
+ action_time = false;
+ }
+ }
- if(key[KEY_S]) {
- show_stats = !show_stats;
- if(stats == NULL)
- stats = StatsWindow::create_statswindow();
- else if(show_stats) stats->setVisible(true);
- else if(!show_stats) stats->setVisible(false);
- action_time = false;
- } else if(key[KEY_I]) {
- inventoryWindow->setVisible(!inventoryWindow->isVisible());
- action_time = false;
- } else if(key[KEY_K]) {
- show_skill_list_dialog = !show_skill_dialog;
- action_time = false;
- }
- }
+ if (key[KEY_S]) {
+ if (stats == NULL)
+ stats = StatsWindow::create_statswindow();
+ else {
+ stats->setVisible(!stats->isVisible());
+ }
+ action_time = false;
+ } else if (key[KEY_I]) {
+ inventoryWindow->setVisible(!inventoryWindow->isVisible());
+ action_time = false;
+ } else if (key[KEY_K]) {
+ show_skill_list_dialog = !show_skill_dialog;
+ action_time = false;
+ }
+ }
- if(mouse_b&2) {
+ if (mouse_b & 2) {
//if(show_npc_dialog==0) {
int npc_x = mouse_x/32+camera_x;
int npc_y = mouse_y/32+camera_y;
@@ -318,7 +307,7 @@ void do_input() {
//}
}
- if(key[KEY_ESC]) {
+ if (key[KEY_ESC]) {
state = EXIT;
}
}