Fixed playing the credits/changing $scene leaving a ghost image of the old map behind, fixed Pokémon icons sometimes disappearing in storage screen

This commit is contained in:
Maruno17
2022-07-03 16:40:25 +01:00
parent 6dd88e49e1
commit a2327c6280
5 changed files with 17 additions and 5 deletions

View File

@@ -45,6 +45,14 @@ class Scene_Map
@spritesets = {} @spritesets = {}
end end
def dispose
disposeSpritesets
@map_renderer.dispose
@map_renderer = nil
@spritesetGlobal.dispose
@spritesetGlobal = nil
end
def autofade(mapid) def autofade(mapid)
playingBGM = $game_system.playing_bgm playingBGM = $game_system.playing_bgm
playingBGS = $game_system.playing_bgs playingBGS = $game_system.playing_bgs
@@ -225,7 +233,7 @@ class Scene_Map
break if $scene != self break if $scene != self
end end
Graphics.freeze Graphics.freeze
disposeSpritesets dispose
if $game_temp.title_screen_calling if $game_temp.title_screen_calling
Graphics.transition Graphics.transition
Graphics.freeze Graphics.freeze

View File

@@ -305,10 +305,14 @@ class TilemapRenderer
@tiles.each do |col| @tiles.each do |col|
col.each do |coord| col.each do |coord|
coord.each { |tile| tile.dispose } coord.each { |tile| tile.dispose }
coord.clear
end end
end end
@tiles.clear
@tilesets.bitmaps.each_value { |bitmap| bitmap.dispose } @tilesets.bitmaps.each_value { |bitmap| bitmap.dispose }
@tilesets.bitmaps.clear
@autotiles.bitmaps.each_value { |bitmap| bitmap.dispose } @autotiles.bitmaps.each_value { |bitmap| bitmap.dispose }
@autotiles.bitmaps.clear
@self_viewport.dispose @self_viewport.dispose
@self_viewport = nil @self_viewport = nil
@disposed = true @disposed = true

View File

@@ -422,7 +422,7 @@ class PokemonBoxSprite < Sprite
sprite.viewport = self.viewport sprite.viewport = self.viewport
sprite.x = xval sprite.x = xval
sprite.y = yval sprite.y = yval
sprite.z = 0 sprite.z = 1
end end
xval += 48 xval += 48
end end
@@ -547,7 +547,7 @@ class PokemonBoxPartySprite < Sprite
sprite.viewport = self.viewport sprite.viewport = self.viewport
sprite.x = self.x + xvalues[j] sprite.x = self.x + xvalues[j]
sprite.y = self.y + yvalues[j] sprite.y = self.y + yvalues[j]
sprite.z = 0 sprite.z = 1
end end
end end

View File

@@ -556,7 +556,7 @@ def pbLoadRpgxpScene(scene)
oldscene = $scene oldscene = $scene
$scene = scene $scene = scene
Graphics.freeze Graphics.freeze
oldscene.disposeSpritesets oldscene.dispose
visibleObjects = pbHideVisibleObjects visibleObjects = pbHideVisibleObjects
Graphics.transition Graphics.transition
Graphics.freeze Graphics.freeze

View File

@@ -40,7 +40,7 @@ class PokemonTilesetScene
$map_factory.setup($game_map.map_id) $map_factory.setup($game_map.map_id)
$game_player.center($game_player.x, $game_player.y) $game_player.center($game_player.x, $game_player.y)
if $scene.is_a?(Scene_Map) if $scene.is_a?(Scene_Map)
$scene.disposeSpritesets $scene.dispose
$scene.createSpritesets $scene.createSpritesets
end end
end end