forked from tas/major_tom
Introduce moon01.lvl as the starting level — a pure jump-and-run intro with no gun and no enemies, just platforming over gaps and dodging falling asteroids. The player picks up their gun upon transitioning to level01. New features: - Moon tileset and PARALLAX_STYLE_MOON with crater terrain backgrounds - Asteroid entity (ENT_ASTEROID): falls from sky, damages on contact, explodes on ground with particles, respawns after delay - PLAYER_UNARMED directive disables gun for the level - Pit rescue mechanic: falling costs 1 HP and auto-dashes upward - Gun powerup entity type for future armed-pickup levels - Segment-based procedural level generator with themed rooms - Extended editor with entity palette and improved tile cycling - Web shell improvements for Emscripten builds
44 lines
2.4 KiB
C
44 lines
2.4 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 */
|
|
|
|
/* ── Entities ───────────────────────────────────────── */
|
|
#define MAX_ENTITIES 512
|
|
#define MAX_ENTITY_SPAWNS 128 /* max entity spawns per level */
|
|
|
|
/* ── Level transitions ─────────────────────────────── */
|
|
#define MAX_EXIT_ZONES 8 /* max exit zones per level */
|
|
|
|
/* ── 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 */
|