-
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
Overmap overhaul (step 5) #20003
Overmap overhaul (step 5) #20003
Conversation
Wow, that is awesome. Very good job. |
@@ -10099,13 +10099,12 @@ FFFFFFFFFFFFFFFFFFFFFFFF\n\ | |||
} | |||
} | |||
|
|||
int terrain_type_with_suffix_to_nesw_array( oter_id terrain_type, bool array[4] ); |
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.
Yuck, this isn't your fault or anything, but it's terrible. If you have a moment please move this prototype to a header file and include it instead of declaring it here.
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.
Done.
Added a description. All set. |
09de823
to
9bdfc1a
Compare
These aren't always highways connecting cities, so: - removing various versions of is_road(). - renaming and replacing cities with points.
Should the JSON API changes be announced in #19376?.. |
Done. Thanks. |
This commit has largely destroyed the mapgens ability to generate overmap specials that can rotate; which went a long way helping both towards fitting large specials that need specific requirements to spawn and creating less static and obviously modulated overmap regions. I question if the ability to have flush roads is worth the havoc it will cause to the immersion of the game. |
You must be doing something wrong because I'm getting rotated specials. |
Perhaps I should clarify. My own mod, PKs_rebalance, uses things like s_lot. The parking lot. Or the sai or small power station. Amoung other examples, the above are not capable of being rotated because the game explicitly checks for several separate extensions.
being examples. an s_lot does not have these extensions. Nor does anything I can add into the mod. Therefore, no special that includes an unrotatable terrain, which now require arbitrary tags to flag them as such, will be able to rotate for the reasons above. That means nothing with the coregame's < s_lot >, < field >, or anything made by a 3rd party mod can be used to rotate specials. |
That's a pretty specific example that certainly doesn't warrant the "havoc it will cause to the immersion of the game" overreaction. Make an issue, provide an example of how you used it and how you can't use it now. Maybe it's easier to solve than it sounds. |
A 'specific example' implies one or two cases. Ive listed 5 here, and have plenty of room to name more. The amount of censor placed upon the mapgen process quite literally robs mod maker's of a resource ... When something as prominent as a field tile or a forest tile cannot be included into a rotatable special, let alone any of the custom-made, non-hardcoded terrains, its a larger problem. |
Pisskop, you need to chill out your language.
From your descriprion, this breaks the hell out of your mod, I agree that's
a showstopper, we're definitely going to fix it, but you flying off the
handle just makes me less interested in helping you, not more.
Looks like the issue is caused by swapping om_direction::rotate() with
oter_t::get_rotated() in overmap::draw_overmap().
|
Continues #19518.
Closes #17638.
Closes #19635.
Fixes #19953.
Overview
In short, nice road connections become available:
....
Cemetery
FEMA Camp
Hazardous Waste Sarcophagus
Hospital
Hotel
Mall
Military Bunker
Motel
Office Tower
Prison
Public Works
Ranch Camp
School
Sewage Treatment Plant
Implementation details
oter_type_t
(see 62d62bc).JSON API changes
In
overmap_special
:overmaps
. Define"overmap": "road_..."
to make an adjoined road (sewer, ant tunnel e.t.c.) of your liking. Mention itspoint
inconnections
if you want to make a connection.terrain
can now be omitted inconnections
whenpoint
points to an overmap of the desired type.Example: