-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Toggle to Only Draw Overmap During Autotravel #76017
Conversation
To confirm, the only changes are that the map is not drawn during fast travel? The simulation is still fully running? And could you provide flame graphs / call stacks of before / after? When I've profiled overmap travel before, most of the time was spent in |
-moves overmap UI parameters to data struct (kept in game object for now) or to uistate -importantly, of those parameters: the ui adaptor, which can be preserved over do_turn() - cursor+PC follows along omt path
d734106
to
958a7d6
Compare
Yes, this change was a suggestion by kevin for improving autotravel speed in #75600. It isn't actually fast travel, it is solely to cut back on draw time. If we want a different name or keybind, feel free to post ideas. For the same path traveled by car: |
I don't know if it would be possible but what about a message when you auto travel? Something like:
That way it doesn't need a new keybind. |
I considered a dialogue option upon autotraveling, but figured it would be annoying if you didn't set it permanently. And if you did, there'd have to be an option somewhere else to reset Always/Never. I think the keybind's fine, just the key specifically ('x') was what I was unsure about. Anyways, this PR is ready for review. |
Ah, the blame's on me for not looking at the screenshot close enough. I thought it was a separate button that replaced the auto travel button. |
Summary
Interface "toggle to only draw overmap during autotravel"
Purpose of change
Alternative to #75600, see that issue
Describe the solution
Separates the overmap UI from its static function by making a singleton
overmap_data
held in the game object. By doing this, we can draw the overmap UI e.g. over multiple game turns. This was bound to a toggle key on the overmap, so we can do this while autotraveling:The time save is significant. For roughly 110 OMTs' uninterrupted drive in a 4x4, the following data was gathered:
...and then on foot following the same path,
Other Notes:
Describe alternatives you've considered
See original issue
Testing
In addition to the basic tests in the tables above:
Additional context
Drafted until clang runs and tests run locally