refactor!: Massive absolute coordinate migration - #9710
Conversation
|
Autofix has formatted code style violation in this PR. I edit commits locally (e.g: git, github desktop) and want to keep autofix
I do not want the automated commit
If you don't do this, your following commits will be based on the old commit, and cause MERGE CONFLICT. |
|
Attempting to read a map (subway maintenance) at z=-1 (subway station) resulted in segfault It does work on the surface at z=0. Not sure what caused it exactly. Might be related to wielding and dropping an item because its full? |
|
Created a world with multiple in-repo mods, like Arcana. |
|
Automove from the overmap while on foot is still borked btw |


















Ready for review, NOT ready for merge!
This needs a large amount of verification and play-testing, far exceeding nearly any other PR. This PR is almost entirely manually written and not automated. 90% of the code is actual mechanical changes in some way, or migration to a system that hasn't been battle tested. Scrutinize and be cautious.
Purpose of change (The Why)
Continuation of #9566
Describe the solution (The How)
Refactor pathfinding (depreciated legacy for simplicity)
Migrated a massive chunk of the code base to absolute coordinates
Implemented new simulated islands system to handle iterations, along with better usage of absolute tile lookups
Implemented better out-of-bubble handling for lighting and sound systems that are cheap simplifications of player relative mechanics
Made item location vectors more authoritative, removing position parameters where appropriate
Migrated a significant amount of activities to the modern activity_handler system to avoid wacky coordinate handling, especially with the vehicle activities
Re-enabled fire loading as a mechanic, and added vehicle footprint loading as well. This allows vehicles that intersect the reality bubble to load any submaps that it needs to be fully loaded and therefore allows them to be rendered. It is also optional.
Made temperature handling from weather and fire absolute. Turns out there wasn't anything special going on with that, and there was no reliance on the reality bubble caches.
Fixed outdoor / sheltered handling and cache construction
Testing
Rewrote many automated tests, alongside testing in a world with NPCs and monsters that existed in an area loaded by power portals
Additional context
This has been a fever dream. I'm asking everyone to pitch in to test this monster once it's stable enough to consider. I'm sure the first bit will have us noticing new bugs immediately.
Hopefully this gives us enough of a push that others can theoretically continue the work without my help. Not that I want to offload it, just feels like a good place to be.
I likely will be taking a bit of a break from this feature set and moving onto UI and compositing.
AI disclosure
I used deepseek-v4-flash as an assistant and helper for auditing. Not exactly impressed, tbh. But it worked well enough to help me keep track of stuff and helping me find potential bug sources.
I also used gpt-5.6 luna high. This PR took that long, that I casually swapped models. I used it more extensively, and some of the latest fixes are using AI code, hence the large comments by luna. I especially had issues with the item location vector issues, gonna be honest.
Warning
This touches a LOT of code, and does so in ways that are likely to lead to confusing outcomes at edge cases. We need a lot of testing. I do promise this has a payoff worth the effort.
Tester Checklist
I'll add a list of things that should be tested by multiple devs here.
Build Artifacts
PR build for commit b691364 (style(autofix.ci): automated formatting) on 2026-08-06 01:02:09