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::{
12    default_sprites_dir, load_sprite_catalog, load_sprite_presentation_defaults,
13    ResourcePresentationDefaults, SpriteCatalog, SpriteFallback, SpritePresentationDefaults,
14    SpriteSheetModes,
15};
16pub use directional::{
17    base_sprite_mode, cardinal_facing_label, eight_way_facing_label, expand_directional_draw_mode,
18    four_way_facing_label, sheet_has_mode, PLAYER_DIRECTIONAL_BASE_MODES,
19};
20pub use npc_states::{
21    resolve_placed_npc_presentation_key, resolve_wildlife_presentation_key,
22    PlacedNpcPresentationInput, WildlifeNpcPresentationInput, NPC_LEGACY_BEHAVIOR_ALIASES,
23    NPC_PRESENTATION_STATES,
24};
25pub use player_config::{
26    default_player_presentation_path, load_player_presentation, load_player_presentation_default,
27    PlayerPresentationConfig, PlayerPresentationDoc,
28};
29pub use player_states::{
30    resolve_player_presentation_key, PlayerPresentationInput, PLAYER_PRESENTATION_STATES,
31};
32pub use resolve::{
33    npc_presentation_key, placed_npc_presentation_input, player_presentation_input,
34    presentation_sheet_mode_ids, resolve_farm_growth_sprite_mode, resolve_npc_sprite_mode,
35    resolve_player_sprite_mode, resolve_resource_sprite, resolve_resource_sprite_mode,
36    resource_presentation_key, wildlife_npc_presentation_input, NpcPresentationInput,
37    PlayerSpritePresentationInput, ResourceSpriteResolution, RESOURCE_PRESENTATION_KEYS,
38    RESOURCE_PRESENTATION_KEY_COOLDOWN_LEGACY,
39};
40pub use validate::{
41    mode_exists_on_sheet, npc_sheet_alias, presentation_validation_mode_ids,
42    validate_sprite_mode_maps, validate_sprite_modes_for_presentation,
43    validate_sprite_presentation_defaults,
44};
45
46use std::collections::HashMap;
47
48/// Presentation key → sprite sheet mode id (from item/NPC YAML `sprite_modes`).
49pub type SpriteModeMap = HashMap<String, String>;