mirror of
https://forgejo.xatacraft.ru/Sunshine/mkxp-sunshine.git
synced 2026-08-19 13:29:54 +00:00
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:
parent
4ebcd19352
commit
0b3fc4527b
2 changed files with 53 additions and 1 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue