Repository navigation
Release FLATS 5.4.5 - #9
Merged
Merged
Conversation
…id and Web VIP deaths (single-player VIP missions and multiplayer VIP rounds) created the kill effect directly and always played the slow-motion cinematic. They now go through Supershot.PlayKill, and the notice-only path still clears a single-player VIP mission when it ends. Controllers whose names match no InControl profile attached as an unmapped Unknown Device, so a DualSense on Android had no usable input. On Android an unlisted controller now uses Android's standard gamepad layout, and in a browser every controller uses the W3C standard layout; button names follow the PlayStation or Xbox family from the device name. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Found in a full QA pass and checked against the source: - Single-player and Tutorial reset Multiplayer.rule/end, bomb pickup and invincibility left over from an earlier match (Co-op scoring, VIP kill text and a blocked bomb round leaked into single-player). - Spawning AI no longer clears the player's spawn or kill-camera protection, and that protection no longer makes every bot immune to network damage. - A VIP death discarded during another cinematic, or removed by the Assortment skip target, still clears the mission; the skip keeps allies. - Multiplayer VIP: a VIP lost to a fall or own grenade starts the next round; dead players are skipped when resetting and choosing VIPs; the old VIP's colour is reset on the right player. - A leaving player no longer stalls round synchronisation. - Background matchmaking resumes a paused single-player game when abandoned. - A cinematic that ends after the final kill leaves time and menus to the results screen. - Legacy per-controller bindings read KeyCode names with GetKey instead of GetButton, which threw every frame; the old editor no longer assigns them to StandaloneInputModule. - Phones keep controller input while the screen is touched. - Touch layouts are stored with invariant numbers, older values still load, an unreadable value is ignored, and save transfer accepts them. - Touch layout edits are saved even if a controller connects meanwhile. - The kill notice and kill feed use FlatsLocalizedText; Chinese entries added for feed messages, Assortment/Zombie HUD rules and the bumper hint, which now follows the controller family. - Assortment headshots are labelled Headshot. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nsfer - An abandoned background match resumes single-player only while playing: an open pause menu gets the resume scale instead, and GameOver keeps time. - A discarded VIP effect clears the mission only while another kill cinematic is playing, not during GameOver. - VIP and Zombie round changes protect everyone again (Multiplayer.roundChanging) and a second VIP death cannot start an overlapping VIP round. - Save transfer reads touch layouts with the menu's parser and exports them normalised; layouts are stored without rounding. - Chinese entries for single-player log lines and the loading HUD. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…umn labels Inspector-only changes to authored uGUI prefabs (saved through PrefabUtility, document order and untouched whitespace restored): - Pause/menu button 62.5x15.6 -> 80x40 in GameplayHUD, GameInterface and WatchCamera. - Navigation None -> Automatic on Update/OK, ErrorMessage/Button, FoliageGames Close and the four social buttons (now 44x44) so a controller can reach and close them. - ScrollToSelection (padding 12) on the five Mod Center ScrollRects and the ConfirmationDialog body so controller focus scrolls the list. - LocalMatch ConnectAutomatically/ConnectManually 800 wide at x=150 -> 560 wide centred (no longer clipped at 4:3); ModConfirmation/ModuleStartup overlays 890/860 -> 760. - Settings controller Plus/Minus 34 -> 44 wide; twenty binding Detail labels 13pt/72% -> 15pt/100% for legible Chinese. - Weapon detail Index labels wrap -> overflow so translations are not truncated; NameInput placeholder contrast raised. - FlatsChinese.txt: Preset, Setting, Value column headers. Evidence: tools/unity-validation/quality/ai-upgrade-20260926/ui (private). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- MenuTileFit (new, on MainMenuScreen): scales the authored tile grid down when the root canvas is narrower than the 640-unit span plus margins, so phone portrait and narrow 4:3 canvases show all six tiles instead of clipping the side columns. Tile positions and sizes stay authored; designSpan, margin and minimumScale are Inspector fields. - FlatsUserIcon (new): avatar reads fall back to the default icon and rewrite the file when Flats_UserIcon.png is missing, unreadable or under 128x128. Room creation, room join, the multiplayer page and the character screen no longer throw FileNotFoundException on a cleaned profile folder. - FlatsPreferences: duplicate keys in the isolated preference file no longer throw (last entry wins). - ModProfiles: File.Replace failure (cross-device or unsupported file system) falls back to copy so saving a mod profile cannot crash the game. - FlatsAtomicRecord: generation mode keeps the newest 8 generation files instead of growing without bound. Regression tests: Flats.Tests.EditMode PlatformIoHardeningTests (private overlay). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…on Web/iOS - ModuleManagementPage: in portrait canvases the design height is derived from the new portraitReferenceWidth (720) so the page fits its width instead of shrinking to the landscape height; landscape layout is unchanged. - Leaderboard, multiplayer result, player button, player detail and player name labels are FlatsLocalizedText with translate off: player data is never translated, but Chinese names now use the bundled Huninn font instead of the OS fallback. PlayerDetailPanel close button 30x30 -> 44x44. - FlatsStorageNotice: on WebGL and iOS the fatal notice shows how to leave without saving instead of a Quit button that cannot work there (new Chinese entry). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…gging - bundleVersion and module GameVersion 5.4.5 - What's New panel text (first run and update) with Chinese table entries - OnConnectionFail / OnDisconnectedFromPhoton log the cause and state so silent returns to the main menu can be diagnosed Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <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.5 release source into
main. The release is built fromd00e2d4; the tagv5.4.5is added once the release artifacts are verified.What changes for players
Validation (isolated clones of
d00e2d4)check_repository(5002 public files),check_source, workspace and YAML/GUID scans PASS.6b1b649;31c2b9c/d00e2d4add only version, What's New text and disconnect logging.🤖 Generated with Claude Code