#=============================================================================
# ** Lighting Effects with Additional Fogs
#
# ** coded by arevulopapo, concept by Ludzix
# Jul 8th 2007
#=============================================================================
# This script automatically sets a light map and a shadow map for every game map
# if required files are present in the fogs folder. For shadow maps the file must
# be named sID.png, where ID is the Map ID. For example: for map with ID of 3
# the file should be named s3.png (only .png files are accepted for shadow maps).
# For light maps the file can be in either .png, .jpg or .bmp format. The name
# of the light map file must include the type of blending in which the file will
# be displayed over the game map. General file name is lID b_TYPE.EXT, where
# ID is the Map ID, TYPE is the blending type (0 - normal, 1 - additive,
# 2 - substractive) and EXT is of the extensions mentioned above.
# For game map No. 3, and additive blending the file should be named as follows:
# l3 b_1.jpg (the SPACE between Map ID and blending is required).
# Both maps are displayed over the tilemap/events and under the fog.
#=============================================================================
class Spriteset_Map
alias ssm_initialize initialize
alias ssm_dispose dispose
alias ssm_update update
def initialize
@shadow_layer = Sprite.new
@shadow_layer.z = 2900
@lighting_layer = Sprite.new
@lighting_layer.z = 2950
ssm_initialize
end
def dispose
@shadow_layer.dispose
@lighting_layer.dispose
ssm_dispose
end
def update
shadow = "Graphics/Fogs/s" + $game_map.map_id.to_s
light = "Graphics/Fogs/l" + $game_map.map_id.to_s
if FileTest.exist?(shadow + ".png")
@shadow_layer.bitmap = RPG::Cache.fog("s" + $game_map.map_id.to_s, 0)
else
@shadow_layer.bitmap = nil
end
if FileTest.exist?(light + " b_0.png") or FileTest.exist?(light + " b_0.jpg") or FileTest.exist?(light + " b_0.bmp")
@lighting_layer.bitmap = RPG::Cache.fog("l" + $game_map.map_id.to_s, 0)
@lighting_layer.blend_type = 0
elsif FileTest.exist?(light + " b_1.png") or FileTest.exist?(light + " b_1.jpg") or FileTest.exist?(light + " b_1.bmp")
@lighting_layer.bitmap = RPG::Cache.fog("l" + $game_map.map_id.to_s + " b_1", 0)
@lighting_layer.blend_type = 1
elsif FileTest.exist?(light + " b_2.png") or FileTest.exist?(light + " b_2.jpg") or FileTest.exist?(light + " b_2.bmp")
@lighting_layer.bitmap = RPG::Cache.fog("l" + $game_map.map_id.to_s + " b_2", 0)
@lighting_layer.blend_type = 2
else
@lighting_layer.bitmap = nil
end
@shadow_layer.ox = $game_map.display_x / 4
@shadow_layer.oy = $game_map.display_y / 4
@lighting_layer.ox = $game_map.display_x / 4
@lighting_layer.oy = $game_map.display_y / 4
ssm_update
end
end