reverted order of processing game modes for global animations clicks
authorHolger Schemel <info@artsoft.org>
Tue, 12 Dec 2023 11:03:28 +0000 (12:03 +0100)
committerHolger Schemel <info@artsoft.org>
Tue, 12 Dec 2023 11:15:20 +0000 (12:15 +0100)
The assumptions that led to the change that is reverted here were
simply wrong: When drawing global animations in a certain order,
checking for mouse clicks must be done in reverse order, to ensure
that the click is processed for the topmost global animation. This
includes processing game modes in reverse order (which are handled
in normal order when drawing global animations).

Processing clicks for a global animation based custom mouse pointer
should be handled separately anyway, to process it independently
from the game mode it was defined for.

This reverts commit e3411dc9.

src/anim.c

index 08abd6680cc7b2bc30b4e0ade4711ce7e3732667..dcd66e330f2862decf9856ccabd6c3ba97860a8b 100644 (file)
@@ -2120,7 +2120,8 @@ static boolean InitGlobalAnim_Clicked(int mx, int my, int clicked_event)
   int mode_nr;
   int i;
 
-  for (mode_nr = 0; mode_nr < NUM_GAME_MODES; mode_nr++)
+  // check game modes in reverse draw order (to stop when clicked)
+  for (mode_nr = NUM_GAME_MODES - 1; mode_nr >= 0; mode_nr--)
   {
     struct GlobalAnimControlInfo *ctrl = &global_anim_ctrl[mode_nr];
     int anim_nr;