script_comp: fix undesired resman container set mutations #151
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This commit modifies the method in which nwn_script_comp searches ResMan to deliver the desired ResRef. Previous behavior allowed for the ResMan.containers set to be mutatated in
nwn_script_comp::serviceRmDemandwhen the deferred code was run as the scope expired. This caused the containers within the containers set to reorder, seemingly at random, losing the load order as specified by the user, potentially causing script compilation issues, specifically with user-defined files that shadow big-sourced files.Testing
Tested this change against the PRC repo, which contains multiple local files that override game/bif-sourced includes, such as
x2_inc_spellhook.nss. Previous to this change,ResMan.containerswas mutated when theserviceRmDemandscope was exited, causing unexpected container order when demanding resrefs. After this change, the container order remains unchanged.Changelog
Fixed
script_comp: fixed resman container set order mutability issue which prevented locally overriden files from being properly served by resman.
Licence