Remove the bullshit and fix the sprite once and for all

This commit is contained in:
Jean-Patrick Guerrero 2022-07-01 03:34:38 +02:00
parent 32779ab56f
commit 6dd95a6a87
3 changed files with 3 additions and 10 deletions

View File

@ -28,7 +28,6 @@ i3 = {
max_waypoints = 30, max_waypoints = 30,
min_fs_version = 4, min_fs_version = 4,
item_btn_size = 1.1, item_btn_size = 1.1,
sprite_resolution = 256,
drop_bag_on_die = true, drop_bag_on_die = true,
save_interval = 600, -- Player data save interval (in seconds) save_interval = 600, -- Player data save interval (in seconds)

View File

@ -34,7 +34,7 @@ local function cache_groups(group, groups)
local items = i3.groups[group].items local items = i3.groups[group].items
if #items <= 1 then return end if #items <= 1 then return end
local px, c, lim = i3.settings.sprite_resolution, 0, 10 local px, lim, c = 64, 10, 0
local sprite = "[combine:WxH" local sprite = "[combine:WxH"
for _, item in ipairs(items) do for _, item in ipairs(items) do
@ -44,16 +44,10 @@ local function cache_groups(group, groups)
if def.drawtype and is_cube(def.drawtype) then if def.drawtype and is_cube(def.drawtype) then
texture = get_cube(tiles) texture = get_cube(tiles)
elseif texture then
-- Buggy, it disforms the texture but can handle any sequence
texture = texture:gsub("%^", "\\^"):gsub(":", "\\:") .. "\\^[resize\\:146x146"
--[[ Alternative, it scales a flat texture perfectly but does not
handle correctly mixed sequence like: inv cube -> flat texture -> inv cube ]]
-- px = 112
end end
if texture then if texture then
texture = texture:gsub("%^", "\\^"):gsub(":", "\\:") .. fmt("\\^[resize\\:%ux%u", px, px)
sprite = sprite .. fmt(":0,%u=%s", c * px, texture) sprite = sprite .. fmt(":0,%u=%s", c * px, texture)
c++ c++
if c == lim then break end if c == lim then break end

View File

@ -1034,7 +1034,7 @@ local function get_grid_fs(fs, data, rcp, is_recipe)
if group_cache and group_cache.sprite and not large_recipe then if group_cache and group_cache.sprite and not large_recipe then
local sprite = ESC(group_cache.sprite) local sprite = ESC(group_cache.sprite)
local size = (i3.settings.sprite_resolution * 1.89) / 256 local size = btn_size - 0.02
item_image_button(X, Y, btn_size, btn_size, "", btn_name, "") item_image_button(X, Y, btn_size, btn_size, "", btn_name, "")
animated_image(X + 0.01, Y + 0.01, size, size, sprite, group_cache.count, 1500) animated_image(X + 0.01, Y + 0.01, size, size, sprite, group_cache.count, 1500)