Skip to main content

flatland_presentation/
lib.rs

1//! Resolve authoritative game states to gfx sprite `mode_id`s.
2
3mod catalog;
4mod directional;
5mod npc_states;
6mod player_config;
7mod player_states;
8mod resolve;
9mod validate;
10
11pub use catalog::{default_sprites_dir, load_sprite_catalog, SpriteCatalog, SpriteSheetModes};
12pub use directional::{
13    base_sprite_mode, cardinal_facing_label, eight_way_facing_label, expand_directional_draw_mode,
14    four_way_facing_label, sheet_has_mode, PLAYER_DIRECTIONAL_BASE_MODES,
15};
16pub use npc_states::{
17    resolve_placed_npc_presentation_key, resolve_wildlife_presentation_key,
18    PlacedNpcPresentationInput, WildlifeNpcPresentationInput, NPC_LEGACY_BEHAVIOR_ALIASES,
19    NPC_PRESENTATION_STATES,
20};
21pub use player_config::{
22    default_player_presentation_path, load_player_presentation, load_player_presentation_default,
23    PlayerPresentationConfig, PlayerPresentationDoc,
24};
25pub use player_states::{
26    resolve_player_presentation_key, PlayerPresentationInput, PLAYER_PRESENTATION_STATES,
27};
28pub use resolve::{
29    npc_presentation_key, placed_npc_presentation_input, player_presentation_input,
30    resolve_npc_sprite_mode, resolve_player_sprite_mode, resolve_resource_sprite_mode,
31    resource_presentation_key, wildlife_npc_presentation_input, NpcPresentationInput,
32    PlayerSpritePresentationInput, RESOURCE_PRESENTATION_KEYS,
33    RESOURCE_PRESENTATION_KEY_COOLDOWN_LEGACY,
34};
35pub use validate::{mode_exists_on_sheet, validate_sprite_mode_maps};
36
37use std::collections::HashMap;
38
39/// Presentation key → sprite sheet mode id (from item/NPC YAML `sprite_modes`).
40pub type SpriteModeMap = HashMap<String, String>;