added missing configurability of 'list_size' for info elements
[rocksndiamonds.git] / src / screens.c
index c9c2ba4a29799f65f8be8025408f260e9e4ee051..869daaeddf8129255edc5f76a43831a6a1549bdc 100644 (file)
                                         MENU_SCREEN_INFO_YSTART2 -     \
                                         TILEY / 2)
 #define MAX_INFO_ELEMENTS_ON_SCREEN    128
-#define NUM_INFO_ELEMENTS_ON_SCREEN    MIN(MENU_SCREEN_INFO_YSIZE /    \
-                                            MENU_SCREEN_INFO_YSTEP,    \
-                                            MAX_INFO_ELEMENTS_ON_SCREEN)
+#define STD_INFO_ELEMENTS_ON_SCREEN    (MENU_SCREEN_INFO_YSIZE /       \
+                                        MENU_SCREEN_INFO_YSTEP)
+#define NUM_INFO_ELEMENTS_FROM_CONF    \
+  (menu.list_size_info[GFX_SPECIAL_ARG_INFO_ELEMENTS] > 0 ?            \
+   menu.list_size_info[GFX_SPECIAL_ARG_INFO_ELEMENTS] :                        \
+   MAX_MENU_ENTRIES_ON_SCREEN)
+#define NUM_INFO_ELEMENTS_ON_SCREEN    MIN(MIN(STD_INFO_ELEMENTS_ON_SCREEN, \
+                                                MAX_INFO_ELEMENTS_ON_SCREEN), \
+                                           NUM_INFO_ELEMENTS_FROM_CONF)
 #define MAX_MENU_ENTRIES_ON_SCREEN     (SCR_FIELDY - MENU_SCREEN_START_YPOS)
 #define MAX_MENU_TEXT_LENGTH_BIG       13
 #define MAX_MENU_TEXT_LENGTH_MEDIUM    (MAX_MENU_TEXT_LENGTH_BIG * 2)