Files
major_tom/include/config.h

53 lines
2.8 KiB
C

#ifndef JNR_CONFIG_H
#define JNR_CONFIG_H
/* ── Window ─────────────────────────────────────────── */
#define WINDOW_TITLE "Jump 'n Run"
#define SCREEN_WIDTH 640
#define SCREEN_HEIGHT 360
#define WINDOW_SCALE 2 /* integer scale for crisp pixels */
/* ── Timing ─────────────────────────────────────────── */
#define TICK_RATE 60 /* physics updates per second */
#define DT (1.0f / TICK_RATE)
#define MAX_FRAME_SKIP 5 /* prevent spiral of death */
/* ── Physics ────────────────────────────────────────── */
#define DEFAULT_GRAVITY 980.0f /* pixels/s^2 (Earth-like) */
#define MAX_FALL_SPEED 600.0f /* terminal velocity */
/* ── Tiles ──────────────────────────────────────────── */
#define TILE_SIZE 16 /* pixels per tile */
#define MAX_TILE_DEFS 256 /* unique tile types */
#define MAX_MAP_SIZE 8192 /* max width or height in tiles */
/* ── Entities ───────────────────────────────────────── */
#define MAX_ENTITIES 512
#define MAX_ENTITY_SPAWNS 512 /* max entity spawns per level */
/* ── Level transitions ─────────────────────────────── */
#define MAX_EXIT_ZONES 16 /* max exit zones per level */
typedef enum TransitionStyle {
TRANS_NONE, /* instant cut (default) */
TRANS_SPACECRAFT, /* handled by spacecraft entity */
TRANS_ELEVATOR, /* doors close, rumble, doors open */
TRANS_TELEPORTER, /* scanline dissolve, flash, materialize */
TRANS_STYLE_COUNT
} TransitionStyle;
/* ── Rendering ──────────────────────────────────────── */
#define MAX_SPRITES 2048 /* max queued sprites per frame */
/* ── Audio ──────────────────────────────────────────── */
#define AUDIO_FREQUENCY 48000
#define AUDIO_CHANNELS 2
#define AUDIO_CHUNK_SIZE 4096
#define MAX_SFX_CHANNELS 16
/* ── Assets ─────────────────────────────────────────── */
#define MAX_ASSETS 128
#define ASSET_PATH_MAX 256
#endif /* JNR_CONFIG_H */