Client Systems & Python UI
Metin2 return-scroll tooltip: atlas preview with isolated image loading
M2City Client · Editorial · Published 2026-11-05 · Branch-specific details should be checked against your own source.
Shows an atlas image and an animated destination marker inside the tooltip for a memorized-position return scroll. It uses the existing return-scroll tooltip coordinates and map atlas assets. It does not add teleport permissions, a new scroll item type or missing atlas textures.
M2City r1 changes
The supplied integration changed the global wndMgr.LoadImage contract from raising on a missing image to returning False. That could silently change failure handling in unrelated UI windows. The reviewed integration leaves the existing LoadImage function and registration unchanged and adds a separate TryLoadImage function used only by this preview. Merge its native registration and Python wrapper together.
The atlas and waypoint are marked not_pick. A marker is added only for the matching map name, positive map dimensions and coordinates inside the map bounds. Marker positions are converted to integers. The broad bare exception handler was narrowed to Exception. A missing atlas displays the supplied fallback text instead of adding unfinished child images.
Branch requirements and merge
Merge ENABLE_MAP_PREVIEW_SCROLL and its Python export, the independent wndMgr.TryLoadImage function/method-table entry, ImageBox.TryLoadImage and background.GlobalPositionToGetSize. Confirm your ExpandedImageBox inherits ImageBox, or explicitly add the wrapper in its actual class. Keep the existing LoadImage body untouched.
Merge AppendMapPreviewWithWaypoint at the existing return-scroll tooltip call site. Provide the matching d:/ymir work/ui/atlas/<map>/atlas.sub and the twelve mini_waypoint frames from your authorized client assets; they are not included in this archive. Preserve the tooltip childrenList cleanup. Replace NO_MAP_PREVIEW with an appropriate locale key if desired.
The retained coordinate formula assumes 25600 world units per terrain tile and consistent atlas dimensions. Verify GetWidth/GetHeight after SetScale in your actual client, local/global coordinate offsets and non-square maps. This review does not invent a different tile scale for every fork.
Validation and credit
All seven supplied source/instruction files were read, and the EREMIT STUDIO README is retained. No exact public upstream version was independently established. Fake-image tests cover a centered marker, missing atlas, out-of-bounds coordinates, mismatched map, zero dimensions, decorative flags and retained children. Native bindings follow the Python 2.7 C-API boolean return conventions, but the native module and full client were not built. Original archive and reviewed instructions are both included; apply reviewed/ rather than the original global LoadImage replacement.
Python 2.7 boolean return reference
Editorial resource — M2City
Version: Legacy integration fragments; exact fork unspecified; M2City r1 (2026-11-04)
Rights: Public redistribution confirmed by owner; upstream notices retained. No blanket open-source relicensing.
Validation: Revised Python preview helper passed fake-image tests for successful centered marker, missing atlas, out-of-bounds coordinates, mismatched map, zero sizes, decorative flags and retained children. Existing LoadImage is preserved; new TryLoadImage binding follows Python 2.7 C-API reference, but native module/full client were not built. GetWidth/GetHeight scaling behavior still needs the actual fork.
Source: Owner-supplied source; public creator/feature reference where established
SHA-256: 79ce58a37fb2e2cca29f33ccf528eb7e23ec28b318f176c3d145e232c269936d
Download package
3 download options · Sign in to download
metin2-return-scroll-map-preview-m2city-r1.zipM2City downloadmetin2-return-scroll-map-preview-m2city-r1.zipGoogle Drive mirrormetin2-return-scroll-map-preview-m2city-r1.zipMEGA mirrorMAKE THE NEXT ANSWER BETTER
What happened on your build?
Share a small example, the exact error and how you verified your fix. The discussion is open on the forum.
Need a scoped quest, UI or proto fix? · Explore more development guides · Check your proto files free