Introduce an optional timeSync field and event-driven time pushes so host time is only re-applied on connect, resume-from-freeze, or large jumps while weather continues on ~1 Hz heartbeats. Added IsGameTimeFrozen detection and client buffering of latest host time; clients apply host time only when timeSync is true or when gameplay just resumed. Updated networking to read/write timeSync, adjusted F4TWorldStateSync logic (separate time vs weather send/apply paths, changed function signatures and behavior), and updated protocol/docs/changelog and fake_client logging to reflect the new field and behavior.
1.1 KiB
1.1 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
For testing notes, milestone summaries, known issues, and next steps, see docs/dev-log.md. Do not include testing content in this file.
[Unreleased]
Added
- Event-driven world time resync via optional
timeSyncfield onworldStatepackets; host (client 1) pushes time after menus, loading screens, save/load, wait/sleep, and other time freezes. timeSynctracking inserver/fake_client.pyhost world-state snapshot output.
Changed
- World time no longer re-applies on every
worldStateheartbeat; weather heartbeats continue at ~1 Hz while time stays in sync during normal gameplay. - Reformatted
changelog.mdto follow Keep a Changelog.
[0.0.1] - 2026-06-23
Added
Changed
Removed
docs/changelog.md— moved to project root.