-
Notifications
You must be signed in to change notification settings - Fork 478
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
Reenable infiniteSky
#5029
base: develop
Are you sure you want to change the base?
Reenable infiniteSky
#5029
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you add a line to the New Tools section in docs/changelog.txt
? It should look like this: https://github.com/DFHack/dfhack/blob/develop/docs/changelog.txt#L199
Also, please edit docs/plugins/infiniteSky.rst
and replace the dfhack-tool
attributes with these lines:
:summary: Automatically allocate new z-levels of sky.
:tags: fort auto design map
Finally, in a separate PR, please feel free to add your name to docs/about/Authors.rst
!
It looks like infiniteSky needs to be brought up to code standards before it is included in a release. For example, it needs to persist its enabled state and restore it when the fort is reloaded. It also needs to be registered with the control panel so it shows up for players in the tool list. None of this is particularly difficult (and there are good examples to copy/follow), but it will take time and may be more than you want to tackle at this point. If you'd like to dig deeper, I can walk you through it. Otherwise, I can do a pass after this PR is merged.
It also looks like some of the existing logic is incorrect. The "new construction scanning" in plugin_onupdate
doesn't actually scan new constructions. New constructions are inserted sorted, not appended to the end of the vector. Therefore, infiniteSky
may not add levels when it should. (it would work if the z coordinate were the primary sorting value, but for some reason, the x coordinate is the primary sorting value. why? why?)
I suspect this plugin would be better off responding to the |
This should allow infiniteSky to generate usable tiles in newer DF versions. The bug involving cave-ins removing z-levels appears to still be present, but to my knowledge the old workaround of saving/loading should still work.
As a allocating a new
df::map_block
and adding it to the map seemed to be the solution, there is a possibility of some data being lost for new tiles. For now the following data should be preserved:Fixes: #2606
Fixes: #3835