Skip to content

Animate creature drops and recovery with held-button batch release - #171

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

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

Conversation

@Rokk001

@Rokk001 Rokk001 commented Sep 27, 2026 •

Copy link
Copy Markdown

Keep short-click front-entry dropping and add a held-right-button release of all held creatures, with server validation of the complete batch, visible falling, grounded poses and recovery; preserve editor input and non-creature hand entries.

Based on #160, #226 and its published prerequisites. The default comparison is cumulative (50 commits); this contribution adds one focused functional commit plus an upstream integration merge. Merge prerequisites separately and recheck the remaining diff before merging.

Contribution-only comparison.

Validation: The original source-derived protocol and input probes passed 233 and 10 checks, with 378 real-Ogre lifecycle checks across all configured creatures; the user accepted the complete in-game behavior and the fork Release build passed; all seven changed translation units pass fresh MSVC syntax/type checking in the isolated contribution.

Limits: no new full-game or multiplayer run is claimed; no new Linux build was performed. Native regression reruns are currently blocked by Windows application-control policy; historical native results above are not claimed as fresh runs.

Issue coverage: Contributes to #8 and #6 for this bounded drop/recovery interaction, without claiming either issue fully resolved.

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.

Upstream integration: the branch also includes the current default branch. The accepted HUD grid and bounded spell progress bars are preserved, and the upstream community-panel widget is retained. XML structure/non-overlap checks and fresh syntax/type compilation of all three affected translation units pass. The contribution-only link above still selects the functional commit, excluding this merge.


Supersedes #119, 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)
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.
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.
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 added a commit to Rokk001/OpenDungeonsPlus that referenced this pull request Sep 29, 2026
The merge commits c58f317 (in tomluchowski#184) and 6c919da (in tomluchowski#173), both named
"Replace creature indicator prerequisite with corrected assembly"
(2026-09-21), replace source/entities/Creature.cpp in their PR branches
with an assembled version and thereby drop code of other features. Like
the trim commit c28f93d of tomluchowski#218 they only cut the pull request to size
and are not content decisions, so their deletions are not taken over.
When tomluchowski#173 (step 63) and tomluchowski#184 (step 64) were merged, Git applied these
deletions without a conflict.

Restored in source/entities/Creature.cpp, in the version of
full-build-h1-h7, which matches the PR branches that still contain it
(e.g. tomluchowski#176, tomluchowski#177, tomluchowski#179, tomluchowski#203):
- exportToStream()/doUpkeep(): only creature particle effects are saved,
  timed non-creature effects expire (upstream 00011b8 "Add worker
  creation effect", PR tomluchowski#109)
- addParticleEffect() (same origin)
- doUpkeep(): get-up animation after knock-out (tomluchowski#171, 6c2ec11)
- useAttack(): face creature targets, ranged and melee attack animations
  (tomluchowski#176, 80c42b2)
- fireCombatImpact() (tomluchowski#176, 80c42b2) and fireChickenFeeding() (tomluchowski#177,
  7efafff)
- setDestination() and checkWalkPathValid(bool) with the room object
  check, plus the RoomObjectNavigation include (tomluchowski#179, 8c48b90)

Without these definitions Creature.h declared functions that
Creature.cpp no longer defined.

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