diff --git a/binding-mri/viewportelement-binding.h b/binding-mri/viewportelement-binding.h index 7cca69c..d0235cf 100644 --- a/binding-mri/viewportelement-binding.h +++ b/binding-mri/viewportelement-binding.h @@ -96,11 +96,7 @@ viewportElementBindingInit(VALUE klass) sceneElementBindingInit(klass); _rb_define_method(klass, "viewport", viewportElementGetViewport); - - if (rgssVer >= 2) - { _rb_define_method(klass, "viewport=", viewportElementSetViewport); - } } #endif // VIEWPORTELEMENTBINDING_H diff --git a/scripts/RPG.rb b/scripts/RPG.rb index faa2bdc..deddca4 100644 --- a/scripts/RPG.rb +++ b/scripts/RPG.rb @@ -25,4 +25,8 @@ class Tone def *(s) Tone.new(self.red * s, self.green * s, self.blue * s, self.gray * s) end + + def blank? + self.red == 0 && self.green == 0 && self.blue == 0 && self.gray == 0 + end end diff --git a/scripts/Sprite_Character.rb b/scripts/Sprite_Character.rb index 14b2330..9334afc 100644 --- a/scripts/Sprite_Character.rb +++ b/scripts/Sprite_Character.rb @@ -17,6 +17,8 @@ class Sprite_Character # character : character (Game_Character) #-------------------------------------------------------------------------- def initialize(viewport, light_viewport, character = nil) + @viewport = viewport + @light_viewport = light_viewport @sprite = RPG::Sprite.new(viewport) @light_sprite = RPG::Sprite.new(light_viewport) @light_sprite.blend_type = 1 @@ -27,6 +29,8 @@ class Sprite_Character # * Frame Update #-------------------------------------------------------------------------- def update + # Choose the appropriate light sprite + @light_sprite.viewport = ($game_map.ambient.blank? && $game_screen.tone.blank?) ? @viewport : @light_viewport # Update sprites @sprite.update @light_sprite.update