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
…s and a profile pane The Dungeonbook (key B, button in the top bar) lists the player's creatures and shows either a feed of what the minions post or the selected creature's profile in its right pane. The profile page is shared with the creature card (WindowCreatureProfilePage.layout, Creature::fillProfilePage). Friends and foes are cached per roster version, profile names are unique, the list is wide enough for full names, race and level, and the active tab caption is escaped so it is not parsed as markup. This commit replays the net change of the earlier Dungeonbook commits (feed and creature list, declared feed helpers, readable class names, profile pane inside the Dungeonbook, clickable friend and foe names, local visible flag for stacking rows, escaped tab caption, wider creature list) on top of the creature profile card.
closeTopWindow() is not part of this branch's base, so the Dungeonbook is shown on top of whatever is open instead of closing the other windows first.
… it is built on The button sits in the top bar next to the help button, the window is shown without closing other windows first, and the eating post is triggered by the chicken feeding message, which is not part of this branch.
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.
Adds the Dungeonbook, a window with a feed of minion posts, a creature list (with filter) and an inline profile pane. Opens with key B or a button in the top bar. Posts are kept in a local log with a size limit. Client-side events only; no gameplay, network or save game effect.
Stacked on #246 (feature/creature-profile-card), which carries its dependencies (#245, #237/#209, #194, #225, #162). Review this PR alone: compare of the 2 own commits.
Differences from the full integrated build (this base is smaller):
PostCategory::Eat) exists.The images come from the integrated build, which also has the HUD of #227 and later portrait PRs.
Verification: Release build of this branch; check_social_window.py (363 checks), check_social_data.py (4404 checks, 0 failures). Mario tested the integrated build in game.