1
0
Fork 0
forked from NotAShelf/rogged
rogged/src/settings.h
NotAShelf 00b3798ae0
various: sub-tile lighting; nicer visibility calculations
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I0f0a0c12db76cc8e0f4c8ccc72ca4b826a6a6964
2026-05-11 20:20:55 +03:00

98 lines
1.9 KiB
C

#ifndef SETTINGS_H
#define SETTINGS_H
// Core Constants
#define TILE_SIZE 16
#define MAP_WIDTH 64
#define MAP_HEIGHT 48
#define SCREEN_WIDTH (MAP_WIDTH * TILE_SIZE)
#define SCREEN_HEIGHT (MAP_HEIGHT * TILE_SIZE)
// Font constants
#define NORM_CHAR_SPACE 4.0f
#define MED_CHAR_SPACE 2.5f
#define SMALL_CHAR_SPACE 1.6f
#define NAR_CHAR_SPACE 1.0f
#define CRAMPED_CHAR_SPACE 0.5f
#define TINY_FONT 8
#define SMALL_FONT 10
#define NORM_FONT 12
#define MEDIUM_FONT 14
#define LARGE_FONT 18
#define BIG_FONT 22
#define HUGE_FONT 30
// Game Limits
#define MAX_ENEMIES 64
#define MAX_ITEMS 128
#define MAX_ROOMS 25
// Player Stats
#define PLAYER_BASE_HP 20
#define PLAYER_BASE_ATTACK 5
// Enemy Stats
#define ENEMY_BASE_HP 5
#define ENEMY_BASE_ATTACK 2
// Progression
#define NUM_FLOORS 5
#define MAX_INVENTORY 10
// Damage Classes
#define NUM_DMG_CLASSES 5
// Status Effects
#define MAX_EFFECTS 4
#define POISON_BASE_DAMAGE 3
#define BLEED_STACK_DAMAGE 3
#define BURN_BASE_DAMAGE 7
#define WEAKEN_ATTACK_REDUCTION 2
#define REGEN_STEP_INTERVAL 15
// Unarmed combat defaults
#define UNARMED_CRIT_CHANCE 5
#define UNARMED_CRIT_MULT 150
#define UNARMED_STATUS_CHANCE 0
// Weapon templates
#define NUM_WEAPON_TEMPLATES 5
// Enemy combat defaults
#define ENEMY_CRIT_CHANCE 5
#define ENEMY_CRIT_MULT 150
// Dodge/Block defaults
#define PLAYER_BASE_DODGE 5
#define PLAYER_BASE_BLOCK 0
// Screen shake
#define SHAKE_EFFECT_DURATION 4
#define SHAKE_PLAYER_DAMAGE_DURATION 8
#define SHAKE_MAX_OFFSET 4
// Floating text
#define FLOATING_TEXT_LIFETIME 60
// Message timer
#define MESSAGE_TIMER_DURATION 60
// Visibility / Fog of War
#define ENEMY_PATROL_MOVE_CHANCE 30
// Sub-tile lighting
#define SUB_TILE_RES 8
#define LIGHT_SIGHT_THRESHOLD 40
// Player light source parameters
#define PLAYER_LIGHT_RANGE 8
#define PLAYER_LIGHT_INTENSITY 255
// Enemy vision (default fallback for spawn)
#define ENEMY_VIEW_RANGE 6
// Visual polish
#define DRAW_GRID_LINES 1
#endif // SETTINGS_H