Added new map renderer

This commit is contained in:
Maruno17
2021-09-29 18:18:50 +01:00
committed by infinitefusion
parent bbf4bc6e9b
commit 80dbda6d6b
8 changed files with 890 additions and 25 deletions

View File

@@ -1,3 +1,4 @@
# Unused
class ClippableSprite < Sprite_Character
def initialize(viewport,event,tilemap)
@tilemap = tilemap
@@ -46,15 +47,17 @@ class Spriteset_Map
def initialize(map=nil)
@map = (map) ? map : $game_map
@tilemap = TilemapLoader.new(@@viewport1)
@tilemap.tileset = pbGetTileset(@map.tileset_name)
for i in 0...7
autotile_name = @map.autotile_names[i]
@tilemap.autotiles[i] = pbGetAutotile(autotile_name)
end
@tilemap.map_data = @map.data
@tilemap.priorities = @map.priorities
@tilemap.terrain_tags = @map.terrain_tags
$scene.map_renderer.add_tileset(@map.tileset_name)
@map.autotile_names.each { |filename| $scene.map_renderer.add_autotile(filename) }
# @tilemap = TilemapLoader.new(@@viewport1)
# @tilemap.tileset = pbGetTileset(@map.tileset_name)
# for i in 0...7
# autotile_name = @map.autotile_names[i]
# @tilemap.autotiles[i] = pbGetAutotile(autotile_name)
# end
# @tilemap.map_data = @map.data
# @tilemap.priorities = @map.priorities
# @tilemap.terrain_tags = @map.terrain_tags
@panorama = AnimatedPlane.new(@@viewport0)
@fog = AnimatedPlane.new(@@viewport1)
@fog.z = 3000
@@ -69,18 +72,20 @@ class Spriteset_Map
end
def dispose
@tilemap.tileset.dispose
for i in 0...7
@tilemap.autotiles[i].dispose
end
@tilemap.dispose
# @tilemap.tileset.dispose
# for i in 0...7
# @tilemap.autotiles[i].dispose
# end
# @tilemap.dispose
$scene.map_renderer.remove_tileset(@map.tileset_name)
@map.autotile_names.each { |filename| $scene.map_renderer.remove_autotile(filename) }
@panorama.dispose
@fog.dispose
for sprite in @character_sprites
sprite.dispose
end
@weather.dispose
@tilemap = nil
# @tilemap = nil
@panorama = nil
@fog = nil
@character_sprites.clear
@@ -112,13 +117,13 @@ class Spriteset_Map
end
tmox = (@map.display_x/Game_Map::X_SUBPIXELS).round
tmoy = (@map.display_y/Game_Map::Y_SUBPIXELS).round
@tilemap.ox = tmox
@tilemap.oy = tmoy
# @tilemap.ox = tmox
# @tilemap.oy = tmoy
@@viewport1.rect.set(0,0,Graphics.width,Graphics.height)
@@viewport1.ox = 0
@@viewport1.oy = 0
@@viewport1.ox += $game_screen.shake
@tilemap.update
# @tilemap.update
@panorama.ox = tmox/2
@panorama.oy = tmoy/2
@fog.ox = tmox+@map.fog_ox

View File

@@ -75,8 +75,8 @@ class Spriteset_Map
end
def update
return if @tilemap.disposed?
pbDayNightTint(@tilemap)
# return if @tilemap.disposed?
# pbDayNightTint(@tilemap)
@@viewport3.tone.set(0,0,0,0)
_animationSprite_update
for i in 0...@usersprites.length