Skip to content

Show a construction hammer with aligned strikes - #181

Open
Rokk001 wants to merge 73 commits into
tomluchowski:shaders-improvementfrom
Rokk001:pr/construction-hammer-2026-09
Open

Rokk001 wants to merge 73 commits into
tomluchowski:shaders-improvementfrom
Rokk001:pr/construction-hammer-2026-09

Conversation

@Rokk001

@Rokk001 Rokk001 commented Sep 27, 2026 •

Copy link
Copy Markdown

Show a construction hammer for room, trap and door placement. Use the actual striking-face axis, keep the visible left end on the tile-selection cursor, and reuse the digging hand angle, movement and duration frame for frame. Rejected treasury clicks now show failure without playing a hammer strike.

Prerequisites: #179 and #226. GitHub's comparison remains cumulative until those prerequisites merge; merge them separately and recheck the remaining diff.

Contribution-only comparison.

Validation: the isolated real-asset fixture compiled on the preceding head; the merged dependent branch passed 3,478 renderer checks, the complete fork passed 4,189 checks, and the user accepted the final hammer angle, cursor and strike in game. The earlier branch-specific renderer executable was Windows-blocked. The current head passes all 745 input/dispatch checks, including rejected treasury clicks (five failures before); the user subsequently confirmed successful in-game retests of the latest click-feedback correction.

Issue coverage: completes the accepted construction-hammer follow-up from #226 and contributes bounded hand feedback toward #6 and rejected-construction feedback toward #4 without closing either broader issue.

README describes the shared strike; no release-version, save/network or placement-rule change is required.


Supersedes #129, closed and force-pushed by mistake; recreated with the same content and cleaned-up commit trailers.

Rokk001 and others added 30 commits September 7, 2026 00:29
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)
No version, README or changelog change is required; gameplay values and save/packet layouts are unchanged.
No version or README change is required by the accepted implementation; room construction controls and gameplay rules remain unchanged.
The accepted implementation retains the current release version and existing single-drop packet layout; the new batch request requires matching endpoints, and no new release is claimed.
The README documents production access and reordering; save ordering remains supplied by tomluchowski#100 and new messages require matching endpoints, without a new release-version claim.
The README documents progression; the application/network version changes to 0.7.2 and both endpoints must match; 0.7.1 saved maps remain loadable, while older network replays are incompatible.
Include the upstream community panel and worker effect; retain the existing non-overlapping HUD grid and bounded spell progress bars.
XML structure, geometry and changed C++ syntax/type checks pass.
No additional version or README change is required.
Include the upstream community panel and worker effect; retain the existing non-overlapping HUD grid and bounded spell progress bars.
XML structure, geometry and changed C++ syntax/type checks pass.
No additional version or README change is required.
Keep the accepted grip angle and strike animation while using the visible left blade tip as the tile-selection hotspot. No version, README or changelog change is required because this completes the existing unreleased hand contribution without changing controls or data formats.
# Conflicts:
#	source/render/RenderManager.cpp
Use the actual striking-face axis, retain the accepted left-end cursor hotspot and reuse the digging wrist animation frame for frame. The README now describes the shared movement; no version or changelog change is required because this completes an unreleased visual feature without changing controls or data formats.
This packages the accepted implementation without private development notes. No release version or changelog change is required for this unreleased contribution.
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.
@Rokk001

Rokk001 commented Sep 27, 2026

Copy link
Copy Markdown
Author

Comment from the original #129 by @Rokk001 (source):

Fixed rejected treasury clicks in 897332cb: no false build-success message or hammer strike when no tile is buildable; all 745 input/dispatch checks pass on this PR head, with the latest in-game retest still pending.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants