diff --git a/.gitignore b/.gitignore deleted file mode 100644 index c6f5712..0000000 --- a/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -*~ -_* - diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index a28a34b..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "display_api"] - path = display_api - url = https://github.com/pyrollo/display_api.git diff --git a/API.md b/API.md new file mode 100644 index 0000000..0d52e29 --- /dev/null +++ b/API.md @@ -0,0 +1,94 @@ +# Display Lib API +This document describes Display Lib API. Display Lib allows to add a dynamic display on a node. Display Lib limits node rotations. For wallmounted, only vertical positionning is available, and for facedir, only first four position are availabel (those with default axis). + +## Provided methods +### update\_entities +**display\_lib.update\_entities(pos)** + +This method triggers entities update for the display node at pos. Actual entity update is made by `on_display_update` callback associated to the entity. + +`pos`: Position of the node +### register\_display\_entity +**display\_lib.register\_display\_entity(entity_name)** + +This is a helper to register entities used for display. + +`entity_name`: Name of the entity to register. +## Provided callback implementations +### on_place +**display\_lib.on\_place(itemstack, placer, pointed\_thing)** + +`on_place` node callback implementation. Display nodes should have this callback (avoid placement of horizontal display node). +### on_construct +**display\_lib.on\_construct(pos)** + +`on_construct` node callback implementation. Display nodes should have this callback (creates, places and updates display entities on node construction). +### on_destruct +**display\_lib.on_destruct(pos)** + +`on_destruct` node callback implementation. Display nodes should have this callback (removes display entities on node destruction). +### on_rotate +**display\_lib.on\_rotate(pos, node, user, mode, new_param2)** + +`on_rotate` node callback implementation. Display nodes should have this callback (restricts rotations and rotates display entities associated with node). +### on_activate +**display\_lib.on_activate(entity, staticdata)** + +`On_activate` entity callback implementation for display entities. No need of this method if display entities have been registered using `register_display_entity` (callback is already set). + +## Howto register a display node +* Register display entities with `register_display_entity` + +* Register node with : + - `on_place`, `on_construct`, `on_destruct` and `on_rotate` callbacks using display_api callbacks. +  + - `display_modpack_node` group. This will make this node have their entities updated as soon as the mapblock is loaded (Useful after /clearobjects). +  + - a `display_entities` field in node definition containing a entity name indexed table. See below for description of each display_entities fields. + +### Display_entities fields +`on_display_update` is a callback in charge of setting up entity texture. If not set, entity will have no texture and will be displayed as unknown item. + +`depth`, `right` and `height` : Entity position regarding to node facedir/wallmounted main axis. +Values for these fields can be any number between -1.5 and 1.5 (default value is 0). +Position 0,0,0 is the center of the node. +`depth` goes from front (-0.5) to rear (0.5), `height` goes from bottom (-0.5) to top (0.5) and `right` goes from left (-0.5) to right (0.5). + +In order to avoid flickering text, it's better to have text a little behind node surface. A good spacing value is given by `display_api.entity_spacing` variable. + +### Example + + display_api.register_display_entity("mymod:entity1") + display_api.register_display_entity("mymod:entity2") + + function my_display_update1(pos, objref) + objref:set_properties({ textures= {"mytexture1.png"}, + visual_size = {x=1, y=1} }) + end + + function my_display_update2(pos, objref) + objref:set_properties({ textures= {"mytexture2.png"}, +                         visual_size = {x=1, y=1} }) + end + + minetest.register_node("mymod:test_display_node", { + ... + paramtype2 = "facedir", + ... + groups = { display_modpack_node = 1, ... }, + ... + display_entities = { + ["mymod:entity1"] = { + depth = 0.3, + on_display_update = my_display_update1 }, + ["mymod:entity1"] = { + depth = 0.2, height = 0.1, + on_display_update = my_display_update2 }, + }, + ... + on_place = display_api.on_place, + on_construct = display_api.on_construct, + on_destruct = display_api.on_destruct, + on_rotate = display_api.on_rotate, + ... + }) diff --git a/LICENSE.txt b/LICENSE.txt index 65c5ca8..341c30b 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -163,3 +163,4 @@ whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. + diff --git a/README.md b/README.md index 13abfca..f51996d 100644 --- a/README.md +++ b/README.md @@ -1,100 +1,14 @@ -# Display Modpack -Version 1.1.1 +# Display Lib -This modpack provides mods with dynamic display. Mods are : +This library's purpose is to ease creation of nodes with one or more displays on sides. For example, signs and clocks. Display can be dynamic and/or different for each node instance. -- **display_api**: A library for adding display entities to nodes; -- **font_api**: A library for displaying fonts on entities; -- **signs_api**: A library for the easy creation of signs; +**Limitations**: This lib uses entities to draw display. This means display has to be vertical. So display nodes rotation are limitated to "upside up" positions. -- **boards**: A mod providing school boards; -- **ontime_clocks**: A mod providing clocks which display the ingame time; -- **signs**: A mod providing signs and direction signs displaying text; -- **signs_road**: A mod providing road signs displaying text; -- **steles**: A mod providing stone steles with text; +**Dependancies**:default + +**License**: LPGL + +**API**: See [API.md](https://github.com/pyrollo/display_modpack/blob/master/display_api/API.md) document please. For more information, see the [forum topic](https://forum.minetest.net/viewtopic.php?t=19365) at the Minetest forums. -![Presentation image of Display_Modpack](screenshot.png) - -## Changelog - -### 2018-07-16 (Version 1.1.1) - -- Boards mod added. - -- Bug fix in default font chosing when multiple font registered. - -### 2018-07-13 (Version 1.1.0) - -- Font API rework introducing Font class. - -- Replaced default Epilepsy Font by Metro Font for licensing purposes, - -- Rework of all nodes displaying text accordingly to the Font API rework. - -As font_epilepsy mod has been replaced by font_metro mod, **don't forget to activate font_metro mod after updating** or you won't have any text displayed. - -### 2018-05-30 (Version 1.0.1) - -Mostly bug fixes : - -- Fix steles orientation when placing - -- Update entity on mapblock load - -- Use default formspec style - -- Fix ndef nill value in steles mod when technics not installed - -- Seperate signs API from signs définitions - -- Allow a greater offset between display and block - -### 2018-01-13 (Version 1.0) - -- Switch to Epilepsy font by KREATIVE SOFTWARE - -- Add settings "default_font" - -- Add horizontal alignment - -- Add tool for creating font textures from .ttf font files - -- Fix UTF 8 to Unicode decoding - -- Updated forum thread link in README.md - -### 2017-12-19 - -This change is a preparation to merge Andrzej Pieńkowski fork (apienk) : new font and support of UTF chars. - -- Font\_lib support for multiple fonts (nothing yet visible in mods) ; - -- Font\_lib support for Unicode characters (limited to Unicode Plane 0: 0000-FFFF, see [Wikipedia](https://en.wikipedia.org/wiki/Unicode)) ; - -- New "default" font with original textures from Vanessa Ezekowitz (VanessaE) ; - -### 2017-12-10 - -- Compatibility of signs mod with signs_lib (thanks to gpcf) ; - -- Added large banner in road signs (thanks to gpcf) ; - -### 2017-08-26 - -- Changed signs from wallmounted to facedir to improve textures and make it possible to use screwdriver. -**IMPORTANT** : Map will be updated to change to new nodes but inventory items will turn into "Unknown items" and have to be re-crafted. - -- Intllib support added with french translation (whole modpack, thanks to fat115) ; - -- Punch on nodes to update entity (signs, signs_road and steles). Usefull in case of /clearobjects ; - -- Changed wooden direction sign textures (signs) ; - -- Added back and side textures to all signs (road_signs) ; - -- Added more sign types : White/yellow/green signs and direction signs (signs_road) ; - - - diff --git a/_config.yml b/_config.yml deleted file mode 100644 index 2f7efbe..0000000 --- a/_config.yml +++ /dev/null @@ -1 +0,0 @@ -theme: jekyll-theme-minimal \ No newline at end of file diff --git a/boards/LICENSE.txt b/boards/LICENSE.txt deleted file mode 100644 index 341c30b..0000000 --- a/boards/LICENSE.txt +++ /dev/null @@ -1,166 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. - diff --git a/boards/LICENSE_FONT.txt b/boards/LICENSE_FONT.txt deleted file mode 100644 index 29d0f9b..0000000 --- a/boards/LICENSE_FONT.txt +++ /dev/null @@ -1,4 +0,0 @@ -The FontStruction “Tiny Cursive” -(https://fontstruct.com/fontstructions/show/63155) by “cyfry77” is licensed -under a Creative Commons Attribution Share Alike license -(http://creativecommons.org/licenses/by-sa/3.0/). diff --git a/boards/copyright.txt b/boards/copyright.txt deleted file mode 100644 index ad83a10..0000000 --- a/boards/copyright.txt +++ /dev/null @@ -1,2 +0,0 @@ -Code by Pierre-Yves Rollo (pyrollo) -Font by (cyfry77) diff --git a/boards/depends.txt b/boards/depends.txt deleted file mode 100644 index 8c807e3..0000000 --- a/boards/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -signs_api diff --git a/boards/font_tinycurs.lua b/boards/font_tinycurs.lua deleted file mode 100644 index a9a323a..0000000 --- a/boards/font_tinycurs.lua +++ /dev/null @@ -1,27 +0,0 @@ ---[[ - Tinycurs font for Font API - - Original font Tiny Cursive - by cyfry77 - G and J textures by Pierre-Yves Rollo (pyrollo) - released under CC-BY-SA license - - https://fontstruct.com/fontstructions/show/63155/tiny_cursive - - Derivative texture are under CC-BY-SA license - Code is under LGPL v3 license ---]] - -font_api.register_font('tinycurs', - { - default = false, -- Don't register this font as a possible default font - margintop = -2, - marginbottom = -2, - linespacing = -4, - height = 19, - widths = { - [0]=9, [32]=9, [33]=6, [34]=7, [35]=10, [36]=14, [37]=14, [38]=12, [39]=3, [40]=6, [41]=6, [42]=9, [43]=8, [44]=3, [45]=7, [46]=3, [47]=9, [48]=9, [49]=7, [50]=10, [51]=9, [52]=9, [53]=10, [54]=10, [55]=9, [56]=10, [57]=8, [58]=5, [59]=5, [60]=8, [61]=8, [62]=8, [63]=8, [64]=12, [65]=9, [66]=7, [67]=9, [68]=10, [69]=8, [70]=8, [71]=8, [72]=10, [73]=7, [74]=8, [75]=9, [76]=9, [77]=12, [78]=10, [79]=9, [80]=9, [81]=9, [82]=11, [83]=11, [84]=8, [85]=11, [86]=11, [87]=12, [88]=12, [89]=11, [90]=11, [91]=8, [92]=5, [93]=8, [94]=8, [95]=8, [96]=5, [97]=6, [98]=6, [99]=6, [100]=7, [101]=6, [102]=5, [103]=6, [104]=6, [105]=4, [106]=5, [107]=7, [108]=5, [109]=9, [110]=8, [111]=6, [112]=9, [113]=8, [114]=7, [115]=7, [116]=6, [117]=8, [118]=8, [119]=11, [120]=10, [121]=8, [122]=8, [123]=8, [124]=6, [125]=9, [126]=10, [8216]=4, [8217]=4, [8220]=6, [8221]=6 - }, - } -); - diff --git a/boards/init.lua b/boards/init.lua deleted file mode 100644 index 4126a6c..0000000 --- a/boards/init.lua +++ /dev/null @@ -1,139 +0,0 @@ ---[[ - boards mod for Minetest. Black boards with text on it. - (c) Pierre-Yves Rollo - - This file is part of boards. - - boards 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. - - boards 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 boards. If not, see . ---]] - -boards = {} -boards.name = minetest.get_current_modname() -boards.path = minetest.get_modpath(boards.name) - --- Load support for intllib. -local S, NS = dofile(boards.path.."/intllib.lua") -boards.intllib = S -local F = function(...) return minetest.formspec_escape(S(...)) end - --- Load font -dofile(boards.path.."/font_tinycurs.lua") - -local function set_formspec(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", - "size[6,4]"..default.gui_bg..default.gui_bg_img..default.gui_slots.. - "textarea[0.5,0.7;5.5,3;display_text;"..F("Text")..";${display_text}]".. - "button_exit[3,3.5;2,1;ok;"..F("Write").."]".. - "button_exit[1,3.5;2,1;wipe;"..F("Wipe").."]") -end - --- On boards, everyone is allowed to write and wipe -local function on_receive_fields(pos, formname, fields, player) - if fields then - if fields.ok or fields.key_enter then - signs_api.set_display_text(pos, fields.display_text, fields.font) - end - if fields.wipe then - signs_api.set_display_text(pos, "", fields.font) - end - end -end - -models = { - black_board = { - depth = 1/16, width = 1, height = 1, - entity_fields = { - top = -1/32, - size = { x = 1, y = 15/16 }, - maxlines = 5, - color = "#fff", - font_name = "tinycurs", - valign = "top", - }, - node_fields = { - description = S("Black board"), - tiles = { "default_wood.png", "default_wood.png", - "default_wood.png", "default_wood.png", - "default_wood.png", "board_black_front.png" }, - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 7/16, 0.5, 0.5, 0.5}, - {-0.5, -7/16, 6/16, 0.5, -0.5, 7/16} - }, - }, - on_construct = function(pos) - set_formspec(pos) - display_api.on_construct(pos) - end, - on_receive_fields = on_receive_fields, - }, - }, - green_board = { - depth = 1/16, width = 1, height = 1, - entity_fields = { - top = -1/32, - size = { x = 1, y = 15/16 }, - maxlines = 5, - color = "#fff", - font_name = "tinycurs", - valign = "top", - }, - node_fields = { - description = S("Green board"), - tiles = { "default_wood.png", "default_wood.png", - "default_wood.png", "default_wood.png", - "default_wood.png", "board_green_front.png" }, - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 7/16, 0.5, 0.5, 0.5}, - {-0.5, -7/16, 6/16, 0.5, -0.5, 7/16} - }, - }, - on_construct = function(pos) - set_formspec(pos) - display_api.on_construct(pos) - end, - on_receive_fields = on_receive_fields, - }, - }, -} - --- Node registration -for name, model in pairs(models) -do - signs_api.register_sign("boards", name, model) -end - --- Recipes -minetest.register_craft( - { - output = "boards:black_board", - recipe = { - {"group:wood", "group:stone", "dye:black"}, - } - }) - -minetest.register_craft( - { - output = "boards:green_board", - recipe = { - {"group:wood", "group:stone", "dye:dark_green"}, - } - }) - diff --git a/boards/intllib.lua b/boards/intllib.lua deleted file mode 100644 index 6669d72..0000000 --- a/boards/intllib.lua +++ /dev/null @@ -1,45 +0,0 @@ - --- Fallback functions for when `intllib` is not installed. --- Code released under Unlicense . - --- Get the latest version of this file at: --- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua - -local function format(str, ...) - local args = { ... } - local function repl(escape, open, num, close) - if escape == "" then - local replacement = tostring(args[tonumber(num)]) - if open == "" then - replacement = replacement..close - end - return replacement - else - return "@"..open..num..close - end - end - return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl)) -end - -local gettext, ngettext -if minetest.get_modpath("intllib") then - if intllib.make_gettext_pair then - -- New method using gettext. - gettext, ngettext = intllib.make_gettext_pair() - else - -- Old method using text files. - gettext = intllib.Getter() - end -end - --- Fill in missing functions. - -gettext = gettext or function(msgid, ...) - return format(msgid, ...) -end - -ngettext = ngettext or function(msgid, msgid_plural, n, ...) - return format(n==1 and msgid or msgid_plural, ...) -end - -return gettext, ngettext diff --git a/boards/locale/fr.po b/boards/locale/fr.po deleted file mode 100644 index 1b081be..0000000 --- a/boards/locale/fr.po +++ /dev/null @@ -1,40 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-07-16 10:00+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: init.lua -msgid "Text" -msgstr "Texte" - -#: init.lua -msgid "Write" -msgstr "Ecrire" - -#: init.lua -msgid "Wipe" -msgstr "Effacer" - -#: init.lua -msgid "Black board" -msgstr "Tableau noir" - -#: init.lua -msgid "Green board" -msgstr "Tableau vert" - - diff --git a/boards/locale/template.pot b/boards/locale/template.pot deleted file mode 100644 index 8db98b8..0000000 --- a/boards/locale/template.pot +++ /dev/null @@ -1,34 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-07-16 10:00+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: init.lua -msgid "Text" -msgstr "" - -#: init.lua -msgid "Write" -msgstr "" - -#: init.lua -msgid "Wipe" -msgstr "" - -#: init.lua -msgid "Black board" -msgstr "" diff --git a/boards/textures/board_black_front.png b/boards/textures/board_black_front.png deleted file mode 100644 index bddf4b6..0000000 Binary files a/boards/textures/board_black_front.png and /dev/null differ diff --git a/boards/textures/board_green_front.png b/boards/textures/board_green_front.png deleted file mode 100644 index 57e613f..0000000 Binary files a/boards/textures/board_green_front.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0000.png b/boards/textures/font_tinycurs_0000.png deleted file mode 100644 index 5e32523..0000000 Binary files a/boards/textures/font_tinycurs_0000.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0020.png b/boards/textures/font_tinycurs_0020.png deleted file mode 100644 index 4d55fc2..0000000 Binary files a/boards/textures/font_tinycurs_0020.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0021.png b/boards/textures/font_tinycurs_0021.png deleted file mode 100644 index 2341270..0000000 Binary files a/boards/textures/font_tinycurs_0021.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0022.png b/boards/textures/font_tinycurs_0022.png deleted file mode 100644 index 711fc0a..0000000 Binary files a/boards/textures/font_tinycurs_0022.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0023.png b/boards/textures/font_tinycurs_0023.png deleted file mode 100644 index eb7fe6d..0000000 Binary files a/boards/textures/font_tinycurs_0023.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0024.png b/boards/textures/font_tinycurs_0024.png deleted file mode 100644 index 21faedc..0000000 Binary files a/boards/textures/font_tinycurs_0024.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0025.png b/boards/textures/font_tinycurs_0025.png deleted file mode 100644 index d13b136..0000000 Binary files a/boards/textures/font_tinycurs_0025.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0026.png b/boards/textures/font_tinycurs_0026.png deleted file mode 100644 index 0217d08..0000000 Binary files a/boards/textures/font_tinycurs_0026.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0027.png b/boards/textures/font_tinycurs_0027.png deleted file mode 100644 index 3358a85..0000000 Binary files a/boards/textures/font_tinycurs_0027.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0028.png b/boards/textures/font_tinycurs_0028.png deleted file mode 100644 index 4867aca..0000000 Binary files a/boards/textures/font_tinycurs_0028.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0029.png b/boards/textures/font_tinycurs_0029.png deleted file mode 100644 index 6233ad6..0000000 Binary files a/boards/textures/font_tinycurs_0029.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_002a.png b/boards/textures/font_tinycurs_002a.png deleted file mode 100644 index 95ecb14..0000000 Binary files a/boards/textures/font_tinycurs_002a.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_002b.png b/boards/textures/font_tinycurs_002b.png deleted file mode 100644 index 8c92a50..0000000 Binary files a/boards/textures/font_tinycurs_002b.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_002c.png b/boards/textures/font_tinycurs_002c.png deleted file mode 100644 index 7457341..0000000 Binary files a/boards/textures/font_tinycurs_002c.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_002d.png b/boards/textures/font_tinycurs_002d.png deleted file mode 100644 index f0edd03..0000000 Binary files a/boards/textures/font_tinycurs_002d.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_002e.png b/boards/textures/font_tinycurs_002e.png deleted file mode 100644 index 6425d1f..0000000 Binary files a/boards/textures/font_tinycurs_002e.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_002f.png b/boards/textures/font_tinycurs_002f.png deleted file mode 100644 index 2cf9cfb..0000000 Binary files a/boards/textures/font_tinycurs_002f.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0030.png b/boards/textures/font_tinycurs_0030.png deleted file mode 100644 index 0c52286..0000000 Binary files a/boards/textures/font_tinycurs_0030.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0031.png b/boards/textures/font_tinycurs_0031.png deleted file mode 100644 index 3da16d1..0000000 Binary files a/boards/textures/font_tinycurs_0031.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0032.png b/boards/textures/font_tinycurs_0032.png deleted file mode 100644 index 6e647a5..0000000 Binary files a/boards/textures/font_tinycurs_0032.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0033.png b/boards/textures/font_tinycurs_0033.png deleted file mode 100644 index 9322594..0000000 Binary files a/boards/textures/font_tinycurs_0033.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0034.png b/boards/textures/font_tinycurs_0034.png deleted file mode 100644 index 15f4462..0000000 Binary files a/boards/textures/font_tinycurs_0034.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0035.png b/boards/textures/font_tinycurs_0035.png deleted file mode 100644 index b37d085..0000000 Binary files a/boards/textures/font_tinycurs_0035.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0036.png b/boards/textures/font_tinycurs_0036.png deleted file mode 100644 index 51d11a2..0000000 Binary files a/boards/textures/font_tinycurs_0036.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0037.png b/boards/textures/font_tinycurs_0037.png deleted file mode 100644 index d46de6c..0000000 Binary files a/boards/textures/font_tinycurs_0037.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0038.png b/boards/textures/font_tinycurs_0038.png deleted file mode 100644 index 43126d1..0000000 Binary files a/boards/textures/font_tinycurs_0038.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0039.png b/boards/textures/font_tinycurs_0039.png deleted file mode 100644 index a5ad51e..0000000 Binary files a/boards/textures/font_tinycurs_0039.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_003a.png b/boards/textures/font_tinycurs_003a.png deleted file mode 100644 index f0ae56f..0000000 Binary files a/boards/textures/font_tinycurs_003a.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_003b.png b/boards/textures/font_tinycurs_003b.png deleted file mode 100644 index 08c8b44..0000000 Binary files a/boards/textures/font_tinycurs_003b.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_003c.png b/boards/textures/font_tinycurs_003c.png deleted file mode 100644 index 2c5ddc9..0000000 Binary files a/boards/textures/font_tinycurs_003c.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_003d.png b/boards/textures/font_tinycurs_003d.png deleted file mode 100644 index a80eeee..0000000 Binary files a/boards/textures/font_tinycurs_003d.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_003e.png b/boards/textures/font_tinycurs_003e.png deleted file mode 100644 index 0cee6d5..0000000 Binary files a/boards/textures/font_tinycurs_003e.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_003f.png b/boards/textures/font_tinycurs_003f.png deleted file mode 100644 index 928a174..0000000 Binary files a/boards/textures/font_tinycurs_003f.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0040.png b/boards/textures/font_tinycurs_0040.png deleted file mode 100644 index e19e0cd..0000000 Binary files a/boards/textures/font_tinycurs_0040.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0041.png b/boards/textures/font_tinycurs_0041.png deleted file mode 100644 index d6505e1..0000000 Binary files a/boards/textures/font_tinycurs_0041.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0042.png b/boards/textures/font_tinycurs_0042.png deleted file mode 100644 index af72583..0000000 Binary files a/boards/textures/font_tinycurs_0042.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0043.png b/boards/textures/font_tinycurs_0043.png deleted file mode 100644 index ac8bfce..0000000 Binary files a/boards/textures/font_tinycurs_0043.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0044.png b/boards/textures/font_tinycurs_0044.png deleted file mode 100644 index 25ead38..0000000 Binary files a/boards/textures/font_tinycurs_0044.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0045.png b/boards/textures/font_tinycurs_0045.png deleted file mode 100644 index 7ed7872..0000000 Binary files a/boards/textures/font_tinycurs_0045.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0046.png b/boards/textures/font_tinycurs_0046.png deleted file mode 100644 index a48a33e..0000000 Binary files a/boards/textures/font_tinycurs_0046.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0047.png b/boards/textures/font_tinycurs_0047.png deleted file mode 100644 index 17fe5aa..0000000 Binary files a/boards/textures/font_tinycurs_0047.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0048.png b/boards/textures/font_tinycurs_0048.png deleted file mode 100644 index 7466bb7..0000000 Binary files a/boards/textures/font_tinycurs_0048.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0049.png b/boards/textures/font_tinycurs_0049.png deleted file mode 100644 index 660d34e..0000000 Binary files a/boards/textures/font_tinycurs_0049.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_004a.png b/boards/textures/font_tinycurs_004a.png deleted file mode 100644 index 9c4eb48..0000000 Binary files a/boards/textures/font_tinycurs_004a.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_004b.png b/boards/textures/font_tinycurs_004b.png deleted file mode 100644 index 5554ef9..0000000 Binary files a/boards/textures/font_tinycurs_004b.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_004c.png b/boards/textures/font_tinycurs_004c.png deleted file mode 100644 index aaa7563..0000000 Binary files a/boards/textures/font_tinycurs_004c.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_004d.png b/boards/textures/font_tinycurs_004d.png deleted file mode 100644 index 72cd174..0000000 Binary files a/boards/textures/font_tinycurs_004d.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_004e.png b/boards/textures/font_tinycurs_004e.png deleted file mode 100644 index 177fdf3..0000000 Binary files a/boards/textures/font_tinycurs_004e.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_004f.png b/boards/textures/font_tinycurs_004f.png deleted file mode 100644 index 2b76002..0000000 Binary files a/boards/textures/font_tinycurs_004f.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0050.png b/boards/textures/font_tinycurs_0050.png deleted file mode 100644 index 4ac9be8..0000000 Binary files a/boards/textures/font_tinycurs_0050.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0051.png b/boards/textures/font_tinycurs_0051.png deleted file mode 100644 index c900456..0000000 Binary files a/boards/textures/font_tinycurs_0051.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0052.png b/boards/textures/font_tinycurs_0052.png deleted file mode 100644 index ab5c241..0000000 Binary files a/boards/textures/font_tinycurs_0052.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0053.png b/boards/textures/font_tinycurs_0053.png deleted file mode 100644 index c627af9..0000000 Binary files a/boards/textures/font_tinycurs_0053.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0054.png b/boards/textures/font_tinycurs_0054.png deleted file mode 100644 index e9a155d..0000000 Binary files a/boards/textures/font_tinycurs_0054.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0055.png b/boards/textures/font_tinycurs_0055.png deleted file mode 100644 index bd74959..0000000 Binary files a/boards/textures/font_tinycurs_0055.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0056.png b/boards/textures/font_tinycurs_0056.png deleted file mode 100644 index 4446da3..0000000 Binary files a/boards/textures/font_tinycurs_0056.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0057.png b/boards/textures/font_tinycurs_0057.png deleted file mode 100644 index d0fee31..0000000 Binary files a/boards/textures/font_tinycurs_0057.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0058.png b/boards/textures/font_tinycurs_0058.png deleted file mode 100644 index 84640b9..0000000 Binary files a/boards/textures/font_tinycurs_0058.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0059.png b/boards/textures/font_tinycurs_0059.png deleted file mode 100644 index 9053dd9..0000000 Binary files a/boards/textures/font_tinycurs_0059.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_005a.png b/boards/textures/font_tinycurs_005a.png deleted file mode 100644 index a69dde0..0000000 Binary files a/boards/textures/font_tinycurs_005a.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_005b.png b/boards/textures/font_tinycurs_005b.png deleted file mode 100644 index 7e6a3f2..0000000 Binary files a/boards/textures/font_tinycurs_005b.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_005c.png b/boards/textures/font_tinycurs_005c.png deleted file mode 100644 index fd2df37..0000000 Binary files a/boards/textures/font_tinycurs_005c.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_005d.png b/boards/textures/font_tinycurs_005d.png deleted file mode 100644 index e3064d9..0000000 Binary files a/boards/textures/font_tinycurs_005d.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_005e.png b/boards/textures/font_tinycurs_005e.png deleted file mode 100644 index 55055f9..0000000 Binary files a/boards/textures/font_tinycurs_005e.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_005f.png b/boards/textures/font_tinycurs_005f.png deleted file mode 100644 index 367468a..0000000 Binary files a/boards/textures/font_tinycurs_005f.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0060.png b/boards/textures/font_tinycurs_0060.png deleted file mode 100644 index 4170f49..0000000 Binary files a/boards/textures/font_tinycurs_0060.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0061.png b/boards/textures/font_tinycurs_0061.png deleted file mode 100644 index b545504..0000000 Binary files a/boards/textures/font_tinycurs_0061.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0062.png b/boards/textures/font_tinycurs_0062.png deleted file mode 100644 index daf3e81..0000000 Binary files a/boards/textures/font_tinycurs_0062.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0063.png b/boards/textures/font_tinycurs_0063.png deleted file mode 100644 index dee911e..0000000 Binary files a/boards/textures/font_tinycurs_0063.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0064.png b/boards/textures/font_tinycurs_0064.png deleted file mode 100644 index 1f4a51e..0000000 Binary files a/boards/textures/font_tinycurs_0064.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0065.png b/boards/textures/font_tinycurs_0065.png deleted file mode 100644 index 002357f..0000000 Binary files a/boards/textures/font_tinycurs_0065.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0066.png b/boards/textures/font_tinycurs_0066.png deleted file mode 100644 index 23eeae9..0000000 Binary files a/boards/textures/font_tinycurs_0066.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0067.png b/boards/textures/font_tinycurs_0067.png deleted file mode 100644 index c557d04..0000000 Binary files a/boards/textures/font_tinycurs_0067.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0068.png b/boards/textures/font_tinycurs_0068.png deleted file mode 100644 index 5175ead..0000000 Binary files a/boards/textures/font_tinycurs_0068.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0069.png b/boards/textures/font_tinycurs_0069.png deleted file mode 100644 index db6433d..0000000 Binary files a/boards/textures/font_tinycurs_0069.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_006a.png b/boards/textures/font_tinycurs_006a.png deleted file mode 100644 index 96da601..0000000 Binary files a/boards/textures/font_tinycurs_006a.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_006b.png b/boards/textures/font_tinycurs_006b.png deleted file mode 100644 index f1e2be7..0000000 Binary files a/boards/textures/font_tinycurs_006b.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_006c.png b/boards/textures/font_tinycurs_006c.png deleted file mode 100644 index 8cfd016..0000000 Binary files a/boards/textures/font_tinycurs_006c.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_006d.png b/boards/textures/font_tinycurs_006d.png deleted file mode 100644 index 95ead88..0000000 Binary files a/boards/textures/font_tinycurs_006d.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_006e.png b/boards/textures/font_tinycurs_006e.png deleted file mode 100644 index 22d177a..0000000 Binary files a/boards/textures/font_tinycurs_006e.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_006f.png b/boards/textures/font_tinycurs_006f.png deleted file mode 100644 index 52b2e64..0000000 Binary files a/boards/textures/font_tinycurs_006f.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0070.png b/boards/textures/font_tinycurs_0070.png deleted file mode 100644 index 05b3e5b..0000000 Binary files a/boards/textures/font_tinycurs_0070.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0071.png b/boards/textures/font_tinycurs_0071.png deleted file mode 100644 index 05d4010..0000000 Binary files a/boards/textures/font_tinycurs_0071.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0072.png b/boards/textures/font_tinycurs_0072.png deleted file mode 100644 index b36ac4d..0000000 Binary files a/boards/textures/font_tinycurs_0072.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0073.png b/boards/textures/font_tinycurs_0073.png deleted file mode 100644 index 6e247b4..0000000 Binary files a/boards/textures/font_tinycurs_0073.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0074.png b/boards/textures/font_tinycurs_0074.png deleted file mode 100644 index 20224c9..0000000 Binary files a/boards/textures/font_tinycurs_0074.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0075.png b/boards/textures/font_tinycurs_0075.png deleted file mode 100644 index 8e1c3e2..0000000 Binary files a/boards/textures/font_tinycurs_0075.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0076.png b/boards/textures/font_tinycurs_0076.png deleted file mode 100644 index 84465fb..0000000 Binary files a/boards/textures/font_tinycurs_0076.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0077.png b/boards/textures/font_tinycurs_0077.png deleted file mode 100644 index 0428693..0000000 Binary files a/boards/textures/font_tinycurs_0077.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0078.png b/boards/textures/font_tinycurs_0078.png deleted file mode 100644 index aa640e9..0000000 Binary files a/boards/textures/font_tinycurs_0078.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_0079.png b/boards/textures/font_tinycurs_0079.png deleted file mode 100644 index 6b1da68..0000000 Binary files a/boards/textures/font_tinycurs_0079.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_007a.png b/boards/textures/font_tinycurs_007a.png deleted file mode 100644 index db7af09..0000000 Binary files a/boards/textures/font_tinycurs_007a.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_007b.png b/boards/textures/font_tinycurs_007b.png deleted file mode 100644 index 8c3c1b6..0000000 Binary files a/boards/textures/font_tinycurs_007b.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_007c.png b/boards/textures/font_tinycurs_007c.png deleted file mode 100644 index 37aa7bb..0000000 Binary files a/boards/textures/font_tinycurs_007c.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_007d.png b/boards/textures/font_tinycurs_007d.png deleted file mode 100644 index b0e4b74..0000000 Binary files a/boards/textures/font_tinycurs_007d.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_007e.png b/boards/textures/font_tinycurs_007e.png deleted file mode 100644 index 86b6112..0000000 Binary files a/boards/textures/font_tinycurs_007e.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_2018.png b/boards/textures/font_tinycurs_2018.png deleted file mode 100644 index d7535fd..0000000 Binary files a/boards/textures/font_tinycurs_2018.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_2019.png b/boards/textures/font_tinycurs_2019.png deleted file mode 100644 index 0cdf90d..0000000 Binary files a/boards/textures/font_tinycurs_2019.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_201c.png b/boards/textures/font_tinycurs_201c.png deleted file mode 100644 index 71d3a16..0000000 Binary files a/boards/textures/font_tinycurs_201c.png and /dev/null differ diff --git a/boards/textures/font_tinycurs_201d.png b/boards/textures/font_tinycurs_201d.png deleted file mode 100644 index f239395..0000000 Binary files a/boards/textures/font_tinycurs_201d.png and /dev/null differ diff --git a/boards/tools/updatepo.sh b/boards/tools/updatepo.sh deleted file mode 100755 index feb2504..0000000 --- a/boards/tools/updatepo.sh +++ /dev/null @@ -1,25 +0,0 @@ -#! /bin/bash - -# To create a new translation: -# msginit --locale=ll_CC -o locale/ll_CC.po -i locale/template.pot - -cd "$(dirname "${BASH_SOURCE[0]}")/.."; - -# Extract translatable strings. -xgettext --from-code=UTF-8 \ - --language=Lua \ - --sort-by-file \ - --keyword=S \ - --keyword=NS:1,2 \ - --keyword=N_ \ - --keyword=F \ - --add-comments='Translators:' \ - --add-location=file \ - -o locale/template.pot \ - $(find . -name '*.lua') - -# Update translations. -find locale -name '*.po' | while read -r file; do - echo $file - msgmerge --update $file locale/template.pot; -done diff --git a/copyright.txt b/copyright.txt new file mode 100644 index 0000000..02b8467 --- /dev/null +++ b/copyright.txt @@ -0,0 +1,6 @@ +Code by Pierre-Yves Rollo (pyrollo) +Contributors: +(gpcf): Compatibility with signs lib +(Thomas--S): Fix /clearobjects bug +(12Me21): on_place improvement and code style fixing + diff --git a/font_api/depends.txt b/depends.txt similarity index 100% rename from font_api/depends.txt rename to depends.txt diff --git a/display_api b/display_api deleted file mode 160000 index 246b7f9..0000000 --- a/display_api +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 246b7f958863e7f6b7f604b09361696226928a7b diff --git a/font_api/API.md b/font_api/API.md deleted file mode 100644 index 9900a80..0000000 --- a/font_api/API.md +++ /dev/null @@ -1,145 +0,0 @@ -# Font Lib API -This document describes Font Lib API. Font Lib creates textures for font display on entities. - -## Settings -### default_font -Name of the font to be used when no font is given. The font should be registered. - -If no default\_font given or if default\_font given but not registered, the first registered font will be used as default. - -## Provided methods - -### font_api.get_default_font_name() -Returns de default font name. - -### font_api.register_font(font_name, font_def) -Register a new font. -**font_name**: Name of the font to register. If registering different sizes of the same font, add size in the font name (e.g. times_10, times_12...). -**font_def**: Font definition table (see **Font definition table** below). - -### font_api.on_display_update(pos, objref) -Standard on_display_update entity callback. - -**pos**: Node position - -**objref**: Object reference of entity - -Node should have a corresponding display_entity with size, resolution and maxlines fields and optionally halign, valign and color fields. - -### Font definition table -Font definition table used by **font_api.register_font** and **font\_api.Font:new** may/can contain following elements: - -* **height** (required): Font height in pixels (all font textures should have the same height) . -* **widths** (required): Array of character widths in pixels, indexed by UTF codepoints. -* **margintop** (optional): Margin (in texture pixels) added on top of each char texture. -* **marginbottom** (optional): Margin (in texture pixels) added at bottom of each char texture. -* **linespacing** (optional): Spacing (in texture pixels) between each lines. - -**margintop**, **marginbottom** and **linespacing** can be negative numbers (default 0) and are to be used to adjust various font styles to each other. - -Font must have a char 0 which will be used to display any unknown char. - -All textures corresponding to the indexes in widths array should be present in textures directory with a name matching the pattern : - -> font\_**{font_name}**_**{utf_code}**.png - -**{font\_name}**: Name of the font as given in the first argument - -**{utf\_code}**: UTF code of the char in 4 hexadecimal digits - -Example : font_courrier_0041.png is for the "A" char in the "courrier" font. - -To ease that declaration (specially to build the **widths** array), a shell is provided to build a {font\_name}.lua file from the texture files (see provided tools). - -## Provided tools - -Still in early stage of development, these tools are helpers to create font mods. - -### make_font_texture.sh - -This scripts takes a .ttf file as input and create one .png file per char, that can be used as font texture. Launch it from your future font mod directory. - -__Advice__ - -This script works much better with pixels font, providing the correct height. There is no antialiasing at all, vector fonts and bad heights gives very ugly results. - -__Syntax__ - -**make\_font\_texture.sh {fontfile} {fontname} {fontsize}** - -**{fontfile}**: A TTF font file to use to create textures. -**{fontname}**: The font name to be used in font_api (should be simple, with no spaces). -**{fontsize}**: Font height to be rendered. - -### make_font_lua.sh - -This script analyses textures in textures directory and creates a font\_{font\_name}.lua files with a call to register_font with images information. Launch it from your future font mod directory. - -Once the font\_{font\_name}.lua created, it can be included by a init.lua file or directly renamed to init.lua if you are creating a simple font mod. - -__Syntax__ - -**make\_font_lua.sh {fontname}** - -**{fontname}**: The font name to be used in font_api (same as given to make\_font\_texture.sh) - -### An exemple generating a font mod - - mkdir font_myfont - cd font_myfont - //tools/make_font_texture.sh myfont.ttf myfont 12 - //tools/make_font_lua.sh myfont - mv font_myfont.lua init.lua - -## Font class -A font usable with font API. This class is supposed to be for internal use but who knows. - -### font\_api.Font:new(def) -Create a new font object. - -**def** is a table containing font definition. See **Font definition table** above. - -### font:get_char_width(char) -Returns the width of char **char** in texture pixels. - -**char**: Unicode codepoint of char. - -### font:get_height(nb_of_lines) -Returns line(s) height. Takes care of top and bottom margins and line spacing. - -**nb_of_lines**: Number of lines in the text. - -### font:get_width(line) - -Returns the width of a text line. Beware, if line contains any new line char, they are ignored. - -**line**: Line of text which the width will be computed. - -### font:make_line_texture(line, texturew, x, y) -Create a texture for a text line. - -**line**: Line of text to be rendered in texture. - -**texturew**: Width of the texture (extra text is not rendered). - -**x**: Starting x position in texture. - -**y**: Vertical position of the line in texture. - -### font:make_text_texture(text, texturew, textureh, maxlines, halign, valign, color) -Builds texture for a multiline colored text. - -**text**: Text to be rendered. - -**texturew**: Width of the texture (extra text will be truncated). - -**textureh**: Height of the texture. - -**maxlines**: Maximum number of lines. - -**halign**: Horizontal text align ("left"/"center"/"right") (optional). - -**valign**: Vertical text align ("top"/"center"/"bottom") (optional). - -**color**: Color of the text (optional). - diff --git a/font_api/LICENSE.txt b/font_api/LICENSE.txt deleted file mode 100644 index 341c30b..0000000 --- a/font_api/LICENSE.txt +++ /dev/null @@ -1,166 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. - diff --git a/font_api/README.md b/font_api/README.md deleted file mode 100644 index c7ae64b..0000000 --- a/font_api/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# Font Lib - -This library for font display on entities (to be used with display_api for sign creation). - -**Dependancies**: default - -**License**: LGPL - -(Default font taken from VanessaE's homedecor/signs_lib, originally under WTFPL) - -**API**: See [API.md](https://github.com/pyrollo/display_modpack/blob/master/font_api/API.md) document please. - -For more information, see the [forum topic](https://forum.minetest.net/viewtopic.php?t=13563) at the Minetest forums. - diff --git a/font_api/copyright.txt b/font_api/copyright.txt deleted file mode 100644 index ceb5446..0000000 --- a/font_api/copyright.txt +++ /dev/null @@ -1,3 +0,0 @@ -Code by Pierre-Yves Rollo (pyrollo) -Contributors: -Andrzej Pieńkowski (apienk): Unicode support and tool for creating texturess diff --git a/font_api/doc/font.svg b/font_api/doc/font.svg deleted file mode 100644 index e4e8757..0000000 --- a/font_api/doc/font.svg +++ /dev/null @@ -1,463 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - Texture Height - - Texture Width - - - - MarginTop - Margin Bottom - - Line Height - - - diff --git a/font_api/doc/lines.svg b/font_api/doc/lines.svg deleted file mode 100644 index f75880f..0000000 --- a/font_api/doc/lines.svg +++ /dev/null @@ -1,544 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - Line Height - - - Text Height - Line Spacing - - - - - - - - - diff --git a/font_api/font.lua b/font_api/font.lua deleted file mode 100644 index 580744d..0000000 --- a/font_api/font.lua +++ /dev/null @@ -1,266 +0,0 @@ ---[[ - font_api mod for Minetest - Library to add font display capability - to display_api mod. - (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 . ---]] - --- Local functions ------------------- - --- Table deep copy - -local function deep_copy(input) - local output = {} - local key, value - for key, value in pairs(input) do - if type(value) == 'table' then - output[key] = deep_copy(value) - else - output[key] = value - end - end - return output -end - --- Returns next char, managing ascii and unicode plane 0 (0000-FFFF). - -local function get_next_char(text, pos) - - local msb = text:byte(pos) - -- 1 byte char, ascii equivalent codepoints - if msb < 0x80 then - return msb, pos + 1 - end - - -- 4 bytes char not managed (Only 16 bits codepoints are managed) - if msb >= 0xF0 then - return 0, pos + 4 - end - - -- 3 bytes char - if msb >= 0xE0 then - return (msb - 0xE0) * 0x1000 - + text:byte(pos + 1) % 0x40 * 0x40 - + text:byte(pos + 2) % 0x40, - pos + 3 - end - - -- 2 bytes char (little endian) - if msb >= 0xC2 then - return (msb - 0xC2) * 0x40 + text:byte(pos + 1), - pos + 2 - end - - -- Not an UTF char - return 0, pos + 1 -end - --- Split multiline text into array of lines, with maximum lines. - -local function split_lines(text, maxlines) - local splits = text:split("\n") - if maxlines then - local lines = {} - for num = 1,maxlines do - lines[num] = splits[num] - end - return lines - else - return splits - end -end - --------------------------------------------------------------------------------- ---- Font class - -font_api.Font = {} - -function font_api.Font:new(def) - - if type(def) ~= "table" then - minetest.log("error", "Font definition must be a table.") - return nil - end - - if def.height == nil or def.height <= 0 then - minetest.log("error", "Font definition must have a positive height.") - return nil - end - - if type(def.widths) ~= "table" then - minetest.log("error", "Font definition must have a widths array.") - return nil - end - - if def.widths[0] == nil then - minetest.log("error", - "Font must have a char with codepoint 0 (=unknown char).") - return nil - end - - local font = deep_copy(def) - setmetatable(font, self) - self.__index = self - return font -end - ---- Returns the width of a given char --- @param char : codepoint of the char --- @return Char width - -function font_api.Font:get_char_width(char) - -- Replace chars with no texture by the NULL(0) char - if self.widths[char] ~= nil then - return self.widths[char] - else - return self.widths[0] - end -end - ---- Text height for multiline text including margins and line spacing --- @param nb_of_lines : number of text lines (default 1) --- @return Text height - -function font_api.Font:get_height(nb_of_lines) - if nb_of_lines == nil then nb_of_lines = 1 end - - if nb_of_lines > 0 then - return - ( - (self.height or 0) + - (self.margintop or 0) + - (self.marginbottom or 0) - ) * nb_of_lines + - (self.linespacing or 0) * (nb_of_lines -1) - else - return nb_of_lines == 0 and 0 or nil - end -end - ---- Computes text width for a given text (ignores new lines) --- @param line Line of text which the width will be computed. --- @return Text width - -function font_api.Font:get_width(line) - - local char - local width = 0 - local pos = 1 - - -- TODO: Use iterator - while pos <= #line do - char, pos = get_next_char(line, pos) - width = width + self:get_char_width(char) - end - - return width -end - ---- Builds texture part for a text line --- @param line Text line to be rendered --- @param texturew Width of the texture (extra text is not rendered) --- @param x Starting x position in texture --- @param y Vertical position of the line in texture --- @return Texture string - -function font_api.Font:make_line_texture(line, texturew, x, y) - local texture = "" - local char - local pos = 1 - - -- TODO: Use iterator - while pos <= #line do - char, pos = get_next_char(line, pos) - - -- Replace chars with no texture by the NULL(0) char - if self.widths[char] == nil - then - print(string.format("["..font_api.name - .."] Missing char %d (%04x)",char,char)) - char = 0 - end - - -- Add image only if it is visible (at least partly) - if x + self.widths[char] >= 0 and x <= texturew then - texture = texture.. - string.format(":%d,%d=font_%s_%04x.png", - x, y, self.name, char) - end - x = x + self.widths[char] - end - - return texture -end - ---- Builds texture for a multiline colored text --- @param text Text to be rendered --- @param texturew Width of the texture (extra text will be truncated) --- @param textureh Height of the texture --- @param maxlines Maximum number of lines --- @param halign Horizontal text align ("left"/"center"/"right") (optional) --- @param valign Vertical text align ("top"/"center"/"bottom") (optional) --- @param color Color of the text (optional) --- @return Texture string - -function font_api.Font:make_text_texture(text, texturew, textureh, maxlines, - halign, valign, color) - local texture = "" - local lines = {} - local textheight = 0 - local y - - -- Split text into lines (limited to maxlines fist lines) - for num, line in pairs(split_lines(text, maxlines)) do - lines[num] = { text = line, width = self:get_width(line) } - end - - textheight = self:get_height(#lines) - - if #lines then - if valign == "top" then - y = 0 - elseif valign == "bottom" then - y = textureh - textheight - else - y = (textureh - textheight) / 2 - end - end - - y = y + (self.margintop or 0) - - for _, line in pairs(lines) do - if halign == "left" then - texture = texture.. - self:make_line_texture(line.text, texturew, - 0, y) - elseif halign == "right" then - texture = texture.. - self:make_line_texture(line.text, texturew, - texturew - line.width, y) - else - texture = texture.. - self:make_line_texture(line.text, texturew, - (texturew - line.width) / 2, y) - end - - y = y + self:get_height() + (self.linespacing or 0) - end - - texture = string.format("[combine:%dx%d", texturew, textureh)..texture - if color then texture = texture.."^[colorize:"..color end - return texture -end - diff --git a/font_api/init.lua b/font_api/init.lua deleted file mode 100644 index dc3a3e0..0000000 --- a/font_api/init.lua +++ /dev/null @@ -1,65 +0,0 @@ ---[[ - font_api mod for Minetest - Library to add font display capability - to display_api mod. - (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 . ---]] - --- Global variables -------------------- - -font_api = {} -font_api.name = minetest.get_current_modname() -font_api.path = minetest.get_modpath(font_api.name) - --- Inclusions -------------- - -dofile(font_api.path.."/font.lua") -dofile(font_api.path.."/registry.lua") - ---- Standard on_display_update entity callback. --- Node should have a corresponding display_entity with size, resolution and --- maxlines fields and optionally halign, valign and color fields --- @param pos Node position --- @param objref Object reference of entity - -function font_api.on_display_update(pos, objref) - local meta = minetest.get_meta(pos) - local text = meta:get_string("display_text") - local ndef = minetest.registered_nodes[minetest.get_node(pos).name] - local entity = objref:get_luaentity() - - if entity and ndef.display_entities[entity.name] then - local def = ndef.display_entities[entity.name] - local font = font_api.get_font(meta:get_string("font") ~= "" - and meta:get_string("font") or def.font_name) - - local maxlines = def.maxlines or 1 -- TODO:How to do w/o maxlines ? - - objref:set_properties({ - textures={font:make_text_texture(text, - font:get_height(maxlines) * def.size.x / def.size.y - / (def.aspect_ratio or 1), - font:get_height(maxlines), - def.maxlines, def.halign, def.valign, def.color)}, - visual_size = def.size - }) - end -end - --- Compatibility -font_lib = font_api - diff --git a/font_api/registry.lua b/font_api/registry.lua deleted file mode 100644 index 4b49b1e..0000000 --- a/font_api/registry.lua +++ /dev/null @@ -1,162 +0,0 @@ ---[[ - font_api mod for Minetest - Library to add font display capability - to display_api mod. - (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 . ---]] - --- Global variables -------------------- - -font_api.registered_fonts = {} -font_api.registered_fonts_number = 0 - --- Local variables ------------------- - -local default_font = false - --- Local functions ------------------- - --- Gets a default (settings or fist font) -local function get_default_font() - -- First call - if default_font == false then - default_font = nil - - -- First, try with settings - local settings_font = minetest.settings:get("default_font") - - if settings_font ~= nil and settings_font ~= "" then - default_font = font_api.registered_fonts[settings_font] - - if default_font == nil then - minetest.log("warning", "Default font in settings (\"".. - settings_font.."\") is not registered.") - end - end - - -- If failed, choose first font without default = false - if default_font == nil then - for _, font in pairs(font_api.registered_fonts) do - if font.default then - default_font = font - break - end - end - end - - -- If failed, chose first font - if default_font == nil then - for _, font in pairs(font_api.registered_fonts) do - default_font = font - break - end - end - - -- Error, no font registered - if default_font == nil then - minetest.log("error", - "No font registred, unable to choose a default font.") - end - end - - return default_font -end - ---- Returns font object to be used according to font_name --- @param font_name: Name of the font --- @return Font object if font found (or default font) - -function font_api.get_font(font_name) - local font = font_api.registered_fonts[font_name] - - if font == nil then - local message - - if font_name == nil then - message = "No font given" - else - message = "Font \""..font_name.."\" unregistered" - end - - font = get_default_font() - - if font ~= nil then - minetest.log("info", message..", using font \""..font.name.."\".") - end - end - - return font -end - --- API functions ----------------- - ---- Returns de default font name --- @return Default font name - -function font_api.get_default_font_name() - return get_default_font().name -end - ---- Register a new font --- Textures corresponding to the font should be named after following patern : --- font__.png --- : name of the font --- : 4 digit hexadecimal unicode of the char --- @param font_name Name of the font to register --- If registering different sizes of the same font, add size in the font name --- (e.g. times_10, times_12...). --- @param def font definition. A associative array with following keys : --- @key default True (by default) if this font may be used as default font --- @key height (mandatory) Height in pixels of all font textures --- @key widths (mandatory) Array of character widths in pixels, indexed by --- UTF codepoints --- @key margintop (optional) Margin (in texture pixels) added on top of each --- char texture. --- @key marginbottom (optional) dded at bottom of each char texture. --- @key linespacing (optional) Spacing (in texture pixels) between each lines. --- margintop, marginbottom and linespacing can be negative numbers (default 0) --- and are to be used to adjust various font styles to each other. - --- TODO: Add something to remove common accent if not defined in font - -function font_api.register_font(font_name, font_def) - - if font_api.registered_fonts[font_name] ~= nil then - minetest.log("error", "Font \""..font_name.."\" already registered.") - return - end - - local font = font_api.Font:new(font_def) - - if font == nil then - minetest.log("error", "Unable to register font \""..font_name.."\".") - return - end - - font.name = font_name - font_api.registered_fonts[font_name] = font - font_api.registered_fonts_number = font_api.registered_fonts_number + 1 - - -- Force to choose again default font - -- (allows use of fonts registered after start) - default_font = false - - minetest.log("action", "New font registered in font_api: "..font_name..".") -end - diff --git a/font_api/settingtypes.txt b/font_api/settingtypes.txt deleted file mode 100644 index d111159..0000000 --- a/font_api/settingtypes.txt +++ /dev/null @@ -1 +0,0 @@ -default_font(Default font) string diff --git a/font_api/tools/make_font_lua.sh b/font_api/tools/make_font_lua.sh deleted file mode 100755 index e858360..0000000 --- a/font_api/tools/make_font_lua.sh +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/bash - -scriptname=$(basename $0) -identify="identify" - -usage() { - echo "Usage: $0 fontname" - echo "fontname: The name of the font. Must correspond to existing texture/font__????.png files" -} - -if [ $# -ne 1 ] -then - usage - exit 1 -fi - -font_name=$1 - -for f in textures/font_${font_name}_????.png -do - if [[ $f =~ textures/font_${font_name}_([0-9a-fA-F]{4}).png ]] - then - code=$((16#${BASH_REMATCH[1]})) - size=$(identify $f | cut -d " " -f 3) - w=$(echo $size | cut -d "x" -f 1) - h=$(echo $size | cut -d "x" -f 2) - - if [ -z "$font_height" ] - then - font_height=$h - else - if [ $font_height -ne $h ] - then - echo "Error : $f as height of $h pixels, previous textures have a height of $font_height pixels. All textures should have the same height." - fi - fi - - if [ -z "$font_widths" ] - then - font_widths="[$code]=$w" - else - font_widths="$font_widths, [$code]=$w" - fi - fi -done - -echo "--[[ - -$luafile generated by $scriptname $(LANG=en_US date) - ---]] - -font_api.register_font( - '$font_name', - { - height = $font_height, - widths = { - $font_widths - }, - } -); -" > font_$font_name.lua - -if grep -q font_api depends.txt &>/dev/null -then - echo "font_api already in depends.txt." -else - echo "adding font_api to depends.txt." - echo "font_api" >> depends.txt -fi - diff --git a/font_api/tools/make_font_textures.sh b/font_api/tools/make_font_textures.sh deleted file mode 100755 index 4a3191c..0000000 --- a/font_api/tools/make_font_textures.sh +++ /dev/null @@ -1,111 +0,0 @@ -#!/bin/bash - -# This program generates a bitmap font for font_api mod for Minetest game. -# (c) Andrzej Pieńkowski -# (c) Pierre-Yves Rollo -# License: GPL - -usage() { - echo "Usage: $0 fontfile fontname fontsize" - echo "fontfile: A TTF font file to use to create textures." - echo "fontname: The font name to be used in font_api (should be simple, with no spaces)." - echo "fontsize: Font height to be rendered." -} - -if [ $# -ne 3 ] -then - usage - exit 1 -fi - -fontfile=$1 -fontname=$2 -fontsize=$3 - -if [ ! -r "$fontfile" ] -then - echo "$fontfile not readable." - exit 1 -fi - -# check imagemagick -hash convert &>/dev/null -if [ $? -eq 1 ]; then - echo -e "Error: This program requires convert from ImageMagick! Please install it by typing 'sudo apt-get install imagemagick' in terminal." - abort=1 -fi - -# check ttx -hash ttx &>/dev/null -if [ $? -eq 1 ]; then - echo -e "Error: This program requires ttx from FontTools! Please install it by typing 'sudo apt-get install fonttools' in terminal." - abort=1 -fi - -if [ $abort ] -then - exit 1 -fi - -generate() { - for i in $(seq $((0x$1)) $((0x$2))) - do - if echo "$codepoints" | grep -qi $(printf "0x%x" $i) - then - hex=$(printf "%04x" $i) - echo -e "Generating textures/font_${fontname}_$hex.png file for \"\\U$hex\" char." - if [[ "$hex" == "005c" ]] # Backslash char - then - convert -background none -fill black -font "$fontfile" -pointsize $fontsize label:"\\\\" -colorspace gray -channel alpha -threshold 50% textures/font_${fontname}_$hex.png - else - convert -background none -fill black -font "$fontfile" -pointsize $fontsize label:"$(echo -en "\\U$hex")" -colorspace gray -channel alpha -threshold 50% textures/font_${fontname}_$hex.png - fi - fi - done -} - -mkdir textures - -# Reads all available code points in the font. -codepoints=$(ttx -o - "$fontfile" | grep ". +--]] + +display_api = {} + +-- Prefered gap between node and entity +-- Entity positionment is up to mods but it is a good practice to use this +-- variable as spacing between entity and node +display_api.entity_spacing = 0.002 + +-- Miscelaneous values depending on wallmounted param2 +local wallmounted_values = { + [0]={dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0}, -- Should never be used + {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=1}, -- Should never be used + {dx=-1, dz=0, rx=0, rz=-1, yaw=-math.pi/2, rotate=5}, + {dx=1, dz=0, rx=0, rz=1, yaw=math.pi/2, rotate=4}, + {dx=0, dz=-1, rx=1, rz=0, yaw=0, rotate=2}, + {dx=0, dz=1, rx=-1, rz=0, yaw=math.pi, rotate=3} +} + +-- Miscelaneous values depending on facedir param2 +local facedir_values = { + [0]={dx=0, dz=-1, rx=1, rz=0, yaw=0, rotate=1}, + {dx=-1, dz=0, rx=0, rz=-1, yaw=-math.pi/2, rotate=2}, + {dx=0, dz=1, rx=-1, rz=0, yaw=math.pi, rotate=3}, + {dx=1, dz=0, rx=0, rz=1, yaw=math.pi/2, rotate=0}, + -- Forbiden values : + {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0}, + {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0}, + {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0}, + {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0}, + {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0}, + {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0}, + {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0}, + {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0}, + {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0}, + {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0}, + {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0}, + {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0}, + {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0}, + {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0}, + {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0}, + {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0}, + {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0}, + {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0}, + {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0}, + {dx=0, dz=0, rx=0, rz=0, yaw=0, rotate=0}, + } + +-- dx/dy = depth vector, rx/ly = right vector, yaw = yaw of entity, +-- rotate = next facedir/wallmount on rotate + +local function get_values(node) + local ndef = minetest.registered_nodes[node.name] + + if ndef then + if ndef.paramtype2 == "wallmounted" then + return wallmounted_values[node.param2] + end + if ndef.paramtype2 == "facedir" then + return facedir_values[node.param2] + end + end +end + +--- Checks if the object is related to the given position +local function check_entity_pos(pos, objref) + local real_pos = vector.round(objref:get_pos()) + local pos_hash = objref:get_luaentity().pos + if pos_hash == nil then + return vector.equals(real_pos, vector.round(pos)) + else + return vector.equals(minetest.get_position_from_hash(pos_hash), pos) + end +end + +--- Gets the display entities attached with a node. Removes extra ones +local function get_entities(pos) + local objrefs = {} + local ndef = minetest.registered_nodes[minetest.get_node(pos).name] + if ndef and ndef.display_entities then + for _, objref in ipairs(minetest.get_objects_inside_radius(pos, 1.5)) do + local entity = objref:get_luaentity() + if entity and ndef.display_entities[entity.name] and check_entity_pos(pos, objref) then + if objrefs[entity.name] then + objref:remove() + else + objrefs[entity.name] = objref + end + end + end + end + return objrefs +end + +local function clip_pos_prop(posprop) + if posprop then + return math.max(-1.5, math.min(1.5, posprop)) + else + return 0 + end +end + +--- (Create and) place display entities according to the node orientation +local function place_entities(pos) + local node = minetest.get_node(pos) + local ndef = minetest.registered_nodes[node.name] + local values = get_values(node) + local objrefs = get_entities(pos) + + if values and ndef and ndef.display_entities then + + for entity_name, props in pairs(ndef.display_entities) do + local depth = clip_pos_prop(props.depth) + local right = clip_pos_prop(props.right) + local top = clip_pos_prop(props.top) + if not objrefs[entity_name] then + objrefs[entity_name] = minetest.add_entity(pos, entity_name) + end + + objrefs[entity_name]:setpos({ + x = pos.x - values.dx * depth + values.rx * right, + y = pos.y - top, + z = pos.z - values.dz * depth + values.rz * right}) + + objrefs[entity_name]:setyaw(values.yaw) + end + end + return objrefs +end + +--- Call on_display_update callback of a node for one of its display entities +local function call_node_on_display_update(pos, objref) + local ndef = minetest.registered_nodes[minetest.get_node(pos).name] + local entity = objref:get_luaentity() + if ndef and ndef.display_entities and entity and ndef.display_entities[entity.name] then + ndef.display_entities[entity.name].on_display_update(pos, objref) + end +end + +--- Force entity update +function display_api.update_entities(pos) + local objrefs = place_entities(pos) + for _, objref in pairs(objrefs) do + objref:get_luaentity().pos = minetest.hash_node_position(pos) + call_node_on_display_update(pos, objref) + end +end + +--- On_activate callback for display_api entities. Calls on_display_update callbacks +--- of corresponding node for each entity. +function display_api.on_activate(entity, staticdata) + if entity then + if string.sub(staticdata, 1, string.len("return")) == "return" then + local data = core.deserialize(staticdata) + if data and type(data) == "table" then + entity.pos = data.pos + end + end + entity.object:set_armor_groups({immortal=1}) + local pos + if entity.pos then + pos = minetest.get_position_from_hash(entity.pos) + else + pos = entity.object:getpos() + end + display_api.update_entities(pos) + end +end + +--- On_place callback for display_api items. Does nothing more than preventing item +--- from being placed on ceiling or ground +function display_api.on_place(itemstack, placer, pointed_thing) + local ndef = itemstack:get_definition() + local above = pointed_thing.above + local under = pointed_thing.under + local dir = {x = under.x - above.x, + y = 0, + z = under.z - above.z} + + -- If item is not placed on a wall, use the player's view direction instead + if dir.x == 0 and dir.z == 0 then + dir = placer:get_look_dir() + dir.y = 0 + end + + local param2 + if ndef then + if ndef.paramtype2 == "wallmounted" then + param2 = minetest.dir_to_wallmounted(dir) + elseif ndef.paramtype2 == "facedir" then + param2 = minetest.dir_to_facedir(dir) + end + end + return minetest.item_place(itemstack, placer, pointed_thing, param2) +end + +--- On_construct callback for display_api items. Creates entities and update them. +function display_api.on_construct(pos) + display_api.update_entities(pos) +end + +--- On_destruct callback for display_api items. Removes entities. +function display_api.on_destruct(pos) + local objrefs = get_entities(pos) + + for _, objref in pairs(objrefs) do + objref:remove() + end +end + +-- On_rotate (screwdriver) callback for display_api items. Prevents axis rotation and reorients entities. +function display_api.on_rotate(pos, node, user, mode, new_param2) + if mode ~= 1 then return false end + + local values = get_values(node) + + if values then + minetest.swap_node(pos, {name = node.name, param1 = node.param1, param2 = values.rotate}) + place_entities(pos) + return true + else + return false + end +end + +--- Creates display entity with some fields and the on_activate callback +function display_api.register_display_entity(entity_name) + if not minetest.registered_entity then + minetest.register_entity(':'..entity_name, { + collisionbox = { 0, 0, 0, 0, 0, 0 }, + visual = "upright_sprite", + textures = {}, + on_activate = display_api.on_activate, + get_staticdata = function(self) + return minetest.serialize({ + pos = self.pos, + }) + end, + }) + end +end + +minetest.register_lbm({ + label = "Update display_api entities", + name = "display_api:update_entities", + run_at_every_load = true, + nodenames = {"group:display_modpack_node", "group:display_lib_node"}, + action = function(pos, node) display_api.update_entities(pos) end, +}) + +-- Compatibility +display_lib = display_api diff --git a/modpack.txt b/modpack.txt deleted file mode 100644 index e69de29..0000000 diff --git a/ontime_clocks/LICENSE.txt b/ontime_clocks/LICENSE.txt deleted file mode 100644 index 341c30b..0000000 --- a/ontime_clocks/LICENSE.txt +++ /dev/null @@ -1,166 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. - diff --git a/ontime_clocks/README.md b/ontime_clocks/README.md deleted file mode 100644 index d9db998..0000000 --- a/ontime_clocks/README.md +++ /dev/null @@ -1,49 +0,0 @@ -# Ontime Clocks - -This mod provides clocks that display real ingame time. - -For more information, see the [forum topic](https://forum.minetest.net/viewtopic.php?t=19365) at the Minetest forums. - -**Dependancies**: display_api, default - -**License**: Code under LGPL, textures under CC-BY-SA - -## Recipes - -**Green and red digital clocks** - - - D - - G M G - - - - - -G = Glass, D = Dye, M = Mese Crystal, - = Empty - -Green dye for green clock, red dye for red clock - -**White clock** - - S P S - - M - - - - - - -P = Paper, S = Steel Ingot, M = Mese Crystal, - = Empty - - -**Frameless clock** - - S D S - - M - - - - - - -D = Dye, S = Steel Ingot, M = Mese Crystal, - = Empty - -Black dye for black clock, White dye for white clock - -**Gold frameless clock** - - G - G - - M - - - - - - -G = Gold Ingot, M = Mese Crystal, - = Empty - diff --git a/ontime_clocks/common.lua b/ontime_clocks/common.lua deleted file mode 100644 index cced299..0000000 --- a/ontime_clocks/common.lua +++ /dev/null @@ -1,61 +0,0 @@ ---[[ - ontime_clocks mod for Minetest - Clock nodes displaying ingame time - (c) Pierre-Yves Rollo - - This file is part of ontime_clocks. - - ontime_clocks 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. - - ontime_clocks 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 ontime_clocks. If not, see . ---]] - --- Entity for time display -display_api.register_display_entity("ontime_clocks:display") - -function ontime_clocks.get_h24() - return math.floor(minetest.get_timeofday()*24)%24 -end - -function ontime_clocks.get_h12() - return math.floor(minetest.get_timeofday()*24)%12 -end - -function ontime_clocks.get_m12() - return math.floor(minetest.get_timeofday()*288)%12 -end - -function ontime_clocks.get_digital_properties(color_off, color_on, hour, minute) - return - { - textures={"ontime_clocks_digital_background.png^[colorize:"..color_off - .."^([combine:21x7" - ..":0,"..(-7*(math.floor(hour/10))).."=ontime_clocks_digital_digit.png" - ..":5,"..(-7*(hour%10)).."=ontime_clocks_digital_digit.png" - ..":9,-70=ontime_clocks_digital_digit.png" - ..":12,"..(-7*(math.floor(minute/2))).."=ontime_clocks_digital_digit.png" - ..":17,"..(-35*(minute%2)).."=ontime_clocks_digital_digit.png" - .."^[colorize:"..color_on..")"}, - visual_size = {x=21/32, y=7/32} - } -end - -function ontime_clocks.get_needles_properties(color, size, hour, minute) - return - { - textures={"[combine:"..size.."x"..size - ..":0,"..(-size*hour).."=ontime_clocks_needle_h"..size..".png" - ..":0,"..(-size*minute).."=ontime_clocks_needle_m"..size..".png" - .."^[colorize:"..color}, - visual_size = {x=size/64, y=size/64} - } -end - diff --git a/ontime_clocks/copyright.txt b/ontime_clocks/copyright.txt deleted file mode 100644 index a2afd94..0000000 --- a/ontime_clocks/copyright.txt +++ /dev/null @@ -1,8 +0,0 @@ -Code, Textures and Models by Pierre-Yves Rollo (pyrollo) -intllib support (i18n) by (fat115) -intllib fallback code and tools by Diego Martínez (kaeza) -Extra contibutors: -(Thomas--S) -Translations: -Muhammad Nur Hidayat Yasuyoshi (MuhdNurHidayat) -(fat115) diff --git a/ontime_clocks/crafts.lua b/ontime_clocks/crafts.lua deleted file mode 100644 index c94352a..0000000 --- a/ontime_clocks/crafts.lua +++ /dev/null @@ -1,75 +0,0 @@ ---[[ - ontime_clocks mod for Minetest - Clock nodes displaying ingame time - (c) Pierre-Yves Rollo - - This file is part of ontime_clocks. - - ontime_clocks 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. - - ontime_clocks 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 ontime_clocks. If not, see . ---]] - -minetest.register_craft({ - output = 'ontime_clocks:green_digital', - recipe = { - {'', 'dye:green', ''}, - {'default:glass', 'default:mese_crystal', 'default:glass'}, - {'', '', ''}, - } -}) - -minetest.register_craft({ - output = 'ontime_clocks:red_digital', - recipe = { - {'', 'dye:red', ''}, - {'default:glass', 'default:mese_crystal', 'default:glass'}, - {'', '', ''}, - } -}) - -minetest.register_craft({ - output = 'ontime_clocks:white', - recipe = { - {'default:steel_ingot', 'default:paper', 'default:steel_ingot'}, - {'', 'default:mese_crystal', ''}, - {'', '', ''}, - } -}) - -minetest.register_craft({ - output = 'ontime_clocks:frameless_black', - recipe = { - {'default:steel_ingot', 'dye:black', 'default:steel_ingot'}, - {'', 'default:mese_crystal', ''}, - {'', '', ''}, - } -}) - -minetest.register_craft({ - output = 'ontime_clocks:frameless_gold', - recipe = { - {'default:gold_ingot', '', 'default:gold_ingot'}, - {'', 'default:mese_crystal', ''}, - {'', '', ''}, - } -}) - -minetest.register_craft({ - output = 'ontime_clocks:frameless_white', - recipe = { - {'default:steel_ingot', 'dye:white', 'default:steel_ingot'}, - {'', 'default:mese_crystal', ''}, - {'', '', ''}, - } -}) - - diff --git a/ontime_clocks/depends.txt b/ontime_clocks/depends.txt deleted file mode 100644 index 07a2ec1..0000000 --- a/ontime_clocks/depends.txt +++ /dev/null @@ -1,5 +0,0 @@ -default -dye -display_api - -intllib? diff --git a/ontime_clocks/init.lua b/ontime_clocks/init.lua deleted file mode 100644 index d0ac334..0000000 --- a/ontime_clocks/init.lua +++ /dev/null @@ -1,31 +0,0 @@ ---[[ - ontime_clocks mod for Minetest - Clock nodes displaying ingame time - (c) Pierre-Yves Rollo - - This file is part of ontime_clocks. - - ontime_clocks 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. - - ontime_clocks 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 ontime_clocks. If not, see . ---]] - -ontime_clocks = {} -ontime_clocks.name = minetest.get_current_modname() -ontime_clocks.path = minetest.get_modpath(ontime_clocks.name) - --- Load support for intllib. -local S, NS = dofile(ontime_clocks.path.."/intllib.lua") -ontime_clocks.intllib = S - -dofile(ontime_clocks.path.."/common.lua") -dofile(ontime_clocks.path.."/nodes.lua") -dofile(ontime_clocks.path.."/crafts.lua") diff --git a/ontime_clocks/intllib.lua b/ontime_clocks/intllib.lua deleted file mode 100644 index 6669d72..0000000 --- a/ontime_clocks/intllib.lua +++ /dev/null @@ -1,45 +0,0 @@ - --- Fallback functions for when `intllib` is not installed. --- Code released under Unlicense . - --- Get the latest version of this file at: --- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua - -local function format(str, ...) - local args = { ... } - local function repl(escape, open, num, close) - if escape == "" then - local replacement = tostring(args[tonumber(num)]) - if open == "" then - replacement = replacement..close - end - return replacement - else - return "@"..open..num..close - end - end - return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl)) -end - -local gettext, ngettext -if minetest.get_modpath("intllib") then - if intllib.make_gettext_pair then - -- New method using gettext. - gettext, ngettext = intllib.make_gettext_pair() - else - -- Old method using text files. - gettext = intllib.Getter() - end -end - --- Fill in missing functions. - -gettext = gettext or function(msgid, ...) - return format(msgid, ...) -end - -ngettext = ngettext or function(msgid, msgid_plural, n, ...) - return format(n==1 and msgid or msgid_plural, ...) -end - -return gettext, ngettext diff --git a/ontime_clocks/locale/fr.po b/ontime_clocks/locale/fr.po deleted file mode 100644 index ed5d2b4..0000000 --- a/ontime_clocks/locale/fr.po +++ /dev/null @@ -1,43 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-08-05 09:50+0200\n" -"PO-Revision-Date: 2017-05-08 06:20+0200\n" -"Last-Translator: Peppy \n" -"Language-Team: \n" -"Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.12\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: nodes.lua -msgid "Green digital clock" -msgstr "Horloge numérique verte" - -#: nodes.lua -msgid "Red digital clock" -msgstr "Horloge numérique rouge" - -#: nodes.lua -msgid "White clock" -msgstr "Horloge blanche" - -#: nodes.lua -msgid "Frameless clock" -msgstr "Horloge sans cadre" - -#: nodes.lua -msgid "Frameless gold clock" -msgstr "Horloge dorée sans cadre" - -#: nodes.lua -msgid "Frameless white clock" -msgstr "Horloge blanche sans cadre" diff --git a/ontime_clocks/locale/ms.po b/ontime_clocks/locale/ms.po deleted file mode 100644 index 76f06a3..0000000 --- a/ontime_clocks/locale/ms.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# Muhammad Nur Hidayat , 2017. -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-08-26 11:21+0200\n" -"PO-Revision-Date: 2017-08-27 09:41+0800\n" -"Last-Translator: Muhammad Nur Hidayat \n" -"Language-Team: Malay \n" -"Language: ms\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Vé 0.1.4\n" - -#: nodes.lua -msgid "Green digital clock" -msgstr "Jam digital hijau" - -#: nodes.lua -msgid "Red digital clock" -msgstr "Jam digital merah" - -#: nodes.lua -msgid "White clock" -msgstr "Jam putih" - -#: nodes.lua -msgid "Frameless clock" -msgstr "Jam tanpa bingkai" - -#: nodes.lua -msgid "Frameless gold clock" -msgstr "Jam emas tanpa bingkai" - -#: nodes.lua -msgid "Frameless white clock" -msgstr "Jam putih tanpa bingkai" diff --git a/ontime_clocks/locale/template.pot b/ontime_clocks/locale/template.pot deleted file mode 100644 index dca736f..0000000 --- a/ontime_clocks/locale/template.pot +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-08-26 11:21+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: nodes.lua -msgid "Green digital clock" -msgstr "" - -#: nodes.lua -msgid "Red digital clock" -msgstr "" - -#: nodes.lua -msgid "White clock" -msgstr "" - -#: nodes.lua -msgid "Frameless clock" -msgstr "" - -#: nodes.lua -msgid "Frameless gold clock" -msgstr "" - -#: nodes.lua -msgid "Frameless white clock" -msgstr "" diff --git a/ontime_clocks/nodes.lua b/ontime_clocks/nodes.lua deleted file mode 100644 index aa3583d..0000000 --- a/ontime_clocks/nodes.lua +++ /dev/null @@ -1,246 +0,0 @@ ---[[ - ontime_clocks mod for Minetest - Clock nodes displaying ingame time - (c) Pierre-Yves Rollo - - This file is part of ontime_clocks. - - ontime_clocks 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. - - ontime_clocks 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 ontime_clocks. If not, see . ---]] - -local S = ontime_clocks.intllib - --- Green digital clock -minetest.register_node("ontime_clocks:green_digital", { - description = S("Green digital clock"), - inventory_image = "ontime_clocks_green_digital_inventory.png", - wield_image = "ontime_clocks_green_digital_inventory.png", - paramtype = "light", - paramtype2 = "wallmounted", - drawtype = "nodebox", - node_box = { - type = "wallmounted", - wall_side = { -0.5, -3/16, -7/16, -13/32, 7/32, 7/16 }, - wall_bottom = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }, - wall_top = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } - }, - tiles = {"ontime_clocks_digital.png"}, - groups = {oddly_breakable_by_hand = 1, not_blocking_trains = 1, display_modpack_node = 1}, - display_entities = { - ["ontime_clocks:display"] = { - depth = 13/32 - 0.01, - on_display_update = function(pos, objref) - objref:set_properties( - ontime_clocks.get_digital_properties( - "#040", "#0F0", ontime_clocks.get_h24(), ontime_clocks.get_m12())) - end }, - }, - on_place = display_api.on_place, - on_construct = display_api.on_construct, - on_destruct = display_api.on_destruct, - on_rotate = display_api.on_rotate, -}) - -minetest.register_abm({ - nodenames = {"ontime_clocks:green_digital"}, - interval = 5, - chance = 1, - action = display_api.update_entities, -}) - --- Red digital clock -minetest.register_node("ontime_clocks:red_digital", { - description = S("Red digital clock"), - inventory_image = "ontime_clocks_red_digital_inventory.png", - wield_image = "ontime_clocks_red_digital_inventory.png", - paramtype = "light", - paramtype2 = "wallmounted", - drawtype = "nodebox", - node_box = { - type = "wallmounted", - wall_side = { -0.5, -3/16, -7/16, -13/32, 7/32, 7/16 }, - wall_bottom = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }, - wall_top = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } - }, - tiles = {"ontime_clocks_digital.png"}, - groups = {oddly_breakable_by_hand = 1, not_blocking_trains = 1, display_modpack_node = 1}, - display_entities = { - ["ontime_clocks:display"] = { - depth = 13/32 - 0.01, - on_display_update = function(pos, objref) - objref:set_properties( - ontime_clocks.get_digital_properties( - "#400", "#F00", ontime_clocks.get_h24(), ontime_clocks.get_m12())) - end }, - }, - on_place = display_api.on_place, - on_construct = display_api.on_construct, - on_destruct = display_api.on_destruct, - on_rotate = display_api.on_rotate, -}) - -minetest.register_abm({ - nodenames = {"ontime_clocks:red_digital"}, - interval = 5, - chance = 1, - action = display_api.update_entities, -}) - - -minetest.register_node("ontime_clocks:white", { - description = S("White clock"), - inventory_image = "ontime_clocks_white_inventory.png", - wield_image = "ontime_clocks_white_inventory.png", - paramtype = "light", - paramtype2 = "wallmounted", - drawtype = "nodebox", - node_box = { - type = "wallmounted", - wall_side = { -0.5, -7/16, -7/16, -6/16, 7/16, 7/16}, - wall_bottom = { -7/16, -0.5, -7/16, 7/16, -7/16, 7/16}, - wall_top = { -7/16, 0.5, -7/16, 7/16, 7/16, 7/16}, - }, - tiles = {"ontime_clocks_white.png"}, - groups = {choppy = 1, oddly_breakable_by_hand = 1, not_blocking_trains = 1, display_modpack_node = 1}, - display_entities = { - ["ontime_clocks:display"] = { - depth = 6/16 - 0.01, - on_display_update = function(pos, objref) - objref:set_properties( - ontime_clocks.get_needles_properties( - "#000", 36, ontime_clocks.get_h12(), ontime_clocks.get_m12())) - end }, - }, - on_place = display_api.on_place, - on_construct = display_api.on_construct, - on_destruct = display_api.on_destruct, - on_rotate = display_api.on_rotate, -}) - -minetest.register_abm({ - nodenames = {"ontime_clocks:white"}, - interval = 5, - chance = 1, - action = display_api.update_entities, -}) - -minetest.register_node("ontime_clocks:frameless_black", { - description = S("Frameless clock"), - inventory_image = "ontime_clocks_frameless_inventory.png", - wield_image = "ontime_clocks_frameless_inventory.png", - paramtype = "light", - paramtype2 = "wallmounted", - drawtype = "nodebox", - node_box = { - type = "wallmounted", - wall_side = { -0.5, -7/16, -7/16, -0.45, 7/16, 7/16 }, - wall_bottom = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }, - wall_top = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } - }, - tiles = {"ontime_clocks_frameless.png"}, - groups = {choppy = 1, oddly_breakable_by_hand = 1, not_blocking_trains = 1, display_modpack_node = 1}, - display_entities = { - ["ontime_clocks:display"] = { - depth = 7/16, - on_display_update = function(pos, objref) - objref:set_properties( - ontime_clocks.get_needles_properties( - "#000", 48, ontime_clocks.get_h12(), ontime_clocks.get_m12())) - end }, - }, - on_place = display_api.on_place, - on_construct = display_api.on_construct, - on_destruct = display_api.on_destruct, - on_rotate = display_api.on_rotate, -}) - -minetest.register_abm({ - nodenames = {"ontime_clocks:frameless_black"}, - interval = 5, - chance = 1, - action = display_api.update_entities, -}) - -minetest.register_node("ontime_clocks:frameless_gold", { - description = S("Frameless gold clock"), - inventory_image = "ontime_clocks_frameless_inventory.png^[colorize:#FF0", - wield_image = "ontime_clocks_frameless_inventory.png^[colorize:#FF0", - paramtype = "light", - paramtype2 = "wallmounted", - drawtype = "nodebox", - node_box = { - type = "wallmounted", - wall_side = { -0.5, -7/16, -7/16, -0.45, 7/16, 7/16 }, - wall_bottom = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }, - wall_top = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } - }, - tiles = {"ontime_clocks_frameless.png^[colorize:#FF0"}, - groups = {choppy = 1, oddly_breakable_by_hand = 1, not_blocking_trains = 1, display_modpack_node = 1}, - display_entities = { - ["ontime_clocks:display"] = { - depth = 7/16, - on_display_update = function(pos, objref) - objref:set_properties( - ontime_clocks.get_needles_properties( - "#FF0", 48, ontime_clocks.get_h12(), ontime_clocks.get_m12())) - end }, - }, - on_place = display_api.on_place, - on_construct = display_api.on_construct, - on_destruct = display_api.on_destruct, - on_rotate = display_api.on_rotate, -}) - -minetest.register_abm({ - nodenames = {"ontime_clocks:frameless_gold"}, - interval = 5, - chance = 1, - action = display_api.update_entities, -}) - -minetest.register_node("ontime_clocks:frameless_white", { - description = S("Frameless white clock"), - inventory_image = "ontime_clocks_frameless_inventory.png^[colorize:#FFF", - wield_image = "ontime_clocks_frameless_inventory.png^[colorize:#FFF", - paramtype = "light", - paramtype2 = "wallmounted", - drawtype = "nodebox", - node_box = { - type = "wallmounted", - wall_side = { -0.5, -7/16, -7/16, -0.45, 7/16, 7/16 }, - wall_bottom = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }, - wall_top = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } - }, - tiles = {"ontime_clocks_frameless.png^[colorize:#FFF"}, - groups = {choppy = 1, oddly_breakable_by_hand = 1, not_blocking_trains = 1, display_modpack_node = 1}, - display_entities = { - ["ontime_clocks:display"] = { - depth = 7/16, - on_display_update = function(pos, objref) - objref:set_properties( - ontime_clocks.get_needles_properties( - "#FFF", 48, ontime_clocks.get_h12(), ontime_clocks.get_m12())) - end }, - }, - on_place = display_api.on_place, - on_construct = display_api.on_construct, - on_destruct = display_api.on_destruct, - on_rotate = display_api.on_rotate, -}) - -minetest.register_abm({ - nodenames = {"ontime_clocks:frameless_white"}, - interval = 5, - chance = 1, - action = display_api.update_entities, -}) diff --git a/ontime_clocks/textures/ontime_clocks_digital.png b/ontime_clocks/textures/ontime_clocks_digital.png deleted file mode 100644 index 4b79679..0000000 Binary files a/ontime_clocks/textures/ontime_clocks_digital.png and /dev/null differ diff --git a/ontime_clocks/textures/ontime_clocks_digital_background.png b/ontime_clocks/textures/ontime_clocks_digital_background.png deleted file mode 100644 index 6731145..0000000 Binary files a/ontime_clocks/textures/ontime_clocks_digital_background.png and /dev/null differ diff --git a/ontime_clocks/textures/ontime_clocks_digital_digit.png b/ontime_clocks/textures/ontime_clocks_digital_digit.png deleted file mode 100644 index 7bbc4a9..0000000 Binary files a/ontime_clocks/textures/ontime_clocks_digital_digit.png and /dev/null differ diff --git a/ontime_clocks/textures/ontime_clocks_frameless.png b/ontime_clocks/textures/ontime_clocks_frameless.png deleted file mode 100644 index 07c0001..0000000 Binary files a/ontime_clocks/textures/ontime_clocks_frameless.png and /dev/null differ diff --git a/ontime_clocks/textures/ontime_clocks_frameless_inventory.png b/ontime_clocks/textures/ontime_clocks_frameless_inventory.png deleted file mode 100644 index b91c93c..0000000 Binary files a/ontime_clocks/textures/ontime_clocks_frameless_inventory.png and /dev/null differ diff --git a/ontime_clocks/textures/ontime_clocks_green_digital_inventory.png b/ontime_clocks/textures/ontime_clocks_green_digital_inventory.png deleted file mode 100644 index 3318f10..0000000 Binary files a/ontime_clocks/textures/ontime_clocks_green_digital_inventory.png and /dev/null differ diff --git a/ontime_clocks/textures/ontime_clocks_needle_h36.png b/ontime_clocks/textures/ontime_clocks_needle_h36.png deleted file mode 100644 index bc1845d..0000000 Binary files a/ontime_clocks/textures/ontime_clocks_needle_h36.png and /dev/null differ diff --git a/ontime_clocks/textures/ontime_clocks_needle_h48.png b/ontime_clocks/textures/ontime_clocks_needle_h48.png deleted file mode 100644 index c894ac5..0000000 Binary files a/ontime_clocks/textures/ontime_clocks_needle_h48.png and /dev/null differ diff --git a/ontime_clocks/textures/ontime_clocks_needle_m36.png b/ontime_clocks/textures/ontime_clocks_needle_m36.png deleted file mode 100644 index 90bd878..0000000 Binary files a/ontime_clocks/textures/ontime_clocks_needle_m36.png and /dev/null differ diff --git a/ontime_clocks/textures/ontime_clocks_needle_m48.png b/ontime_clocks/textures/ontime_clocks_needle_m48.png deleted file mode 100644 index 4c4a13c..0000000 Binary files a/ontime_clocks/textures/ontime_clocks_needle_m48.png and /dev/null differ diff --git a/ontime_clocks/textures/ontime_clocks_red_digital_inventory.png b/ontime_clocks/textures/ontime_clocks_red_digital_inventory.png deleted file mode 100644 index cfe4fe0..0000000 Binary files a/ontime_clocks/textures/ontime_clocks_red_digital_inventory.png and /dev/null differ diff --git a/ontime_clocks/textures/ontime_clocks_white.png b/ontime_clocks/textures/ontime_clocks_white.png deleted file mode 100644 index 577f2d1..0000000 Binary files a/ontime_clocks/textures/ontime_clocks_white.png and /dev/null differ diff --git a/ontime_clocks/textures/ontime_clocks_white_inventory.png b/ontime_clocks/textures/ontime_clocks_white_inventory.png deleted file mode 100644 index 03f7b58..0000000 Binary files a/ontime_clocks/textures/ontime_clocks_white_inventory.png and /dev/null differ diff --git a/ontime_clocks/tools/updatepo.sh b/ontime_clocks/tools/updatepo.sh deleted file mode 100755 index feb2504..0000000 --- a/ontime_clocks/tools/updatepo.sh +++ /dev/null @@ -1,25 +0,0 @@ -#! /bin/bash - -# To create a new translation: -# msginit --locale=ll_CC -o locale/ll_CC.po -i locale/template.pot - -cd "$(dirname "${BASH_SOURCE[0]}")/.."; - -# Extract translatable strings. -xgettext --from-code=UTF-8 \ - --language=Lua \ - --sort-by-file \ - --keyword=S \ - --keyword=NS:1,2 \ - --keyword=N_ \ - --keyword=F \ - --add-comments='Translators:' \ - --add-location=file \ - -o locale/template.pot \ - $(find . -name '*.lua') - -# Update translations. -find locale -name '*.po' | while read -r file; do - echo $file - msgmerge --update $file locale/template.pot; -done diff --git a/screenshot.png b/screenshot.png deleted file mode 100644 index bbce3ec..0000000 Binary files a/screenshot.png and /dev/null differ diff --git a/signs/LICENSE.txt b/signs/LICENSE.txt deleted file mode 100644 index 341c30b..0000000 --- a/signs/LICENSE.txt +++ /dev/null @@ -1,166 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. - diff --git a/signs/README.md b/signs/README.md deleted file mode 100644 index 0282d2e..0000000 --- a/signs/README.md +++ /dev/null @@ -1,30 +0,0 @@ -# Signs - -This mod provides various signs with text display. Text is locked if area is protected. - -For more information, see the [forum topic](https://forum.minetest.net/viewtopic.php?t=19365) at the Minetest forums. - -**Dependancies**: default, display\_lib, font\_lib - -**License**: Code under LGPL, Textures and models under CC-BY-SA - -## Recipes - -**Poster** - - P P - - P P - - P P - - -P = Paper - -Poster displays only title, much more text can be read by right-clicking on it. - -**Wooden direction sign** - - W W W - W W - - - - - - -W = Wooden Plank (group) - diff --git a/signs/common.lua b/signs/common.lua deleted file mode 100644 index 2b40db2..0000000 --- a/signs/common.lua +++ /dev/null @@ -1,71 +0,0 @@ ---[[ - signs mod for Minetest - Various signs with text displayed on - (c) Pierre-Yves Rollo - - This file is part of signs. - - signs 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. - - signs 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 signs. If not, see . ---]] - -local S = signs.intllib -local F = function(...) return minetest.formspec_escape(S(...)) end - - ---Backwards compatibility functions - -signs.set_display_text = function(...) - minetest.log("warning", "signs.set_display_text() is deprecated, please use signs_api.set_display_text() instead.") - return signs_api.set_display_text(...) -end - -signs.set_formspec = function(...) - minetest.log("warning", "signs.set_formspec() is deprecated, please use signs_api.set_formspec() instead.") - return signs_api.set_formspec(...) -end - -signs.on_receive_fields = function(...) - minetest.log("warning", "signs.on_receive_fields() is deprecated, please use signs_api.on_receive_fields() instead.") - return signs_api.on_receive_fields(...) -end - -signs.on_place_direction = function(...) - minetest.log("warning", "signs.on_place_direction() is deprecated, please use signs_api.on_place_direction() instead.") - return signs_api.on_place_direction(...) -end - -signs.on_rotate = function(...) - minetest.log("warning", "signs.on_rotate() is deprecated, please use signs_api.on_rotate() instead.") - return signs_api.on_rotate(...) -end - -signs.register_sign = function(...) - minetest.log("warning", "signs.register_sign() is deprecated, please use signs_api.register_sign() instead.") - return signs_api.register_sign(...) -end - - --- Generic callback for show_formspec displayed formspecs of "sign" mod - -minetest.register_on_player_receive_fields(function(player, formname, fields) - local found, _, mod, node_name, pos = formname:find("^([%w_]+):([%w_]+)@([^:]+)") - if found then - if mod ~= 'signs' then return end - - local ndef = minetest.registered_nodes[mod..":"..node_name] - - if ndef and ndef.on_receive_fields then - ndef.on_receive_fields(minetest.string_to_pos(pos), formname, fields, player) - end - end -end) diff --git a/signs/compatibility.lua b/signs/compatibility.lua deleted file mode 100644 index e798a67..0000000 --- a/signs/compatibility.lua +++ /dev/null @@ -1,90 +0,0 @@ ---[[ - signs mod for Minetest - Various signs with text displayed on - (c) Pierre-Yves Rollo - - This file is part of signs. - - signs 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. - - signs 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 signs. If not, see . ---]] - - --- Wallmounted to facedir conversion ------------------------------------- - -local wallmounted_to_facedir = { - [0]=1, -- Should not happend with signs - [1]=1, -- Should not happend with signs - [2]=1, - [3]=3, - [4]=0, - [5]=2 -} - --- Nodes conversions -local convert_nodes = { - ['signs:wooden_right'] = 'signs:wooden_right_sign', - ['signs:wooden_left'] = 'signs:wooden_left_sign', - ['signs:poster'] = 'signs:paper_poster' -} - -local function compatibility_check_1(pos, node) - -- Old wallmounted modes to new facedir nodes conversion - node.name = convert_nodes[node.name] - if node.name then - node.param2 = wallmounted_to_facedir[node.param2] - display_api.on_destruct(pos) - minetest.swap_node(pos, node) - display_api.on_construct(pos) - end -end - -minetest.register_lbm({ name = "signs:conpatibility_1", - nodenames = {"signs:wooden_right", "signs:wooden_left", "signs:poster"}, - action = compatibility_check_1, -}) - --- Text entity name change because of signs_lib using signs prefix ------------------------------------------------------------------- - --- If no other mod registered signs:text, register it. --- We need to have this entity registered to be able to remove it. -if minetest.registered_entities["signs:text"] == nil then - minetest.register_entity("signs:text", { - collisionbox = { 0, 0, 0, 0, 0, 0 }, - visual = "upright_sprite", - textures = {}, - }) -end - -local function compatibility_check_2(pos, node) - -- Remove old entity - for _, objref in ipairs(minetest.get_objects_inside_radius(pos, 0.5)) do - local entity = objref:get_luaentity() - if entity and entity.name == "signs:text" then - objref:remove() - end - end - -- Create new entity - display_api.update_entities(pos) -end - -minetest.register_lbm({ name = "signs:conpatibility_2", - nodenames = {"signs:wooden_right_sign", "signs:wooden_left_sign", "signs:paper_poster"}, - action = compatibility_check_2, -}) - - - - - diff --git a/signs/copyright.txt b/signs/copyright.txt deleted file mode 100644 index 9e3b294..0000000 --- a/signs/copyright.txt +++ /dev/null @@ -1,10 +0,0 @@ -Code, Textures and Models by Pierre-Yves Rollo (pyrollo) -intllib support (i18n) by (fat115) -intllib fallback code and tools by Diego Martínez (kaeza) -Extra contributors: -(gpcf) -(Thomas--S) -Translations: -Muhammad Nur Hidayat Yasuyoshi (MuhdNurHidayat) -(fat115) - diff --git a/signs/crafts.lua b/signs/crafts.lua deleted file mode 100644 index b4e0206..0000000 --- a/signs/crafts.lua +++ /dev/null @@ -1,18 +0,0 @@ -minetest.register_craft({ - output = 'signs:wooden_right_sign', - recipe = { - {'group:wood', 'group:wood', 'group:wood'}, - {'group:wood', 'group:wood', ''}, - {'', '', ''}, - } -}) - -minetest.register_craft({ - output = 'signs:paper_poster', - recipe = { - {'default:paper', 'default:paper', ''}, - {'default:paper', 'default:paper', ''}, - {'default:paper', 'default:paper', ''}, - } -}) - diff --git a/signs/depends.txt b/signs/depends.txt deleted file mode 100644 index ad3bb8f..0000000 --- a/signs/depends.txt +++ /dev/null @@ -1,5 +0,0 @@ -default -intllib? -display_api -font_api -signs_api diff --git a/signs/init.lua b/signs/init.lua deleted file mode 100644 index 4f9239f..0000000 --- a/signs/init.lua +++ /dev/null @@ -1,36 +0,0 @@ ---[[ - signs mod for Minetest - Various signs with text displayed on - (c) Pierre-Yves Rollo - - This file is part of signs. - - signs 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. - - signs 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 signs. If not, see . ---]] - -signs = {} -signs.name = minetest.get_current_modname() -signs.path = minetest.get_modpath(signs.name) - --- Load support for intllib. -local S, NS = dofile(signs.path.."/intllib.lua") -signs.intllib = S - -dofile(signs.path.."/common.lua") -dofile(signs.path.."/nodes.lua") -dofile(signs.path.."/crafts.lua") -dofile(signs.path.."/compatibility.lua") - - - - diff --git a/signs/intllib.lua b/signs/intllib.lua deleted file mode 100644 index 6669d72..0000000 --- a/signs/intllib.lua +++ /dev/null @@ -1,45 +0,0 @@ - --- Fallback functions for when `intllib` is not installed. --- Code released under Unlicense . - --- Get the latest version of this file at: --- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua - -local function format(str, ...) - local args = { ... } - local function repl(escape, open, num, close) - if escape == "" then - local replacement = tostring(args[tonumber(num)]) - if open == "" then - replacement = replacement..close - end - return replacement - else - return "@"..open..num..close - end - end - return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl)) -end - -local gettext, ngettext -if minetest.get_modpath("intllib") then - if intllib.make_gettext_pair then - -- New method using gettext. - gettext, ngettext = intllib.make_gettext_pair() - else - -- Old method using text files. - gettext = intllib.Getter() - end -end - --- Fill in missing functions. - -gettext = gettext or function(msgid, ...) - return format(msgid, ...) -end - -ngettext = ngettext or function(msgid, msgid_plural, n, ...) - return format(n==1 and msgid or msgid_plural, ...) -end - -return gettext, ngettext diff --git a/signs/locale/fr.po b/signs/locale/fr.po deleted file mode 100644 index 7a00544..0000000 --- a/signs/locale/fr.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-08-26 13:20+0200\n" -"PO-Revision-Date: 2017-05-08 07:08+0200\n" -"Last-Translator: Peppy \n" -"Language-Team: \n" -"Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.12\n" - -#: common.lua nodes.lua -msgid "Text" -msgstr "Texte" - -#: common.lua nodes.lua -msgid "Write" -msgstr "Écrire" - -#: common.lua -#, lua-format -msgid " (first %s lines only)" -msgstr " (uniquement les %s premières lignes)" - -#: nodes.lua -msgid "Title" -msgstr "Titre" - -#: nodes.lua -msgid "Close" -msgstr "Fermer" - -#: nodes.lua -msgid "(right-click to read more text)" -msgstr "(Clic-droit pour afficher le texte entier)" - -#: nodes.lua -msgid "Wooden direction sign" -msgstr "Panneau de direction en bois" - -#: nodes.lua -msgid "Poster" -msgstr "Affiche" - -#~ msgid "Textd" -#~ msgstr "Texte" diff --git a/signs/locale/ms.po b/signs/locale/ms.po deleted file mode 100644 index 6cbd147..0000000 --- a/signs/locale/ms.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# Muhammad Nur Hidayat , 2017. -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-08-26 13:20+0200\n" -"PO-Revision-Date: 2017-08-27 15:50+0800\n" -"Last-Translator: Muhammad Nur Hidayat \n" -"Language-Team: Malay \n" -"Language: ms\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Vé 0.1.4\n" - -#: common.lua nodes.lua -msgid "Text" -msgstr "Teks" - -#: common.lua nodes.lua -msgid "Write" -msgstr "Tulis" - -#: common.lua -#, lua-format -msgid " (first %s lines only)" -msgstr "( %s baris pertama sahaja )" - -#: nodes.lua -msgid "Title" -msgstr "Tajuk" - -#: nodes.lua -msgid "Close" -msgstr "Tutup" - -#: nodes.lua -msgid "(right-click to read more text)" -msgstr "(klik-kanan untuk baca teks penuh)" - -#: nodes.lua -msgid "Wooden direction sign" -msgstr "Papan tanda arah kayu" - -#: nodes.lua -msgid "Poster" -msgstr "Poster" diff --git a/signs/locale/template.pot b/signs/locale/template.pot deleted file mode 100644 index a1fc065..0000000 --- a/signs/locale/template.pot +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-08-26 13:20+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: common.lua nodes.lua -msgid "Text" -msgstr "" - -#: common.lua nodes.lua -msgid "Write" -msgstr "" - -#: common.lua -#, lua-format -msgid " (first %s lines only)" -msgstr "" - -#: nodes.lua -msgid "Title" -msgstr "" - -#: nodes.lua -msgid "Close" -msgstr "" - -#: nodes.lua -msgid "(right-click to read more text)" -msgstr "" - -#: nodes.lua -msgid "Wooden direction sign" -msgstr "" - -#: nodes.lua -msgid "Poster" -msgstr "" diff --git a/signs/models/signs_dir_left.obj b/signs/models/signs_dir_left.obj deleted file mode 100644 index 91ead2d..0000000 --- a/signs/models/signs_dir_left.obj +++ /dev/null @@ -1,51 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'signs_dir_right.blend' -# www.blender.org -mtllib signs_dir_right.mtl -o Plane -v -0.500000 0.218750 0.437500 -v -0.500000 -0.218750 0.437500 -v 0.250000 0.218750 0.437500 -v 0.250000 -0.218750 0.437500 -v 0.437500 -0.000000 0.437500 -v -0.500000 0.218750 0.500000 -v -0.500000 -0.218750 0.500000 -v 0.250000 0.218750 0.500000 -v 0.250000 -0.218750 0.500000 -v 0.437500 -0.000000 0.500000 -vt 0.062500 0.500000 -vt 0.062500 0.937500 -vt 0.812500 0.937500 -vt 1.000000 0.718750 -vt 0.812500 0.500000 -vt 0.062500 0.437500 -vt 0.812500 0.437500 -vt 1.000000 0.218750 -vt 0.812500 0.000000 -vt 0.062500 0.000000 -vt 1.000000 0.312500 -vt 0.937500 0.312500 -vt 0.937500 0.625000 -vt 1.000000 0.625000 -vt 0.062500 1.000000 -vt 0.812500 1.000000 -vt 0.000000 0.312500 -vt 0.062500 0.312500 -vt 0.000000 0.000000 -vt 0.000000 0.500000 -vt 0.000000 0.937500 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 0.000000 1.000000 -vn 0.759300 0.650800 0.000000 -vn 0.000000 1.000000 0.000000 -vn -0.000000 -1.000000 0.000000 -vn 0.759300 -0.650800 -0.000000 -vn -1.000000 0.000000 0.000000 -usemtl None -s off -f 2/1/1 1/2/1 3/3/1 5/4/1 4/5/1 -f 7/6/2 9/7/2 10/8/2 8/9/2 6/10/2 -f 3/11/3 8/12/3 10/13/3 5/14/3 -f 1/2/4 6/15/4 8/16/4 3/3/4 -f 4/5/5 9/7/5 7/6/5 2/1/5 -f 5/17/6 10/18/6 9/10/6 4/19/6 -f 2/1/7 7/20/7 6/21/7 1/2/7 diff --git a/signs/models/signs_dir_right.obj b/signs/models/signs_dir_right.obj deleted file mode 100644 index 6597bfd..0000000 --- a/signs/models/signs_dir_right.obj +++ /dev/null @@ -1,51 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'signs_dir_left.blend' -# www.blender.org -mtllib signs_dir_left.mtl -o Plane -v 0.500000 -0.218750 0.437500 -v 0.500000 0.218750 0.437500 -v -0.250000 -0.218750 0.437500 -v -0.250000 0.218750 0.437500 -v -0.437500 -0.000000 0.437500 -v 0.500000 -0.218750 0.500000 -v 0.500000 0.218750 0.500000 -v -0.250000 -0.218750 0.500000 -v -0.250000 0.218750 0.500000 -v -0.437500 -0.000000 0.500000 -vt 0.062500 0.500000 -vt 0.062500 0.937500 -vt 0.812500 0.937500 -vt 1.000000 0.718750 -vt 0.812500 0.500000 -vt 0.062500 0.437500 -vt 0.812500 0.437500 -vt 1.000000 0.218750 -vt 0.812500 0.000000 -vt 0.062500 0.000000 -vt 1.000000 0.312500 -vt 0.937500 0.312500 -vt 0.937500 0.625000 -vt 1.000000 0.625000 -vt 0.062500 1.000000 -vt 0.812500 1.000000 -vt 0.000000 0.312500 -vt 0.062500 0.312500 -vt 0.000000 0.000000 -vt 0.000000 0.500000 -vt 0.000000 0.937500 -vn -0.000000 0.000000 -1.000000 -vn 0.000000 -0.000000 1.000000 -vn -0.759300 -0.650800 -0.000000 -vn 0.000000 -1.000000 -0.000000 -vn -0.000000 1.000000 0.000000 -vn -0.759300 0.650800 0.000000 -vn 1.000000 0.000000 0.000000 -usemtl None -s off -f 2/1/1 1/2/1 3/3/1 5/4/1 4/5/1 -f 7/6/2 9/7/2 10/8/2 8/9/2 6/10/2 -f 3/11/3 8/12/3 10/13/3 5/14/3 -f 1/2/4 6/15/4 8/16/4 3/3/4 -f 4/5/5 9/7/5 7/6/5 2/1/5 -f 5/17/6 10/18/6 9/10/6 4/19/6 -f 2/1/7 7/20/7 6/21/7 1/2/7 diff --git a/signs/nodes.lua b/signs/nodes.lua deleted file mode 100644 index 7500297..0000000 --- a/signs/nodes.lua +++ /dev/null @@ -1,188 +0,0 @@ ---[[ - signs mod for Minetest - Various signs with text displayed on - (c) Pierre-Yves Rollo - - This file is part of signs. - - signs 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. - - signs 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 signs. If not, see . ---]] - -local S = signs.intllib -local F = function(...) return minetest.formspec_escape(S(...)) end - --- Poster specific formspec -local function display_poster(pos, node, player) - local formspec - local meta = minetest.get_meta(pos) - local def = minetest.registered_nodes[node.name].display_entities["signs:display_text"] - local font = font_api.get_font(meta:get_string("font") or def.font_name) - - -- Title texture - local titletexture = font:make_text_texture( - meta:get_string("display_text"), font:get_height()*8.4, font:get_height(), 1, "center") - - formspec = - "size[7,9]".. - "background[0,0;7,9;signs_poster_formspec.png]".. - "image[0,-0.2;8.4,2;"..titletexture.."]".. - "textarea[0.3,1.5;7,8;;"..minetest.colorize("#111", minetest.formspec_escape(meta:get_string("text")))..";]".. - "bgcolor[#0000]" - - if minetest.is_protected(pos, player:get_player_name()) then - formspec = formspec.. - "button_exit[2.5,8;2,1;ok;"..F("Close").."]" - else - formspec = formspec.. - "button[1,8;2,1;edit;"..F("Edit").."]".. - "button_exit[4,8;2,1;ok;"..F("Close").."]" - end - minetest.show_formspec(player:get_player_name(), - node.name.."@"..minetest.pos_to_string(pos)..":display", - formspec) -end - -local function edit_poster(pos, node, player) - local formspec - local meta = minetest.get_meta(pos) - - if not minetest.is_protected(pos, player:get_player_name()) then - formspec = - "size[6.5,7.5]".. - default.gui_bg .. default.gui_bg_img .. default.gui_slots .. - "field[0.5,0.7;6,1;display_text;"..F("Title")..";".. - minetest.formspec_escape(meta:get_string("display_text")).."]".. - "textarea[0.5,1.7;6,6;text;"..F("Text")..";".. - minetest.formspec_escape(meta:get_string("text")).."]".. - "button_exit[2.25,7;2,1;write;"..F("Write").."]" - minetest.show_formspec(player:get_player_name(), - node.name.."@"..minetest.pos_to_string(pos)..":edit", - formspec) - end -end - --- Poster specific on_receive_fields callback -local function on_receive_fields_poster(pos, formname, fields, player) - local meta = minetest.get_meta(pos) - local node = minetest.get_node(pos) - - if not minetest.is_protected(pos, player:get_player_name()) and fields then - if formname == node.name.."@"..minetest.pos_to_string(pos)..":display" and - fields.edit then - edit_poster(pos, node, player) - end - if formname == node.name.."@"..minetest.pos_to_string(pos)..":edit" and - (fields.write or fields.key_enter) then - meta:set_string("display_text", fields.display_text) - meta:set_string("text", fields.text) - meta:set_string("infotext", "\""..fields.display_text - .."\"\n"..S("(right-click to read more text)")) - display_api.update_entities(pos) - display_poster(pos, node, player) - end - end -end - --- Text entity for all signs -display_api.register_display_entity("signs:display_text") - --- Sign models and registration -local models = { - wooden_sign = { - depth = 1/16, - width = 14/16, - height = 12/16, - entity_fields = { - size = { x = 12/16, y = 10/16 }, - maxlines = 3, - color = "#000", - }, - node_fields = { - description = S("Wooden sign"), - tiles = { "signs_wooden.png" }, - inventory_image = "signs_wooden_inventory.png", - }, - }, - wooden_right_sign = { - depth = 1/16, - width = 14/16, - height = 7/16, - entity_fields = { - right = -3/32, - size = { x = 12/16, y = 6/16 }, - maxlines = 2, - color="#000", - }, - node_fields = { - description = S("Wooden direction sign"), - tiles = { "signs_wooden_direction.png" }, - inventory_image = "signs_wooden_direction_inventory.png", - signs_other_dir = 'signs:wooden_left_sign', - on_place = signs_api.on_place_direction, - drawtype = "mesh", - mesh = "signs_dir_right.obj", - selection_box = { type="fixed", fixed = {-0.5, -7/32, 0.5, 7/16, 7/32, 7/16}}, - collision_box = { type="fixed", fixed = {-0,5, -7/32, 0.5, 7/16, 7/32, 7/16}}, - }, - }, - wooden_left_sign = { - depth = 1/16, - width = 14/16, - height = 7/16, - entity_fields = { - right = 3/32, - size = { x = 12/16, y = 6/16 }, - maxlines = 2, - color = "#000", - }, - node_fields = { - description = S("Wooden direction sign"), - tiles = { "signs_wooden_direction.png" }, - inventory_image = "signs_wooden_direction_inventory.png", - signs_other_dir = 'signs:wooden_right_sign', - drawtype = "mesh", - mesh = "signs_dir_left.obj", - selection_box = { type="fixed", fixed = {-7/16, -7/32, 0.5, 0.5, 7/32, 7/16}}, - collision_box = { type="fixed", fixed = {-7/16, -7/32, 0.5, 0.5, 7/32, 7/16}}, - groups = { not_in_creative_inventory = 1 }, - drop = "signs:wooden_right_sign", - }, - }, - paper_poster = { - depth = 1/32, - width = 26/32, - height = 30/32, - entity_fields = { - top = -11/32, - size = { x = 26/32, y = 6/32 }, - maxlines = 1, - color = "#000", - }, - node_fields = { - description = S("Poster"), - tiles = { "signs_poster_sides.png", "signs_poster_sides.png", - "signs_poster_sides.png", "signs_poster_sides.png", - "signs_poster_sides.png", "signs_poster.png" }, - inventory_image = "signs_poster_inventory.png", - on_construct = display_api.on_construct, - on_rightclick = display_poster, - on_receive_fields = on_receive_fields_poster, - }, - }, -} - --- Node registration -for name, model in pairs(models) -do - signs_api.register_sign("signs", name, model) -end diff --git a/signs/svg/black_direction.svg b/signs/svg/black_direction.svg deleted file mode 100644 index 8e9b8a9..0000000 --- a/signs/svg/black_direction.svg +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - diff --git a/signs/svg/blue_street.svg b/signs/svg/blue_street.svg deleted file mode 100644 index 0aa87ff..0000000 --- a/signs/svg/blue_street.svg +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - diff --git a/signs/svg/green_street.svg b/signs/svg/green_street.svg deleted file mode 100644 index 5d87509..0000000 --- a/signs/svg/green_street.svg +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - diff --git a/signs/svg/poster-formspec.svg b/signs/svg/poster-formspec.svg deleted file mode 100644 index 1aa8fa2..0000000 --- a/signs/svg/poster-formspec.svg +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - diff --git a/signs/svg/poster.svg b/signs/svg/poster.svg deleted file mode 100644 index 4f6f774..0000000 --- a/signs/svg/poster.svg +++ /dev/null @@ -1,435 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/signs/textures/signs_poster.png b/signs/textures/signs_poster.png deleted file mode 100644 index 92a3144..0000000 Binary files a/signs/textures/signs_poster.png and /dev/null differ diff --git a/signs/textures/signs_poster_formspec.png b/signs/textures/signs_poster_formspec.png deleted file mode 100644 index c790a0c..0000000 Binary files a/signs/textures/signs_poster_formspec.png and /dev/null differ diff --git a/signs/textures/signs_poster_inventory.png b/signs/textures/signs_poster_inventory.png deleted file mode 100644 index e73a85b..0000000 Binary files a/signs/textures/signs_poster_inventory.png and /dev/null differ diff --git a/signs/textures/signs_poster_sides.png b/signs/textures/signs_poster_sides.png deleted file mode 100644 index ebb26de..0000000 Binary files a/signs/textures/signs_poster_sides.png and /dev/null differ diff --git a/signs/textures/signs_wooden.png b/signs/textures/signs_wooden.png deleted file mode 100644 index 164948a..0000000 Binary files a/signs/textures/signs_wooden.png and /dev/null differ diff --git a/signs/textures/signs_wooden_direction.png b/signs/textures/signs_wooden_direction.png deleted file mode 100644 index 3e18765..0000000 Binary files a/signs/textures/signs_wooden_direction.png and /dev/null differ diff --git a/signs/textures/signs_wooden_direction_inventory.png b/signs/textures/signs_wooden_direction_inventory.png deleted file mode 100644 index 1b8e3d4..0000000 Binary files a/signs/textures/signs_wooden_direction_inventory.png and /dev/null differ diff --git a/signs/textures/signs_wooden_inventory.png b/signs/textures/signs_wooden_inventory.png deleted file mode 100644 index bb7e949..0000000 Binary files a/signs/textures/signs_wooden_inventory.png and /dev/null differ diff --git a/signs/tools/updatepo.sh b/signs/tools/updatepo.sh deleted file mode 100755 index feb2504..0000000 --- a/signs/tools/updatepo.sh +++ /dev/null @@ -1,25 +0,0 @@ -#! /bin/bash - -# To create a new translation: -# msginit --locale=ll_CC -o locale/ll_CC.po -i locale/template.pot - -cd "$(dirname "${BASH_SOURCE[0]}")/.."; - -# Extract translatable strings. -xgettext --from-code=UTF-8 \ - --language=Lua \ - --sort-by-file \ - --keyword=S \ - --keyword=NS:1,2 \ - --keyword=N_ \ - --keyword=F \ - --add-comments='Translators:' \ - --add-location=file \ - -o locale/template.pot \ - $(find . -name '*.lua') - -# Update translations. -find locale -name '*.po' | while read -r file; do - echo $file - msgmerge --update $file locale/template.pot; -done diff --git a/signs_api/LICENSE.txt b/signs_api/LICENSE.txt deleted file mode 100644 index 341c30b..0000000 --- a/signs_api/LICENSE.txt +++ /dev/null @@ -1,166 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. - diff --git a/signs_api/README.md b/signs_api/README.md deleted file mode 100644 index 99ff20a..0000000 --- a/signs_api/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# Signs API - -This mod provides various helper functions for registereing signs with text display. Text is locked if area is protected. -No actual signs get registered by this mod, the signs are defined in the sign submod. - -For more information, see the [forum topic](https://forum.minetest.net/viewtopic.php?t=19365) at the Minetest forums. - -**Dependancies**: default, display\_lib, font\_lib - -**License**: Code under LGPL, Textures and models under CC-BY-SA - -## API Functions -### `signs_api.set_display_text(pos, text)` -Sets the text of a sign. Usually called in `on_receive_fields`. - -### `signs_api.set_formspec(pos)` -Usually called in `on_construct` to set the formspec. - -### `signs_api.on_receive_fields(pos, formname, fields, player)` -Helper function for `on_receive_fields`. Sets the display text and checks for protection. - -### `signs_api.on_place_direction(itemstack, placer, pointed_thing)` -On place callback for direction signs (chooses which sign according to look direction). - -### `signs_api.on_rotate(pos, node, player, mode, new_param2)` -Handles screwdriver rotation. Direction is affected for direction signs. - -### `signs_api.register_sign(mod, name, model)` -A method to quickly register signs. diff --git a/signs_api/copyright.txt b/signs_api/copyright.txt deleted file mode 100644 index b70e051..0000000 --- a/signs_api/copyright.txt +++ /dev/null @@ -1,10 +0,0 @@ -Code by Pierre-Yves Rollo (pyrollo) -intllib support (i18n) by (fat115) -intllib fallback code and tools by Diego Martínez (kaeza) -Extra contributors: -(gpcf) -(Thomas--S) -Translations: -Muhammad Nur Hidayat Yasuyoshi (MuhdNurHidayat) -(fat115) - diff --git a/signs_api/depends.txt b/signs_api/depends.txt deleted file mode 100644 index f75ffcc..0000000 --- a/signs_api/depends.txt +++ /dev/null @@ -1,4 +0,0 @@ -default -intllib? -display_api -font_api diff --git a/signs_api/init.lua b/signs_api/init.lua deleted file mode 100644 index 1a4357e..0000000 --- a/signs_api/init.lua +++ /dev/null @@ -1,216 +0,0 @@ ---[[ - signs mod for Minetest - Various signs with text displayed on - (c) Pierre-Yves Rollo - - This file is part of signs. - - signs 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. - - signs 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 signs. If not, see . ---]] - -signs_api = {} -signs_api.name = minetest.get_current_modname() -signs_api.path = minetest.get_modpath(signs_api.name) - --- Load support for intllib. -local S, NS = dofile(signs_api.path.."/intllib.lua") -signs_api.intllib = S -local F = function(...) return minetest.formspec_escape(S(...)) end - -function signs_api.set_display_text(pos, text, font) - local meta = minetest.get_meta(pos) - meta:set_string("display_text", text) - if text and text ~= "" then - meta:set_string("infotext", "\""..text.."\"") - else - meta:set_string("infotext", "") - end - meta:set_string("font", font) - display_api.update_entities(pos) -end - -function signs_api.set_formspec(pos) - local meta = minetest.get_meta(pos) - local ndef = minetest.registered_nodes[minetest.get_node(pos).name] - if ndef and ndef.display_entities - and ndef.display_entities["signs:display_text"] then - local maxlines = ndef.display_entities["signs:display_text"].maxlines - local formspec, formheight - - if maxlines == 1 then - formspec = - "field[0.5,0.7;5.5,1;display_text;"..F("Text").. - ";${display_text}]" - formheight = 2 - else - local extralabel = "" - if maxlines then - extralabel = F(" (first %s lines only)"):format(maxlines) - end - - formspec = - "textarea[0.5,0.7;5.5,2;display_text;"..F("Text").."".. - extralabel..";${display_text}]" - formheight = 3 - end - - formspec = formspec.."button_exit[2,"..formheight..";2,1;ok;".. - F("Write").."]" - formheight = formheight + 1 - formspec = "size[6,"..formheight.."]"..default.gui_bg.. - default.gui_bg_img..default.gui_slots..formspec - - meta:set_string("formspec", formspec) - end -end - -function signs_api.on_receive_fields(pos, formname, fields, player) - if not minetest.is_protected(pos, player:get_player_name()) then - if fields and (fields.ok or fields.key_enter) then - signs_api.set_display_text(pos, fields.display_text, fields.font) - end - end -end - --- On place callback for direction signs --- (chooses which sign according to look direction) -function signs_api.on_place_direction(itemstack, placer, pointed_thing) - local name = itemstack:get_name() - local ndef = minetest.registered_nodes[name] - - local bdir = {x = pointed_thing.under.x - pointed_thing.above.x, - y = pointed_thing.under.y - pointed_thing.above.y, - z = pointed_thing.under.z - pointed_thing.above.z} - local pdir = placer:get_look_dir() - - local ndir, test - - if ndef.paramtype2 == "facedir" then - if bdir.x == 0 and bdir.z == 0 then - -- Ceiling or floor pointed (facedir chosen from player dir) - ndir = minetest.dir_to_facedir({x=pdir.x, y=0, z=pdir.z}) - else - -- Wall pointed - ndir = minetest.dir_to_facedir(bdir) - end - - test = {[0]=-pdir.x, pdir.z, pdir.x, -pdir.z} - end - - if ndef.paramtype2 == "wallmounted" then - ndir = minetest.dir_to_wallmounted(bdir) - if ndir == 0 or ndir == 1 then - -- Ceiling or floor - ndir = minetest.dir_to_wallmounted({x=pdir.x, y=0, z=pdir.z}) - end - - test = {0, pdir.z, -pdir.z, -pdir.x, pdir.x} - end - - -- Only for direction signs - if ndef.signs_other_dir then - if test[ndir] > 0 then - itemstack:set_name(ndef.signs_other_dir) - end - itemstack = minetest.item_place(itemstack, placer, pointed_thing, ndir) - itemstack:set_name(name) - - return itemstack - else - return minetest.item_place(itemstack, placer, pointed_thing, ndir) - end -end - --- Handles screwdriver rotation. Direction is affected for direction signs -function signs_api.on_rotate(pos, node, player, mode, new_param2) - if mode == 2 then - local ndef = minetest.registered_nodes[node.name] - if ndef.signs_other_dir then - minetest.swap_node(pos, {name = ndef.signs_other_dir, - param1 = node.param1, param2 = node.param2}) - display_api.update_entities(pos) - end - else - display_api.on_rotate(pos, node, user, mode, new_param2) - end - return false; -end - -function signs_api.register_sign(mod, name, model) - -- Default fields - local fields = { - sunlight_propagates = true, - paramtype = "light", - paramtype2 = "facedir", - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = {-model.width/2, -model.height/2, 0.5, - model.width/2, model.height/2, 0.5 - model.depth}, - }, - groups = {choppy=2, dig_immediate=2, not_blocking_trains = 1, display_modpack_node = 1}, - sounds = default.node_sound_defaults(), - display_entities = { - ["signs:display_text"] = { - on_display_update = font_api.on_display_update, - depth = 0.5 - display_api.entity_spacing - model.depth, - size = { x = model.width, y = model.height }, - aspect_ratio = 1/2, - maxlines = 1, - }, - - }, - on_place = display_api.on_place, - on_construct = function(pos) - local ndef = minetest.registered_nodes[minetest.get_node(pos).name] - local meta = minetest.get_meta(pos) - meta:set_string("font", ndef.display_entities.font_name or - font_api.get_default_font_name()) - signs_api.set_formspec(pos) - display_api.on_construct(pos) - end, - on_destruct = display_api.on_destruct, - on_rotate = signs_api.on_rotate, - on_receive_fields = signs_api.on_receive_fields, - on_punch = function(pos, node, player, pointed_thing) - display_api.update_entities(pos) - end, - } - - -- Node fields override - for key, value in pairs(model.node_fields) do - if key == "groups" then - for key2, value2 in pairs(value) do - fields[key][key2] = value2 - end - else - fields[key] = value - end - end - - if not fields.wield_image then fields.wield_image = fields.inventory_image end - - -- Entity fields override - for key, value in pairs(model.entity_fields) do - fields.display_entities["signs:display_text"][key] = value - end - - minetest.register_node(mod..":"..name, fields) -end - --- Text entity for all signs -display_api.register_display_entity("signs:display_text") - - - - diff --git a/signs_api/intllib.lua b/signs_api/intllib.lua deleted file mode 100644 index 6669d72..0000000 --- a/signs_api/intllib.lua +++ /dev/null @@ -1,45 +0,0 @@ - --- Fallback functions for when `intllib` is not installed. --- Code released under Unlicense . - --- Get the latest version of this file at: --- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua - -local function format(str, ...) - local args = { ... } - local function repl(escape, open, num, close) - if escape == "" then - local replacement = tostring(args[tonumber(num)]) - if open == "" then - replacement = replacement..close - end - return replacement - else - return "@"..open..num..close - end - end - return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl)) -end - -local gettext, ngettext -if minetest.get_modpath("intllib") then - if intllib.make_gettext_pair then - -- New method using gettext. - gettext, ngettext = intllib.make_gettext_pair() - else - -- Old method using text files. - gettext = intllib.Getter() - end -end - --- Fill in missing functions. - -gettext = gettext or function(msgid, ...) - return format(msgid, ...) -end - -ngettext = ngettext or function(msgid, msgid_plural, n, ...) - return format(n==1 and msgid or msgid_plural, ...) -end - -return gettext, ngettext diff --git a/signs_api/locale/fr.po b/signs_api/locale/fr.po deleted file mode 100644 index e490d1b..0000000 --- a/signs_api/locale/fr.po +++ /dev/null @@ -1,49 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-02-01 05:56+0100\n" -"PO-Revision-Date: 2017-05-08 07:08+0200\n" -"Last-Translator: Peppy \n" -"Language-Team: \n" -"Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.12\n" - -#: common.lua -msgid "Text" -msgstr "Texte" - -#: common.lua -msgid "Write" -msgstr "Écrire" - -#: common.lua -#, lua-format -msgid " (first %s lines only)" -msgstr " (uniquement les %s premières lignes)" - -#~ msgid "Title" -#~ msgstr "Titre" - -#~ msgid "Close" -#~ msgstr "Fermer" - -#~ msgid "(right-click to read more text)" -#~ msgstr "(Clic-droit pour afficher le texte entier)" - -#~ msgid "Wooden direction sign" -#~ msgstr "Panneau de direction en bois" - -#~ msgid "Poster" -#~ msgstr "Affiche" - -#~ msgid "Textd" -#~ msgstr "Texte" diff --git a/signs_api/locale/ms.po b/signs_api/locale/ms.po deleted file mode 100644 index 9c8aab8..0000000 --- a/signs_api/locale/ms.po +++ /dev/null @@ -1,46 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# Muhammad Nur Hidayat , 2017. -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-02-01 05:56+0100\n" -"PO-Revision-Date: 2017-08-27 15:50+0800\n" -"Last-Translator: Muhammad Nur Hidayat \n" -"Language-Team: Malay \n" -"Language: ms\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Vé 0.1.4\n" - -#: common.lua -msgid "Text" -msgstr "Teks" - -#: common.lua -msgid "Write" -msgstr "Tulis" - -#: common.lua -#, lua-format -msgid " (first %s lines only)" -msgstr "( %s baris pertama sahaja )" - -#~ msgid "Title" -#~ msgstr "Tajuk" - -#~ msgid "Close" -#~ msgstr "Tutup" - -#~ msgid "(right-click to read more text)" -#~ msgstr "(klik-kanan untuk baca teks penuh)" - -#~ msgid "Wooden direction sign" -#~ msgstr "Papan tanda arah kayu" - -#~ msgid "Poster" -#~ msgstr "Poster" diff --git a/signs_api/locale/template.pot b/signs_api/locale/template.pot deleted file mode 100644 index 6004024..0000000 --- a/signs_api/locale/template.pot +++ /dev/null @@ -1,31 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-02-01 05:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: common.lua -msgid "Text" -msgstr "" - -#: common.lua -msgid "Write" -msgstr "" - -#: common.lua -#, lua-format -msgid " (first %s lines only)" -msgstr "" diff --git a/signs_api/tools/updatepo.sh b/signs_api/tools/updatepo.sh deleted file mode 100755 index feb2504..0000000 --- a/signs_api/tools/updatepo.sh +++ /dev/null @@ -1,25 +0,0 @@ -#! /bin/bash - -# To create a new translation: -# msginit --locale=ll_CC -o locale/ll_CC.po -i locale/template.pot - -cd "$(dirname "${BASH_SOURCE[0]}")/.."; - -# Extract translatable strings. -xgettext --from-code=UTF-8 \ - --language=Lua \ - --sort-by-file \ - --keyword=S \ - --keyword=NS:1,2 \ - --keyword=N_ \ - --keyword=F \ - --add-comments='Translators:' \ - --add-location=file \ - -o locale/template.pot \ - $(find . -name '*.lua') - -# Update translations. -find locale -name '*.po' | while read -r file; do - echo $file - msgmerge --update $file locale/template.pot; -done diff --git a/signs_road/LICENSE.txt b/signs_road/LICENSE.txt deleted file mode 100644 index 341c30b..0000000 --- a/signs_road/LICENSE.txt +++ /dev/null @@ -1,166 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. - diff --git a/signs_road/README.md b/signs_road/README.md deleted file mode 100644 index 0a2f685..0000000 --- a/signs_road/README.md +++ /dev/null @@ -1,76 +0,0 @@ -# Signs Road - -This mod provides road signs with text display. Text is locked if area is protected. - -For more information, see the [forum topic](https://forum.minetest.net/viewtopic.php?t=19365) at the Minetest forums. - -**Dependancies**: default, display\_lib, font\_lib, signs - -**License**: Code under LGPL, texture under CC-BY-SA - -## Recipes - -**Blue Street Sign** - - B W - - S S S - - - - - -B = Blue Dye, W = White Dye, S = Steel Ingot - -**Large Banner** - -Shapeless recipe : four white street signs. - - S S S - S - - - - - - - -S = White street sign - -**Red and White Street Sign** - - W R - - S S S - - - - - -W = White Dye, R = Red Dye, S = Steel Ingot - -**Black direction sign** - - B W S - S S - - - - - - -B = Black Dye, W = White Dye, S = Steel Ingot - -**White Signs** - -Two kinds of signs, normal and direction signs : - - W B - W B S - S S S S S - - - - - - - - - -W = White Dye, B = Black Dye, S = Steel Ingot - -**Green Signs** - -Two kinds of signs, normal and direction signs : - - G W - G W S - S S S S S - - - - - - - - - -G = Green Dye, W = White Dye, S = Steel Ingot - -**Yellow Signs** - -Two kinds of signs, normal and direction signs : - - Y B - Y B S - S S S S S - - - - - - - - - -Y = Yellow Dye, B = Black Dye, S = Steel Ingot - diff --git a/signs_road/compatibility.lua b/signs_road/compatibility.lua deleted file mode 100644 index 9e6b29b..0000000 --- a/signs_road/compatibility.lua +++ /dev/null @@ -1,85 +0,0 @@ ---[[ - signs mod for Minetest - Various signs with text displayed on - (c) Pierre-Yves Rollo - - This file is part of signs. - - signs 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. - - signs 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 signs. If not, see . ---]] - --- Wallmounted to facedir conversion ------------------------------------- - -local wallmounted_to_facedir = { - [0]=1, -- Should not happend with signs - [1]=1, -- Should not happend with signs - [2]=1, - [3]=3, - [4]=0, - [5]=2 -} - --- Nodes conversions -local convert_nodes = { - ['signs_road:blue_street'] = 'signs_road:blue_street_sign', - ['signs_road:green_street'] = 'signs_road:green_street_sign', - ['signs_road:black_right'] = 'signs_road:black_right_sign', - ['signs_road:black_left'] = 'signs_road:black_left_sign', - ['signs_road:green_right'] = 'signs_road:green_right_sign', - ['signs_road:green_left'] = 'signs_road:green_left_sign' -} - -local function compatibility_check(pos, node) - -- Old wallmounted modes to new facedir nodes conversion - node.name = convert_nodes[node.name] - if node.name then - node.param2 = wallmounted_to_facedir[node.param2] - display_api.on_destruct(pos) - minetest.swap_node(pos, node) - display_api.on_construct(pos) - end -end - -minetest.register_lbm({ name = "signs_road:conpatibility_1", - nodenames = {'signs_road:blue_street', 'signs_road:green_street', 'signs_road:black_right', - 'signs_road:black_left', 'signs_road:green_right', 'signs_road:green_left'}, - action = compatibility_check, -}) - --- Text entity name change because of signs_lib using signs prefix ------------------------------------------------------------------- - -local function compatibility_check_2(pos, node) - -- Remove old entity - for _, objref in ipairs(minetest.get_objects_inside_radius(pos, 0.5)) do - local entity = objref:get_luaentity() - if entity and entity.name == "signs:text" then - objref:remove() - end - end - -- Create new entity - display_api.update_entities(pos) -end - -minetest.register_lbm({ name = "signs_road:conpatibility_2", - nodenames = { - "signs_road:blue_street_sign", "signs_road:red_street_sign", "signs_road:white_street_sign", - "signs_road:green_street_sign", "signs_road:yellow_street_sign", "signs_road:black_right_sign", - "signs_road:black_left_sign", "signs_road:green_right_sign", "signs_road:green_left_sign", - "signs_road:yellow_right_sign", "signs_road:yellow_left_sign", "signs_road:white_right_sign", - "signs_road:white_left_sign"}, - action = compatibility_check_2, -}) - - diff --git a/signs_road/copyright.txt b/signs_road/copyright.txt deleted file mode 100644 index bb7adc8..0000000 --- a/signs_road/copyright.txt +++ /dev/null @@ -1,9 +0,0 @@ -Code, Textures and Models by Pierre-Yves Rollo (pyrollo) -intllib support (i18n) by (fat115) -intllib fallback code and tools by Diego Martínez (kaeza) -Extra contributors: -(gpcf) -(Thomas--S) -Translations: -Muhammad Nur Hidayat Yasuyoshi (MuhdNurHidayat) -(fat115) diff --git a/signs_road/crafts.lua b/signs_road/crafts.lua deleted file mode 100644 index 3c15437..0000000 --- a/signs_road/crafts.lua +++ /dev/null @@ -1,109 +0,0 @@ ---[[ - signs_road mod for Minetest - Various road signs with text displayed - on. - (c) Pierre-Yves Rollo - - This file is part of signs_road. - - signs_road 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. - - signs_road 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 signs_road. If not, see . ---]] - -minetest.register_craft({ - output = 'signs_road:blue_street_sign 2', - recipe = { - {'dye:blue', 'dye:white', ''}, - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - {'', '', ''}, - } -}) - -minetest.register_craft({ - output = 'signs_road:red_street_sign 2', - recipe = { - {'dye:white', 'dye:red', ''}, - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - {'', '', ''}, - } -}) - -minetest.register_craft({ - output = 'signs_road:white_street_sign 2', - recipe = { - {'dye:white', 'dye:black', ''}, - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - {'', '', ''}, - } -}) - -minetest.register_craft({ - type = "shapeless", - output = 'signs_road:large_street_sign', - recipe = {'signs_road:white_street_sign', 'signs_road:white_street_sign', 'signs_road:white_street_sign', 'signs_road:white_street_sign'}, -}) - -minetest.register_craft({ - output = 'signs_road:green_street_sign 2', - recipe = { - {'dye:green', 'dye:white', ''}, - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - {'', '', ''}, - } -}) - -minetest.register_craft({ - output = 'signs_road:yellow_street_sign 2', - recipe = { - {'dye:yellow', 'dye:black', ''}, - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - {'', '', ''}, - } -}) - - -minetest.register_craft({ - output = 'signs_road:black_right_sign 2', - recipe = { - {'dye:black', 'dye:white', 'default:steel_ingot'}, - {'default:steel_ingot', 'default:steel_ingot', ''}, - {'', '', ''}, - } -}) - -minetest.register_craft({ - output = 'signs_road:green_right_sign 2', - recipe = { - {'dye:green', 'dye:white', 'default:steel_ingot'}, - {'default:steel_ingot', 'default:steel_ingot', ''}, - {'', '', ''}, - } -}) - -minetest.register_craft({ - output = 'signs_road:yellow_right_sign 2', - recipe = { - {'dye:yellow', 'dye:white', 'default:steel_ingot'}, - {'default:steel_ingot', 'default:steel_ingot', ''}, - {'', '', ''}, - } -}) - -minetest.register_craft({ - output = 'signs_road:white_right_sign 2', - recipe = { - {'dye:white', 'dye:black', 'default:steel_ingot'}, - {'default:steel_ingot', 'default:steel_ingot', ''}, - {'', '', ''}, - } -}) - diff --git a/signs_road/depends.txt b/signs_road/depends.txt deleted file mode 100644 index eeb3b01..0000000 --- a/signs_road/depends.txt +++ /dev/null @@ -1,6 +0,0 @@ -default -intllib? -dye -display_api -font_api -signs_api diff --git a/signs_road/init.lua b/signs_road/init.lua deleted file mode 100644 index cd95c6c..0000000 --- a/signs_road/init.lua +++ /dev/null @@ -1,37 +0,0 @@ ---[[ - signs_road mod for Minetest - Various road signs with text displayed - on. - (c) Pierre-Yves Rollo - - This file is part of signs_road. - - signs_road 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. - - signs_road 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 signs_road. If not, see . ---]] - -signs_road = {} -signs_road.name = minetest.get_current_modname() -signs_road.path = minetest.get_modpath(signs_road.name) - --- Load support for intllib. -local S, NS = dofile(signs_road.path.."/intllib.lua") -signs_road.intllib = S - -dofile(signs_road.path.."/nodes.lua") -dofile(signs_road.path.."/crafts.lua") -dofile(signs_road.path.."/compatibility.lua") - - - - - diff --git a/signs_road/intllib.lua b/signs_road/intllib.lua deleted file mode 100644 index 6669d72..0000000 --- a/signs_road/intllib.lua +++ /dev/null @@ -1,45 +0,0 @@ - --- Fallback functions for when `intllib` is not installed. --- Code released under Unlicense . - --- Get the latest version of this file at: --- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua - -local function format(str, ...) - local args = { ... } - local function repl(escape, open, num, close) - if escape == "" then - local replacement = tostring(args[tonumber(num)]) - if open == "" then - replacement = replacement..close - end - return replacement - else - return "@"..open..num..close - end - end - return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl)) -end - -local gettext, ngettext -if minetest.get_modpath("intllib") then - if intllib.make_gettext_pair then - -- New method using gettext. - gettext, ngettext = intllib.make_gettext_pair() - else - -- Old method using text files. - gettext = intllib.Getter() - end -end - --- Fill in missing functions. - -gettext = gettext or function(msgid, ...) - return format(msgid, ...) -end - -ngettext = ngettext or function(msgid, msgid_plural, n, ...) - return format(n==1 and msgid or msgid_plural, ...) -end - -return gettext, ngettext diff --git a/signs_road/locale/fr.po b/signs_road/locale/fr.po deleted file mode 100644 index 833f115..0000000 --- a/signs_road/locale/fr.po +++ /dev/null @@ -1,56 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-08-26 11:26+0200\n" -"PO-Revision-Date: 2017-05-08 06:40+0200\n" -"Last-Translator: Peppy \n" -"Language-Team: \n" -"Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.12\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: nodes.lua -msgid "Blue street sign" -msgstr "Plaque de rue bleue" - -#: nodes.lua -msgid "Red and white town sign" -msgstr "Panneau de ville rouge et blanc" - -#: nodes.lua -msgid "White street sign" -msgstr "Panneau blanc" - -#: nodes.lua -msgid "Green street sign" -msgstr "Panneau vert" - -#: nodes.lua -msgid "Yellow street sign" -msgstr "Panneau jaune" - -#: nodes.lua -msgid "Black direction sign" -msgstr "Panneau de direction noir" - -#: nodes.lua -msgid "Green direction sign" -msgstr "Panneau de direction vert" - -#: nodes.lua -msgid "Yellow direction sign" -msgstr "Panneau de direction jaune" - -#: nodes.lua -msgid "White direction sign" -msgstr "Panneau de direction blanc" - diff --git a/signs_road/locale/ms.po b/signs_road/locale/ms.po deleted file mode 100644 index f866162..0000000 --- a/signs_road/locale/ms.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# Muhammad Nur Hidayat , 2017. -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-08-26 11:28+0200\n" -"PO-Revision-Date: 2017-08-27 15:55+0800\n" -"Last-Translator: Muhammad Nur Hidayat \n" -"Language-Team: Malay \n" -"Language: ms\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Vé 0.1.4\n" - -#: nodes.lua -msgid "Blue street sign" -msgstr "Papan tanda arah biru" - -#: nodes.lua -msgid "Red and white town sign" -msgstr "Papan tanda bandar merah dan putih" - -#: nodes.lua -msgid "White street sign" -msgstr "Papan tanda jalan putih" - -#: nodes.lua -msgid "Green street sign" -msgstr "Papan tanda jalan hijau" - -#: nodes.lua -msgid "Yellow street sign" -msgstr "Papan tanda jalan kuning" - -#: nodes.lua -msgid "Black direction sign" -msgstr "Papan tanda arah hitam" - -#: nodes.lua -msgid "Green direction sign" -msgstr "Papan tanda arah hijau" - -#: nodes.lua -msgid "Yellow direction sign" -msgstr "Papan tanda arah kuning" - -#: nodes.lua -msgid "White direction sign" -msgstr "Papan tanda arah putih" diff --git a/signs_road/locale/template.pot b/signs_road/locale/template.pot deleted file mode 100644 index b15ce94..0000000 --- a/signs_road/locale/template.pot +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-08-26 11:28+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: nodes.lua -msgid "Blue street sign" -msgstr "" - -#: nodes.lua -msgid "Red and white town sign" -msgstr "" - -#: nodes.lua -msgid "White street sign" -msgstr "" - -#: nodes.lua -msgid "Green street sign" -msgstr "" - -#: nodes.lua -msgid "Yellow street sign" -msgstr "" - -#: nodes.lua -msgid "Black direction sign" -msgstr "" - -#: nodes.lua -msgid "Green direction sign" -msgstr "" - -#: nodes.lua -msgid "Yellow direction sign" -msgstr "" - -#: nodes.lua -msgid "White direction sign" -msgstr "" diff --git a/signs_road/nodes.lua b/signs_road/nodes.lua deleted file mode 100644 index ab95b2b..0000000 --- a/signs_road/nodes.lua +++ /dev/null @@ -1,324 +0,0 @@ ---[[ - signs_road mod for Minetest - Various road signs with text displayed - on. - (c) Pierre-Yves Rollo - - This file is part of signs_road. - - signs_road 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. - - signs_road 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 signs_road. If not, see . ---]] - -local S = signs_road.intllib - -local models = { - blue_street_sign = { - depth = 1/16, - width = 14/16, - height = 12/16, - entity_fields = { - size = { x = 14/16, y = 10/16 }, - maxlines = 3, - color = "#fff", - }, - node_fields = { - description = S("Blue street sign"), - tiles = { "signs_road_sides.png", "signs_road_sides.png", - "signs_road_sides.png", "signs_road_sides.png", - "signs_road_sides.png", "signs_road_blue.png" }, - inventory_image = "signs_road_blue.png", - }, - }, - large_street_sign = { - depth = 1/16, - width = 64/16, - height = 12/16, - entity_fields = { - maxlines = 1, - color = "#000", - }, - node_fields = { - visual_scale = 1, - description = S("Large banner"), - tiles = { "signs_road_sides.png", "signs_road_sides.png", - "signs_road_sides.png", "signs_road_sides.png", - "signs_road_sides.png", "signs_road_large_white.png" }, - inventory_image = "signs_road_white.png", - }, - }, - red_street_sign = { - depth = 1/16, - width = 1, - height = 7/16, - entity_fields = { - size = { x = 1, y = 4/16 }, - maxlines = 1, - color = "#000", - }, - node_fields = { - description = S("Red and white town sign"), - tiles = { "signs_road_sides.png", "signs_road_sides.png", - "signs_road_sides.png", "signs_road_sides.png", - "signs_road_sides.png", "signs_road_red_white.png" }, - inventory_image="signs_road_red_white.png", - }, - }, - white_street_sign = { - depth = 1/16, - width = 1, - height = 7/16, - entity_fields = { - size = { x = 1, y = 6/16 }, - maxlines = 2, - color = "#000", - }, - node_fields = { - description = S("White street sign"), - tiles = { "signs_road_sides.png", "signs_road_sides.png", - "signs_road_sides.png", "signs_road_sides.png", - "signs_road_sides.png", "signs_road_white.png" }, - inventory_image = "signs_road_white.png", - }, - }, - green_street_sign = { - depth = 1/16, - width = 1, - height = 7/16, - entity_fields = { - size = { x = 1, y = 6/16 }, - maxlines = 2, - color = "#fff", - }, - node_fields = { - description = S("Green street sign"), - tiles = { "signs_road_sides.png", "signs_road_sides.png", - "signs_road_sides.png", "signs_road_sides.png", - "signs_road_sides.png", "signs_road_green.png" }, - inventory_image = "signs_road_green.png", - }, - }, - yellow_street_sign = { - depth = 1/16, - width = 1, - height = 7/16, - entity_fields = { - size = { x = 1, y = 6/16 }, - maxlines = 2, - color = "#000", - }, - node_fields = { - description = S("Yellow street sign"), - tiles = { "signs_road_sides.png", "signs_road_sides.png", - "signs_road_sides.png", "signs_road_sides.png", - "signs_road_sides.png", "signs_road_yellow.png" }, - inventory_image="signs_road_yellow.png", - }, - }, - black_right_sign = { - depth = 1/32, - width = 1, - height = 0.5, - entity_fields = { - aspect_ratio = 3/4, - size = { x = 1, y = 3/16 }, - maxlines = 1, - color = "#000", - }, - node_fields = { - description = S("Black direction sign"), - tiles = { "signs_road_sides.png", "signs_road_sides.png", - "signs_road_sides.png", "signs_road_sides.png", - "signs_road_sides.png", "signs_road_black_dir_right.png" }, - inventory_image = "signs_road_black_dir_inventory.png", - signs_other_dir = "signs_road:black_left_sign", - on_place = signs_api.on_place_direction, - on_rightclick = signs_api.on_right_click_direction, - }, - }, - black_left_sign = { - depth = 1/32, - width = 1, - height = 0.5, - entity_fields = { - aspect_ratio = 3/4, - size = { x = 1, y = 3/16 }, - maxlines = 1, - color = "#000", - }, - node_fields = { - description = S("Black direction sign"), - tiles = { "signs_road_sides.png", "signs_road_sides.png", - "signs_road_sides.png", "signs_road_sides.png", - "signs_road_sides.png", "signs_road_black_dir_left.png" }, - inventory_image = "signs_road_black_dir_inventory.png", - signs_other_dir = "signs_road:black_right_sign", - groups = { not_in_creative_inventory = 1 }, - drop = "signs_road:black_right_sign", - on_place = signs_api.on_place_direction, - on_rightclick = signs_api.on_right_click_direction, - }, - }, - - green_right_sign = { - depth = 1/16, - width = 14/16, - height = 7/16, - entity_fields = { - right = -3/32, - size = { x = 12/16, y = 6/16 }, - maxlines = 2, - color = "#fff", - }, - node_fields = { - description = S("Green direction sign"), - tiles = { "signs_road_green_direction.png" }, - inventory_image = "signs_road_green_dir_inventory.png", - signs_other_dir = "signs_road:green_left_sign", - on_place = signs_api.on_place_direction, - on_rightclick = signs_api.on_right_click_direction, - drawtype = "mesh", - mesh = "signs_dir_right.obj", - selection_box = { type = "fixed", fixed = { -0.5, -7/32, 0.5, 7/16, 7/32, 7/16 } }, - collision_box = { type = "fixed", fixed = { -0,5, -7/32, 0.5, 7/16, 7/32, 7/16 } }, - }, - }, - green_left_sign = { - depth = 1/16, - width = 14/16, - height = 7/16, - entity_fields = { - right = 3/32, - size = { x = 12/16, y = 6/16 }, - maxlines = 2, - color="#fff", - }, - node_fields = { - description = S("Green direction sign"), - tiles = { "signs_road_green_direction.png" }, - inventory_image = "signs_road_green_dir_inventory.png", - signs_other_dir = "signs_road:green_right_sign", - on_place = signs_api.on_place_direction, - on_rightclick = signs_api.on_right_click_direction, - drawtype = "mesh", - mesh = "signs_dir_left.obj", - selection_box = { type = "fixed", fixed = { -7/16, -7/32, 0.5, 0.5, 7/32, 7/16 } }, - collision_box = { type = "fixed", fixed = { -7/16, -7/32, 0.5, 0.5, 7/32, 7/16 } }, - groups = { not_in_creative_inventory = 1 }, - drop = "signs_road:green_right_sign", - }, - }, - yellow_right_sign = { - depth = 1/16, - width = 14/16, - height = 7/16, - entity_fields = { - right = -3/32, - size = { x = 12/16, y = 6/16 }, - maxlines = 2, - color = "#000", - }, - node_fields = { - description = S("Yellow direction sign"), - tiles = { "signs_road_yellow_direction.png" }, - inventory_image = "signs_road_yellow_dir_inventory.png", - signs_other_dir = "signs_road:yellow_left_sign", - on_place = signs_api.on_place_direction, - on_rightclick = signs_api.on_right_click_direction, - drawtype = "mesh", - mesh = "signs_dir_right.obj", - selection_box = { type = "fixed", fixed = { -0.5, -7/32, 0.5, 7/16, 7/32, 7/16 } }, - collision_box = { type = "fixed", fixed = { -0,5, -7/32, 0.5, 7/16, 7/32, 7/16 } }, - }, - }, - yellow_left_sign = { - depth = 1/16, - width = 14/16, - height = 7/16, - entity_fields = { - right = 3/32, - size = { x = 12/16, y = 6/16 }, - maxlines = 2, - color = "#000", - }, - node_fields = { - description = S("Yellow direction sign"), - tiles = { "signs_road_yellow_direction.png" }, - inventory_image = "signs_road_yellow_dir_inventory.png", - signs_other_dir = "signs_road:yellow_right_sign", - on_place = signs_api.on_place_direction, - on_rightclick = signs_api.on_right_click_direction, - drawtype = "mesh", - mesh = "signs_dir_left.obj", - selection_box = { type = "fixed", fixed = { -7/16, -7/32, 0.5, 0.5, 7/32, 7/16 } }, - collision_box = { type = "fixed", fixed = { -7/16, -7/32, 0.5, 0.5, 7/32, 7/16 } }, - groups = { not_in_creative_inventory = 1 }, - drop = "signs_road:yellow_right_sign", - }, - }, - white_right_sign = { - depth = 1/16, - width = 14/16, - height = 7/16, - entity_fields = { - right = -3/32, - size = { x = 12/16, y = 6/16 }, - maxlines = 2, - color = "#000", - }, - node_fields = { - description = S("White direction sign"), - tiles = { "signs_road_white_direction.png" }, - inventory_image = "signs_road_white_dir_inventory.png", - signs_other_dir = "signs_road:white_left_sign", - on_place = signs_api.on_place_direction, - on_rightclick = signs_api.on_right_click_direction, - drawtype = "mesh", - mesh = "signs_dir_right.obj", - selection_box = { type = "fixed", fixed = { -0.5, -7/32, 0.5, 7/16, 7/32, 7/16 } }, - collision_box = { type = "fixed", fixed = { -0,5, -7/32, 0.5, 7/16, 7/32, 7/16 } }, - }, - }, - white_left_sign = { - depth = 1/16, - width = 14/16, - height = 7/16, - entity_fields = { - right = 3/32, - size = { x = 12/16, y = 6/16 }, - maxlines = 2, - color = "#000", - }, - node_fields = { - description = S("White direction sign"), - tiles = { "signs_road_white_direction.png" }, - inventory_image = "signs_road_white_dir_inventory.png", - signs_other_dir = "signs_road:white_right_sign", - on_place=signs_api.on_place_direction, - on_rightclick = signs_api.on_right_click_direction, - drawtype = "mesh", - mesh = "signs_dir_left.obj", - selection_box = { type = "fixed", fixed = { -7/16, -7/32, 0.5, 0.5, 7/32, 7/16 } }, - collision_box = { type = "fixed", fixed = { -7/16, -7/32, 0.5, 0.5, 7/32, 7/16 } }, - groups = { not_in_creative_inventory = 1 }, - drop = "signs_road:white_right_sign", - }, - }, -} - --- Node registration -for name, model in pairs(models) -do - signs_api.register_sign("signs_road", name, model) -end - - diff --git a/signs_road/svg/green_street.svg b/signs_road/svg/green_street.svg deleted file mode 100644 index 89d8474..0000000 --- a/signs_road/svg/green_street.svg +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/signs_road/svg/signs_blue_street.svg b/signs_road/svg/signs_blue_street.svg deleted file mode 100644 index 0aa87ff..0000000 --- a/signs_road/svg/signs_blue_street.svg +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - diff --git a/signs_road/svg/signs_green_direction.svg b/signs_road/svg/signs_green_direction.svg deleted file mode 100644 index 3cdbc77..0000000 --- a/signs_road/svg/signs_green_direction.svg +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - diff --git a/signs_road/svg/signs_road_black.svg b/signs_road/svg/signs_road_black.svg deleted file mode 100644 index 8e9b8a9..0000000 --- a/signs_road/svg/signs_road_black.svg +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - diff --git a/signs_road/svg/signs_road_black_direction.svg b/signs_road/svg/signs_road_black_direction.svg deleted file mode 100644 index f513524..0000000 --- a/signs_road/svg/signs_road_black_direction.svg +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - diff --git a/signs_road/svg/signs_road_red.svg b/signs_road/svg/signs_road_red.svg deleted file mode 100644 index 513b970..0000000 --- a/signs_road/svg/signs_road_red.svg +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/signs_road/svg/signs_yellow_direction.svg b/signs_road/svg/signs_yellow_direction.svg deleted file mode 100644 index 1414a5c..0000000 --- a/signs_road/svg/signs_yellow_direction.svg +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - diff --git a/signs_road/svg/white_street.svg b/signs_road/svg/white_street.svg deleted file mode 100644 index f33bc02..0000000 --- a/signs_road/svg/white_street.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/signs_road/svg/yellow_street.svg b/signs_road/svg/yellow_street.svg deleted file mode 100644 index ea26f30..0000000 --- a/signs_road/svg/yellow_street.svg +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/signs_road/textures/signs_road_black_dir_inventory.png b/signs_road/textures/signs_road_black_dir_inventory.png deleted file mode 100644 index 4b10ee3..0000000 Binary files a/signs_road/textures/signs_road_black_dir_inventory.png and /dev/null differ diff --git a/signs_road/textures/signs_road_black_dir_left.png b/signs_road/textures/signs_road_black_dir_left.png deleted file mode 100644 index 8837dcb..0000000 Binary files a/signs_road/textures/signs_road_black_dir_left.png and /dev/null differ diff --git a/signs_road/textures/signs_road_black_dir_right.png b/signs_road/textures/signs_road_black_dir_right.png deleted file mode 100644 index 0951da0..0000000 Binary files a/signs_road/textures/signs_road_black_dir_right.png and /dev/null differ diff --git a/signs_road/textures/signs_road_blue.png b/signs_road/textures/signs_road_blue.png deleted file mode 100644 index 540a390..0000000 Binary files a/signs_road/textures/signs_road_blue.png and /dev/null differ diff --git a/signs_road/textures/signs_road_green.png b/signs_road/textures/signs_road_green.png deleted file mode 100644 index 8512fb1..0000000 Binary files a/signs_road/textures/signs_road_green.png and /dev/null differ diff --git a/signs_road/textures/signs_road_green_dir_inventory.png b/signs_road/textures/signs_road_green_dir_inventory.png deleted file mode 100644 index 3b7f031..0000000 Binary files a/signs_road/textures/signs_road_green_dir_inventory.png and /dev/null differ diff --git a/signs_road/textures/signs_road_green_direction.png b/signs_road/textures/signs_road_green_direction.png deleted file mode 100644 index c4c8d10..0000000 Binary files a/signs_road/textures/signs_road_green_direction.png and /dev/null differ diff --git a/signs_road/textures/signs_road_large_white.png b/signs_road/textures/signs_road_large_white.png deleted file mode 100644 index c2a7872..0000000 Binary files a/signs_road/textures/signs_road_large_white.png and /dev/null differ diff --git a/signs_road/textures/signs_road_red_white.png b/signs_road/textures/signs_road_red_white.png deleted file mode 100644 index 7afc658..0000000 Binary files a/signs_road/textures/signs_road_red_white.png and /dev/null differ diff --git a/signs_road/textures/signs_road_sides.png b/signs_road/textures/signs_road_sides.png deleted file mode 100644 index 7afd08e..0000000 Binary files a/signs_road/textures/signs_road_sides.png and /dev/null differ diff --git a/signs_road/textures/signs_road_white.png b/signs_road/textures/signs_road_white.png deleted file mode 100644 index 3fd45fb..0000000 Binary files a/signs_road/textures/signs_road_white.png and /dev/null differ diff --git a/signs_road/textures/signs_road_white_dir_inventory.png b/signs_road/textures/signs_road_white_dir_inventory.png deleted file mode 100644 index 5cc6dc4..0000000 Binary files a/signs_road/textures/signs_road_white_dir_inventory.png and /dev/null differ diff --git a/signs_road/textures/signs_road_white_direction.png b/signs_road/textures/signs_road_white_direction.png deleted file mode 100644 index e6ae658..0000000 Binary files a/signs_road/textures/signs_road_white_direction.png and /dev/null differ diff --git a/signs_road/textures/signs_road_yellow.png b/signs_road/textures/signs_road_yellow.png deleted file mode 100644 index 1c546fd..0000000 Binary files a/signs_road/textures/signs_road_yellow.png and /dev/null differ diff --git a/signs_road/textures/signs_road_yellow_dir_inventory.png b/signs_road/textures/signs_road_yellow_dir_inventory.png deleted file mode 100644 index 8b56025..0000000 Binary files a/signs_road/textures/signs_road_yellow_dir_inventory.png and /dev/null differ diff --git a/signs_road/textures/signs_road_yellow_direction.png b/signs_road/textures/signs_road_yellow_direction.png deleted file mode 100644 index f5b1b18..0000000 Binary files a/signs_road/textures/signs_road_yellow_direction.png and /dev/null differ diff --git a/signs_road/tools/updatepo.sh b/signs_road/tools/updatepo.sh deleted file mode 100755 index feb2504..0000000 --- a/signs_road/tools/updatepo.sh +++ /dev/null @@ -1,25 +0,0 @@ -#! /bin/bash - -# To create a new translation: -# msginit --locale=ll_CC -o locale/ll_CC.po -i locale/template.pot - -cd "$(dirname "${BASH_SOURCE[0]}")/.."; - -# Extract translatable strings. -xgettext --from-code=UTF-8 \ - --language=Lua \ - --sort-by-file \ - --keyword=S \ - --keyword=NS:1,2 \ - --keyword=N_ \ - --keyword=F \ - --add-comments='Translators:' \ - --add-location=file \ - -o locale/template.pot \ - $(find . -name '*.lua') - -# Update translations. -find locale -name '*.po' | while read -r file; do - echo $file - msgmerge --update $file locale/template.pot; -done diff --git a/steles/LICENSE.txt b/steles/LICENSE.txt deleted file mode 100644 index 341c30b..0000000 --- a/steles/LICENSE.txt +++ /dev/null @@ -1,166 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. - diff --git a/steles/README.md b/steles/README.md deleted file mode 100644 index bc14b53..0000000 --- a/steles/README.md +++ /dev/null @@ -1,25 +0,0 @@ -# Steles - -This mod provides stone steles with text display. Text is locked if area is protected. - -For more information, see the [forum topic](https://forum.minetest.net/viewtopic.php?t=19365) at the Minetest forums. - -**Dependancies**: default, display\_lib, font\_lib, technic? - -(Technic adds marble and granite steles) - -**License**: LGPL - -## Recipes - - - M - - - B - - M M M - -B = Black Dye, M = Material - -Material (must be all the same) can be : Stone, Desert Stone, Sandstone, Granite or Marble - -Gives 4 steles of corresponding material. Right click on stele to update text. - -(Extra materials can be added in config.lua file) diff --git a/steles/config.lua b/steles/config.lua deleted file mode 100644 index 551429d..0000000 --- a/steles/config.lua +++ /dev/null @@ -1,37 +0,0 @@ ---[[ - steles mod for Minetest. Steles / graves with text on it. - (c) Pierre-Yves Rollo - - This file is part of steles. - - steles 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. - - steles 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 steles. If not, see . ---]] - -local S = steles.intllib - -steles.materials = { - 'default:stone', - 'default:sandstone', - 'default:desert_stone', - 'technic:marble', - 'technic:granite', -} - -steles.materials_desc = { - S("Stone Stele"), - S("Sandstone Stele"), - S("Desert Stone Stele"), - S("Marble Stele"), - S("Granite Stele"), -} diff --git a/steles/copyright.txt b/steles/copyright.txt deleted file mode 100644 index 1a4e167..0000000 --- a/steles/copyright.txt +++ /dev/null @@ -1,9 +0,0 @@ -Code by Pierre-Yves Rollo -intllib support (i18n) by (fat115) -intllib fallback code and tools by Diego Martínez (kaeza) -Extra contibutors: -(Thomas--S) -Translations: -Muhammad Nur Hidayat Yasuyoshi (MuhdNurHidayat) -(fat115) - diff --git a/steles/crafts.lua b/steles/crafts.lua deleted file mode 100644 index 9973aac..0000000 --- a/steles/crafts.lua +++ /dev/null @@ -1,33 +0,0 @@ ---[[ - steles mod for Minetest. Steles / graves with text on it. - (c) Pierre-Yves Rollo - - This file is part of steles. - - steles 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. - - steles 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 steles. If not, see . ---]] - -for _, material in ipairs(steles.materials) do - local parts = material:split(":") - - minetest.register_craft({ - output = 'steles:'..parts[2]..'_stele 4', - recipe = { - {'', material, ''}, - {'', 'dye:black', ''}, - {material, material, material}, - } - }) - -end diff --git a/steles/depends.txt b/steles/depends.txt deleted file mode 100644 index ba43223..0000000 --- a/steles/depends.txt +++ /dev/null @@ -1,5 +0,0 @@ -default -intllib? -display_api -font_api -technic? diff --git a/steles/init.lua b/steles/init.lua deleted file mode 100644 index e5d2430..0000000 --- a/steles/init.lua +++ /dev/null @@ -1,31 +0,0 @@ ---[[ - steles mod for Minetest. Steles / graves with text on it. - (c) Pierre-Yves Rollo - - This file is part of steles. - - steles 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. - - steles 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 steles. If not, see . ---]] - -steles = {} -steles.name = minetest.get_current_modname() -steles.path = minetest.get_modpath(steles.name) - --- Load support for intllib. -local S, NS = dofile(steles.path.."/intllib.lua") -steles.intllib = S - -dofile(steles.path.."/config.lua") -dofile(steles.path.."/nodes.lua") -dofile(steles.path.."/crafts.lua") diff --git a/steles/intllib.lua b/steles/intllib.lua deleted file mode 100644 index 6669d72..0000000 --- a/steles/intllib.lua +++ /dev/null @@ -1,45 +0,0 @@ - --- Fallback functions for when `intllib` is not installed. --- Code released under Unlicense . - --- Get the latest version of this file at: --- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua - -local function format(str, ...) - local args = { ... } - local function repl(escape, open, num, close) - if escape == "" then - local replacement = tostring(args[tonumber(num)]) - if open == "" then - replacement = replacement..close - end - return replacement - else - return "@"..open..num..close - end - end - return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl)) -end - -local gettext, ngettext -if minetest.get_modpath("intllib") then - if intllib.make_gettext_pair then - -- New method using gettext. - gettext, ngettext = intllib.make_gettext_pair() - else - -- Old method using text files. - gettext = intllib.Getter() - end -end - --- Fill in missing functions. - -gettext = gettext or function(msgid, ...) - return format(msgid, ...) -end - -ngettext = ngettext or function(msgid, msgid_plural, n, ...) - return format(n==1 and msgid or msgid_plural, ...) -end - -return gettext, ngettext diff --git a/steles/locale/fr.po b/steles/locale/fr.po deleted file mode 100644 index 1785d8a..0000000 --- a/steles/locale/fr.po +++ /dev/null @@ -1,47 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-08-05 10:06+0200\n" -"PO-Revision-Date: 2017-08-05 09:03+0200\n" -"Last-Translator: fat115 \n" -"Language-Team: \n" -"Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.12\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: config.lua -msgid "Stone Stele" -msgstr "Stèle en pierre" - -#: config.lua -msgid "Sandstone Stele" -msgstr "Stèle en grès" - -#: config.lua -msgid "Desert Stone Stele" -msgstr "Stèle en pierre du désert" - -#: config.lua -msgid "Marble Stele" -msgstr "Stèle en marbre" - -#: config.lua -msgid "Granite Stele" -msgstr "Stèle en granit" - -#: nodes.lua -msgid "Displayed text (3 lines max)" -msgstr "Texte à afficher (3 lignes maxi.)" - -#: nodes.lua -msgid "Write" -msgstr "Écrire" diff --git a/steles/locale/ms.po b/steles/locale/ms.po deleted file mode 100644 index 8de818f..0000000 --- a/steles/locale/ms.po +++ /dev/null @@ -1,46 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# Muhammad Nur Hidayat , 2017. -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-08-26 11:29+0200\n" -"PO-Revision-Date: 2017-08-27 16:13+0800\n" -"Last-Translator: Muhammad Nur Hidayat \n" -"Language-Team: Malay \n" -"Language: ms\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Vé 0.1.4\n" - -#: config.lua -msgid "Stone Stele" -msgstr "Tulisan Batu" - -#: config.lua -msgid "Sandstone Stele" -msgstr "Tulisan Batu Pasir" - -#: config.lua -msgid "Desert Stone Stele" -msgstr "Tulisan Batu Gurun" - -#: config.lua -msgid "Marble Stele" -msgstr "Tulisan Marmar" - -#: config.lua -msgid "Granite Stele" -msgstr "Tulisan Granit" - -#: nodes.lua -msgid "Displayed text (3 lines max)" -msgstr "Teks untuk dipaparkan (maksimum 3 baris)" - -#: nodes.lua -msgid "Write" -msgstr "Tulis" diff --git a/steles/locale/template.pot b/steles/locale/template.pot deleted file mode 100644 index 0144ace..0000000 --- a/steles/locale/template.pot +++ /dev/null @@ -1,46 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-08-26 11:29+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: config.lua -msgid "Stone Stele" -msgstr "" - -#: config.lua -msgid "Sandstone Stele" -msgstr "" - -#: config.lua -msgid "Desert Stone Stele" -msgstr "" - -#: config.lua -msgid "Marble Stele" -msgstr "" - -#: config.lua -msgid "Granite Stele" -msgstr "" - -#: nodes.lua -msgid "Displayed text (3 lines max)" -msgstr "" - -#: nodes.lua -msgid "Write" -msgstr "" diff --git a/steles/nodes.lua b/steles/nodes.lua deleted file mode 100644 index 9fb65dd..0000000 --- a/steles/nodes.lua +++ /dev/null @@ -1,90 +0,0 @@ ---[[ - steles mod for Minetest. Steles / graves with text on it. - (c) Pierre-Yves Rollo - - This file is part of steles. - - steles 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. - - steles 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 steles. If not, see . ---]] - -local S = steles.intllib -local F = function(...) return minetest.formspec_escape(S(...)) end - -display_api.register_display_entity("steles:text") - -for i, material in ipairs(steles.materials) do - - local ndef = minetest.registered_nodes[material] - - if ndef then - local groups = table.copy(ndef.groups) - local parts = material:split(":") - groups.display_modpack_node = 1 - - minetest.register_node("steles:"..parts[2].."_stele", { - description = steles.materials_desc[i], - sunlight_propagates = true, - paramtype = "light", - paramtype2 = "facedir", - tiles = ndef.tiles, - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = { - {-5/16, -5/16, -2/16, 5/16, 0.5, 2/16}, - {-7/16, -0.5, -4/16, 7/16, -5/16, 4/16} - }, - }, - groups = groups, - display_entities = { - ["steles:text"] = { - on_display_update = font_api.on_display_update, - depth = -2/16 - display_api.entity_spacing, - top = -2/16, - aspect_ratio = 0.4, - size = { x = 10/16, y = 12/16 }, - maxlines = 3, - }, - }, - on_place = function(itemstack, placer, pointed_thing) - minetest.rotate_node(itemstack, placer, pointed_thing) - display_api.on_place(itemstack, placer, pointed_thing) - end, - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", "size[6,4]" - ..default.gui_bg .. default.gui_bg_img .. default.gui_slots - .."textarea[0.5,0.7;5.5,2;display_text;" - ..F("Displayed text (3 lines max)") - ..";${display_text}]" - .."button_exit[2,3;2,1;ok;"..F("Write").."]") - display_api.on_construct(pos) - end, - on_destruct = display_api.on_destruct, - on_rotate = display_api.on_rotate, - on_receive_fields = function(pos, formname, fields, player) - if not minetest.is_protected(pos, player:get_player_name()) then - local meta = minetest.get_meta(pos) - if fields and fields.ok then - meta:set_string("display_text", fields.display_text) - meta:set_string("infotext", "\""..fields.display_text.."\"") - display_api.update_entities(pos) - end - end - end, - on_punch = display_api.update_entities, - }) - end -end - diff --git a/steles/tools/updatepo.sh b/steles/tools/updatepo.sh deleted file mode 100755 index feb2504..0000000 --- a/steles/tools/updatepo.sh +++ /dev/null @@ -1,25 +0,0 @@ -#! /bin/bash - -# To create a new translation: -# msginit --locale=ll_CC -o locale/ll_CC.po -i locale/template.pot - -cd "$(dirname "${BASH_SOURCE[0]}")/.."; - -# Extract translatable strings. -xgettext --from-code=UTF-8 \ - --language=Lua \ - --sort-by-file \ - --keyword=S \ - --keyword=NS:1,2 \ - --keyword=N_ \ - --keyword=F \ - --add-comments='Translators:' \ - --add-location=file \ - -o locale/template.pot \ - $(find . -name '*.lua') - -# Update translations. -find locale -name '*.po' | while read -r file; do - echo $file - msgmerge --update $file locale/template.pot; -done