DaymareOn/hdtSMP64
在 GitHub 查看Remove hardcoded exterior world space ID list from WeatherManager
Open
#239 建立於 2026年3月26日
enhancementhelp wantedrefactor
倉庫指標
- Star
- (67 star)
- PR 合併指標
- (平均合併 15小時 45分鐘) (30 天內合併 28 個 PR)
描述
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:
- 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
TESWorldSpacerecord. The RE server may have insight here. - 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
- PR #238 discussion: https://github.com/DaymareOn/hdtSMP64/pull/238#discussion_r2990702662
- Requested by: @alandtse