From f1fb7c4ac0743ece1c68b57c82547eb387d5d8a4 Mon Sep 17 00:00:00 2001 From: kreatordxx <> Date: Mon, 3 May 2010 10:47:10 +0000 Subject: [PATCH] Comment out redundant calls to event_poll, fixing rapid bomb dropping bug (and probably others) --- CHANGELOG.txt | 1 + arch/sdl/joy.c | 8 ++++---- arch/sdl/key.c | 14 +++++++------- arch/sdl/mouse.c | 10 +++++----- 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index a3af850ad..5920ae751 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -4,6 +4,7 @@ D2X-Rebirth Changelog -------- main/menu.c: Properly specify number of items for do_options_menu, so the options menu actually shows arch/include/event.h, main/newmenu.h: Merge d_event and newmenu_event enum's, hopefully fixing compiler warnings in GCC 4.5.0 +arch/sdl/joy.c, arch/sdl/key.c, arch/sdl/mouse.c: Comment out redundant calls to event_poll, fixing rapid bomb dropping bug (and probably others) 20100405 -------- diff --git a/arch/sdl/joy.c b/arch/sdl/joy.c index 971fcf648..c1b804ea4 100644 --- a/arch/sdl/joy.c +++ b/arch/sdl/joy.c @@ -230,7 +230,7 @@ int joy_get_button_down_cnt( int btn ) if (!num_joysticks) return 0; - event_poll(); +// event_poll(); num_downs = Joystick.buttons[btn].num_downs; Joystick.buttons[btn].num_downs = 0; @@ -245,7 +245,7 @@ fix joy_get_button_down_time(int btn) if (!num_joysticks) return 0; - event_poll(); +// event_poll(); switch (Joystick.buttons[btn].state) { case SDL_PRESSED: @@ -267,7 +267,7 @@ void joystick_read_raw_axis( int * axis ) if (!num_joysticks) return; - event_poll(); +// event_poll(); for (i = 0; i < Joystick.n_axes; i++) axis[i] = Joystick.axes[i].value; @@ -296,7 +296,7 @@ int joy_get_button_state( int btn ) if(btn >= Joystick.n_buttons) return 0; - event_poll(); +// event_poll(); return Joystick.buttons[btn].state; } diff --git a/arch/sdl/key.c b/arch/sdl/key.c index 8b62c5cce..f09345066 100644 --- a/arch/sdl/key.c +++ b/arch/sdl/key.c @@ -510,7 +510,7 @@ int add_one(int n) int key_checkch() { int is_one_waiting = 0; - event_poll(); +// event_poll(); if (key_data.keytail!=key_data.keyhead) is_one_waiting = 1; return is_one_waiting; @@ -521,7 +521,7 @@ int key_inkey() int key = 0; if (!Installed) key_init(); - event_poll(); +// event_poll(); if (key_data.keytail!=key_data.keyhead) { key = key_data.keybuffer[key_data.keyhead]; key_data.keyhead = add_one(key_data.keyhead); @@ -536,7 +536,7 @@ int key_inkey_time(fix * time) if (!Installed) key_init(); - event_poll(); +// event_poll(); if (key_data.keytail!=key_data.keyhead) { key = key_data.keybuffer[key_data.keyhead]; *time = key_data.time_pressed[key_data.keyhead]; @@ -548,7 +548,7 @@ int key_inkey_time(fix * time) int key_peekkey() { int key = 0; - event_poll(); +// event_poll(); if (key_data.keytail!=key_data.keyhead) key = key_data.keybuffer[key_data.keyhead]; @@ -594,7 +594,7 @@ fix key_down_time(int scancode) { fix time_down, time; - event_poll(); +// event_poll(); if ((scancode<0)|| (scancode>255)) return 0; if (!keyd_pressed[scancode]) { @@ -612,7 +612,7 @@ fix key_down_time(int scancode) unsigned int key_down_count(int scancode) { int n; - event_poll(); +// event_poll(); if ((scancode<0)|| (scancode>255)) return 0; n = key_data.keys[scancode].downcount; @@ -624,7 +624,7 @@ unsigned int key_down_count(int scancode) unsigned int key_up_count(int scancode) { int n; - event_poll(); +// event_poll(); if ((scancode<0)|| (scancode>255)) return 0; n = key_data.keys[scancode].upcount; diff --git a/arch/sdl/mouse.c b/arch/sdl/mouse.c index 567c861e0..5a80a593a 100644 --- a/arch/sdl/mouse.c +++ b/arch/sdl/mouse.c @@ -107,7 +107,7 @@ void mouse_flush() // clears all mice events... int i; fix current_time; - event_poll(); +// event_poll(); current_time = timer_get_fixed_seconds(); for (i=0; i