1
0
mirror of https://github.com/pyrollo/display_modpack.git synced 2025-06-28 22:26:41 +02:00

47 Commits
v1.0 ... v1.2

Author SHA1 Message Date
01ba1d47b1 Updated changelog 2018-11-01 18:56:59 +01:00
c1835931e5 Added labels and wooden signs 2018-11-01 18:10:26 +01:00
06d35ec9bf Rewrited split_lines to avoid a string.split bug if first line empty 2018-11-01 12:25:47 +01:00
95c9da849d Changed UTF8 routines and added char fallback mechanism 2018-11-01 10:47:39 +01:00
bb24d91645 Merge pull request #24 from 12Me21/master
Fixes collision boxes on right directional signs
2018-10-08 09:13:07 +02:00
125cae3300 Fixes collision boxes on right directional signs 2018-10-07 00:32:12 -04:00
aac0ccf591 Merge pull request #23 from pandorabox-io/master 2018-10-03 10:24:03 +02:00
1c40830ddf fix infinite stack of steles 2018-10-03 09:07:42 +02:00
5586b9d1c4 Update copyright.txt 2018-09-26 19:43:33 +02:00
44b911be9e Improve on_rotate functions (#21)
Fixed bugs and improve on_rotate and support color- paramtype2s
2018-09-26 19:41:30 +02:00
d22362a4ac Reverting submodule change until zip file does not include submodule 2018-09-21 21:19:48 +02:00
12b556e929 Turned display_api into a submodule 2018-09-21 19:37:38 +02:00
508db92633 Update copyright.txt 2018-09-21 17:08:17 +02:00
30af909da5 Merge pull request #20 from 12Me21/master
Improved on_place
2018-09-21 17:07:11 +02:00
dfaf64cd61 Improved on_place
Now uses player view direction when trying to place nodes on the floor or ceiling, for both wallmounted and facedir nodes.
Also supports nodes where paramtype2 is not wallmounted or facedir.
2018-09-20 16:07:43 -04:00
c1f7b571b8 Add missing textures 2018-09-20 21:15:23 +02:00
2793e0ab8f Added simple wooden sign 2018-09-20 15:27:42 +02:00
a0d596bab9 Creation for boards mod 2018-07-16 10:26:26 +02:00
c19348d305 Cleanup some unused code 2018-07-16 10:18:37 +02:00
4b02cfdfca Fix default font chosing when multiple fonts 2018-07-16 10:18:08 +02:00
fac6dfe1f8 Removed a debug trick and fixed indentation 2018-07-15 09:40:18 +02:00
897b0f1f98 Update README.md 2018-07-13 23:23:46 +02:00
78f7994976 Replaced default epilepsy font by Metro font. 2018-07-13 23:16:05 +02:00
8c7557e45d Rework all nodes displaying text according to new font_api 2018-07-13 20:41:53 +02:00
e51afb851c Fix Poster crash (amend) 2018-07-09 14:04:51 +02:00
8661a5ca62 Fixed crash when opening Poster formspec due to change in font_api. 2018-07-09 13:55:07 +02:00
a83d494d45 Fix typos in API.md 2018-07-09 07:19:27 +00:00
d3aae9b262 Added two documentation schema 2018-07-08 21:27:39 +02:00
b96550ab24 Creation of Font class and code update accordingly (fix) 2018-07-08 20:41:02 +02:00
c6cad702bc Creation of Font class and code update accordingly 2018-07-08 20:36:34 +02:00
23bcd70199 Update README.md 2018-05-30 10:07:04 +00:00
aa319e4144 Merge pull request #15 from Thomas--S/positions
PR merged : Allow a greater object offset
2018-03-04 18:15:44 +01:00
ec48743fb9 Allow a greater object offset
This allows e.g. polemounted signs.
Required for display_modpack to be usable in the streets mod.
Backwards compatible.
2018-02-25 18:47:58 +01:00
9c877a0244 Merge pull request #12 from Thomas--S/api
Seperate signs API from signs definitions
2018-02-13 21:12:04 +01:00
f3970f641e Seperate signs API from signs definitions
Change modnames from *_lib to *_api
2018-02-07 06:04:12 +01:00
2acccd7261 Fix ndef nill value in steles mod when technics not installed 2018-02-02 22:44:58 +01:00
d2fadaea7b Merge pull request #11 from Thomas--S/formspec
Use default formspec style
2018-02-02 22:39:01 +01:00
1721f6cef4 Merge pull request #10 from Thomas--S/patch-1
Fix typo and formatting in API.md
2018-02-02 22:38:34 +01:00
3483f34fa9 Use default formspec style 2018-02-01 16:56:19 +01:00
e374903061 Fix typo and formatting in API.md 2018-01-31 19:39:16 +01:00
2977ad5113 Update display_lib API.md 2018-01-29 13:17:32 +00:00
9b65804de2 Update display_lib API.md 2018-01-29 13:15:24 +00:00
60e80180c6 Copyright notices update 2018-01-28 19:08:07 +01:00
c7d13fca9e Merge pull request #9 from Thomas--S/lbm_update
Update the entities as soon as mapblock is loaded
2018-01-28 15:09:49 +01:00
1c1be8a7c1 Update the entities as soon as mapblock is loaded
Useful e.g. after /clearobjects
Introduces the group `display_lib_node`
2018-01-28 13:46:16 +01:00
78e3b85274 Rotation after placement of steles and code style 2018-01-18 22:13:15 +01:00
ea36ed50d8 Added display_lib.entity_spacing variable to centralize entity spacing. 2018-01-18 21:46:10 +01:00
1334 changed files with 3637 additions and 1233 deletions

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "display_api"]
path = display_api
url = https://github.com/pyrollo/display_api.git

View File

@ -1,9 +1,13 @@
# Display Modpack
# Display Modpack
Version 1.2
This modpack provides mods with dynamic display. Mods are :
- **display_lib**: A library for adding display entities to nodes;
- **font_lib**: A library for displaying fonts on entities;
- **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;
- **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;
@ -15,6 +19,46 @@ For more information, see the [forum topic](https://forum.minetest.net/viewtopic
## Changelog
### 2018-11-01 (Version 1.2)
- Labels and woodend signs added.
- Fallback mechanism for missing chars (For example: "é" --> "e" --> "E").
- Several bug fixes by 12Me21 and naturefreshmilk.
### 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

4
boards/LICENSE_FONT.txt Normal file
View File

@ -0,0 +1,4 @@
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/).

View File

@ -1,2 +1,2 @@
Code by Pierre-Yves Rollo (pyrollo)
Font by (cyfry77)

2
boards/depends.txt Normal file
View File

@ -0,0 +1,2 @@
default
signs_api

27
boards/font_tinycurs.lua Normal file
View File

@ -0,0 +1,27 @@
--[[
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
},
}
);

139
boards/init.lua Normal file
View File

@ -0,0 +1,139 @@
--[[
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 <http://www.gnu.org/licenses/>.
--]]
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"},
}
})

45
boards/intllib.lua Normal file
View File

@ -0,0 +1,45 @@
-- Fallback functions for when `intllib` is not installed.
-- Code released under Unlicense <http://unlicense.org>.
-- 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

40
boards/locale/fr.po Normal file
View File

@ -0,0 +1,40 @@
# 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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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"

View File

@ -0,0 +1,34 @@
# 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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 ""

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 485 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 338 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 335 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 327 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 295 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 B

Some files were not shown because too many files have changed in this diff Show More