Repository navigation
fix: apply persisted settings through the real game HUD - #8
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f1d9bf6ee8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| for key in ["fps_label", "fps_bg"]: | ||
| var control = _hud_ref(key) | ||
| if control != null and is_instance_valid(control): | ||
| control.visible = enabled and not is_mobile_layout |
There was a problem hiding this comment.
Export the FPS background from the fallback HUD
When GameHUD.tscn is unavailable and _create_ui() uses GameHudView.create_runtime_ui(), that fallback creates an fps_bg but omits it from the returned HUD map (GameHudView.gd:322-341). Consequently, a persisted show_performance_info=false setting hides only the FPS text while leaving its dark background bar visible. Return the background reference from the fallback implementation as well.
Useful? React with 👍 / 👎.
Restores the actual persisted-settings → Main → runtime HUD/event log path. The panel already saved settings and emitted settings_changed, but Main never consumed it. Startup now loads preferences, new HUDs/controllers apply them, and real checkbox signals update performance visibility and event log visibility immediately. Hiding logs preserves history. Refreshing the panel uses set_pressed_no_signal so opening it cannot overwrite another saved choice. Export missing HUD references and preserve the panel's 168px control height.
Base own Godot4.7 migration #7 head3b602f90c5f6525e0973ded2268f3a0ca7bcc9ba; headf1d9bf6ee8ca8020ac5bb844d71a93e2c27ac587. Seven-file independent repair, original dirty checkout untouched. No game rule, event effect, save codec/schema or model changes. low_effect_mode keeps its prior persisted-only behavior; no new performance preset is claimed.
The strengthened real-panel regression first failed on the old product (exit1, nine failures). Fixed SettingsAndResult passes34 checks; all12 active native runners pass with exit0 and no SCRIPT ERROR/ERROR. Every runner uses fresh APPDATA/LOCALAPPDATA, verified with the actual engine's user:// path before execution. Native 4.7.1 window1120x720 screenshots show the switches hiding/showing the FPS bar and event-mode log, complete controls/close button, marker PASS and no script errors. Generated import metadata was restored; screenshots and raw evidence remain local. No repeated unisolated user-data tests.
Merge this reviewed repair into the migration branch first, then compare the resulting runtime tree with the validated tree before promoting #7. Android templates/signing/export and long-session performance are outside this repair. The repository currently has no Actions checks, so local native results are not described as remote CI.