Fixed transitions in controls and credits screens, fixed slight text cropping in credits screen, fixed crash when changing the scene

This commit is contained in:
Maruno17
2021-10-07 18:47:28 +01:00
parent c8b594d38d
commit 166a289a60
3 changed files with 22 additions and 11 deletions

View File

@@ -63,9 +63,11 @@ class Spriteset_Map
end end
def dispose def dispose
$scene.map_renderer.remove_tileset(@map.tileset_name) if $scne.is_a?(Scene_Map)
@map.autotile_names.each { |filename| $scene.map_renderer.remove_autotile(filename) } $scene.map_renderer.remove_tileset(@map.tileset_name)
$scene.map_renderer.remove_extra_autotiles(@map.tileset_id) @map.autotile_names.each { |filename| $scene.map_renderer.remove_autotile(filename) }
$scene.map_renderer.remove_extra_autotiles(@map.tileset_id)
end
@panorama.dispose @panorama.dispose
@fog.dispose @fog.dispose
for sprite in @character_sprites for sprite in @character_sprites

View File

@@ -66,8 +66,11 @@ class ButtonEventScene < EventScene
last_screen = [@label_screens.max, @key_screens.max].max last_screen = [@label_screens.max, @key_screens.max].max
if @current_screen >= last_screen if @current_screen >= last_screen
# End scene # End scene
$game_temp.background_bitmap = Graphics.snap_to_bitmap
Graphics.freeze Graphics.freeze
@viewport.color = Color.new(0, 0, 0, 255) # Ensure screen is black
Graphics.transition(8, "fadetoblack") Graphics.transition(8, "fadetoblack")
$game_temp.background_bitmap.dispose
scene.dispose scene.dispose
else else
# Next screen # Next screen

View File

@@ -134,6 +134,8 @@ _END_
#------------------------------- #-------------------------------
# Make background and text sprites # Make background and text sprites
#------------------------------- #-------------------------------
viewport = Viewport.new(0, 0, Graphics.width, Graphics.height)
viewport.z = 99999
text_viewport = Viewport.new(0, @trim, Graphics.width, Graphics.height - (@trim * 2)) text_viewport = Viewport.new(0, @trim, Graphics.width, Graphics.height - (@trim * 2))
text_viewport.z = 99999 text_viewport.z = 99999
@background_sprite = IconSprite.new(0, 0) @background_sprite = IconSprite.new(0, 0)
@@ -143,7 +145,7 @@ _END_
lines_per_bitmap = @bitmap_height / 32 lines_per_bitmap = @bitmap_height / 32
num_bitmaps = (credit_lines.size.to_f / lines_per_bitmap).ceil num_bitmaps = (credit_lines.size.to_f / lines_per_bitmap).ceil
for i in 0...num_bitmaps for i in 0...num_bitmaps
credit_bitmap = Bitmap.new(Graphics.width, @bitmap_height) credit_bitmap = Bitmap.new(Graphics.width, @bitmap_height + 16)
pbSetSystemFont(credit_bitmap) pbSetSystemFont(credit_bitmap)
for j in 0...lines_per_bitmap for j in 0...lines_per_bitmap
line = credit_lines[i * lines_per_bitmap + j] line = credit_lines[i * lines_per_bitmap + j]
@@ -159,18 +161,18 @@ _END_
linewidth = Graphics.width / 2 - 20 linewidth = Graphics.width / 2 - 20
end end
credit_bitmap.font.color = TEXT_SHADOW_COLOR credit_bitmap.font.color = TEXT_SHADOW_COLOR
credit_bitmap.draw_text(xpos, j * 32 + 8, linewidth, 32, line[k], align) credit_bitmap.draw_text(xpos, j * 32 + 12, linewidth, 32, line[k], align)
credit_bitmap.font.color = TEXT_OUTLINE_COLOR credit_bitmap.font.color = TEXT_OUTLINE_COLOR
credit_bitmap.draw_text(xpos + 2, j * 32 - 2, linewidth, 32, line[k], align)
credit_bitmap.draw_text(xpos, j * 32 - 2, linewidth, 32, line[k], align)
credit_bitmap.draw_text(xpos - 2, j * 32 - 2, linewidth, 32, line[k], align)
credit_bitmap.draw_text(xpos + 2, j * 32, linewidth, 32, line[k], align)
credit_bitmap.draw_text(xpos - 2, j * 32, linewidth, 32, line[k], align)
credit_bitmap.draw_text(xpos + 2, j * 32 + 2, linewidth, 32, line[k], align) credit_bitmap.draw_text(xpos + 2, j * 32 + 2, linewidth, 32, line[k], align)
credit_bitmap.draw_text(xpos, j * 32 + 2, linewidth, 32, line[k], align) credit_bitmap.draw_text(xpos, j * 32 + 2, linewidth, 32, line[k], align)
credit_bitmap.draw_text(xpos - 2, j * 32 + 2, linewidth, 32, line[k], align) credit_bitmap.draw_text(xpos - 2, j * 32 + 2, linewidth, 32, line[k], align)
credit_bitmap.draw_text(xpos + 2, j * 32 + 4, linewidth, 32, line[k], align)
credit_bitmap.draw_text(xpos - 2, j * 32 + 4, linewidth, 32, line[k], align)
credit_bitmap.draw_text(xpos + 2, j * 32 + 6, linewidth, 32, line[k], align)
credit_bitmap.draw_text(xpos, j * 32 + 6, linewidth, 32, line[k], align)
credit_bitmap.draw_text(xpos - 2, j * 32 + 6, linewidth, 32, line[k], align)
credit_bitmap.font.color = TEXT_BASE_COLOR credit_bitmap.font.color = TEXT_BASE_COLOR
credit_bitmap.draw_text(xpos, j * 32, linewidth, 32, line[k], align) credit_bitmap.draw_text(xpos, j * 32 + 4, linewidth, 32, line[k], align)
end end
end end
credit_sprite = Sprite.new(text_viewport) credit_sprite = Sprite.new(text_viewport)
@@ -197,11 +199,15 @@ _END_
break if $scene != self break if $scene != self
end end
pbBGMFade(2.0) pbBGMFade(2.0)
$game_temp.background_bitmap = Graphics.snap_to_bitmap
Graphics.freeze Graphics.freeze
viewport.color = Color.new(0, 0, 0, 255) # Ensure screen is black
Graphics.transition(8, "fadetoblack") Graphics.transition(8, "fadetoblack")
$game_temp.background_bitmap.dispose
@background_sprite.dispose @background_sprite.dispose
@credit_sprites.each { |s| s.dispose if s } @credit_sprites.each { |s| s.dispose if s }
text_viewport.dispose text_viewport.dispose
viewport.dispose
$PokemonGlobal.creditsPlayed = true $PokemonGlobal.creditsPlayed = true
pbBGMPlay(previousBGM) pbBGMPlay(previousBGM)
end end