Difference between revisions of "Modules/game pawn/Settings"

From MSX Game Library

< Modules‎ | game pawn

 
(One intermediate revision by the same user not shown)
Line 31: Line 31:
 
#define GAMEPAWN_TILEMAP_WIDTH 32 // Width of the tiles map
 
#define GAMEPAWN_TILEMAP_WIDTH 32 // Width of the tiles map
 
#define GAMEPAWN_TILEMAP_HEIGHT 24 // Height of the tiles map</syntaxhighlight>
 
#define GAMEPAWN_TILEMAP_HEIGHT 24 // Height of the tiles map</syntaxhighlight>
 +
 +
<u>Note</u>: For now, <tt>GAMEPAWN_COL_UP</tt>, <tt>GAMEPAWN_COL_RIGHT</tt> and <tt>GAMEPAWN_COL_LEFT</tt> are fixed to <tt>GAMEPAWN_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 18:03, 14 July 2025

Library configuration (msxgl_config.h):

// GamePawn setting
#define GAMEPAWN_ID_PER_LAYER		TRUE	// Set sprite ID for each layer (otherwise set per pawn)
#define GAMEPAWN_USE_PHYSICS		TRUE	// Add physics and collision features
// Pawn's bound (can be fixed for all pawn, or setable for each one)
#define GAMEPAWN_BOUND_X			16
#define GAMEPAWN_BOUND_Y			16
// Collision position options for each pawn's side
// - GAMEPAWN_COL_0
// - GAMEPAWN_COL_25
// - GAMEPAWN_COL_50
// - GAMEPAWN_COL_75
// - GAMEPAWN_COL_100
#define GAMEPAWN_COL_DOWN			(GAMEPAWN_COL_25|GAMEPAWN_COL_75)
#define GAMEPAWN_COL_UP				GAMEPAWN_COL_50
#define GAMEPAWN_COL_RIGHT			GAMEPAWN_COL_50
#define GAMEPAWN_COL_LEFT			GAMEPAWN_COL_50
// Options to determine which border collide or trigger events
// - GAMEPAWN_BORDER_NONE
// - GAMEPAWN_BORDER_DOWN
// - GAMEPAWN_BORDER_UP
// - GAMEPAWN_BORDER_RIGHT
// - GAMEPAWN_BORDER_LEFT
#define GAMEPAWN_BORDER_EVENT		(GAMEPAWN_BORDER_DOWN|GAMEPAWN_BORDER_LEFT|GAMEPAWN_BORDER_RIGHT)
#define GAMEPAWN_BORDER_BLOCK		(GAMEPAWN_BORDER_UP|GAMEPAWN_BORDER_DOWN|GAMEPAWN_BORDER_LEFT|GAMEPAWN_BORDER_RIGHT)
// Top/bottom border position (in pixel)
#define GAMEPAWN_BORDER_MIN_Y		0		// High border Y coordinade
#define GAMEPAWN_BORDER_MAX_Y		184		// Low border Y coordinate
#define GAMEPAWN_FORCE_SM1			FALSE	// Force the use sprite mode 1 (for MSX2) 
#define GAMEPAWN_USE_VRAM_COL		TRUE	// Use VRAM to chech tile collision (use RAM buffer instead)
#define GAMEPAWN_TILEMAP_WIDTH		32		// Width of the tiles map
#define GAMEPAWN_TILEMAP_HEIGHT		24		// Height of the tiles map

Note: For now, GAMEPAWN_COL_UP, GAMEPAWN_COL_RIGHT and GAMEPAWN_COL_LEFT are fixed to GAMEPAWN_COL_50.