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