Skip to content

FieldSentry app: per-field soil-sim status + sleep/meadow/deco toggles #83

Description

@TheCodingDad-TisonK

Soil & Fertilizer's FieldSentry exposes a status + control API (FieldSentry_API) for
per-field soil-sim state. The plan is a FarmTablet app (FSCS_Tablet_App_Definition) that
mirrors the ESC-menu logic so players can see and toggle a field's soil-sim status from the
tablet. Depends on the FieldSentry API in FS25_SoilFertilizer (PRs
Realistic-Farming/FS25_SoilFertilizer#658 and #659).

Phases

Phase 1 — app shell + registration

  • Define and register the app in the FarmTablet framework (FSCS_Tablet_App_Definition).
  • Empty shell that opens from the tablet and closes cleanly.

Phase 2 — read-only status list

  • For each field, show its FieldSentry status via FieldSentry_API.getUIStatus(fieldId) /
    isFieldSimDisabled(fieldId): active, asleep (manual), NPC contract, decorative, meadow.
  • Reuse the same reason l10n keys S&F already ships (sf_fs_reason_*, sf_fieldsentry_asleep).

Phase 3 — interactive toggles

  • Toggle Manual blacklist -> SoilNetworkEvents_SendFieldSentryToggle(fieldId, value).
  • Toggle Meadow -> SoilNetworkEvents_SendFieldMeadowToggle(fieldId, value).
  • Toggle Deco: note there is no client->server request event for deco yet (it is currently
    server/host only via markDecoField). Either restrict the deco toggle to the host, or add
    a small deco request event on the S&F side first. Flag this when we get here.
  • All toggles are admin-gated and server-validated on the S&F side.

Phase 4 — live status + MP + l10n

  • Use the allocation-free isFieldSimDisabled hot path for live status.
  • Clients read synced state only (S&F is server-authoritative). Localize labels.

Phase 5 — polish + in-game testing

  • Layout pass, then test in singleplayer and multiplayer (host + client).

Notes

  • Hard dependency on the FieldSentry API; guard every call with if FieldSentry_API then
    so the tablet degrades gracefully when S&F is not installed.

Tracked on the S&F side in Realistic-Farming/FS25_SoilFertilizer#651.

Metadata

Metadata

Assignees

No one assigned

    Labels

    fixedIssue has been solveduser-repliedUser is awaiting response

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions