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.
34 lines
1.1 KiB
Markdown
34 lines
1.1 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
For testing notes, milestone summaries, known issues, and next steps, see [`docs/dev-log.md`](docs/dev-log.md). Do not include testing content in this file.
|
|
|
|
## [Unreleased]
|
|
|
|
### Added
|
|
- Event-driven world time resync via optional `timeSync` field on `worldState` packets; host (client 1) pushes time after menus, loading screens, save/load, wait/sleep, and other time freezes.
|
|
- `timeSync` tracking in `server/fake_client.py` host world-state snapshot output.
|
|
|
|
### Changed
|
|
- World time no longer re-applies on every `worldState` heartbeat; weather heartbeats continue at ~1 Hz while time stays in sync during normal gameplay.
|
|
- Reformatted `changelog.md` to follow [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
|
|
|
## [0.0.1] - 2026-06-23
|
|
|
|
### Added
|
|
|
|
|
|
|
|
### Changed
|
|
|
|
|
|
|
|
### Removed
|
|
|
|
- `docs/changelog.md` — moved to project root.
|