Added fading water animation for blue and green areas.

This cycles the panorama through 3 different images, fading them in as
they show up.
This commit is contained in:
Michael Shirt 2016-09-27 10:29:53 -06:00
parent 4ebcd19352
commit 0b3fc4527b
2 changed files with 53 additions and 1 deletions

View file

@ -32,6 +32,7 @@ class Game_Map
attr_accessor :clamped_y # panorama is vertically clamped? attr_accessor :clamped_y # panorama is vertically clamped?
attr_accessor :pan_onetoone # panorama is 1:1 attr_accessor :pan_onetoone # panorama is 1:1
attr_accessor :pan_animate # panorama is animated attr_accessor :pan_animate # panorama is animated
attr_accessor :pan_fade_animate # panorama is fade animated
attr_accessor :pan_zoom # panorama zoom attr_accessor :pan_zoom # panorama zoom
attr_accessor :wrapping # map is wrapping? attr_accessor :wrapping # map is wrapping?
attr_accessor :pan_offset_y # offset of y-coord of panorama attr_accessor :pan_offset_y # offset of y-coord of panorama
@ -58,12 +59,18 @@ class Game_Map
ANIMATED = [ ANIMATED = [
'blue_water', 'blue_water',
] ]
FADE_ANIMATION_PANORAMA = [
'dark_water',
'green_water',
]
ONETOONE = [ ONETOONE = [
'blue_water', 'blue_water',
'green_water',
'dark_water', 'dark_water',
] ]
NOZOOM = [ NOZOOM = [
'dark_water', 'dark_water',
#'green_water',
] ]
#-------------------------------------------------------------------------- #--------------------------------------------------------------------------
# * Object Initialization # * Object Initialization
@ -153,6 +160,7 @@ class Game_Map
end end
# Animated/One-to-one/zoom # Animated/One-to-one/zoom
@pan_animate = ANIMATED.include? @panorama_name @pan_animate = ANIMATED.include? @panorama_name
@pan_fade_animate = FADE_ANIMATION_PANORAMA.include? @panorama_name
@pan_onetoone = ONETOONE.include? @panorama_name @pan_onetoone = ONETOONE.include? @panorama_name
@pan_zoom = NOZOOM.include?(@panorama_name) ? 1 : 2 @pan_zoom = NOZOOM.include?(@panorama_name) ? 1 : 2
# Unwrap map # Unwrap map

View file

@ -39,6 +39,14 @@ class Spriteset_Map
# Make panorama plane # Make panorama plane
@panorama = Plane.new(@viewport_bg) @panorama = Plane.new(@viewport_bg)
@panorama.z = -1000 @panorama.z = -1000
if $game_map.pan_fade_animate
@panorama2 = Plane.new(@viewport_bg)
@panorama2.z = -999
@panorama2.opacity = 0
@pan_frame_index = 0
end
# Make fog plane # Make fog plane
@fog = Plane.new(@viewport) @fog = Plane.new(@viewport)
@fog.z = 3000 @fog.z = 3000
@ -85,6 +93,9 @@ class Spriteset_Map
@tilemap.dispose @tilemap.dispose
# Dispose of panorama plane # Dispose of panorama plane
@panorama.dispose @panorama.dispose
if @panorama2 != nil
@panorama2.dispose
end
# Dispose of fog plane # Dispose of fog plane
@fog.dispose @fog.dispose
# Dispose of character sprites # Dispose of character sprites
@ -147,8 +158,23 @@ class Spriteset_Map
@panorama.bitmap.dispose @panorama.bitmap.dispose
@panorama.bitmap = nil @panorama.bitmap = nil
end end
if @panorama2 != nil && @panorama2.bitmap != nil
@panorama2.bitmap.dispose
@panorama2.bitmap = nil
end
if @panorama_name != "" if @panorama_name != ""
@panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue) if $game_map.pan_fade_animate
if @panorama2 == nil
@panorama2 = Plane.new(@viewport_bg)
@panorama2.z = -999
@panorama2.opacity = 0
@pan_frame_index = 0
end
@panorama.bitmap = RPG::Cache.panorama(@panorama_name + (1 + @pan_frame_index).to_s, @panorama_hue)
@panorama2.bitmap = RPG::Cache.panorama(@panorama_name + (1 + @pan_frame_index).to_s, @panorama_hue)
else
@panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue)
end
end end
Graphics.frame_reset Graphics.frame_reset
end end
@ -232,6 +258,24 @@ class Spriteset_Map
@panorama.src_rect.x = (@panorama.src_rect.x + @panorama.src_rect.height) % @panorama.bitmap.width @panorama.src_rect.x = (@panorama.src_rect.x + @panorama.src_rect.height) % @panorama.bitmap.width
end end
end end
if $game_map.pan_fade_animate
@panorama2.opacity += 3
@panorama2.ox = @panorama.ox
@panorama2.oy = @panorama.oy
@panorama2.zoom_x = @panorama2.zoom_y = $game_map.pan_zoom
if @panorama2.opacity >= 255
@panorama2.opacity = 255
@panorama.dispose
@panorama = @panorama2
@panorama.z = -1000
@panorama2 = Plane.new(@viewport_bg)
@panorama2.z = -999
@panorama2.opacity = 0
@pan_frame_index = (@pan_frame_index + 1) % 3
@panorama2.bitmap = RPG::Cache.panorama(@panorama_name + (1 + @pan_frame_index).to_s, @panorama_hue)
end
end
# Update fog plane # Update fog plane
@fog.zoom_x = $game_map.fog_zoom / 100.0 @fog.zoom_x = $game_map.fog_zoom / 100.0
@fog.zoom_y = $game_map.fog_zoom / 100.0 @fog.zoom_y = $game_map.fog_zoom / 100.0