mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-07 21:24:59 +00:00
Fix for tiles being invisible after a map transfer if they were on screen before it
This commit is contained in:
@@ -23,7 +23,7 @@ class Scene_Map
|
|||||||
@spritesets[map.map_id] = Spriteset_Map.new(map)
|
@spritesets[map.map_id] = Spriteset_Map.new(map)
|
||||||
end
|
end
|
||||||
$map_factory.setSceneStarted(self)
|
$map_factory.setSceneStarted(self)
|
||||||
updateSpritesets
|
updateSpritesets(true)
|
||||||
end
|
end
|
||||||
|
|
||||||
def createSingleSpriteset(map)
|
def createSingleSpriteset(map)
|
||||||
@@ -31,7 +31,7 @@ class Scene_Map
|
|||||||
@spritesets[map] = Spriteset_Map.new($map_factory.maps[map])
|
@spritesets[map] = Spriteset_Map.new($map_factory.maps[map])
|
||||||
$scene.spriteset.restoreAnimations(temp)
|
$scene.spriteset.restoreAnimations(temp)
|
||||||
$map_factory.setSceneStarted(self)
|
$map_factory.setSceneStarted(self)
|
||||||
updateSpritesets
|
updateSpritesets(true)
|
||||||
end
|
end
|
||||||
|
|
||||||
def disposeSpritesets
|
def disposeSpritesets
|
||||||
@@ -133,7 +133,7 @@ class Scene_Map
|
|||||||
$map_factory.updateMaps(self)
|
$map_factory.updateMaps(self)
|
||||||
end
|
end
|
||||||
|
|
||||||
def updateSpritesets
|
def updateSpritesets(refresh = false)
|
||||||
@spritesets = {} if !@spritesets
|
@spritesets = {} if !@spritesets
|
||||||
$map_factory.maps.each do |map|
|
$map_factory.maps.each do |map|
|
||||||
@spritesets[map.map_id] = Spriteset_Map.new(map) if !@spritesets[map.map_id]
|
@spritesets[map.map_id] = Spriteset_Map.new(map) if !@spritesets[map.map_id]
|
||||||
@@ -150,6 +150,7 @@ class Scene_Map
|
|||||||
end
|
end
|
||||||
@spritesetGlobal.update
|
@spritesetGlobal.update
|
||||||
pbDayNightTint(@map_renderer)
|
pbDayNightTint(@map_renderer)
|
||||||
|
@map_renderer.refresh if refresh
|
||||||
@map_renderer.update
|
@map_renderer.update
|
||||||
EventHandlers.trigger(:on_frame_update)
|
EventHandlers.trigger(:on_frame_update)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -292,6 +292,7 @@ class TilemapRenderer
|
|||||||
@ox = 0
|
@ox = 0
|
||||||
@oy = 0
|
@oy = 0
|
||||||
@visible = true
|
@visible = true
|
||||||
|
@need_refresh = true
|
||||||
@disposed = false
|
@disposed = false
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -347,7 +348,9 @@ class TilemapRenderer
|
|||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
|
|
||||||
def refresh; end
|
def refresh
|
||||||
|
@need_refresh = true
|
||||||
|
end
|
||||||
|
|
||||||
def refresh_tile_bitmap(tile, map, tile_id)
|
def refresh_tile_bitmap(tile, map, tile_id)
|
||||||
tile.tile_id = tile_id
|
tile.tile_id = tile_id
|
||||||
@@ -538,7 +541,7 @@ class TilemapRenderer
|
|||||||
# Recalculate autotile frames
|
# Recalculate autotile frames
|
||||||
@tilesets.update
|
@tilesets.update
|
||||||
@autotiles.update
|
@autotiles.update
|
||||||
do_full_refresh = false
|
do_full_refresh = @need_refresh
|
||||||
if @viewport.ox != @old_viewport_ox || @viewport.oy != @old_viewport_oy
|
if @viewport.ox != @old_viewport_ox || @viewport.oy != @old_viewport_oy
|
||||||
@old_viewport_ox = @viewport.ox
|
@old_viewport_ox = @viewport.ox
|
||||||
@old_viewport_oy = @viewport.oy
|
@old_viewport_oy = @viewport.oy
|
||||||
@@ -604,6 +607,7 @@ class TilemapRenderer
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@need_refresh = false
|
||||||
@autotiles.changed = false
|
@autotiles.changed = false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -49,11 +49,11 @@ class Game_Temp
|
|||||||
end
|
end
|
||||||
|
|
||||||
def pbSceneStandby
|
def pbSceneStandby
|
||||||
# $scene.disposeSpritesets if $scene.is_a?(Scene_Map)
|
$scene.disposeSpritesets if $scene.is_a?(Scene_Map)
|
||||||
# RPG::Cache.clear
|
RPG::Cache.clear
|
||||||
# Graphics.frame_reset
|
Graphics.frame_reset
|
||||||
yield
|
yield
|
||||||
# $scene.createSpritesets if $scene.is_a?(Scene_Map)
|
$scene.createSpritesets if $scene.is_a?(Scene_Map)
|
||||||
end
|
end
|
||||||
|
|
||||||
def pbBattleAnimation(bgm = nil, battletype = 0, foe = nil)
|
def pbBattleAnimation(bgm = nil, battletype = 0, foe = nil)
|
||||||
|
|||||||
@@ -556,6 +556,7 @@ def pbLoadRpgxpScene(scene)
|
|||||||
oldscene = $scene
|
oldscene = $scene
|
||||||
$scene = scene
|
$scene = scene
|
||||||
Graphics.freeze
|
Graphics.freeze
|
||||||
|
oldscene.disposeSpritesets
|
||||||
visibleObjects = pbHideVisibleObjects
|
visibleObjects = pbHideVisibleObjects
|
||||||
Graphics.transition
|
Graphics.transition
|
||||||
Graphics.freeze
|
Graphics.freeze
|
||||||
@@ -565,6 +566,7 @@ def pbLoadRpgxpScene(scene)
|
|||||||
Graphics.transition
|
Graphics.transition
|
||||||
Graphics.freeze
|
Graphics.freeze
|
||||||
$scene = oldscene
|
$scene = oldscene
|
||||||
|
$scene.createSpritesets
|
||||||
pbShowObjects(visibleObjects)
|
pbShowObjects(visibleObjects)
|
||||||
Graphics.transition
|
Graphics.transition
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user