Skip to content

Add interruptible wristwatch and yo-yo hand effects - #182

Open
Rokk001 wants to merge 86 commits into
tomluchowski:shaders-improvementfrom
Rokk001:pr/idle-hand-2026-09
Open

Rokk001 wants to merge 86 commits into
tomluchowski:shaders-improvementfrom
Rokk001:pr/idle-hand-2026-09

Conversation

@Rokk001

@Rokk001 Rokk001 commented Sep 27, 2026 •

Copy link
Copy Markdown

After thirty seconds without input, randomly play a wristwatch or yo-yo effect; cancel immediately on input and restore the selected hand/tool context, with pause, modal, focus and held-input guards. Both effects retain the normal empty-hand wrist angle, and the index finger flexes and releases with all three yo-yo return cycles.

Prerequisites: #181, #162 and #167. GitHub's comparison remains cumulative until those prerequisites merge; merge them separately and recheck the remaining diff.

Contribution-only comparison.

Validation: real hand/asset checks pass 3,478 assertions and timer/input checks pass 2,125 assertions on the updated branch. The user accepted the final hand angle and yo-yo finger motion in game; no fresh full-game, multiplayer or Linux run is claimed.

Issue coverage: completes the accepted idle-hand follow-up from #226; no broad issue is automatically closed.

README describes the final effects and cancellation; no dependency, save/network or release-version change is required.


Supersedes #130, 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)
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.
# Conflicts:
#	source/render/RenderManager.cpp
Retain the normal empty-hand wrist angle for both effects and synchronize the index-finger flex with all three yo-yo return cycles. The README now records the completed behavior; no version or changelog change is required because this refines an unreleased visual feature without changing controls or data formats.
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.
…tion

rrCancelIdleHandAnimation() realigned the hand without the pickaxe, so
after an idle animation was cut short in the dig pose the pickaxe tip no
longer sat on the pointer until the next pose change. Pass mHandPickaxe
like the per-frame alignment in updateRenderAnimations() already does.
@Rokk001
Rokk001 force-pushed the pr/idle-hand-2026-09 branch from 828749d to 55d06ab Compare September 30, 2026 05:00

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