Megamap: the zoom button zooms on the hero and follows him
The zoom button never set the zoom point, so it zoomed on the last magnifier point (or 0,0). While the button's zoom is on, the point is put on the hero's map pixel every engine tick; the held mouse button still zooms on the mouse. game::UiWindow / UiWindowShown shared from windows.h. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
1d16fc65c4
commit
c7d54a6cfd
6 files changed
+98
-20
No files matched your search
+13
@@ -118,6 +118,19 @@ game lays them out at creation only).
|
||||
A window anchored `Screen` still counts as the outermost scope for events, so
|
||||
its child buttons (hooked as standalone controls, `Center`) don't shift again.
|
||||
|
||||
### Zoom on the hero (2026-10-25)
|
||||
|
||||
Reported: the zoomed view did not start centred on the hero. Read: the map
|
||||
zooms on its zoom point +0xc0438 / +0xc043c (screen) plus the scroll
|
||||
+0xc016c / +0xc0170 (render 0x6ca4d6). Holding the mouse button on the map
|
||||
(+0xc06bc, 0x6c8274) moves the point with the mouse (outside the zoom
|
||||
controls, 0x6ca47b); the zoom button (flag 0x100 in +0xc0154, 0x6c7fac)
|
||||
never sets it, so it zoomed on the last held point, or 0,0 after the map was
|
||||
created. Now, while the button zoom is on and the mouse is not held, every
|
||||
engine tick puts the point on the hero: map pixel by 0x6cb130 (thiscall
|
||||
(out, world x/y/level floats), ret 8; as opening the map centres on the hero,
|
||||
0x6c7bad..) minus the scroll. The held zoom still follows the mouse.
|
||||
|
||||
## Viewports (cursor in the quest book, 2026-10-17)
|
||||
|
||||
`SetViewport` inside a moved window is shifted like its vertices. The quest
|
||||
|
||||
Reference in new issue
Block a user