Yes, you can boost the effect somewhere in the shader, where you multiply the rgb and normal together?...

The function just loops through every model available (that's part of the player's path, not speckles, dust and decoration like that) and saves the info about it line by line in a txt file.
After I click load, it just reads line by line and ent_creates with the given parameters. If you're having problems with this one, I'll show you my code and help you build yours...

And, for the vegetation, I'd suggest you don't save it at all...And to have it the same each time, create it the first time with random positions/models, but set the seed first!
Save this seed to the save file and after you try to load it, just use the seed that you saved to generate the vegetation again... This would produce the same vegetation always, and you only save a small number laugh Instead of all your vegetation...

If you're having problems with something, don't hesitate to ask laugh We're here to support each other.

PS.: Here's how it works:
Click to reveal..

I have an "object type" variable saved in a skill for each object. If its 1, for example, its a regular static platform. If its 2, its an elevator, 3 for torch (just an example)
My function goes through all the entities in a level, and if it encounters an object type different from environment effects or player or energy balls or characters... it saves it to a text file in the format:
"modelName.mdl object_type X Y Z PAN TILT ROLL 5 General parameters"
After opening a saved game, it reads line by line and ent_creates the objects based on the object_type with model name as "modelName.mdl" for example, and based on the object type assigns the general parameters to different skills for each object. For example, the general parameters for an elevator go from skill10 to skill14. For a moving platform, they go from skill8 to skill12, for a torch there are none...

Its not complicated. You just have to keep it free of semantic errors, or you can get yourself in a loop looking for an error that is so well hidden, it can take you days! Just take your time to review each object being saved correctly on its own line and with full parameters list.

And, last but not least, it can get tedious for your CPU to do all this work in half a second... The game will seem to freeze for a while or be laggy... You can counter this with a loop counter for up to 8 ,for example (or 4), objects at a time (per frame) and this will keep the game running. But, it will take a while to save, so make sure the player isn't quitting or changing the level while saving laugh or you'll get an empty level saved! Took me a while to fix this one.

I hope this gives you some ideas.


Extensive Multiplayer tutorial:
http://mesetts.com/index.php?page=201