DaymareOn/hdtSMP64

Remove hardcoded exterior world space ID list from WeatherManager

Open

#239 geöffnet am 26. März 2026

Auf GitHub ansehen
 (0 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)C++ (34 Forks)github user discovery
enhancementhelp wantedrefactor

Repository-Metriken

Stars
 (67 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 15h 45m) (28 gemergte PRs in 30 T)

Beschreibung

Summary

The NOT_EXTERIOR_WORLDS array in src/WeatherManager.h (used in WeatherManager::runWeatherTickImpl) contains a static, hardcoded list of Skyrim world space Form IDs that should be treated as non-exterior (i.e., no wind). This approach is fragile and difficult to maintain as it:

  • Requires recompiling the DLL to add/remove world spaces.
  • Does not account for modded world spaces that might also be interiors.
  • Was originally added in commit 34743ff.

Goal

Remove the hardcoded list by doing one or both of the following:

  1. Find a programmatic method — e.g., checking whether the world space has a valid sky/climate attached (similar to how the Creation Kit detects outdoor environments), or inspecting flags on the TESWorldSpace record. The RE server may have insight here.
  2. Move to a data/config file — allow users/maintainers to configure the excluded world space IDs externally (e.g., in the existing SMP config file) rather than baking them into the DLL.

References

Contributor Guide