Difference between revisions of "Modules/game/menu"

From MSX Game Library

< Modules‎ | game

(Settings)
(Replaced content with "{{MODULE |name=game_menu |category=Gameplay |dependency1=input |dependency2=print |dependency3= |sample1=s_menu |sample2= |sample3= }}")
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
The {{MOD|game_menu}} module automatically manages menus based on tables representing each page and its interactions.
+
{{MODULE
 
+
|name=game_menu
== Dependencies ==
+
|category=Gameplay
* {{MOD|input}}
+
|dependency1=input
* {{MOD|print}}
+
|dependency2=print
 
+
|dependency3=
== Settings ==
+
|sample1=s_menu
Modules can be customized into the project's <tt>msxgl_config.h</tt> file to fullfill your needs:
+
|sample2=
#define MENU_USE_DEFAULT_CALLBACK TRUE // Use default input/print callback
+
|sample3=
#define MENU_SCREEN_WIDTH MENU_VARIABLE // Screen width
+
}}
#define MENU_FRAME_X 0 // Frame position X
 
#define MENU_FRAME_Y 6 // Frame position Y
 
#define MENU_FRAME_WIDTH 32 // Frame width
 
#define MENU_FRAME_HEIGHT 8 // Frame height
 
#define MENU_CHAR_CLEAR '\0' // Clear character
 
#define MENU_CHAR_CURSOR '@' // Cursor character
 
#define MENU_CHAR_TRUE 'O' // True character
 
#define MENU_CHAR_FALSE 'X' // False character
 
#define MENU_CHAR_LEFT '<' // Left edit character
 
#define MENU_CHAR_RIGHT '>' // Right edit character
 
#define MENU_TITLE_X 4 // Title position X
 
#define MENU_TITLE_Y 6 // Title position Y
 
#define MENU_ITEM_X 6 // Item label X position
 
#define MENU_ITEM_Y 8 // Item label X position
 
#define MENU_ITEM_X_GOTO 6 // Goto type item label X position
 
#define MENU_ITEM_ALIGN MENU_ITEM_ALIGN_LEFT // Item label alignment
 
#define MENU_ITEM_ALIGN_GOTO ENU_ITEM_ALIGN_LEFT // Goto type item label alignment
 
#define MENU_VALUE_X 14 // Item value X position
 
// Type of cursor
 
// - MENU_CURSOR_MODE_NONE No cursor
 
// - MENU_CURSOR_MODE_CHAR Character cursor
 
// - MENU_CURSOR_MODE_SPRT Sprite cursor (WIP)
 
#define MENU_CURSOR_MODE MENU_CURSOR_MODE_CHAR
 
#define MENU_CURSOR_OFFSET (-2) // Cursor X position offset
 
 
 
== Usage ==
 
 
 
== Annexe ==
 
* See also: Sample program {{SAMPLE|s_menu}}
 
 
 
== Documentation ==
 
{{FRAME_DOC|game_menu}}
 
 
 
[[category:Module]][[category:Module/Gameplay]]
 

Revision as of 00:21, 5 January 2024

game_menu

Code: game_menu.h

Category: Gameplay

Dependencies:

Samples:

Modules/game menu/Desc

Usage

To use this module, include "game_menu.h" in your source code, and add "game_menu" to the modules list (LibModules) in your project's configuration file (project_config.js).


Samples

See module use cases in the sample programs:

Settings


Dependencies

Dependency on other modules:

Documentation