button_status = MB_RELEASED;
- while(result<0)
+ while(result < 0)
{
- DoAnimation();
- Delay(10);
-
if (XPending(display))
{
XEvent event;
XNextEvent(display, &event);
+
switch(event.type)
{
- case Expose:
- HandleExposeEvent((XExposeEvent *) &event);
- break;
- case UnmapNotify:
- SleepWhileUnmapped();
- break;
case ButtonPress:
case ButtonRelease:
case MotionNotify:
case BUTTON_CONFIRM:
result = TRUE | FALSE;
break;
+
case BUTTON_PLAYER_1:
result = 1;
break;
case BUTTON_PLAYER_4:
result = 4;
break;
+
default:
break;
}
break;
}
+
case KeyPress:
switch(XLookupKeysym((XKeyEvent *)&event,
((XKeyEvent *)&event)->state))
case XK_Return:
result = 1;
break;
+
case XK_Escape:
result = 0;
break;
+
+ default:
+ break;
}
if (req_state & REQ_PLAYER)
result = 0;
break;
+
case KeyRelease:
key_joystick_mapping = 0;
break;
- case FocusIn:
- case FocusOut:
- HandleFocusEvent((XFocusChangeEvent *) &event);
- break;
- case ClientMessage:
- HandleClientMessageEvent((XClientMessageEvent *) &event);
- break;
+
default:
+ HandleOtherEvents(&event);
break;
}
}
else if (joy & JOY_BUTTON_2)
result = 0;
}
+
+ DoAnimation();
+
+ /* don't eat all CPU time */
+ Delay(10);
}
if (game_status != MAINMENU)
}
}
+ if (setup.quick_doors)
+ StopSound(SND_OEFFNEN);
+
if (door_state & DOOR_ACTION_1)
door1 = door_state & DOOR_ACTION_1;
if (door_state & DOOR_ACTION_2)