Difference between revisions of "Modules/game/pawn/Settings"
From MSX Game Library
(Created page with "Library configuration (<tt>msxgl_config.h</tt>): <syntaxhighlight lang="c">// Pawn setting #define PAWN_ID_PER_LAYER FALSE // Set sprite ID for each layer (otherwise set per...") |
|||
Line 1: | Line 1: | ||
Library configuration (<tt>msxgl_config.h</tt>): | Library configuration (<tt>msxgl_config.h</tt>): | ||
− | <syntaxhighlight lang="c">// Pawn setting | + | <syntaxhighlight lang="c"> |
+ | // Pawn setting | ||
#define PAWN_ID_PER_LAYER FALSE // Set sprite ID for each layer (otherwise set per pawn) | #define PAWN_ID_PER_LAYER FALSE // Set sprite ID for each layer (otherwise set per pawn) | ||
#define PAWN_USE_RT_LOAD TRUE // Load sprite pattern data on the fly (real-time) | #define PAWN_USE_RT_LOAD TRUE // Load sprite pattern data on the fly (real-time) | ||
Line 49: | Line 50: | ||
// - PAWN_SPT_MODE_V9_P1 .......... V9990 sprite in P1 mode | // - PAWN_SPT_MODE_V9_P1 .......... V9990 sprite in P1 mode | ||
// - PAWN_SPT_MODE_V9_P2 .......... V9990 sprite in P2 mode | // - PAWN_SPT_MODE_V9_P2 .......... V9990 sprite in P2 mode | ||
− | #define PAWN_SPT_MODE PAWN_SPT_MODE_MSX1</syntaxhighlight> | + | #define PAWN_SPT_MODE PAWN_SPT_MODE_MSX1 |
+ | </syntaxhighlight> | ||
<u>Note</u>: For now, <tt>PAWN_COL_UP</tt>, <tt>PAWN_COL_RIGHT</tt> and <tt>PAWN_COL_LEFT</tt> are fixed to <tt>PAWN_COL_50</tt>. | <u>Note</u>: For now, <tt>PAWN_COL_UP</tt>, <tt>PAWN_COL_RIGHT</tt> and <tt>PAWN_COL_LEFT</tt> are fixed to <tt>PAWN_COL_50</tt>. | ||
<html><img style="width:512px;" src="https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/pawn.jpg" /></html> | <html><img style="width:512px;" src="https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/pawn.jpg" /></html> |
Latest revision as of 00:10, 23 September 2025
Library configuration (msxgl_config.h):
// Pawn setting #define PAWN_ID_PER_LAYER FALSE // Set sprite ID for each layer (otherwise set per pawn) #define PAWN_USE_RT_LOAD TRUE // Load sprite pattern data on the fly (real-time) #define PAWN_USE_SPRT_FX TRUE // Allow sprite effects (crop, flip, mask, rotate) #define PAWN_SPRITE_SIZE 16 // Sprite size mode (8 for 8x8 pixel mode, or 16 for 16x16) #define PAWN_USE_PHYSICS TRUE // Add physics and collision features // Pawn coordinate unit // - PAWN_UNIT_SCREEN Default screen (pixel) unit (8-bit unsigned int) // - PAWN_UNIT_QMN(n) Fixed-point (Qm.n) unit (16-bit signed int) #define PAWN_UNIT PAWN_UNIT_SCREEN // Pawn's bound (can be fixed for all pawn, or setable for each one) #define PAWN_BOUND_X PAWN_BOUND_CUSTOM #define PAWN_BOUND_Y PAWN_BOUND_CUSTOM // Collision position options for each pawn's side // - PAWN_COL_0 // - PAWN_COL_25 // - PAWN_COL_50 // - PAWN_COL_75 // - PAWN_COL_100 #define PAWN_COL_DOWN (PAWN_COL_25|PAWN_COL_75) #define PAWN_COL_UP PAWN_COL_50 #define PAWN_COL_RIGHT PAWN_COL_50 #define PAWN_COL_LEFT PAWN_COL_50 // Options to determine which border collide or trigger events // - PAWN_BORDER_NONE // - PAWN_BORDER_DOWN // - PAWN_BORDER_UP // - PAWN_BORDER_RIGHT // - PAWN_BORDER_LEFT #define PAWN_BORDER_EVENT (PAWN_BORDER_DOWN|PAWN_BORDER_RIGHT) #define PAWN_BORDER_BLOCK (PAWN_BORDER_UP|PAWN_BORDER_LEFT) // Top/bottom border position (in pixel) #define PAWN_BORDER_MIN_Y 0 // High border Y coordinade #define PAWN_BORDER_MAX_Y 191 // Low border Y coordinate #define PAWN_TILEMAP_WIDTH 32 // Width of the tiles map #define PAWN_TILEMAP_HEIGHT 24 // Height of the tiles map // Collision tilemap source // - PAWN_TILEMAP_SRC_AUTO ........ Backward compatibility option // - PAWN_TILEMAP_SRC_RAM ......... Tilemap located in a buffer in RAM (best for performance) // - PAWN_TILEMAP_SRC_VRAM ........ Tilemap located in VRAM (slow but don't need additionnal data) // - PAWN_TILEMAP_SRC_V9 .......... Tilemap located in V9990's VRAM #define PAWN_TILEMAP_SRC PAWN_TILEMAP_SRC_VRAM // Pawn's sprite mode // - PAWN_SPT_MODE_AUTO ........... Backward compatibility option // - PAWN_SPT_MODE_MSX1 ........... Sprite Mode 1 (MSX1 screens) // - PAWN_SPT_MODE_MSX2 ........... Sprite Mode 2 (MSX2 screens) // - PAWN_SPT_MODE_MSX12 .......... Sprite Mode 1 & 2 (MSX1 & MSX2 screens) // - PAWN_SPT_MODE_V9_P1 .......... V9990 sprite in P1 mode // - PAWN_SPT_MODE_V9_P2 .......... V9990 sprite in P2 mode #define PAWN_SPT_MODE PAWN_SPT_MODE_MSX1
Note: For now, PAWN_COL_UP, PAWN_COL_RIGHT and PAWN_COL_LEFT are fixed to PAWN_COL_50.