World map+#1018
Open
sch0l0ka-hash wants to merge 35 commits into
Open
Conversation
- Introduced a new JSON file containing portal data for various locations in Guild Wars. - Each entry includes coordinates (x, y, z) and a model file ID for rendering. - Defined extents for each portal to facilitate rendering and interaction within the game environment.
This commit introduces a new JSON file, portal_all.json, which contains a comprehensive catalog of portals used by WorldMap+. The file includes linked and unlinked portals for various maps, with each portal defined by its index, global ID, coordinates, and linked portal IDs. This data structure is essential for accurately rendering portal locations on the map.
- Enhanced portal data by adding game_x and game_y coordinates for various portals. - Updated link IDs to maintain sequential integrity. - Ensured all portals have consistent data structure for improved functionality.
…ks.json and portal_live_cache.json
- Implemented a coroutine for fast-travel to the nearest unlocked outpost. - Added caching for fast-travel paths to improve performance. - Updated portal drawing logic to ensure accurate representation of paths. - Refactored distance calculations for better clarity and efficiency.
- Modified portal coordinates and extents in portal_live_cache.json for various maps. - Introduced new custom_placements.json file to define custom dungeon entrances with corresponding portal IDs and dungeon names.
…undant IsPath check; enhance travel queue management in WorldMap+ for improved hero loadout application.
…ovements; update portal data with new coordinates.
… memory Co-authored-by: Copilot <copilot@github.com>
- Introduced a new JSON file for map boundaries defining coordinates for various maps. - Implemented the WorldMap+ overlay script to render map boundaries and portal connections. - Enhanced the overlay with color coding for different map types and improved organization of code. - Established a cache for map boundaries to optimize performance.
- Added new map boundaries for additional maps in the JSON configuration. - Updated portal live cache with new extents and map rectangles for improved rendering. - Introduced new properties in the WorldMap+ overlay script to support additional map features and optimizations.
…ovements - Add portal editor with 3D in-game portal visualization (circles + labels) - Add Link/Unlink controls to edit portal_links.json directly from the UI - Add right-click context menu with reachability filter via GetPath check - Add Map Queue window and MoveToMapID navigation with path visualization - Add Show Experimental / Show Unconnected / Record Portals / Record Map Boundaries debug checkboxes - Throttle background pmap cache loader (2 maps per 33ms) with progress logging - Fix pmap scaling for maps without DAT entries using live Map.GetMapBoundaries each frame - Fix frames not showing for unconnected mission maps (82, 123, 124) - Move portal_live_cache.json to Sources/sch0l0ka/adapter/Worldmap+ - Update portal_links.json and map_boundaries.json with latest data Co-authored-by: Cursor <cursoragent@cursor.com>
Remove WorldMap+ old.py and WorldMap+Debug.py (not needed in PR) Remove portal_live_cache.json from Widgets location (moved to Sources/sch0l0ka/adapter/Worldmap+/) Revert AllAccounts.py to main version (hero slot fix is unrelated to WorldMap+) Co-authored-by: Cursor <cursoragent@cursor.com>
…e extended portal model IDs) Co-authored-by: Cursor <cursoragent@cursor.com>
…directly, not via facade) Co-authored-by: Cursor <cursoragent@cursor.com>
…outing code) Co-authored-by: Cursor <cursoragent@cursor.com>
…t via sys.path Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…(nav requires portal_links) Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…ns2=red, spawns3=yellow) Co-authored-by: Cursor <cursoragent@cursor.com>
…portal links) Co-authored-by: Cursor <cursoragent@cursor.com>
…uple) Co-authored-by: Cursor <cursoragent@cursor.com>
- Introduced a new dictionary for per-portal GID input for connection actions. - Updated the map data window to display portal information in a table format, including status, GID, linked map names, and input fields for unlinked portals. - Removed the previous spawn points drawing functionality from the overlay and data window, focusing on portal data instead.
- Added a new function `_make_move_exit_with_probe` to handle movement to portals with a probe-walk mechanism if the map does not load within a specified time. - Updated `MoveToMapID` and `MoveToMapIDCoords` functions to utilize the new probe-walk functionality instead of the previous movement method. - Enhanced logging for probe attempts and failures to improve debugging and user feedback.
- Introduced a caching mechanism for reachable maps to optimize pathfinding with the new `_get_reachable_maps` function. - Updated `_draw_pmap_for_map` to accept customizable fill colors for better visual representation. - Added route retry logic to handle movement failures, allowing for up to three retries before logging a failure. - Cleared the reachable maps cache when portal links change or when building the cache to ensure data accuracy. - Improved overlay drawing logic to visually indicate reachable groups on the map.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the WorldMap+ widget — an interactive overlay for the Guild Wars world map screen.
What it does
Draws colored frames and portal connection lines for all maps on the world map
Renders the internal pathing mesh (pmaps) of maps directly on the world map
Right-click any map to Move Here or Add to Queue for automated multi-stop travel
Portal Editor (debug) for recording and linking portal connections (Should not be used by anyone)
Current status
Fully working for Prophecies and Eye of the North. Other campaigns are in progress — portal coordinates still need to be recorded for those regions.