mirror of
https://github.com/pyrollo/display_modpack.git
synced 2024-11-30 10:03:43 +01:00
Added font_lib deprecation and corresponding notices in READMEs
This commit is contained in:
parent
d013809244
commit
81e6dc89ae
@ -12,3 +12,12 @@ This library's purpose is to ease creation of nodes with one or more displays on
|
||||
|
||||
For more information, see the [forum topic](https://forum.minetest.net/viewtopic.php?t=19365) at the Minetest forums.
|
||||
|
||||
## Deprecation notice (for modders)
|
||||
|
||||
### December 2018
|
||||
Following objects are deprecated, shows a warning in log when used:
|
||||
* `display_modpack_node` group (use `display_api` group instead);
|
||||
* `display_lib_node` group (use `display_api` group instead);
|
||||
* `display_lib` global table (use `display_api` global table instead);
|
||||
|
||||
These objects will be removed in the future.
|
||||
|
@ -21,3 +21,11 @@ Font mods can be found here:
|
||||
* [Metro](https://github.com/pyrollo/display_modpack/tree/master/font_metro): A multipurpose font with many chars (uppercase, lowercase and accentuated latin letters, usual signs, cyrillic and greek letters).
|
||||
* [OldWizard](https://github.com/pyrollo/font_oldwizard): An old style gothic font.
|
||||
* [Botic](https://github.com/pyrollo/font_botic): A scifi style font.
|
||||
|
||||
## Deprecation notice (for modders)
|
||||
|
||||
### December 2018
|
||||
Following object is deprecate, shows a warning in log when used:
|
||||
* `font_lib` global table (use `font_api` global table instead);
|
||||
|
||||
This object will be removed in the future.
|
||||
|
54
font_api/deprecation.lua
Normal file
54
font_api/deprecation.lua
Normal file
@ -0,0 +1,54 @@
|
||||
--[[
|
||||
font_api mod for Minetest - Library to create textures with fonts and text
|
||||
(c) Pierre-Yves Rollo
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
--]]
|
||||
|
||||
-- Deprecation
|
||||
|
||||
function deprecated_global_table(deprecated_global_name, replacement_global_name)
|
||||
assert(type(deprecated_global_name) == 'string', "deprecated_global_name should be a string.")
|
||||
assert(type(replacement_global_name) == 'string', "replacement_global_name should be a string.")
|
||||
assert(deprecated_global_name ~= '', "deprecated_global_name should not be empty.")
|
||||
assert(replacement_global_name ~= '', "replacement_global_name should not be empty.")
|
||||
assert(rawget(_G, deprecated_global_name) == nil, "replacement global already exists.")
|
||||
if _G[replacement_global_name] == nil then
|
||||
print('warn_deprecated_functions: Warning, replacement global "'..replacement_global_name..'" does not exists.')
|
||||
return
|
||||
end
|
||||
local meta = {
|
||||
deprecated = deprecated_global_name,
|
||||
replacement = replacement_global_name,
|
||||
__index = function(table, key)
|
||||
local meta = getmetatable(table)
|
||||
local dbg = debug.getinfo(2, "lS")
|
||||
minetest.log("warning", string.format('Warning: Accessing deprecated "%s" table, "%s" should be used instead (%s:%d).',
|
||||
meta.deprecated, meta.replacement, (dbg.short_src or 'unknown'), (dbg.currentline or 0)))
|
||||
return _G[meta.replacement][key]
|
||||
end,
|
||||
__newindex = function(table, key, value)
|
||||
local meta = getmetatable(table)
|
||||
local dbg = debug.getinfo(2, "lS")
|
||||
minetest.log("warning", string.format('Warning: Accessing deprecated "%s" table, "%s" should be used instead (%s:%d).',
|
||||
meta.deprecated, meta.replacement, (dbg.short_src or 'unknown'), (dbg.currentline or 0)))
|
||||
_G[meta.replacement][key]=value
|
||||
end,
|
||||
}
|
||||
rawset(_G, deprecated_global_name, {})
|
||||
setmetatable(_G[deprecated_global_name], meta)
|
||||
end
|
||||
|
||||
-- deprecated(2) -- December 2018 - Deprecation of font_lib
|
||||
deprecated_global_table('font_lib', 'font_api')
|
@ -33,6 +33,4 @@ dofile(font_api.path.."/fontform.lua")
|
||||
if minetest.get_modpath("display_api") then
|
||||
dofile(font_api.path.."/display_api.lua")
|
||||
end
|
||||
|
||||
-- Compatibility
|
||||
font_lib = font_api
|
||||
dofile(font_api.path.."/deprecation.lua")
|
||||
|
Loading…
Reference in New Issue
Block a user