Time |
Nick |
Message |
00:00 |
|
proller joined #minetest-dev |
00:32 |
|
rubenwardy joined #minetest-dev |
01:00 |
|
paramat joined #minetest-dev |
01:04 |
paramat |
will merge game#681 soon |
01:04 |
ShadowBot |
https://github.com/minetest/minetest_game/issues/681 -- Fire: Add eternal flame node for creative and mod use by paramat |
01:08 |
VanessaE |
wait |
01:09 |
VanessaE |
there are at least two or three mods that provide never-ending flames |
01:09 |
VanessaE |
(homedecor has the fake fire mod, maptools has a fake fire, and there are surely others) |
01:11 |
paramat |
okay, what's the problem with adding this? |
01:13 |
VanessaE |
nothing in particular, but you will want to consider what the other fake fire mods do with their flames, so that there won't be any problems overriding/extending your node |
01:14 |
VanessaE |
for example, maptools' fire node does nothing special, so it would be easy to alias to your node, while the ones in homedecor's fake fire mod has smoke particles and a blue "ice flame" version. |
01:14 |
VanessaE |
have* |
01:17 |
paramat |
okay |
01:20 |
VanessaE |
besides, you may want to...ahem... borrow some of those features ;) |
01:22 |
paramat |
hm perhaps, i had a look at fake fire and smoke seems unsuitably complex |
01:22 |
VanessaE |
it needs redone. |
01:22 |
VanessaE |
I seem to recall the one in homedecor is abm-driven instead of using a particle spawner. |
01:41 |
|
asl joined #minetest-dev |
01:42 |
paramat |
i'll look at these mods and consider the features |
01:42 |
|
paramat left #minetest-dev |
01:43 |
VanessaE |
ok. |
01:44 |
|
Siva joined #minetest-dev |
02:02 |
|
cg_ joined #minetest-dev |
02:21 |
|
waressearcher2 joined #minetest-dev |
02:21 |
est31 |
wow the yandex translator is bad |
02:22 |
waressearcher2 |
in file main.cpp there is a class: "class SimpleTimeGetter: public TimeGetter { public: u32 getTime(TimePrecision prec) return porting::getTime(prec); } };" and comments are saying: "// Not so precise one which works without irrlicht" but what does that mean "without irrlicht" ? how do you use minetest without irrlicht ? |
02:22 |
est31 |
waressearcher2, for example, you can compile the server without irrlicht |
02:23 |
est31 |
while the yandex translator knows that "Ãrboles detallados" means "Detailed trees", it thinks that "Hojas elegantes" means "Elegant leaf" |
02:23 |
est31 |
its not singular, its plural |
02:26 |
VanessaE |
google translate gives "hojas de lujo" for "fancy leaves" |
02:26 |
VanessaE |
(assuming spanish) |
02:26 |
VanessaE |
heh, which translates back to english as "luxury sheets" :D |
02:26 |
VanessaE |
at least it's plural :) |
02:32 |
est31 |
google translate doesnt give free API access (anymore) |
02:32 |
est31 |
not nice |
02:33 |
VanessaE |
that sucks |
02:33 |
est31 |
only remaining are m$ and yandex |
02:46 |
est31 |
I only translate into the english direction not back. |
02:47 |
est31 |
(when reviewing translation changes for minetest) |
02:53 |
est31 |
yandex really seems to need language knowledge. it thinks "OEMクリア" is english lol |
02:53 |
est31 |
not japanese |
02:53 |
VanessaE |
heh |
02:54 |
est31 |
if i say yandex "this is japanese" it recognizes it |
03:04 |
|
asl97 joined #minetest-dev |
03:51 |
|
asl joined #minetest-dev |
03:58 |
|
VanessaE joined #minetest-dev |
04:35 |
|
OldCoder joined #minetest-dev |
05:05 |
est31 |
finally it works https://github.com/est31/podiff-review/commit/c16235b16a9d776448173e422937f675201cea42 |
05:20 |
|
Warr1024 joined #minetest-dev |
05:39 |
|
VanessaE joined #minetest-dev |
06:03 |
|
Warr1024 joined #minetest-dev |
06:03 |
|
Warr1024 joined #minetest-dev |
06:04 |
|
Calinou joined #minetest-dev |
06:07 |
|
_tutima joined #minetest-dev |
06:17 |
|
Warr1024 joined #minetest-dev |
07:19 |
|
nrzkt joined #minetest-dev |
07:21 |
|
Niebieski joined #minetest-dev |
07:52 |
hmmmm |
humm |
07:53 |
hmmmm |
it's the first time in a long time i've been drawing minetest's object structure on paper |
07:53 |
hmmmm |
looks like things can be done a bit better |
07:54 |
hmmmm |
Mapgen is probably going to become a local variable for each EmergeThread |
07:54 |
hmmmm |
MapgenParams should probably go into Map |
07:54 |
hmmmm |
i think there was a technical reason why it wasn't this way to begin with |
08:03 |
|
Niebieski joined #minetest-dev |
08:05 |
|
Etzos joined #minetest-dev |
08:05 |
est31 |
lua mapgen still isnt threaded is it |
08:05 |
Calinou |
it isn't |
08:07 |
hmmmm |
how could it be? |
08:07 |
hmmmm |
it is technically threaded, that is, the lua callback is executed inside of different threads. |
08:07 |
hmmmm |
it's just that they all wait on the envlock |
08:08 |
est31 |
why do they, and the cpp mapgen doesnt |
08:09 |
hmmmm |
because lua has access to a lot of naughty things |
08:09 |
Niebieski |
Why there is a lag while placing objects into a furnace ? playing locally. |
08:09 |
est31 |
cpp hasnt? |
08:10 |
hmmmm |
at one point I dared to suggest that smart modders should have the ability to unlock envlock |
08:10 |
hmmmm |
exactly for this sort of situation |
08:10 |
hmmmm |
it's simply too dangerous |
08:10 |
hmmmm |
modders do not understand about race conditions |
08:10 |
hmmmm |
hiebieski, beats me |
08:11 |
Niebieski |
Excuse me ? |
08:13 |
VanessaE |
hmmmm: they can learn. |
08:13 |
VanessaE |
let the modders and the users decide whether a project handles MT threading properly. |
08:14 |
hmmmm |
as if minetest isn't buggy enough thanks to mods |
08:15 |
hmmmm |
the last thing minetest needs are heisenbugs caused by mods that appear as engine bugs |
08:17 |
nrzkt |
hmmmm: agree. Mod area should be restrained to not trigger race conditions |
08:17 |
est31 |
agreed the minetest environment is not thread safe |
08:17 |
neti_netwalker |
currently testing minetest with ssdb as a redis replacement. SSDB (redis frontend / leveldb backend) currently working very well. |
08:17 |
est31 |
mods need a safe sandbox to play in |
08:17 |
est31 |
including range checking of lua voxel manips |
08:18 |
hmmmm |
? |
08:19 |
est31 |
cant find the issue |
08:19 |
est31 |
nvm |
08:19 |
est31 |
what about the following: every mod which wants to do threaded mapgen provides next to their init.lua an init_mapgen.lua |
08:19 |
est31 |
that second one gets loaded by every emerge thread |
08:19 |
est31 |
and run in its very own environment |
08:19 |
est31 |
it can communicate via string messages with the main mod |
08:20 |
est31 |
it has an api limited to map editing and noise functions |
08:20 |
est31 |
no player coord setting or mob spawning needed |
08:20 |
hmmmm |
I have a better idea |
08:24 |
hmmmm |
but I need to be able to add a wrapper func around lua apis |
08:24 |
est31 |
whats your idea |
08:24 |
hmmmm |
luajit already does do this with an extension, but not so for regular lua |
08:24 |
hmmmm |
to workaround this, i thought about it, i could make all the lua apis be a single function |
08:25 |
hmmmm |
and then I look up sort of a syscall code or whatever from a cclosure upvalue |
08:25 |
hmmmm |
then dispatch the actual lua api from within this common entry point |
08:25 |
hmmmm |
so now that i have a common entry point, i can do things like... |
08:26 |
hmmmm |
- log statistics |
08:26 |
hmmmm |
- check for proper locking |
08:26 |
hmmmm |
- access control |
08:26 |
hmmmm |
etc. |
08:26 |
hmmmm |
the alternative is to add lock checking to every. single. goddamn api that requires environment access |
08:26 |
hmmmm |
so gross |
08:26 |
est31 |
first what is _a_ "lua api" for you |
08:27 |
est31 |
the lua thing called by c or the c thing called by lua |
08:27 |
hmmmm |
c thing called by lua |
08:27 |
hmmmm |
Lua API is the api *for* the lua scripts |
08:27 |
hmmmm |
Script API is the api for minetest on how to use the mods |
08:28 |
hmmmm |
aka callbacks |
08:28 |
est31 |
ok |
08:28 |
hmmmm |
everybody always conflates them |
08:28 |
hmmmm |
night |
08:28 |
est31 |
the problem with this is in my opinion that there can be still all common problems |
08:28 |
est31 |
what if two threads want to set a shared variable |
08:28 |
est31 |
night |
08:30 |
VanessaE |
then let them both set it, whichever finishes last wins? |
08:30 |
VanessaE |
(classic race condition, sure) |
08:32 |
|
Krock joined #minetest-dev |
08:32 |
VanessaE |
it's really no different than the situation we had before when mods kept overwriting each others' global variables. |
08:34 |
est31 |
well, that sounds ok as well, but it can create all these threading issues for mods. the true sandbox approach would be safer |
08:35 |
VanessaE |
perhaps, but "perfect is the enemy of good" |
08:35 |
VanessaE |
something like this is gonna have risks in its use no matter how locked-down you make it |
08:35 |
VanessaE |
(and the more locked down, the less useful it may become) |
08:35 |
est31 |
its not locked down |
08:36 |
est31 |
the mapgen threads can do everything as they wanted before |
08:36 |
VanessaE |
I misunderstood then |
08:36 |
est31 |
they just have to send appropriate messages to the mod in the main thread |
08:36 |
est31 |
and then the next server step, the list of queued messages are read, and an apropriate callback is called |
08:36 |
est31 |
that callback can do anything the normal mod can do |
08:36 |
est31 |
you can even send lua code as string, and then parse and execute it |
08:37 |
est31 |
if you want to |
08:37 |
VanessaE |
sounds fair |
08:39 |
VanessaE |
in any case, all I'm trying to say is don't assume the modder is stupid. |
08:39 |
Niebieski |
Parsing is slow right ? |
08:39 |
est31 |
and first aquiring a lock then freeing again sounds like a hack |
08:39 |
VanessaE |
users are stupid, but modders generally aren't. |
08:39 |
est31 |
Niebieski, yes, therefore I've said "if you want to" |
08:40 |
est31 |
VanessaE, its enough if you are unfamiliar with minetest internals no need to be stupid |
08:40 |
VanessaE |
just using hmmmm's words. |
09:19 |
VanessaE |
all that aside, I really think the focus needs to be on performance improvements and bugfixes, not new features. |
09:20 |
est31 |
isnt threaded mapgen a performance improvement |
09:20 |
est31 |
threaded lua mapgen |
09:23 |
VanessaE |
not reallyt. |
09:23 |
VanessaE |
I could that as a feature. |
09:29 |
est31 |
perhaps you want to install a lua mapgen on one of your servers xD |
09:30 |
VanessaE |
the only "lua mapgen" I use anywhere is biome_lib and it's already threaded (after a fashion) |
09:41 |
|
zupoman joined #minetest-dev |
09:53 |
|
julienrat joined #minetest-dev |
10:03 |
|
Player_2 joined #minetest-dev |
10:05 |
nrzkt |
where does those PlayerXX comes from ... |
10:05 |
|
treetrunk joined #minetest-dev |
10:12 |
|
Taoki[mobile] joined #minetest-dev |
10:15 |
|
FR^2 joined #minetest-dev |
10:21 |
|
blaze joined #minetest-dev |
10:35 |
|
H-H-H joined #minetest-dev |
10:39 |
|
VirusJones joined #minetest-dev |
11:45 |
|
T4im joined #minetest-dev |
11:48 |
|
ElectronLibre joined #minetest-dev |
12:16 |
|
turtleman_ joined #minetest-dev |
12:55 |
|
Soni joined #minetest-dev |
13:02 |
|
Puma_rc joined #minetest-dev |
13:20 |
|
eugd joined #minetest-dev |
13:36 |
|
CraigyDavi joined #minetest-dev |
13:36 |
|
waressearcher2 joined #minetest-dev |
14:25 |
|
israuor joined #minetest-dev |
15:06 |
|
kaeza joined #minetest-dev |
15:10 |
Calinou |
MultiCraft, nrzkt |
15:16 |
|
ElectronLibre joined #minetest-dev |
15:17 |
nrzkt |
Calinou, thanks, i added Player regexp to ban them like guests. |
15:22 |
|
waressearcher2 joined #minetest-dev |
15:27 |
|
Ardonel joined #minetest-dev |
15:32 |
|
eugd left #minetest-dev |
15:53 |
nanepiwo |
I'm getting this error: |
15:53 |
nanepiwo |
2015-09-27 11:50:51: ERROR[Main]: Error loading mod "minetest-caverealms": mod_name does not follow naming conventions: Only chararacters [a-z0-9_] are allowed. |
15:53 |
nanepiwo |
2015-09-27 11:50:51: ERROR[Main]: ERROR: An unhandled exception occurred: ModError: Error loading mod "minetest-caverealms": mod_name does not follow naming conventions: Only chararacters [a-z0-9_] are allowed. |
15:53 |
nanepiwo |
are dashes not allowed? |
15:55 |
T4im |
no :) |
15:55 |
nrzkt |
reread the regex and tell me |
15:55 |
T4im |
you need to rename it to "caverealms" |
15:56 |
nanepiwo |
thanks |
15:56 |
nanepiwo |
but how come mods like minetest-3d_armor work as a name? |
15:56 |
T4im |
they are renamed to 3d_armor then |
15:56 |
nanepiwo |
ah, ok |
15:57 |
nanepiwo |
huh, modpacks can have dashes, that's why |
15:58 |
T4im |
mod packs are not "loaded" they just group multiple mods |
15:58 |
T4im |
like any subdirectory would |
16:16 |
|
waressea1cher2 joined #minetest-dev |
16:22 |
|
DFeniks joined #minetest-dev |
16:26 |
|
Siva_Machina joined #minetest-dev |
16:44 |
|
Miner_48er joined #minetest-dev |
16:49 |
|
hmmmm joined #minetest-dev |
17:21 |
|
Siva joined #minetest-dev |
17:33 |
|
Puma_rc_ joined #minetest-dev |
17:40 |
|
Puma_rc joined #minetest-dev |
17:40 |
|
Puma_rc joined #minetest-dev |
17:41 |
|
Puma_rc joined #minetest-dev |
17:41 |
|
Puma_rc joined #minetest-dev |
17:42 |
|
Puma_rc joined #minetest-dev |
17:42 |
|
Puma_rc joined #minetest-dev |
17:42 |
|
Puma_rc joined #minetest-dev |
17:43 |
|
Puma_rc_ joined #minetest-dev |
17:43 |
|
Puma_rc joined #minetest-dev |
17:44 |
|
Puma_rc joined #minetest-dev |
17:44 |
|
Puma_rc_ joined #minetest-dev |
17:45 |
|
Puma_rc_ joined #minetest-dev |
17:47 |
|
rubenwardy joined #minetest-dev |
17:53 |
|
waressearcher2 joined #minetest-dev |
18:15 |
|
julienrat joined #minetest-dev |
18:44 |
|
Lunatrius` joined #minetest-dev |
18:44 |
|
Warr1024 joined #minetest-dev |
18:49 |
|
Warr1024 joined #minetest-dev |
19:09 |
|
Ardonel joined #minetest-dev |
19:38 |
|
Amaz joined #minetest-dev |
19:54 |
|
ElectronLibre left #minetest-dev |
20:01 |
|
MinetestForFun joined #minetest-dev |
20:07 |
|
Siva joined #minetest-dev |
20:28 |
|
julienrat joined #minetest-dev |
20:30 |
|
proller joined #minetest-dev |
20:44 |
|
Miner_48er joined #minetest-dev |
20:51 |
|
Flory left #minetest-dev |
20:54 |
|
Flory joined #minetest-dev |
21:04 |
|
Siva joined #minetest-dev |
21:07 |
|
cg_ joined #minetest-dev |
21:08 |
|
Flory left #minetest-dev |
21:24 |
|
rubenwardy joined #minetest-dev |
21:44 |
|
proller joined #minetest-dev |
22:06 |
|
proller joined #minetest-dev |
22:18 |
|
sfan5 joined #minetest-dev |