Please allow objects to run more than one script
Posted: 25 Nov 2018, 07:00
I honestly couldn't care less about shadows or general 'ultra' graphics quality.
What gets me is when requests like this, which i made right now are closed with no effort and no discussion because it's either 'post-1.0' (ie: never for at least 2 years) or because it's 'not original morrowind behaviour' as if that should be emulated when the whole point of the request is to allow modders to avoid stupid merge bugs by making openmw versions of mods that don't interfere with eachother with a much better way than 'oh i'll mush both scripts in a buggy compatibility patch'.
Meanwhile i'm right now hacking around this in a post-install merge mod by parsing the script out of books, chopping off the begin and end and prepending my own non terminating script to the existing one automatically, which is a horrific hack but hopefully it 'works'.
edit: it didn't work (or rather it would work but then break other scripts) because i need OnActivate and can't reset it to the previous value or shadow it with a local var so my check for OnActivate would disable further checks later as usual behavior for these weird morrowind callbacks.
So to enumerate:
1. Morrowind system callbacks 'reset' themselves once read.
2. You can't shadow the callback value on a local var of the same name (this is probably fair because if so it wouldn't have the same 'reset behavior')
3. 1 and 2 means that you can't merge scripts programmatically if your merged script needs to use a morrowind callback
Conclusion: the only way to merge scripts programmatically in general is with special support to make these callback values operate per script (they writing to hidden script variables) and to run multiple scripts, which is the exact RFE that was closed.
What gets me is when requests like this, which i made right now are closed with no effort and no discussion because it's either 'post-1.0' (ie: never for at least 2 years) or because it's 'not original morrowind behaviour' as if that should be emulated when the whole point of the request is to allow modders to avoid stupid merge bugs by making openmw versions of mods that don't interfere with eachother with a much better way than 'oh i'll mush both scripts in a buggy compatibility patch'.
Meanwhile i'm right now hacking around this in a post-install merge mod by parsing the script out of books, chopping off the begin and end and prepending my own non terminating script to the existing one automatically, which is a horrific hack but hopefully it 'works'.
edit: it didn't work (or rather it would work but then break other scripts) because i need OnActivate and can't reset it to the previous value or shadow it with a local var so my check for OnActivate would disable further checks later as usual behavior for these weird morrowind callbacks.
So to enumerate:
1. Morrowind system callbacks 'reset' themselves once read.
2. You can't shadow the callback value on a local var of the same name (this is probably fair because if so it wouldn't have the same 'reset behavior')
3. 1 and 2 means that you can't merge scripts programmatically if your merged script needs to use a morrowind callback
Conclusion: the only way to merge scripts programmatically in general is with special support to make these callback values operate per script (they writing to hidden script variables) and to run multiple scripts, which is the exact RFE that was closed.