Strangely enough, it does not seem to do that. Or rather, if you create a map with no external dependencies but Core, all external variables you will find when testing the map is the ones retrieved from natives.galaxy, ai.galaxy etc, and not NativeLib itself. And the default field for Trigger Libraries in the Gameplay Data is empty here.
<-> Oh wait, I see what you mean now. Yes, if you create a trigger and allow it to generate a mapscript, it will include NativeLib as default, and thus load it.
If you save the map as folder format and override mapscript.galaxy to not include NativeLib, but natives.galaxy instead, NativeLib wont be loaded at all.
(Conclusively, the problem seems to be somewhat less severe.)
---
A few more points on galaxy memory limitations and overriding:
All constants, triggers, variables etc, not created by the user, eg constants in natives.galaxy, everything in NativeLib and so on, will drastically decrease the amount of memory you can use. The 2MB limit is set for the entire memory pool, included what Blizzard loads within their libraries (that's what I got out of it when I overrided natives.galaxy, could perhaps need verification).
Bools have the same size as a byte.
You can override natives.galaxy and even define and implement the main entry point of the map (void InitMap()) here.
I recently discovered as well, that you can circumvent the need of overriding nativelib and libertylib.galaxy, and as well computer.galaxy
This is, at least, when having the Liberty mod as a dependency on your map.
Seeing in the Data Editor, and then under Gameplay Data, there's a field AI which you can set to load specific AI scripts (computer.galaxy) by default.
Theres also a field called Trigger Libraries which loads LibertyLib.galaxy (and LibertyLib will preload NativeLib as well). Removing these should solve many weird preloadings.
If no external mod is loaded but the Core.mod at all, I think the way we found out is the way to do it, eg, overriding it with empty scripts.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
@Deaod: Go
Strangely enough, it does not seem to do that. Or rather, if you create a map with no external dependencies but Core, all external variables you will find when testing the map is the ones retrieved from natives.galaxy, ai.galaxy etc, and not NativeLib itself. And the default field for Trigger Libraries in the Gameplay Data is empty here.
<-> Oh wait, I see what you mean now. Yes, if you create a trigger and allow it to generate a mapscript, it will include NativeLib as default, and thus load it. If you save the map as folder format and override mapscript.galaxy to not include NativeLib, but natives.galaxy instead, NativeLib wont be loaded at all. (Conclusively, the problem seems to be somewhat less severe.)
---
A few more points on galaxy memory limitations and overriding:@Deaod: Go
I recently discovered as well, that you can circumvent the need of overriding nativelib and libertylib.galaxy, and as well computer.galaxy This is, at least, when having the Liberty mod as a dependency on your map.
Seeing in the Data Editor, and then under Gameplay Data, there's a field AI which you can set to load specific AI scripts (computer.galaxy) by default. Theres also a field called Trigger Libraries which loads LibertyLib.galaxy (and LibertyLib will preload NativeLib as well). Removing these should solve many weird preloadings.
If no external mod is loaded but the Core.mod at all, I think the way we found out is the way to do it, eg, overriding it with empty scripts.