Skip to content

Upstream merge again#452

Merged
PsyCommando merged 345 commits intoPersistentSS13:devfrom
PsyCommando:upstream-merge-again
Apr 13, 2023
Merged

Upstream merge again#452
PsyCommando merged 345 commits intoPersistentSS13:devfrom
PsyCommando:upstream-merge-again

Conversation

@PsyCommando
Copy link
Collaborator

Description of changes

  • Merged in the level_data PR and etc that was missing downstream.
  • Made the main map levels load via map templates so it's future proof, and doesn't rely on something thrown together that we'll have to constantly fix like the default level loading list.
  • Added a DB column to the z-level table so we know the level_data type for a given saved level. This is necessary because we're currently still relying on planet map gen being part of the overmap marker. So while that's being phased out upstream we have to have loaded level_data init incredibly early because the overmap object inits early.
  • Changed partly how z-levels are reloaded from save.
  • Now, not only levels in the SSmapping.station_level list can be marked as saved. Everything in the SSmapping.player_levels list is checked whether it should save or not. That makes a lot more sense considering station_levels is used for a bunch of other unrelated things that we may not want all our saved levels to be subjected to..

(Also, just a little sidenote, but, I think eventually the whole "dynamic" levels stuff will need to be revisited, because it's going to cause problem in it's current state. One of the bigger issues is that SSpersistence works in parallel with SSmapping when setting up levels, when they probably should cooperate more. Especially regarding dynamically loaded z-levels.)

NebulaSS13Bot and others added 30 commits January 24, 2023 00:45
Fix strata spawning in unsuitable environments
Make close_uis (and datum/Destroy) faster during init
Remove redundant sector name from navpoint names
Fix BLOCK_HEAD_HAIR making hair bald instead of short
Fix closets that start open containing objects
Pass holder instead of my_atom and metabolism_class
Fix data and arguments for on_leaving_metabolism
Add testing for + fix away site pipe leaks
Fix material processors breaking on (shuttle) move
Fix runtime from invalid explosion_act severity
@PsyCommando PsyCommando added 💾 serialization A bug or feature linked to serialization/deserialization 🌌 Map/Map Gen Things related to maps, map generation, layouts, etc.. 💦 port/upstream merge Anything ported from another codebase, or merges from the upstream repo. labels Mar 30, 2023
@PsyCommando PsyCommando added this to the Outreach Map Pre-Release milestone Mar 30, 2023
@PsyCommando PsyCommando self-assigned this Mar 30, 2023
* Added /datum/map_template/persistent for handling map templates that are saved and shouldn't be loaded again when a save is detected.
@PsyCommando PsyCommando force-pushed the upstream-merge-again branch 4 times, most recently from eb0987f to 8379907 Compare March 31, 2023 20:57
* Fill all the border edges with a filler turf, since they're gonna get replaced at runtime with the right turf.
* Defined the level data to use the automated transition border system.
* Tweak kleibkhar map transition borders
* Give names to level_data_spawner and etc
Unit test shouldn't load map again

* Unit tests would load "main sites" again when spawning templates for testing.
* Moved build_main_sites proc.

Fixed level loading/saving

* Changed the algorithm assigning z-levels on load to fill-in the unused z-level gaps after load with "dynamic" levels.
* Saves level_data types for each z-levels in the z-level map so they can be properly setup on load. (This wouldn't be needed on the latest iteration of the exoplanet pr, but since we're still generating planets inside overmap markers, we have to do this)
* For the time being uses the player_level list to grab z-levels to order post-load. Since using station levels was just not a viable way of doing this.
* Updated unit test for extra text2path.
* Updated sql scripts to generate the new column in the zlevel table.
* Fixed random_maps forcefully changing a level's base turf for no reasons.
* Extra comments
SaveExists() shouldn't crash in case of no db connections, since it's a query from a subsystem and not directly trying to access the DB. It also prevents us from determining what to load on startup.
@PsyCommando PsyCommando force-pushed the upstream-merge-again branch from 1dfdeba to a091415 Compare April 3, 2023 20:26
Fixed the kleibkhar shuttle

The supply shuttle on kleibkhar would fail unit tests for various strange reasons.
* Excluded docking controllers subtypes from being spawned by the unit test deleting and creating everything. Since it would spawn a duplicate of the docking controller with the same id_tag as the supply shuttle's.
* Tweaked the offsite area for the supply shuttle, so the shuttle cannot be vented to space, and a docking controller is installed there.
* Add offsite shuttle dock's area to the test exempt areas
* It'll all get overwritten by the new map, but since we're stuck with it, I updated it too.
* fix old outreach duplicate apc
@PsyCommando PsyCommando force-pushed the upstream-merge-again branch from a091415 to f85393e Compare April 3, 2023 20:52
@PsyCommando PsyCommando requested a review from NataKilar April 12, 2023 17:44
@PsyCommando PsyCommando merged commit bf571d2 into PersistentSS13:dev Apr 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

💾 serialization A bug or feature linked to serialization/deserialization 🌌 Map/Map Gen Things related to maps, map generation, layouts, etc.. 💦 port/upstream merge Anything ported from another codebase, or merges from the upstream repo.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants