projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added loading and saving visible playfield size from/to tape files
[rocksndiamonds.git]
/
src
/
events.c
diff --git
a/src/events.c
b/src/events.c
index a5bbf458ccc3f91381023161f01d945b75bd819a..2bc1aff077847a132313588f3c9959ea1fe5571f 100644
(file)
--- a/
src/events.c
+++ b/
src/events.c
@@
-214,6
+214,8
@@
static void HandleEvents(void)
while (NextValidEvent(&event))
{
while (NextValidEvent(&event))
{
+ int game_status_last = game_status;
+
switch (event.type)
{
case EVENT_BUTTONPRESS:
switch (event.type)
{
case EVENT_BUTTONPRESS:
@@
-264,6
+266,10
@@
static void HandleEvents(void)
break;
}
break;
}
+ // always handle events within delay period if game status has changed
+ if (game_status != game_status_last)
+ ResetDelayCounter(&event_frame_delay);
+
// do not handle events for longer than standard frame delay period
if (DelayReached(&event_frame_delay, event_frame_delay_value))
break;
// do not handle events for longer than standard frame delay period
if (DelayReached(&event_frame_delay, event_frame_delay_value))
break;
@@
-1749,6
+1755,7
@@
void HandleButton(int mx, int my, int button, int button_nr)
break;
case GAME_MODE_PSEUDO_TYPENAME:
break;
case GAME_MODE_PSEUDO_TYPENAME:
+ case GAME_MODE_PSEUDO_TYPENAMES:
HandleTypeName(KSYM_Return);
break;
HandleTypeName(KSYM_Return);
break;
@@
-2301,6
+2308,7
@@
void HandleKey(Key key, int key_status)
switch (game_status)
{
case GAME_MODE_PSEUDO_TYPENAME:
switch (game_status)
{
case GAME_MODE_PSEUDO_TYPENAME:
+ case GAME_MODE_PSEUDO_TYPENAMES:
HandleTypeName(key);
break;
HandleTypeName(key);
break;