Changelog
Latest
- doc: Changelogs (#611) 🔗
- chore: Add VS and VSCode to directories to .gitignore (#609) 🔗
- feat: Null-terminated string serializer (#608) 🔗
- perf: Don't re-sort simulated nodes on every loop (#607) 🔗
- chore: Cleanup peer identity data on disconnect (#606) 🔗
- feat: Packet size limit (#605) 🔗
- fix: Keep local Network Identities on connect (#604) 🔗
- fix: Window tiling edge cases (#603) 🔗
- fix: Prevent crash on free when RBS is not last node (#600) 🔗
- doc: FAQ (#599) 🔗
- doc: Kick and Hide (#598) 🔗
- fix: Use correct hex constant for flag bit in VariableBitsetSerializer (#596) 🔗
- fix: Use correct RRNG state (#593) 🔗
- fix: Remove redundant register from PredictiveSynchronizer (#592) 🔗
- fix: Restore prediction flag (#590) 🔗
- feat: Support nested RollbackSynchronizers (#586) 🔗
- doc: Clarify RewindableStateMachine sibling status (#587) 🔗
- doc: Remove ?si suffix from external tutorial links (#585) 🔗
- fix: Avoid failed to ensure snapshot errors (#584) 🔗
- fix: Flush network IDs (#583) 🔗
- fix: Handle StateSynchronizer freeing (#581) 🔗
- doc: Generated class reference (#580) 🔗
- feat: Merge schema (#579) 🔗
- feat: Rollback liveness (#574) 🔗
- chore: Remove the Rollback Debugger example (#577) 🔗
- chore: Linting (#575) 🔗
- feat(game): Integrate nohub (#520) 🔗
- chore: Update Rapier physics drivers for v0.8.26 (#552) 🔗
- fix: Prevent dirty read on NetworkTime restart (#572) 🔗
- feat: Implement synchronizer logic as servers (#549) 🔗
- doc: Nitro Turtles (#568) 🔗
- doc: Fix docs link in netfox.noray README (#569) 🔗
- feat: NetworkIdentifiers (#566) 🔗
- feat: Network Commands (#565) 🔗
- feat: PredictiveSynchronizer (#533) 🔗
- fix: Prevent crash on exit in _RollbackHistoryTransmitter (#551) 🔗
- fix: Prevent autoload order changing on project startup (#550) 🔗
- doc: Add physics query workaround (#546) 🔗
- deps: Upgrade vest to 1.10.4 (#548) 🔗
- fix: Adjust internal tickrate on mismatch instead of project setting (#547) 🔗
- feat: Schemas (#535) 🔗
v1.35.3
- fix: RewindableAction to handle later ticks (#534) 🔗
- fix: Queue RewindableAction mutations ahead of rollback loop (#531) 🔗
- fix: Stop signals and loops on disconnect (#530) 🔗
- feat: Track and expose latest confirmed tick (#518) 🔗
- fix: Always clear RewindableAction queue after loop (#527) 🔗
- docs: External resources (#529) 🔗
- docs: Inputless RollbackSynchronizers (#528) 🔗
- feat: Expose logger API (#526) 🔗
- fix: Eliminate partial sync on non-rollback-aware nodes (#524) 🔗
- chore: Align icons to editor scale and theme (#525) 🔗
- fix: Stop autoconnect thread on quit (#522) 🔗
- fix: RewindableAction to include ticks at the end of the tickset (#513) 🔗
- fix(doc): Ensure graphviz is installed (#510) 🔗
- feat: RewindableState signals (#494) 🔗
- fix(example): Smooth aiming input on FPS examples (#509) 🔗
- fix: Clear property config on process_authority() (#507) 🔗
- fix: Rapier physics toggle recognizes correct addon (#506) 🔗
- fix: Transmit state for inputless RollbackSynchronizers (#504) 🔗
- feat: Autoconnect with network conditions simulation (#481) 🔗
- fix: Update peer visibility on entering tree (#499) 🔗
- fix(example): Add missing is editor check 🔗
- feat: Visibility filtering (#492) 🔗
- fix: One-Off Inputs tutorial duplicates one-off input during lag (#490) 🔗
- fix: SnapshotHistoryEncoder size mismatch (#491) 🔗
- feat: Rollback RNG (#488) 🔗
- fix: Attach version to property indexes (#486) 🔗
- fix: Properly detect whether full or diff state is smaller (#477) 🔗
- feat: Diff states in StateSynchronizer (#476) 🔗
- refactor: Separate RollbackSynchronizer into components (#458) 🔗
- refactor: Consolidate tick broadcast logic (#449) 🔗
- perf: Reduce encoder bandwidth (#430) 🔗
- refactor: Reintroduce history encoder 🔗
- deps: Upgrade vest to 1.3.3 (#484) 🔗
- feat: Implement handshake over ENetMultiplayerPeer to detect closed connections (#479) 🔗
- doc: Fix plantuml diagram rendering (#483) 🔗
- doc: Add Chrome Carnage to games list (#480) 🔗
- Stepping Physics with Rollback (#437) 🔗
- doc: Interpolators provided as static class (#472) 🔗
- fix: Avoid NaNs at very low latencies (#469) 🔗
- doc: Use physics_factor in all example snippets (#461) 🔗
- feat: Add input gathering example project (#459) 🔗
- fix: Set is_predicted tick outside of node sim (#455) 🔗
- doc: Input gathering tips and tricks (#452) 🔗
- doc: Update rollback tick loop (#453) 🔗
- feat: Inputless RollbackSynchronizer (#448) 🔗
- doc: Update Made with netfox page (#447) 🔗
- fix: Don't run callbacks in editor for RewindableStateMachine (#445) 🔗
- chore: Cache project settings (#442) 🔗
- fix: TickInterpolator error when above interpolated property in scene tree (#438) 🔗
v1.25.3
- chore: Report missing UIDs (#439) 🔗
- chore: Add UIDs (#436) 🔗
- docs: Mark Mutations experimental (#435) 🔗
- fix: Unregister log tags on game exit (#434) 🔗
- feat: Rewindable Actions (#394) 🔗
- refactor: More static types (#420) 🔗
- revert: History encoder (#425) (#429) 🔗
- refactor: History encoder (#425) 🔗
- chore: Upgrade to vest v0.22.15 (#426) 🔗
- fix: Don't tile if embedded in editor (#419) 🔗
- fix: _HistoryBuffer snapshot return null on unknown tick (#418) 🔗
- chore: PropertyEntry tests (#416) 🔗
- refactor: Use get_property_list() to check property presence (#415) 🔗
- chore: Fix banner in README on dark mode (#413) 🔗
- doc: Contributors page (#412) 🔗
- chore: Add missing dependency for site build (#411) 🔗
- doc: Made with netfox page (#410) 🔗
- fix: Failing PropertySnapshot tests (#409) 🔗
- doc: Press kit (#408) 🔗
- refactor: Store state and inputs in HistoryBuffers as PropertySnapshots (#399) 🔗
- refactor: Submit input as tick-snapshot pairs (#307) 🔗
- feat: Input delay (#276) 🔗
- fix: Add logger tags in _ready (#395) 🔗
- chore: Iterable sets (#392) 🔗
- fix: Add missing editor check in RollbackSynchronizer._ready (#391) 🔗
- feat: Expose last known input and state ticks (#390) 🔗
- fix: Record state if mutated (#389) 🔗
- feat: Add display_tick and history_start getters (#388) 🔗
- doc: Netfox Sharp (#384) 🔗
- fix: Recover clock from pauses and stalls (#381) 🔗
- chore: Implement tickrate handshake (#380) 🔗
- fix(ci): Fix contributor list formatting (#379) 🔗
- fix: Send state ack's to sender instead of authority (#378) 🔗
- chore: Log rollback stage and range (#377) 🔗
- feat: Mutations (#369) 🔗
- feat: Track fired tick for NetworkWeapon (#376) 🔗
- chore: Setup tests with vest (#371) 🔗
- fix(example): More responsive firing (#366) 🔗
- chore: Remove MultiplayerSpawner from examples (#370) 🔗
- chore: Warn on invalid NetworkTime.start() calls (#367) 🔗
v1.19.1
- doc: Input prediction tutorial (#365) 🔗
- doc: Configure giscus origins 🔗
- doc: Update version selector style (#363) 🔗
- doc: Add giscus (#361) 🔗
- chore: Improve scripts (#360) 🔗
- fix: Recognize main branch on doc gen 🔗
- doc: Version selector (#359) 🔗
- doc: Admonitions (#357) 🔗
- feat: Procedural node configuration (#354) 🔗
- fix: Record nodes without _rollback_tick callback (#356) 🔗
- fix: Add missing interpolators (#355) 🔗
- feat: Rollback debugger (#345) 🔗
- feat: Input prediction (#344) 🔗
- chore: Include contributors (#352) 🔗
- feat: Hitscan weapons (#340) 🔗
- fix: Setup mkdocs to build docs (#351) 🔗
- chore: Include docs in releases (#350) 🔗
- feat: RewindableStateMachine display callbacks (#343) 🔗
- fix: Disconnect signals on exiting tree (#341) 🔗
- doc: Use embedded UML (#342) 🔗
- chore: Add anniversary assets 🔗
v1.14.1
- chore: Add diff state ack defaults (#339) 🔗
- feat: Add display state change signal to RewindableStateMachine (#331) 🔗
- feat(game): Aura decals (#338) 🔗
- doc: Improve index pages with shields (#337) 🔗
- refactor: NetfoxLogger no longer depends on netfox (#336) 🔗
- fix: Log call typo 🔗
- refactor: Conditional log message evaluation (#335) 🔗
- feat: Diff states (#278) 🔗
- fix: Avoid excessive rollback ticks on spawn (#284) 🔗
- fix: Log levels (#333) 🔗
- fix: Connect network-popup signals (#329) 🔗
- fix: Prevent multiple NetworkTime.start() runs (#326) 🔗
- feat: Broadcast time sync success (#325) 🔗
- fix: Limit rollback ticks (#324) 🔗
- feat: Window tiling (#322) 🔗
- feat: Nudge Time Process (#314) 🔗
- fix: Use record input props instead of auth (#320) 🔗
- refactor: Expand variable names (#319) 🔗
- doc: Add Interpolation caveats (#318) 🔗
- chore(example): Improved network popup layout (#285) 🔗
- feat(game): Host-only mode (#283) 🔗
- fix(ci): Missing export template in build (#317) 🔗
- feat: Rollback-aware state machine (#315) 🔗
- feat(game): Moving platforms (#313) 🔗
- fix: TickInterpolator glitch on state switch (#301) 🔗
- chore(github): Issue templates (#295) 🔗
- doc: Add physics and state machine notes to rollback caveats (#296) 🔗
- chore(github): Add funding link (#294) 🔗
- chore: Add tick and peer id to logging (#293) 🔗
- doc: Add supported versions (#292) 🔗
- Added docs for is_fresh and updated screenshot (#263) 🔗
- fix: Disable invalid input redundancy values 🔗
- fix: Ensure projectiles can't be spawned without ID (#237) 🔗
- fix: Make sure generated projectile ID's are unique (#270) 🔗
- refactor: Use static RPC calls instead of strings 🔗
v1.8.0
v1.7.0
- feat: Use OS time for tick loop (#225) 🔗
- fix: Nested properties not being applied (#224) 🔗
- feat: Unreliable inputs with redundancy (#221) 🔗
- feat: Support nested properties (#217) 🔗
- fix: hdpi svg icons (#213) 🔗
v1.4.0
- feat: Enable updating authority on RollbackSynchronizer (#208) 🔗
- fix: Spawning RollbackSynchronizer resims from -1 (#204) 🔗
- doc: Add showcase section to README (#206) 🔗
- doc: Upgrading (#203) 🔗
- feat: StateSynchronizer (#202) 🔗
- fix(game): Excessive rollback when an Effect is active (#198) 🔗
- feat: Performance monitors (#195) 🔗
- doc: Add process_settings note to ownership in rollback tutorial (#192) 🔗
- chore: Flat billboard clouds (#191) 🔗
- chore: Add type annotations where sensible (#190) 🔗
- doc: Fix typo in NetworkWeapon guide 🔗
- doc: Delete outdated tutorial link in comment (#187) 🔗
- doc: Redirect dead link (error 404) to proper documentation link (#183) 🔗
- doc: Reference manual physics step issue in rollback (#178) 🔗
- doc: Update releases section with new zip layout (#172) 🔗
- chore: Add banner 🔗
v1.1.1
- chore: Always bundle dependencies (#171) 🔗
- chore: Fix warnings (#170) 🔗
- feat: Configurable logging (#162) 🔗
- chore: Add RollbackSynchronizer class name (#165) 🔗
- refactor: Make Interpolators a static class (#163) 🔗
- fix(examples): Noray bootstrapper refuse connection on empty role (#161) 🔗
- doc: Enable addons section (#156) 🔗
- doc: Add noray instance (#155) 🔗
- fix: Remove netfox.noray dependency on netfox (#154) 🔗
v1.0.1
- fix: Addon installed to project root (#143) 🔗
- doc: Add contribution notes (#139) 🔗
- fix: Problems with multiplayer-netfox example (#135) 🔗
- fix: Problems with multiplayer-simple example (#134) 🔗
- doc: Fix asset links (#133) 🔗
v1.0.0
- chore: Bump to v1 🎉 (#132) 🔗
- doc: Update links (#131) 🔗
- chore: Reduce print output (#130) 🔗
- chore: Export icon as png 🔗
v0.15.14
- doc: Update tutorials (#128) 🔗
- fix: Projectile reconciliation threshold (#127) 🔗
- doc: Ownership (#126) 🔗
- doc: Authoritative servers (#125) 🔗
- doc: Improve PacketHandshake explanation (#124) 🔗
- doc: Add NetworkWeapon guide (#118) 🔗
- doc: Add BaseNetInput guide (#117) 🔗
- doc: Add netfox.noray docs (#116) 🔗
- fix: Add missing RollbackSynchronizer link to docs 🔗
- doc: Add RollbackSynchronizer node (#115) 🔗
v0.15.9
- chore: Add version to draft release (#114) 🔗
- fix: No tick_factor with sync_to_physics (#112) 🔗
- fix(game): Index out of bounds on bomb projectile 🔗
- feat(game): Improved aiming (#111) 🔗
- chore(game): Adjust shadows and sky 🔗
- feat(game): Scrolling clouds in the background (#110) 🔗
- doc: Add NetworkRollback guide (#109) 🔗
- doc: Add TickInterpolator (#106) 🔗
- doc: Add Interpolators guide (#105) 🔗
- doc: Add NetworkEvents guide (#104) 🔗
- doc: Add NetworkTimeSynchronizer guide (#103) 🔗
- doc: Add NetworkTime guide (#102) 🔗
- fix: NetworkWeapon not calling after fire hook (#90) 🔗
- chore(game): V-Sync toggle (#88) 🔗
- feat(game): Add Three Peaks map (#87) 🔗
- fix(game): Weird bomb collisions (#86) 🔗
- feat(game): Random spawn points (#82) 🔗
- doc: Rollback tutorial (#81) 🔗
- chore: Automate release (#80) 🔗
- doc: NetworkTime tutorial (#77) 🔗
- fix: Deploy site (#76) 🔗
- chore: Publish docs from CI (#75) 🔗
- doc: Add READMEs (#74) 🔗
- doc: Setup site with mkdocs (#73) 🔗
- feat(game): Add sounds (#64) 🔗
- feat: Add Weapons to extras addon (#62) 🔗
- chore: Add script for version bumps 🔗
- refactor: Rename notify_earliest_input to notify_resimulation_start (#61) 🔗
- feat: BaseNetInput (#60) 🔗
- chore: Add executable postfixes on build 🔗
- feat: NetworkTime utils (#59) 🔗
- chore: Add build script 🔗
- chore(game): Tweak explosion strength 🔗
- feat(game): Add Brawler Crown 🔗
- feat(game): Add settings (#58) 🔗
- fix(game): Players getting points for hitting themselves (#56) 🔗
- fix(game): Player visibility 🔗
- feat: Notify host on time sync (#55) 🔗
- feat: Rollback all aware nodes (#46) 🔗
- fix: Powerup effects stay even after effect ends (#44) 🔗
- chore: Disable state from the future log messages 🔗
- chore: Limit framerate to 2400 🔗
- feat(game): Gamepad support (#41) 🔗
- chore(game): Improved aura meshes (#39) 🔗
- fix(game): Displacement on explosion and repulse (#38) 🔗
- fix: Apply state before tick on RollbackSynchronizer 🔗
- fix: Script paths at plugin load 🔗
- feat: Rework rollback (#36) 🔗
- fix: Player name out of bounds (#34) 🔗
- fix(game): Glithcy jumps (#31) 🔗
- chore: Update RollbackSynchronizer icon 🔗
- feat: Tick Interpolator (#30) 🔗
- refactor: Extract property logic (#28) 🔗
- feat: Introduce remote and local ticks (#26) 🔗
- fix: Jerky interpolation 🔗
- chore: Add latency script 🔗
- feat: Custom property interpolators (#23) 🔗
- fix: Interpolation factor (#20) 🔗
- fix: Reduce camera stutter (#19) 🔗
- fix: NetworkTime.physics_factor returns correct value (#17) 🔗
- doc: Add LICENSE 🔗
- fix(game): Explosion visuals 🔗
- feat(game): Player nametags 🔗
- feat(game): Unique player colors 🔗
- feat(game): Player animations 🔗
- fix(game): Powerup state desync 🔗
- chore(game): Sort high scores 🔗
- feat(game): Player names 🔗
- chore(game): Tweak powerups 🔗
- feat(game): Track scores with UI 🔗
- fix(game): Multiple active powerups 🔗
- fix(game): Respawn not happening 🔗
- feat(game): Powerups 🔗
- chore(game): Tweak explosion 🔗
- feat(game): Respawn on fall 🔗
- feat(game): Displacement 🔗
- feat: Always-simulated nodes for rollback 🔗
- refactor: Rollback synchronizer 🔗
- feat(game): Projectiles 🔗
- feat(game): Setup with movement 🔗
- doc: Add documentation comments (#14) 🔗
- chore: Rename files (#12) 🔗
- feat: NetworkEvents (#11) 🔗
- feat: noray integration (#9) 🔗
- feat: Rollback support (#8) 🔗
- feat: Networked time 🔗
- chore: Setup netfox example 🔗
- feat: Add simple multiplayer example 🔗
- feat: Add single-player example 🔗
- feat: Addon setup 🔗
- Initial commit 🔗