mirror of
https://github.com/mt-mods/signs_lib.git
synced 2024-12-25 00:30:18 +01:00
Cache character textures
This commit is contained in:
parent
b057341a07
commit
c199a33bb8
8
init.lua
8
init.lua
@ -26,6 +26,9 @@ signs_lib.gettext = S
|
||||
-- text encoding
|
||||
dofile(signs_lib.path .. "/encoding.lua");
|
||||
|
||||
-- Initialize character texture cache
|
||||
local ctexcache = {}
|
||||
|
||||
|
||||
local wall_dir_change = {
|
||||
[0] = 4,
|
||||
@ -362,6 +365,9 @@ end
|
||||
-- make char texture file name
|
||||
-- if texture file does not exist use fallback texture instead
|
||||
local function char_tex(font_name, ch)
|
||||
if ctexcache[font_name..ch] then
|
||||
return ctexcache[font_name..ch], true
|
||||
else
|
||||
local c = ch:byte()
|
||||
local exists, tex = file_exists(CHAR_PATH:format(font_name, c))
|
||||
if exists and c ~= 14 then
|
||||
@ -369,8 +375,10 @@ local function char_tex(font_name, ch)
|
||||
else
|
||||
tex = CHAR_FILE:format(font_name, 0x0)
|
||||
end
|
||||
ctexcache[font_name..ch] = tex
|
||||
return tex, exists
|
||||
end
|
||||
end
|
||||
|
||||
local function make_line_texture(line, lineno, pos)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user