Fix load_textures overwriting tile_size with nil for variable-size atlases
When an atlas declares tile_size_px = null (variable-size tiles), the load_textures call was overwriting the map's tile_size with nil, causing an arithmetic error in draw_layer on the first render frame. Guard the tile_size update so it only applies when tile_size_px is non-nil; maps using variable-size atlases keep their tile_size from the stub default (32) set at load time. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
6
init.lua
6
init.lua
@@ -687,8 +687,10 @@ function M.load_textures(asset_aliases)
|
|||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Update m.tile_size from first atlas (assume uniform; first atlas wins)
|
-- Update m.tile_size from first atlas only when the atlas declares a uniform
|
||||||
if m.atlases[1] then
|
-- tile size. Variable-size atlases (tile_size_px = null) keep the tile_size
|
||||||
|
-- that was set by the stub or tilemap JSON at load time (typically 32).
|
||||||
|
if m.atlases[1] and m.atlases[1].tile_size_px ~= nil then
|
||||||
m.tile_size = m.atlases[1].tile_size_px
|
m.tile_size = m.atlases[1].tile_size_px
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user