Skip to content
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

[Backrooms] Update to use indestructible terrain, whitelist and EXTERNAL_OPTIONs #74434

Merged
merged 5 commits into from
Jun 12, 2024

Conversation

Procyonae
Copy link
Contributor

@Procyonae Procyonae commented Jun 10, 2024

Summary

None

Purpose of change

Fixes #67321 (for backrooms, underlying C++ function could do with changing to one weighted int list entry per "default_oter" or something similarly moddable)

Describe the solution

Adds an indestructible border terrain for non z0 zlevels and replaces the normal layers with it
Makes floor terrains indestructible
Adds a whitelist
Adds EXTERNAL_OPTIONs to disable normal mapgen
Adds "extend" and "delete" behaviour for mapgen_extra's "flags"
Adds copy-from support for mapgen_extra's "color"
Adds connects_to to the floor terrains so the terrains with lights multitile with the non light versions

Describe alternatives you've considered

Testing

Game compiles and loads
Checked all map extras spawn as expected
Checked bashing terrains works as expected
Checked floor terrains multitile as expected

Additional context

@Procyonae Procyonae changed the title [ Backrooms ] Update to use indestructible terrain, whitelist and EXTERNAL_OPTIONs [Backrooms] Update to use indestructible terrain, whitelist and EXTERNAL_OPTIONs Jun 10, 2024
@Procyonae
Copy link
Contributor Author

@onura46 I'm adding you as a "reviewer" for Backrooms which means it'll ping you if someone has an open (non-draft) PR that touches the Backroom mod files because you're its maintainer, if you don't want that I'll remove it tho

@github-actions github-actions bot added [JSON] Changes (can be) made in JSON Mods Issues related to mods or modding Map / Mapgen Overmap, Mapgen, Map extras, Map display [C++] Changes (can be) made in C++. Previously named `Code` Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. Code: Tooling Tooling that is not part of the main game but is part of the repo. <Bugfix> This is a fix for a bug (or closes open issue) labels Jun 10, 2024
@onura46
Copy link
Contributor

onura46 commented Jun 10, 2024

@onura46 I'm adding you as a "reviewer" for Backrooms which means it'll ping you if someone has an open (non-draft) PR that touches the Backroom mod files because you're its maintainer, if you don't want that I'll remove it tho

I'll have a look at this as soon as I can. Probably tonight. Thanks for the ping and the PR ❤️

@github-actions github-actions bot added astyled astyled PR, label is assigned by github actions json-styled JSON lint passed, label assigned by github actions labels Jun 10, 2024
Cities being disabled by external option means this no longer does anything
@github-actions github-actions bot added <Documentation> Design documents, internal info, guides and help. [Markdown] Markdown issues and PRs BasicBuildPassed This PR builds correctly, label assigned by github actions labels Jun 10, 2024
@onura46
Copy link
Contributor

onura46 commented Jun 12, 2024

Apologies for the delay. Works great for me! Really elegant way of cleaning up some of the Backrooms' idiosyncratic code, and paving the way for similar things in the future.

Btw, do these additions to mapgen options need to be written up in documentation?

@Procyonae
Copy link
Contributor Author

Procyonae commented Jun 12, 2024

Btw, do these additions to mapgen options need to be written up in documentation?

The map extra color + flag thing? They only affect inheritance which you'd think would have decent documentation but all we currently have is the nigh useless https://github.com/CleverRaven/Cataclysm-DDA/blob/master/doc/JSON_INHERITANCE.md. I'd be down to write some proper per type inheritance documentation at some point it just takes quite a bit of digging to see how everything works.
Edit: Actually that's an awful excuse I'ma start writing proper docs for it now (not in this PR)

@Maleclypse Maleclypse merged commit 1fb61c1 into CleverRaven:master Jun 12, 2024
22 of 27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions <Bugfix> This is a fix for a bug (or closes open issue) [C++] Changes (can be) made in C++. Previously named `Code` Code: Tooling Tooling that is not part of the main game but is part of the repo. <Documentation> Design documents, internal info, guides and help. Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions Map / Mapgen Overmap, Mapgen, Map extras, Map display [Markdown] Markdown issues and PRs Mods Issues related to mods or modding
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Backrooms: Bashing a door frame will cause dirt to appear
3 participants