Search less often. Search for less. And use the proper inventory interface.
Before (first number is relative to MovingBrick.FxMoveVerticalTimer, because that's relatively constant (I guess?)).
59x 00826ms Global.FxBlessTheKingTimer
38x 00537ms Global.FxDeathByFireTimer
1x 00014ms MovingBrick.FxMoveVerticalTimer
After
41x 00328ms Global.FxBlessTheKingTimer
27x 00213ms Global.FxDeathByFireTimer
1x 00008ms MovingBrick.FxMoveVerticalTimer
The only use of C4RTF in its final moments was parsing out plain text
from RTF files anyway, so why even go to all the trouble instead of just
storing plain text in the beginning?
Most kills do not count in this map or are suicides or environment-kills. The round is currently nearly unplayable as Deathmatch as it takes an eternity (also due to penalty points).
Also move all object sounds to global Sound.ocg so they are still played.
This is to prevent naming collisions. All sounds are moved because otherwise all scripts would have to be adjusted. Also, the distinction between sounds in definitions and sounds in Sound.ocg was rather arbitrary.
It will also ensure most sounds are reloaded when sound is turned off temporarily, although that should better be fixed properly.
The Clonks' positions are now a bit random, too. I doubt that will have a noticable tactical influence on the game.
Buut it probably looks cooler when the effects are not all in one place.
This prevents tumbling Clonks from remaining "stuck" in the wind channel for a long time with some bad luck (which probably happened at least once per round).
The change also increases the speed that objects receive when being thrown into the channel - but from short testing it didn't look bad.
Removed granite at the lower right spawn point so clonk won't get stuck.
Because there was no background map, the moving platforms removed the material if earth pixels landed on them.
This better reflects what the function does. "ProjectileHit" was never used solely for projectiles. Neither was everything of that callback ever needed in all places, which resulted in weird flag-parameter hacking and OnStrike-callbacks. Splitting this up also allows customizing different parts of the behavior further (i.e. tumbling) without adding a hundred parameters or flags to the original function.
- Changed arrow blit mode to GFX_BLIT_Additive (see bug #1416).
- Bigger sky, so no tiling at the bottom (but still at the top, see bug #1417).
- Windmills do not show light bulbs.
In comparison to the old system, this is a downgrade - instead of being
able to set a full color mapping by gamma ramp, we now get just a value
per colour channel.
Upside is that we do not need to play around with the global gamma ramps
any more, which was arguably the wrong way to do it.
This commit will likely break everything that has been using gamma so far.