Repository navigation
Conversation
Embed per-monitor DPI awareness and maintain the verified OGRE 13.6.5 renderer patch required for context-safe window replacement, runtime GL options and correct fullscreen client geometry. Validation: clean Release build, DPI and 3440x1440 fullscreen probes, three GL3Plus variants and the patch reverse check passed; version 0.7.1 remains unchanged because this is unreleased work and the project has no changelog.
Apply display, input, audio, gameplay, minimap, shadow and negotiated nickname changes to the running session while preserving rollback for failed window or input transitions and keeping the 3440x1440 navigation visible. Validation: clean Release and Debug builds, packet tests, DPI, layout and GL3Plus probes passed; the user confirmed the reported resolution, fullscreen, cursor, flicker and navigation failures are fixed. Version 0.7.1 remains unchanged because this is unreleased work and the project has no changelog.
The spells tab put its ten buttons in a single row of 60 pixel squares running out to x=700. The pane they live in is the window width minus the 200 pixels of minimap, so at the 800 wide minimum window it is 600 pixels across, and the last two spells, Weakness and the Eye of Evil, hung past its right edge where they could be neither seen nor clicked. Only a window at least 900 wide showed the whole row, and nothing said so. The rooms tab solved the same problem long ago: two rows of 40 pixel buttons. The spells tab now uses the same shape, five spells to a row, ending at x=300 with room to spare at any size the game accepts. The cooldown bar inside each button now covers exactly its button too, instead of overhanging 20 pixels on both sides, which with narrower buttons would have bled half way across the neighbours. The rooms tab had the tail of the same bug: the temple and portal buttons the editor uses sat at x=570 to 690, past the same edge. They join the end of the second row instead. (cherry picked from commit 10db1cb)
Remove depleted fills and borders while preserving surviving health segments and the centre. Update player guidance and add the 200-check texture regression. No release version or protocol change is needed; the existing PR documents this unreleased feature correction.
# Conflicts: # source/entities/Creature.cpp
Replace the hardcoded dependency, Python and Visual Studio locations in the Windows scripts with a shared windows-paths.ps1. The defaults derive from the current user profile and can be overridden with OD_DEPS_ROOT, OD_PYTHON_ROOT and OD_VS_PATH.
Replace the auto declarations introduced by this branch with explicit types, as requested in issue tomluchowski#42 and required by CLAUDE.md. No behavioural change.
Replace the auto declarations introduced by this branch with explicit types, as requested in issue tomluchowski#42 and required by CLAUDE.md. No behavioural change.
Replace the auto declarations introduced by this branch with explicit types, as requested in issue tomluchowski#42 and required by the project coding guidelines. No behavioural change.
The middle button rotates the camera and, on press, also opened the stats window of the creature under the pointer. Rotating over creatures therefore opened windows the player never asked for. The window now opens when the button is released without the pointer having moved more than a few pixels; a middle drag only rotates. Also explain the KO checkbox in the player settings with a tooltip.
The creature and tile info windows were built in code with a fixed 380 x 400 pixel size that was never scaled while the fonts were, so the text was huge and cut off. They are now loaded from the new gui/WindowStats.layout through Gui::createInfoWindow() and registered for UI scaling like every other layout: fixed 540 x 490 layout units, centred, not resizable (moving and closing stay), text top aligned and word wrapped, body text in MedievalSharp-8 and headings in MedievalSharp-10. A creature lists its next four destinations and the total count, so the text fits the fixed window. Check: source/tests/check_info_window.py (no sizing, fixed size, body font, formatting, both entities use the layout). Depends on the GUI scaling (tomluchowski#209) for Gui::registerWindowHierarchy().
…iles Adds source/social with a line based data loader (SocialData), a deterministic profile generator (SocialGenerator, FNV-1a-64 of the creature name, own splitmix64 generator with one stream per field) and the data files config/social-names.cfg and config/social-texts.cfg covering all creature classes. Nothing calls the generator yet, there is no network or save change and no gameplay effect. Also adds ConfigManager::getConfigPath(), a Boost unit test (determinism, empty fields, golden names, slots, fallbacks) and check_social_data.py (class to name group mapping, data file sanity, forbidden includes in source/social).
… not repeat card fields
…ofile-card # Conflicts: # source/modes/GameMode.cpp
…profile-card # Conflicts: # source/modes/GameMode.cpp
…ics on a second page
…es, fitting rows, bar labels and a selected tab
This branch has not been deployed
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.
The middle-click creature card becomes the creature's profile: the photo is the cached creature portrait, the text is the deterministic profile from #245 (name, handle, job, age, relationship, origin, quote, likes, dislikes, friends, foe, status). The previous information (statistics) stays reachable on a second page of the card. Window size, position and closing behaviour are unchanged.
Dependencies (this PR is stacked, the default comparison includes them):
Gui::registerWindowHierarchy.render/CreaturePortrait.h; only Add creature population portraits, filters and inspection #225 adds it to the game target (it contains the same CreaturePortrait files as Add a standalone creature portrait exporter #220).hasProgressInformation()/getExperienceProgress().Review this PR alone: compare of the 3 own commits.
The first image is the middle-click card in game. It was taken during testing, before the final fix in this PR (the card now shows profile names for friends and foes instead of internal names such as "Rat14"; that fix is included in this PR). The two images above were taken in the integrated build and show the same profile rendering inside the Dungeonbook window of the follow-up PR; the card uses the same layout.
Verification: Release build of this branch (needed #162 and #225 as listed above; the build fails without them); source/tests/check_creature_profile_card.py and check_info_window.py pass. Mario tested the integrated build in game. No gameplay, network or save game effect: profiles are computed client-side and deterministically.