Version 1.1.0 and VGAtlas Released
This update focuses on:
- Richer item descriptions and interaction
- JSON data updates
- Better visual signaling
- Improved diagnostics
- Significant performance and data-pipeline improvements
- Fully featured web version (VGAtlas). No install—just upload your save file.
- Github Source Code and assets
- Bug fixes
Version 1.0 of the entire codebase had ~11,500 CLOC lines of hand-written code, comments, and documentation. This version adds another ~4,000 plus another ~7,750 for (VGAtlas).
JSON Data Updates
This update adds the following to the data sets:
- Updated metadata on 100 curios
- Added 30 new curios
So it turns out I’m completely oblivious and the Completionist Map mod already did all the work of linking the icons to save values, so in my next version I’ll be integrating their data. Unfortunately this means progress tracking isn’t quite usable yet, even though it is implemented. But it’s almost there.
Item Links in Descriptions
Item descriptions (both in the sidebar and the search window) now support **clickable links to other items**. Linked items can be clicked or activated directly from the description, with selected-item history preserved for forward/back navigation.
Cursor Color: Click, Previous Item, Next Item
Each link can display the following information:
Link Metadata
- Item title
- Flags — shown as prefixes before the title and changes the link color
- NOT (red) — This curio must NOT be true for its list to succeed
- STARTED (teal) — The curio only needs to be started, not completed (E.g. a Quest)
- RECOMMENDED (plum) — Optional; not strictly required
- Progress counts
- Shows amount gathered vs. amount required
- Most useful for stores, but also applies to quests and wishes
Completion Indicators
- Solid strikethrough — Item has been completed or found
- Wavy strikethrough — Item has a “STARTED” flag and has been started
Warning Labels
- Important or critical information is marked with animated warning highlights
[Note: These screenshots are unaltered, but the item metadata shown is fabricated for demonstration purposes**]**
The Chain System links now also appear on their targets. New item properties include “Unlocks” and “Acquired From”.
Live-Compiled JSON Data Files
All JSON data files are now compiled live from a database hosted on my domain. This allows faster iteration, easier corrections, and consistent data across versions.
Data Endpoints
New Error Logging & Sharing System
Errors generated by the mod are now written to “PAtlas-Error.log” (enabled by default; optional via config).
Key Features
- Logs can be uploaded directly from the configuration screen to help diagnose issues
- Duplicate errors are throttled to prevent log spam
- When running in debug mode (self-compiled), an additional debug log is generated
Web versions of Pharloom Atlas and mod pages and Github
I’m also happy to announce VGAtlas, the web version of Pharloom Atlas. It is feature-complete against the Mod version. After I get the data integrated from Completionist Map, you’ll be able to upload your save files to see what you’ve missed without the need to install a mod.
I plan on turning VGAtlas into a system that can handle any metroid-vania both inside and outside said games with more features than mapgenie.
I’ve also added mirrors of my mod pages here. And the Github is now live!
What’s Left
All that’s left really is finishing the Chain System, which includes:
- Combining Requirements, Needs, and Rewards into 1 set (I realized this one last minute right as I was preparing for the version release... and it’s going to be a doozy updating the data set)
- Detecting the state of Static Link chain items.
- So while all inter-curio-linking is complete for navigation, they aren’t yet ready for determining which curio icons to show.
- Hiding icons until an area is mapped
- Hiding icons until they are accessible
- Integrating the data provided by Completionist Map
Most of this is functionally complete, but development is temporarily paused while I look for work. If anyone is in need of a Senior Full Stack developer, please reach out.
This is compounded by the fact that only ~29% of the database is currently filled in, and I still need to better distinguish needs vs. requirements.
Unfortunately, additional planned features (see “Planned poll options” on the main page) are also on hold. I had originally planned to tie them to endorsement goals, but was informed Nexus Mods does not allow this, and interest has been lower than expected.
Other Updates
UI
- Sidebar and Search
- Added ItemID after Title
- Exact ID matches are now prioritized in search results
- Search is now internationalization-compatible (legacy Unity i18n tables). Example matches:
- t̲h̷ē q̇ůïčk̄ b̂r̈őw̃n̄ ḟőx̄ j̇ům̈p̌s̄ ōv̇ër̄ t̲h̷ē l̲a̋z̈ȳ ḋo̊g
- The quick brown fox jumps over the lazy doG
- External Links (e.g. IGN)
- Generalized beyond IGN-only
- Removed from search results
- URLs now open correctly via the OS
- Renamed item description section “Tip” → “Tips”
- Map
- Switching between selected items now has an animated pan
- Translations
- Added Korean language (not sure how I missed that one originally)
- Translation updates across multiple languages
- Added translation support for help window controller / numpad text
- Only Japanese currently translated (requires layout by hand)
- Added config option: Hornet Rainbow 1 Angle
- Modified default: Hornet Rainbow 1 Scale
- Changed all Nexus Mods bbcode formatted AboutMe files into Visual Studio markdown format (HTML included in zip files)
Performance & Technical Improvements
- Primary JSON file size reduced by ~33% via compaction
- Label link detection now uses GPU shaders instead of CPU, significantly improving performance
- Removed several cases of CPU-bound Texture2D usage in favor of GPU-resident data
- Reduced resource usage during search operations
- Generalized Image and External Link URL rewrites via regex from Misc.json
- 50+ additional minor optimizations and internal improvements
Bug Fixes
- Visual
- Fixed window priority ordering so SilkDev “Extract Sprites” labels render above rectangles
- Mostly fixed item locations being slightly off due to a weird location skew. They’ll become even more precise once I finish mapping the save values.
- Search Window
- Fixed search box focus issues (including auto-focus when made visible)
- HTML tags are no longer parsed or colored
- Item parts no longer merged, creating possible false search hits
- “Description:” title no longer shown when text is absent
- Title and Category are now properly rich-escaped in both search and display
- Exceptions
- Fixed a bug causing excessive exceptions when right-clicking to place a marker when none available
- Native Silksong exceptions may still occur but are harmless
- Fixed null exception from failed mapgenie image downloads when object is Released
- Fixed rare bug caused by GameMap being lost on game reload
- Fixed rare bug in HornetIconAnimators on game reload
- Other
- Fixed potential texture leaks via debug GC routines
- Fixed “hasMarker” being grouped with “hasMarker_*”
- Fixed multiple culture-invariant regex issues
- Added UTF16/Unicode hardening against conflicting characters
As always, feedback and bug reports are appreciated.