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    FarmGrowthFallback, FarmPresentationDefaults, ResourcePresentationDefaults, SpriteCatalog,
14    SpriteFallback, SpritePresentationDefaults, 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, pick_farm_growth_stage, placed_npc_presentation_input,
34    player_presentation_input, presentation_sheet_mode_ids, resolve_farm_growth_sprite,
35    resolve_farm_growth_sprite_from_modes, resolve_farm_growth_sprite_mode,
36    resolve_npc_sprite_mode, resolve_player_sprite_mode, resolve_resource_sprite,
37    resolve_resource_sprite_mode, resource_presentation_key, wildlife_npc_presentation_input,
38    NpcPresentationInput, PlayerSpritePresentationInput, ResourceSpriteResolution,
39    RESOURCE_PRESENTATION_KEYS, RESOURCE_PRESENTATION_KEY_COOLDOWN_LEGACY,
40};
41pub use validate::{
42    mode_exists_on_sheet, npc_sheet_alias, presentation_validation_mode_ids,
43    validate_sprite_mode_maps, validate_sprite_modes_for_presentation,
44    validate_sprite_presentation_defaults,
45};
46
47use std::collections::HashMap;
48
49/// Presentation key → sprite sheet mode id (from item/NPC YAML `sprite_modes`).
50pub type SpriteModeMap = HashMap<String, String>;