I dunno how good/fast my version of the Tilemap rewrite script is, it was pretty fast for me, although map load times were increased, overall speed was almost the same as original RMXP Tilemap (at least at my PC, and it is quite crappy compared to today configurations). Take note that this is old, made back in 2010.
It was originally made for RMVX, but I think it could be used with RMVX Ace (or at least with little modification).
[ruby]
#=============================================================================
# RMXP Tilemap Class
# ---------------------------------------------------------------------------
# Version 1.7
# Author: Drago del Fato
#=============================================================================
class Tilemap
Autotiles = [
[[27, 28, 33, 34], [ 5, 28, 33, 34], [27, 6, 33, 34], [ 5, 6, 33, 34],
[27, 28, 33, 12], [ 5, 28, 33, 12], [27, 6, 33, 12], [ 5, 6, 33, 12]],
[[27, 28, 11, 34], [ 5, 28, 11, 34], [27, 6, 11, 34], [ 5, 6, 11, 34],
[27, 28, 11, 12], [ 5, 28, 11, 12], [27, 6, 11, 12], [ 5, 6, 11, 12]],
[[25, 26, 31, 32], [25, 6, 31, 32], [25, 26, 31, 12], [25, 6, 31, 12],
[15, 16, 21, 22], [15, 16, 21, 12], [15, 16, 11, 22], [15, 16, 11, 12]],
[[29, 30, 35, 36], [29, 30, 11, 36], [ 5, 30, 35, 36], [ 5, 30, 11, 36],
[39, 40, 45, 46], [ 5, 40, 45, 46], [39, 6, 45, 46], [ 5, 6, 45, 46]],
[[25, 30, 31, 36], [15, 16, 45, 46], [13, 14, 19, 20], [13, 14, 19, 12],
[17, 18, 23, 24], [17, 18, 11, 24], [41, 42, 47, 48], [ 5, 42, 47, 48]],
[[37, 38, 43, 44], [37, 6, 43, 44], [13, 18, 19, 24], [13, 14, 43, 44],
[37, 42, 43, 48], [17, 18, 47, 48], [13, 18, 43, 48], [ 1, 2, 7, 8]]
]
attr_accessor :tileset
attr_accessor :autotiles
attr_accessor :priorities
attr_accessor

x
attr_accessor

y
attr_accessor :map_data
def initialize(viewport)
@viewport = viewport
@tileset = nil
@map_data = nil
@priorities = nil
@autotiles = [nil, nil, nil, nil, nil, nil, nil]
@ox = 0
@oy = 0
@width = 0
@height = 0
@visible = true
@layers = []
@l1 = []
@a_layer = Sprite.new(@viewport)
@a_locs = nil
@zsize = 0
@ysize = 0
@xsize = 0
@disposed = false
end
def priorities=(value)
@priorities = value
@xsize = @map_data.xsize - 1
@ysize = @map_data.ysize - 1
@zsize = @map_data.zsize - 1
@width = @map_data.xsize * 32
@height = @map_data.ysize * 32
@a_locs = Table.new(@map_data.xsize, @map_data.ysize, @map_data.zsize)
create_layers
draw_map
end
def disposed?
return @disposed
end
def dispose
return if self.disposed?
@layers.each{|layer| layer.bitmap = nil; layer.dispose}
@l1.each{|layer| layer.bitmap = nil; layer.dispose}
@autotiles.each{|autotile| autotile = nil}
@tileset = nil
@a_locs = nil
@priorities = nil
@map_data = nil
@flash_data = nil
@viewport = nil
@disposed = true
end
def create_layers
max = -1
for x in 0..@priorities.xsize - 1
max = @priorities