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); sceneElementBindingInit<C>(klass);
_rb_define_method(klass, "viewport", viewportElementGetViewport<C>); _rb_define_method(klass, "viewport", viewportElementGetViewport<C>);
if (rgssVer >= 2)
{
_rb_define_method(klass, "viewport=", viewportElementSetViewport<C>); _rb_define_method(klass, "viewport=", viewportElementSetViewport<C>);
}
} }
#endif // VIEWPORTELEMENTBINDING_H #endif // VIEWPORTELEMENTBINDING_H

View file

@ -25,4 +25,8 @@ class Tone
def *(s) def *(s)
Tone.new(self.red * s, self.green * s, self.blue * s, self.gray * s) Tone.new(self.red * s, self.green * s, self.blue * s, self.gray * s)
end end
def blank?
self.red == 0 && self.green == 0 && self.blue == 0 && self.gray == 0
end
end end

View file

@ -17,6 +17,8 @@ class Sprite_Character
# character : character (Game_Character) # character : character (Game_Character)
#-------------------------------------------------------------------------- #--------------------------------------------------------------------------
def initialize(viewport, light_viewport, character = nil) def initialize(viewport, light_viewport, character = nil)
@viewport = viewport
@light_viewport = light_viewport
@sprite = RPG::Sprite.new(viewport) @sprite = RPG::Sprite.new(viewport)
@light_sprite = RPG::Sprite.new(light_viewport) @light_sprite = RPG::Sprite.new(light_viewport)
@light_sprite.blend_type = 1 @light_sprite.blend_type = 1
@ -27,6 +29,8 @@ class Sprite_Character
# * Frame Update # * Frame Update
#-------------------------------------------------------------------------- #--------------------------------------------------------------------------
def update def update
# Choose the appropriate light sprite
@light_sprite.viewport = ($game_map.ambient.blank? && $game_screen.tone.blank?) ? @viewport : @light_viewport
# Update sprites # Update sprites
@sprite.update @sprite.update
@light_sprite.update @light_sprite.update