Added cheap hack for sprite lighting occlusion

This commit is contained in:
Mathew Velasquez 2016-03-11 02:27:24 -05:00
parent 99ae7b35ad
commit 737f0759e7
3 changed files with 8 additions and 4 deletions

View file

@ -96,11 +96,7 @@ viewportElementBindingInit(VALUE klass)
sceneElementBindingInit<C>(klass);
_rb_define_method(klass, "viewport", viewportElementGetViewport<C>);
if (rgssVer >= 2)
{
_rb_define_method(klass, "viewport=", viewportElementSetViewport<C>);
}
}
#endif // VIEWPORTELEMENTBINDING_H

View file

@ -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

View file

@ -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