mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
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:
@@ -44,6 +44,14 @@ class Scene_Map
|
||||
@spritesets = {}
|
||||
end
|
||||
|
||||
def dispose
|
||||
disposeSpritesets
|
||||
@map_renderer.dispose
|
||||
@map_renderer = nil
|
||||
@spritesetGlobal.dispose
|
||||
@spritesetGlobal = nil
|
||||
end
|
||||
|
||||
def autofade(mapid)
|
||||
playingBGM = $game_system.playing_bgm
|
||||
playingBGS = $game_system.playing_bgs
|
||||
@@ -252,7 +260,7 @@ class Scene_Map
|
||||
break if $scene != self
|
||||
end
|
||||
Graphics.freeze
|
||||
disposeSpritesets
|
||||
dispose
|
||||
if $game_temp.to_title
|
||||
Graphics.transition(20)
|
||||
Graphics.freeze
|
||||
|
||||
@@ -280,10 +280,14 @@ class TilemapRenderer
|
||||
@tiles.each do |col|
|
||||
col.each do |coord|
|
||||
coord.each { |tile| tile.dispose }
|
||||
coord.clear
|
||||
end
|
||||
end
|
||||
@tiles.clear
|
||||
@tilesets.bitmaps.each_value { |bitmap| bitmap.dispose }
|
||||
@tilesets.bitmaps.clear
|
||||
@autotiles.bitmaps.each_value { |bitmap| bitmap.dispose }
|
||||
@autotiles.bitmaps.clear
|
||||
@self_viewport.dispose
|
||||
@self_viewport = nil
|
||||
@disposed = true
|
||||
|
||||
@@ -499,7 +499,7 @@ class PokemonBoxSprite < SpriteWrapper
|
||||
sprite.viewport = self.viewport
|
||||
sprite.x = xval
|
||||
sprite.y = yval
|
||||
sprite.z = 0
|
||||
sprite.z = 1
|
||||
end
|
||||
xval += 48
|
||||
end
|
||||
@@ -630,12 +630,11 @@ class PokemonBoxPartySprite < SpriteWrapper
|
||||
@pokemonsprites.compact!
|
||||
for j in 0...Settings::MAX_PARTY_SIZE
|
||||
sprite = @pokemonsprites[j]
|
||||
if sprite && !sprite.disposed?
|
||||
sprite.viewport = self.viewport
|
||||
sprite.x = self.x + xvalues[j]
|
||||
sprite.y = self.y + yvalues[j]
|
||||
sprite.z = 0
|
||||
end
|
||||
next if sprite.nil? || sprite.disposed?
|
||||
sprite.viewport = self.viewport
|
||||
sprite.x = self.x + xvalues[j]
|
||||
sprite.y = self.y + yvalues[j]
|
||||
sprite.z = 1
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -572,7 +572,7 @@ def pbLoadRpgxpScene(scene)
|
||||
oldscene = $scene
|
||||
$scene = scene
|
||||
Graphics.freeze
|
||||
oldscene.disposeSpritesets
|
||||
oldscene.dispose
|
||||
visibleObjects = pbHideVisibleObjects
|
||||
Graphics.transition(20)
|
||||
Graphics.freeze
|
||||
|
||||
@@ -35,6 +35,14 @@ class PokemonTilesetScene
|
||||
pbDisposeSpriteHash(@sprites)
|
||||
@viewport.dispose
|
||||
@tilehelper.dispose
|
||||
if $game_map && $map_factory
|
||||
$map_factory.setup($game_map.map_id)
|
||||
$game_player.center($game_player.x, $game_player.y)
|
||||
if $scene.is_a?(Scene_Map)
|
||||
$scene.dispose
|
||||
$scene.createSpritesets
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def load_tileset(id)
|
||||
|
||||
Reference in New Issue
Block a user