From a0933df9c3b7e0f75898680a524c7274a8027482 Mon Sep 17 00:00:00 2001 From: Michael Shirt Date: Tue, 20 Sep 2016 00:05:55 -0600 Subject: [PATCH] Anti-lag script This just makes sure that character sprites are actually onscreen before updating them, for game events. This greatly improves performance on larger maps that have many game events. --- scripts/Spriteset_Map.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/scripts/Spriteset_Map.rb b/scripts/Spriteset_Map.rb index 2ae12bd..c741b91 100644 --- a/scripts/Spriteset_Map.rb +++ b/scripts/Spriteset_Map.rb @@ -242,7 +242,15 @@ class Spriteset_Map @fog.tone = $game_map.fog_tone # Update character sprites @character_sprites.each do |sprite| - sprite.update + if !sprite.character.is_a?(Game_Event) + sprite.update + # this is just a check to make sure the sprite is onscreen for game events + # based on its current width and height + # no point in updating the sprite if offscreen + # this greatly increases performance on larger maps + (sprite.character.real_y - (sprite.oy*4) < ($game_map.display_y) + (17 * 128))) + sprite.update + end end # Update footprints @footprint_sprites.delete_if do |sprite|