Change: Increase house type limit to 4096. #12288
Open
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.
Motivation / Problem
The house limit of 512 is quite arbitrary and can be reached quite easily. There is plenty of free bits available to houses in the map array to increase this limit.
Description
Increase the house type limit to 4096, moving map storing from 9 bits of m4+m3[6] to 12 bits of m8.
This requires a savegame bump for map conversion.
Built on top of #12287 which makes HouseSpec allocation dynamic.
Limitations
Variable 0x66 stores the local id in 8 bits, so any local id higher than 0xFF will be indistinguishable from 0xFF.
Why limit to 4096? No particular reason, 65535 would also be fine, using all of m8.
Checklist for review
Some things are not automated, and forgotten often. This list is a reminder for the reviewers.