Skip to main content

flatland_client_lib/
lib.rs

1//! Shared gameplay session state for TUI, bots, and third-party clients.
2
3mod assets;
4mod bot;
5mod character_sheet;
6mod client_config;
7mod connect;
8pub mod currency;
9mod game;
10pub mod harvest_debug;
11pub mod navigation;
12mod remote;
13mod session;
14mod settings;
15mod use_world;
16
17pub use assets::{
18    assets_index_url, build_bundle_index, firebase_download_url, firebase_object_path,
19    needs_asset_sync, read_local_state, read_repo_publish_rev, resolve_sprites_dir, sync_assets,
20    AssetBundleIndex, AssetFileEntry, AssetSyncKind, AssetSyncOptions, AssetSyncResult,
21    LocalAssetState, DEFAULT_FIREBASE_BUCKET,
22};
23pub use bot::{BotClient, BotConfig, BotStats};
24pub use character_sheet::{
25    build_character_sheet, format_pool_xp, format_progress_pct, format_xp_band,
26    format_xp_band_compact, format_xp_delta, format_xp_value, AttributeRow, CharacterSheet,
27    PoolRow, SheetSync, SkillRow,
28};
29pub use client_config::{
30    default_api_base_url, default_game_server_addr, ClientConfig, GfxWindowPrefs,
31    DEFAULT_API_PORT, DEFAULT_GAME_PORT,
32};
33pub use connect::{connect, connect_tcp, default_server_addr, ConnectOptions};
34pub use flatland_protocol::AuthCredential;
35pub use game::{
36    body_slot_label, ContextLine, GameClient, GameState, InventoryBrowserLine, InventoryRow,
37    InventoryRowView, InventorySection, MoveOption, MoveOptionKind, MovePicker, NearbyContainer,
38    RotationEditorMode, RotationEditorState, ShopTab, CONTAINER_RANGE_M,
39};
40pub use harvest_debug::{verbose as harvest_debug_verbose, TARGET as HARVEST_LOG_TARGET};
41pub use navigation::AutoNavigator;
42pub use remote::RemoteSession;
43pub use session::{PlayConnection, SessionEvent};
44pub use settings::{load_client_settings, ClientKeyBindings, ClientSettings};
45pub use use_world::{UseWorldCandidate, UseWorldKind, UseWorldProbe, USE_WORLD_NEARBY_SCAN_M};