mirror of
https://forgejo.xatacraft.ru/Sunshine/mkxp-sunshine.git
synced 2026-08-19 13:29:54 +00:00
Added cheap hack for sprite lighting occlusion
This commit is contained in:
parent
99ae7b35ad
commit
737f0759e7
3 changed files with 8 additions and 4 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue