Repository navigation
Release FLATS 5.4.3 - #7
Merged
Merged
Conversation
Choosing the language that already matched the system default was not saved, so exports omitted it and a later system change flipped the UI. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The aim mode is saved as controls.v1.aimMode (toggle by default), exported with the other personal settings, shown on the keyboard Aim binding and in control prompts. An optional authored Bindings/AimMode button switches it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Authored Settings rows named Language or AimMode (Index/Count/Plus/Minus calling Menu.PlusMinus) switch the language and the keyboard aim mode. Control general rows are found by their Plus button instead of by the first five sibling indices, so a sixth row hides with the others. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Without profiles nothing is applied, so the Mod center no longer reports modules as enabled from the legacy modules-v1.json fallback. Selecting a profile that lists an uninstalled module no longer fails with Missing module; the module is skipped and the confirmation says how many. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Whole members move unchanged into Menu.Network (Photon lobby, room, invitation and LAN sync), Menu.Results (GameOver), Menu.Options (PlusMinus rows and text inputs), Menu.Navigation (page navigation and MenuController) and Menu.Online (leaderboard, information, ads). Menu.cs keeps its GUID, fields and lifecycle; it drops from 5,364 to 1,977 lines. The non-blank lines of the six files equal the original. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Whole members move unchanged into FPSController.Network (Photon RPCs and synchronisation), FPSController.Touch (EasyTouch gestures) and FPSController.Weapons (aim, fire, melee, reload, weapon change, grenades). The class becomes partial; FPSController.cs keeps its GUID, fields, lifecycle and Update and drops from 2,568 to 1,206 lines. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Rows are looked up by name. The startup duplication of the VR rows only runs for a Settings page that has not been authored yet. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MOD_SDK.md describes data modules, the crosshair@2 and enemy.tuning@1 adapters, the room agreement for required modules and the profile as the only enabled-state record. package_mod.py packages schema 2 data modules with their payload and checks adapter scope and tuning ranges. New examples: a crosshair preset and an enemy tuning module. crosshair@2 presets are validated against the game's crosshair settings, so a package need not redeclare them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The initial values of the sound, graphics, control, VR and extra rows are written through SettingValue(page, rowName). Row names are already the contract PlusMinus relies on, so authored rows can be added to a page without shifting another row's value. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Translation now keeps leading indentation and the √ check mark and translates the rest, so unchecked filters and category choices are no longer left in English. The filters use √, which the Chinese font has, instead of ✓. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Phase 2 acceptance found the Explore card scope, the install review and several notices in English in Chinese mode. The card translates its scope label (the author's description stays as written), the import review shows the scope label instead of the raw scope value, and 33 catalogue entries cover the review lines and notices. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Desktop shows the five authored Desktop rows on the VR-Image page and hides the three VR rows; enabling VR switches back. The startup duplication of rows is removed now that the prefab authors them. The module settings form deactivates old rows before their deferred Destroy, so reopening focuses a live row. The T crosshair style is shown as "T shape" (a bare "T" would also translate key labels). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The room rejection's requirement lookup only checked installed packages, so a player who had the module installed but disabled was sent to the general Mod page. It now uses the same running-and-active test as the player's own session agreement. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Player builds add BuildOptions.Development when FLATS_DEVELOPMENT_BUILD is 1 and record the choice in build-provenance.json. Release builds are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Mod center detail page described every non-code package as a crosshair change, including the session-wide enemy tuning module found in two-client acceptance. The effect line now follows the package kind and adapter. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Every client simulates every bullet, and each copy of a hit sent NetworkDamage, so a PvP target took damage once per client (phase 5 acceptance: 3 shots, 6 damage events). Only the shooter's owner (the master client for AI) now reports network damage; the co-op path, which applies damage locally on each client, is unchanged. A dead enemy's AI component is destroyed while RPCs sent before other clients saw the death still arrive; a DeadAIRpcSink now accepts and ignores them instead of Photon logging missing [PunRPC] methods. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Destroy(myAI) completes at the end of the frame, so adding the sink in the same frame gave Photon two Shoot methods (co-op re-test) and could run the dead AI's Shoot, whose bullet then passed a destroyed collider to IgnoreCollision. The sink is added one frame later, and bullets skip IgnoreCollision when the shooter's collider is gone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Precision Dot and Wide Ring are presets of Custom Crosshair now; the live catalogue keeps them for older builds, so Explore hides them. Catalogue pages are cached per query for the session: reopening Explore shows the last result at once and refreshes it in the background, and a failed refresh keeps the cached page. Each request logs MOD_CATALOGUE_BROWSE with its duration. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Aim input required enableFire, which is false for most of an automatic weapon's shot cycle, so aiming was blocked while the fire button was held. A firing flag marks only Shoot's cooldown; aim input accepts it, while reload, weapon change, grenades, melee and pickups still block. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The crosshair is configured in the Mod center (Custom Crosshair). The Display page keeps resolution, window mode and VSync; older prefabs' crosshair rows are hidden. Saved legacy values still apply to the original reticle. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The original plays the main menu music after its 5 s title. Returning from a match skips the title but still waited 5 s in silence; it now waits 0.5 s. First launch is unchanged. The quieter menu volume matches the original (sound_all / 20 outside gameplay). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Game version 5.4.3 (Mod API 1.1.0). The README points at the v5.4.3 player and source releases. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merges the FLATS 5.4.3 release source into
main. The release is built from416ed2cand taggedv5.4.3.This branch contains the unmerged 5.4.2 work, so it supersedes #4, #5 and #6. They close as merged once this lands.
What changes for players
.datsaves import correctly.MenuandFPSControllerare split into partial files. Gameplay is unchanged.Validation
416ed2cwith zero errors; Android is release-signed.Platforms other than Windows are NOT_TESTED at runtime.
🤖 Generated with Claude Code