Time |
Nick |
Message |
00:32 |
|
ShadowNinja joined #minetest-dev |
00:51 |
|
diemartin joined #minetest-dev |
00:54 |
PilzAdam |
hmmmm, isnt it kinda inconsistent to have different ways of not setting a node in a schematic in the raw or file format? |
00:54 |
hmmmm |
if you can come up with a way to fit more than 256 values in 8 bits, please do so |
01:02 |
|
Jordach joined #minetest-dev |
01:16 |
VanessaE |
hmmmm: the default is fff = 4096, how's that related to an 8-bit number? |
01:17 |
VanessaE |
also, I've been running this on my machine and so far, it works perfectly other than unmodified clients being unable to connect. |
01:17 |
hmmmm |
vanessae, we were talking about something different |
01:17 |
VanessaE |
oh ok |
01:18 |
VanessaE |
oh hell |
01:18 |
VanessaE |
I missed a couple of words in there. |
01:18 |
VanessaE |
anyway, that aside, it works perfectly fine here. |
01:19 |
|
Rath joined #minetest-dev |
01:22 |
|
kaeza joined #minetest-dev |
01:31 |
VanessaE |
hmmmm: khonkhortisan is on my server now with that same change. he says it's working fine for him also. |
01:32 |
hmmmm |
yes, i am not doubting that it's going to instantly break |
01:32 |
hmmmm |
that it won't* |
01:33 |
VanessaE |
what will likey break? |
01:33 |
hmmmm |
that's not the point though. the point is that simply changing it is doing it the wrong way |
01:33 |
VanessaE |
likely* |
01:33 |
hmmmm |
i am not doubting that it works okay* |
01:33 |
VanessaE |
ah, that reads better. |
01:33 |
hmmmm |
sorta distracted |
01:33 |
VanessaE |
s'ok |
01:34 |
VanessaE |
I can understand if that one-liner was the "wrong" way to fix the problem, but it *does* fix it |
01:34 |
VanessaE |
can't a concession be made to do it the "wrong" way now and put in the "right" way some time later on? |
01:34 |
hmmmm |
the thing that's broken here is having so many nodes and they're merely 100 different colors of the same exact thing |
01:34 |
hmmmm |
no, because nobody ever does.. |
01:34 |
|
Jordach joined #minetest-dev |
01:35 |
VanessaE |
*sigh* |
01:35 |
VanessaE |
as for 100 different colors, actually no. |
01:35 |
hmmmm |
ah yes, 89 if i recall |
01:35 |
VanessaE |
sure there are tons of colored blocks |
01:36 |
VanessaE |
but that's not the issue now |
01:36 |
VanessaE |
in fact what pushed it "over the line" if you will, was a mod that adds two new pipeline types to my pipeworks mod. |
01:36 |
VanessaE |
s/pipeline/tube circuit/ ... they're color-coded sure, but originally they were gonna be called things like "cobble tube" and so on. |
01:37 |
hmmmm |
it just seems like there are 100 minor variations of every node featured in every mod |
01:37 |
hmmmm |
like, "oh, but this one's a left-right-top corner connector!" |
01:37 |
VanessaE |
that's because there's simply no better way to do it |
01:37 |
hmmmm |
"oh, but this one connects top left and bottom middle" |
01:37 |
VanessaE |
not if you're talking about pre-existing code anyway |
01:38 |
khonkhortisan |
"oh, but this one can connect left-right, forward-back, or both at the same time!" |
01:38 |
hmmmm |
:/ |
01:38 |
VanessaE |
(6d facedir can help to some degree, but in my install it would only trim a couple hundred nodes off the total) |
01:38 |
hmmmm |
now how is it that minecraft can do so much with less than 256 nodes |
01:38 |
khonkhortisan |
I made that one, the crossover soon-to-be in mesecons |
01:38 |
VanessaE |
I think minecraft does more than that. |
01:38 |
khonkhortisan |
redstone makes there be more nodes |
01:38 |
VanessaE |
someone said 4096 was their limit also |
01:38 |
khonkhortisan |
or dust? |
01:39 |
khonkhortisan |
the one that gets added to the surface |
01:39 |
hmmmm |
i mean the amount of nodes they actually have registered |
01:39 |
hmmmm |
and people seem more than happy with that |
01:39 |
VanessaE |
khonkhortisan: that's just "redstone" I think. |
01:39 |
khonkhortisan |
the one you make a wire out of, is that added to what you put it on, or is it in the air? |
01:39 |
hmmmm |
I think it would be worthwhile to have some sort of code that makes all different permutations of nodeboxes |
01:39 |
VanessaE |
khonkhortisan: I think it's a dust when it's still in-hand. |
01:40 |
kahrl |
yes, MC's limit is 4096, it was 256 before Anvil |
01:40 |
VanessaE |
hmmmm: define "all different permutations" |
01:40 |
khonkhortisan |
stairs + wires |
01:40 |
VanessaE |
nodeboxes are floating point |
01:40 |
hmmmm |
or like fences |
01:40 |
VanessaE |
there's no such thing as "all possible permutations" |
01:40 |
hmmmm |
i mean all different permutations of right right left, right left, top corner, right corner, lower right corner, blah blah |
01:40 |
VanessaE |
oh that |
01:40 |
kahrl |
the difference with MC is that mods can redefine the rendering code easily, so they can do fancier stuff with their versions of param1/param2 |
01:40 |
VanessaE |
no thank you. |
01:40 |
hmmmm |
i mean, i can't help but look at that and think to myself, how absurd |
01:40 |
VanessaE |
pipeworks already has that area cornered. |
01:41 |
VanessaE |
as does mesecons. |
01:42 |
VanessaE |
(and technic, and half a dozen other mods that have to use similar tricks) |
01:43 |
VanessaE |
I say raise the limit. if someone hits it again at 64k, THEN we can get into discussions about what is or isn't the best way to code a mod :) |
01:43 |
kahrl |
eh |
01:43 |
kahrl |
and you're complaining the item extruding is so slow :P |
01:43 |
VanessaE |
kahrl: item extruding is on a per-texture basis, right? |
01:43 |
kahrl |
per-item |
01:44 |
VanessaE |
hrm. Even with nodeboxes, the extrude code has to be run? |
01:44 |
kahrl |
yeah, at least with preload, it extrudes every item (including every node even if it can't ever be in the inventory) |
01:44 |
VanessaE |
and item extruding IS slow - I mentioned once of a VERY simple test that proves it, and no one listened. |
01:45 |
VanessaE |
well it seems to me that if you're extruding textures for nodes/nodeboxes you're already doing it wrong. |
01:45 |
VanessaE |
that code shouldn't be run on anything that isn't flat, sprite, or plantlike |
01:45 |
VanessaE |
(and even then, it should be made possible to just skip it) |
01:46 |
kahrl |
well not extrude, but it has to generate a mesh for the item and do the render-to-texture magic |
01:46 |
VanessaE |
but that's not the argument here. |
01:46 |
VanessaE |
care to try my test? |
01:47 |
kahrl |
I'm busy doing some other stuff but later I can |
01:47 |
VanessaE |
open GIMP. Make a file, 512x512 pixels. give it an alpha channel. Fill it with some pattern that sets approximately 50% of the pixels to black. The other 50% transparent. |
01:47 |
|
Tesseract joined #minetest-dev |
01:47 |
VanessaE |
save that as a png. Make say 10 copies of it. |
01:47 |
kahrl |
oh, I know that's slow |
01:47 |
VanessaE |
but give each a subtle difference so they have different hashes. |
01:48 |
VanessaE |
you'll find those 10 images take longer than the entirety of vanessae_game combined (default textures) |
01:48 |
VanessaE |
I discovered this last year |
01:48 |
VanessaE |
and as usual no one listened to me. |
01:49 |
kahrl |
it's more like everyone knows that the code is slow in many cases but no one has a good idea how to improve it |
01:49 |
VanessaE |
then why complain about the number of nodes? let ME and MY USERS worry about whether it's slow or not :) |
01:50 |
VanessaE |
you guys got bigger fish to fry, I'm sure |
01:50 |
kahrl |
it's just that there shouldn't have to be a googolplex of variations of every node |
01:51 |
VanessaE |
I can see your reasoning, but to be, there may very well have to be if you want the maximum possible amount of flexibility in those nodes |
01:51 |
VanessaE |
to me* |
01:52 |
Exio |
the way MC manages the stuff is having, for example, one node for all the wood and a "param1" for the type, param2 for the rotation (or "whatever" that can be translated to MT), and other for slabs, other for double slabs, and so on |
01:52 |
Exio |
(for hmmmm) |
01:53 |
kahrl |
MC has a separate .java file for every block (node) so they can do that |
01:53 |
Exio |
MC doesn't have a mod api |
01:53 |
VanessaE |
what you're talking about is so fundamental a change in the way nodes are defined that it basically means ripping up every mod out there that uses some kind of variation from node to node and rewriting them from the ground up. |
01:53 |
Exio |
they can hardcode stuff and be happy forever |
01:53 |
kahrl |
VanessaE: no I'm not |
01:53 |
VanessaE |
exio ^^^ |
01:53 |
Exio |
what |
01:54 |
Exio |
yes, i know it isn't what MT is doing by now |
01:54 |
VanessaE |
defining a node model and then assigning textures to it separately would require a completely different way than we use now |
01:54 |
Exio |
and what is wrong with having a better way to do the same stuff? |
01:54 |
VanessaE |
nothing at all |
01:55 |
VanessaE |
except I'm trying to get this done NOW since the change is so easy to make,. and leave the more complicated stuff for another day |
01:55 |
VanessaE |
-. |
01:55 |
kahrl |
if you just change this the nodedef serialization becomes extremely inefficient |
01:56 |
kahrl |
sure it works |
01:57 |
Exio |
working stuff != stuff working in the right way |
01:57 |
VanessaE |
I'm saying to put that $10 radiator hose in now because it'll get you to work, and worry later about the engine overhaul the car needs. |
01:57 |
Exio |
a hacky-fix because it is easier-fix-to-do and will keep forever |
01:58 |
Exio |
the forever-temporal-fix |
01:58 |
kahrl |
Exio: exactly |
01:58 |
VanessaE |
Exio: a hacky fix that can be undone as quickly as it was applied? |
01:58 |
kahrl |
it can't be undone without completely breaking your server, for example |
01:59 |
kahrl |
and client/server compatibility hell |
01:59 |
VanessaE |
kahrl: break it how? |
01:59 |
Exio |
don't you have >4096 nodes defined? |
01:59 |
VanessaE |
(other than having to remove a mod no one's using yet) |
01:59 |
kahrl |
it will be used once the change is in |
01:59 |
VanessaE |
Exio: yes, and only because I'm helping kacey test a new mod based on one of mine. |
02:00 |
Exio |
lets imagine now MT reduced the node "limit", your server now would crash like it died |
02:00 |
Exio |
did * |
02:00 |
VanessaE |
kahrl: what do you mean "it will be used"? |
02:00 |
Exio |
that was quickly undone! |
02:01 |
VanessaE |
Exio: in which case I'd uninstall whatever mods are used the least and alias the dead nodes to something sane |
02:01 |
Exio |
VanessaE: people will use 4000 mods |
02:01 |
Exio |
defining 20 nodes each |
02:01 |
VanessaE |
sure. so let them. but I don't care about them right now - I care about the one server and two clients that have this change in place for testing and the fact that it *works* |
02:02 |
VanessaE |
let someone use 50, or 5000 modes, I just don't care about that. |
02:02 |
VanessaE |
they're not stupid and can decide for themselves what is and is not a good use of their time, memory, network bandwidth, etc. |
02:02 |
Exio |
the idea is not add more hacky-fixes to minetest |
02:02 |
Exio |
it already has a lot of them |
02:03 |
Exio |
VanessaE: and you were the one who used the "I" |
02:03 |
Exio |
you may not care |
02:03 |
hmmmm |
indeed |
02:03 |
VanessaE |
well whatever, I give up. |
02:03 |
hmmmm |
having a higher limit just reduces creativity |
02:03 |
VanessaE |
hmmmm: do you play? |
02:03 |
hmmmm |
if we make the limit 65534, people will just use up that many |
02:03 |
hmmmm |
and then they'll complain more |
02:04 |
hmmmm |
"make the limit 4.2 billion" |
02:04 |
hmmmm |
32678 in all directions isn't enough |
02:04 |
hmmmm |
gotta increase that too |
02:04 |
Exio |
VanessaE: you are complaining about minetest being slow |
02:04 |
Exio |
and then want it be more slower :P |
02:04 |
hmmmm |
an increase in these limits would just encourage inefficiency |
02:04 |
VanessaE |
*facepalm* I refuse to listen to slippery slope arguments. |
02:04 |
Exio |
haha |
02:04 |
hmmmm |
well |
02:05 |
VanessaE |
well nothing. |
02:05 |
hmmmm |
i guess you don't care for inductive inference |
02:05 |
hmmmm |
which is a primary facet of logic |
02:05 |
|
mrtux joined #minetest-dev |
02:05 |
hmmmm |
we've seen it before |
02:05 |
hmmmm |
i want to come up with something smarter instead of just adding more flack |
02:05 |
VanessaE |
I don't care for claiming things will be stretched to their logical extremes and then using those as reasons not to do something. |
02:06 |
VanessaE |
people will *always* stretch things to the extremes. |
02:06 |
hmmmm |
right, like you :) |
02:06 |
hmmmm |
stretched the node usage to the extreme |
02:06 |
VanessaE |
hardly. |
02:06 |
hmmmm |
and beyond |
02:06 |
hmmmm |
hell, you're the one who got it higher than 2048 |
02:06 |
hmmmm |
2048 is pretty extreme. i think i use 68 nodes total myself |
02:07 |
Exio |
i really think a "200~400" nodes is pretty ok for a featured-gameplay |
02:07 |
|
Miner_48er joined #minetest-dev |
02:07 |
hmmmm |
now, i'm not saying we shouldn't increase the limit |
02:07 |
VanessaE |
ok, server's back to the normal unmodified code and the extra mod removed. nothing broke. |
02:07 |
hmmmm |
i'm just saying it's stupid to do so |
02:08 |
hmmmm |
for reasons other than technical |
02:09 |
hmmmm |
i hope the colorlike node type will help matters... but like you said, it won't help you much |
02:09 |
hmmmm |
i'm sure we'll think of something. |
02:09 |
Jordach |
hmmmm, so colorlike adds more to the node data usage |
02:09 |
Jordach |
so why dont we have colored torches then |
02:10 |
hmmmm |
erm, no it doesn't |
02:10 |
kahrl |
VanessaE: out of curiosity, what is the mod that consumes the most nodes on your server? |
02:12 |
VanessaE |
um |
02:12 |
VanessaE |
I would guess pipeworks or moreblocks. |
02:12 |
VanessaE |
(moreblocks w/stairsplus) |
02:12 |
VanessaE |
colorlike is stupid, I'm sorry |
02:13 |
VanessaE |
you proposed, when you last said, eight colors if the node has facedir. |
02:13 |
Exio |
what do you suggest for that |
02:13 |
hmmmm |
seriously, you say it's stupid, but those are the constraints |
02:13 |
hmmmm |
if you can come up with something better, code it yourself! |
02:14 |
hmmmm |
doing > whining |
02:14 |
VanessaE |
those are the constraints because you're still trying to treat this like it's an old 8-bit system (i.e. limited disk/network) |
02:14 |
Exio |
(without making MT 25x times slower) |
02:14 |
hmmmm |
zz |
02:14 |
hmmmm |
then fork minetest and make param2 bigger |
02:14 |
* VanessaE |
sighs |
02:14 |
hmmmm |
make param1 store colored light while you're at it |
02:14 |
VanessaE |
point: missed. |
02:15 |
hmmmm |
so we'll have param2 be 2 bytes, param1 will store 3 bytes, leaving 3 bytes for content |
02:15 |
hmmmm |
there, 1.67 million nodes |
02:15 |
Exio |
loading the world will take about other 1.67 million of seconds, no? |
02:15 |
hmmmm |
haha :/ |
02:15 |
hmmmm |
actually probably twice as long |
02:15 |
VanessaE |
sure if you're stupid about how to use the damn map data |
02:16 |
hmmmm |
no idea, actually it might take the same amount of time |
02:16 |
VanessaE |
I mean come on, this stuff was figured out decades ago. Dynamic packet length. |
02:16 |
hmmmm |
if most of that data is 0 it'd compress well |
02:17 |
VanessaE |
you only need a single spare bit somewhere in the existing data (and as I recall, we have three). if that bit is set, then and only then does that node have extra data bytes to specify more parameters/features/whatever. If it's not set, use the format we use right now. |
02:18 |
hmmmm |
then how do i access the node at (2, 5, 7) in the mapblock? |
02:18 |
VanessaE |
by...breaking the map into proper database records? |
02:18 |
hmmmm |
??? |
02:18 |
Jordach |
stop using sql, thats why |
02:18 |
VanessaE |
tag it by whole chunks if you have to |
02:18 |
Exio |
hmmmm: how do i access the node at (2, 5, 7) in a fast way* |
02:18 |
Jordach |
levelDB is superior |
02:18 |
VanessaE |
(tag = use that set/not set bit) |
02:19 |
hmmmm |
exio: I am asking vanessa a rhetorical question so she realizes that it's the worst idea ever proposed |
02:19 |
VanessaE |
*shakes head* |
02:20 |
hmmmm |
zzzzzzzzzzzzzzzzzzzzzzzzzz |
02:20 |
Exio |
hmmmm: i guessed :P |
02:20 |
hmmmm |
if you guys can do better, DO IT! |
02:20 |
hmmmm |
seriously! |
02:20 |
hmmmm |
stop talking about it and actually do it! |
02:20 |
VanessaE |
how many nodes do you suppose the average map has stored? a few billion on redcrab's server? |
02:20 |
VanessaE |
(5 or 6GB map as I understand now) |
02:20 |
Jordach |
VanessaE, its gone beyond 10gb |
02:21 |
VanessaE |
that big eh? wow. |
02:21 |
Jordach |
its either going to collapse from size soon |
02:21 |
Jordach |
sql isnt meant for that level of usage |
02:21 |
hmmmm |
lol |
02:21 |
kahrl |
wut? |
02:21 |
VanessaE |
how do you suppose enterprise companies store those massive databases they have? I'll give you a hint, it ain't with SQlite and it ain't without using some kind of easily-indexable records. |
02:22 |
hmmmm |
erm |
02:22 |
hmmmm |
in all seriousness |
02:22 |
VanessaE |
I'm being serious. |
02:22 |
hmmmm |
sql dbs are way bigger than you give it credit for |
02:22 |
hmmmm |
you only get into NoSQL and what not at the google level |
02:22 |
VanessaE |
I'm no coding noob and don't appreciate being talked down to like such. |
02:22 |
VanessaE |
I just don't have (or care to gain) any skills with C++. |
02:23 |
VanessaE |
I'm trying to do everything I can to help this project along, in any direction I am able to push it. |
02:23 |
kahrl |
VanessaE: that was meant as a reply to <Jordach> sql isnt meant for that level of usage |
02:23 |
VanessaE |
kahrl: I know. |
02:23 |
Jordach |
kahrl, the map format likes to break when its used too much |
02:24 |
kahrl |
sql != sqlite |
02:24 |
hmmmm |
and he's gone. |
02:25 |
hmmmm |
hey kahrl, have you seen that missing mapblock schematic bug any more after that? |
02:25 |
kahrl |
I haven't tried |
02:25 |
hmmmm |
mmmmeh |
02:25 |
hmmmm |
well at least we're aware of it |
02:27 |
VanessaE |
so, are you going to address my comment on extending the map format or just continue to treat me as an idiot? |
02:28 |
hmmmm |
variable length packets... i shouldn't even have to point out the problem with this |
02:28 |
hmmmm |
where's the random access |
02:28 |
hmmmm |
we need that. |
02:28 |
VanessaE |
hash/link table. |
02:29 |
VanessaE |
Berkeley Softworks had that figured out 30 years ago for crying out loud. |
02:29 |
hmmmm |
so you're saying we should have a 4096 element hashtable for every single mapblock that we use to look up the locations of mapnodes to modify for the purpose of........ what again? |
02:29 |
kahrl |
and if you change the first node in a mapblock, you redo all links? |
02:29 |
VanessaE |
we called it VLIR back in the day, I'm not sure what the proper term is now. |
02:29 |
hmmmm |
anyway |
02:30 |
hmmmm |
sounds like a great idea, you should fork minetest and try it out for yourself |
02:30 |
hmmmm |
if it works out well, you have every right to tell us how much better vanessatest is. |
02:30 |
VanessaE |
"you should fork"..."why don't you fork it".... *sigh* |
02:30 |
hmmmm |
yae |
02:31 |
hmmmm |
because doing is better than talking about |
02:31 |
hmmmm |
'sides, i already have a lot of work cut out for me to do |
02:32 |
VanessaE |
well I give up. You won't find any better way either because you're too busy worrying about other stuff |
02:32 |
VanessaE |
and no one else will bother because no one else even cares. |
02:32 |
|
Rath left #minetest-dev |
02:32 |
|
Rath|2 joined #minetest-dev |
02:34 |
|
Rath|2 left #minetest-dev |
02:34 |
VanessaE |
this discussion started out as a request for temporary change that fixes a bug c55 himself shouldn't have existed, and morphed into a big long philosophical discussion about every other damn thing except what I original asked. |
02:34 |
VanessaE |
+ly |
02:35 |
kahrl |
it's not a bug |
02:35 |
|
Rath joined #minetest-dev |
02:35 |
kahrl |
but whatever |
02:35 |
VanessaE |
c55 said it was. |
02:35 |
kahrl |
link? |
02:35 |
VanessaE |
it was supposed to be limited to 65534. |
02:35 |
VanessaE |
gimme a few to find it. |
02:36 |
VanessaE |
looks like back around 0.4.1 |
02:37 |
VanessaE |
http://irc.minetest.ru/minetest-delta/2012-09-08#i_2490113 |
02:38 |
VanessaE |
"due to a leftover constant" = a bug, in my book |
02:40 |
kahrl |
"by the way, if the size of that static table is set to 65536, it will always consume at least 50MB of RAM" |
02:40 |
kahrl |
^ if that is fixed I'm okay with upping the constant |
02:41 |
VanessaE |
kahrl: which is why I said up it anyway and fix the reason for the 50MB-usage later. |
02:41 |
Exio |
fixing things later = fixing it in 4 years |
02:42 |
Exio |
(or never, what works better) |
02:43 |
VanessaE |
Exio: and what is there to force it to get fixed *at all* then? |
02:44 |
VanessaE |
(in other words, it's just as likely to go unchanged for 4-years-to-forever if left in its current state as it would be if it were tweaked as previously indicated. |
02:44 |
VanessaE |
(and I'm not trying to imply that this is what will happen, but considering the date on that log entry...well...you do the math) |
02:55 |
hmmmm |
[07:42 PM] <hmmmm> first of all in order to do that we'd need to change it from a statically sized array to a vector |
02:55 |
hmmmm |
[07:42 PM] <hmmmm> and then you also need to fix node id mapping serialization |
02:55 |
hmmmm |
[07:43 PM] <hmmmm> it's not a one liner fix |
02:55 |
|
kaeza joined #minetest-dev |
02:56 |
VanessaE |
hmmmm: forget about it. you guys have already made up your minds what will be done and when. |
02:57 |
kahrl |
it's not a one liner but not that tough either |
02:57 |
kahrl |
there's only about a dozen references to MAX_CONTENT in the codebase |
02:58 |
kahrl |
most of them trivial to change to a dynamic sized vector |
02:58 |
kahrl |
the only slightly tough one is the serialization |
03:03 |
kahrl |
is there any current pull request that would update the protocol version? |
03:13 |
Tesseract |
kahrl: Sapier had a animation one that could be done in a nicer way with a protocol version increment. |
03:13 |
|
kaeza joined #minetest-dev |
03:28 |
kahrl |
#774? that doesn't increase the protocol version |
03:29 |
Tesseract |
kahrl: I know. He said it could be done in a better way but he didn't want to raise the protocol version for it IIRC. |
04:43 |
hmmmm |
oh pilzadam |
04:43 |
hmmmm |
for your most recent commit, you should've passed a reference to the player name, not the entire string itsel |
04:45 |
|
kaeza joined #minetest-dev |
05:24 |
|
ch98 joined #minetest-dev |
05:40 |
hmmmm |
when a lua api returns an array to you, do you like it to start at 0, or 1? |
06:18 |
|
neko259 joined #minetest-dev |
06:49 |
|
Calinou joined #minetest-dev |
07:22 |
|
VanessaE left #minetest-dev |
07:25 |
proller |
try #7: ipv6. |
07:25 |
|
ffoxin joined #minetest-dev |
07:25 |
proller |
5 minutes to merge.. |
07:28 |
proller |
3.. |
07:32 |
proller |
0! |
07:37 |
Calinou |
:cyisfor happy face: |
07:40 |
|
darkrose joined #minetest-dev |
07:41 |
|
ssieb joined #minetest-dev |
07:45 |
celeron55 |
hmmmm: of course at 1; lua's built-in array handling stuff expects that |
07:45 |
celeron55 |
you don't want those to break |
07:49 |
celeron55 |
(also all users expect that because it's how it's designed9 |
07:49 |
celeron55 |
)* |
08:06 |
celeron55 |
also, it's funny how VanessaE alternately complains about slowness and proposes things that would make everything so slow it wouldn't be even funny |
08:06 |
celeron55 |
8D |
08:06 |
|
Zeg9 joined #minetest-dev |
08:15 |
Calinou |
propose what :P |
08:45 |
|
emptty joined #minetest-dev |
10:20 |
|
serengeor joined #minetest-dev |
11:02 |
|
Calinou joined #minetest-dev |
11:10 |
|
PilzAdam joined #minetest-dev |
11:16 |
|
sapier joined #minetest-dev |
11:19 |
|
iqualfragile joined #minetest-dev |
11:28 |
|
PilzAdam joined #minetest-dev |
11:32 |
|
ImQ009 joined #minetest-dev |
11:59 |
proller |
https://github.com/minetest/minetest/pull/659 |
11:59 |
proller |
no json in config 8( |
12:07 |
Calinou |
json, overrated since 2009 |
12:10 |
sapier |
json is very very ugly if you need to pass it to lua |
12:11 |
sapier |
e.g. the online server list |
12:18 |
proller |
Calinou, why? |
12:18 |
proller |
sapier, lua more ugliest |
12:20 |
sapier |
even in c++ parsing json isn't quite beautiful ;-) |
12:20 |
proller |
show me how to easy get from lua structure like {"distance":0.01, "center":{"x":5,"y":-100,"z":42},} |
12:21 |
PilzAdam |
{distance=0.01, center={x=5,y=-100,z=42}} |
12:21 |
proller |
PilzAdam, how to transfer in in c++ |
12:21 |
proller |
in json: params["center"]["x"].asFloat() |
12:22 |
proller |
for getting center.x |
12:22 |
proller |
very easy |
12:22 |
sapier |
it's not meant to be transfered proller lua isn't a datastructure but a full language |
12:22 |
sapier |
while json is a container format only |
12:22 |
proller |
for math mapgen needed only container |
12:23 |
proller |
language useless |
12:23 |
sapier |
if it's not meant to be changed make it hardcoded ;-) if it's meant to be changed there should be a reasonable way to add a gui by some time |
12:24 |
proller |
maybe |
12:24 |
proller |
but there is 10-20 params depend on generator |
12:24 |
proller |
its complex gui |
12:25 |
sapier |
of course in best case it'd be a "advanced settings" gui hidden by default |
12:25 |
proller |
for stipid sphere: radius, center(xyz), offset(xyz) |
12:26 |
proller |
i can commit it, and then think how to better handle params |
12:27 |
kahrl |
one problem is that settings.h is included almost everywhere |
12:28 |
kahrl |
and now everything will therefore have to include json.h --> compile time nightmare |
12:29 |
proller |
simplest is making lot of math_generator, math_center_x, ........ params, but they must be exist in 3 places |
12:29 |
sapier |
my concern is more that we had to implement/include json in lua if there was a setting in json format |
12:29 |
sapier |
do all those parameters really need to be modified? |
12:29 |
proller |
by default all ok |
12:30 |
proller |
but you can want to change 3-5 params |
12:30 |
sapier |
no my question is does it really make sense to change single parameters? |
12:30 |
proller |
yes |
12:30 |
proller |
you can change world |
12:31 |
sapier |
does anyone except those who designed it understand meaning of parameters? |
12:31 |
proller |
make very different from default |
12:31 |
proller |
everyone who know someting about fractals |
12:31 |
sapier |
I guess ppl want to change e.g "0-100%" below water level mountain height ... |
12:32 |
sapier |
if I remember correctly I wouldn't have any idea what parameter to change to get what I want |
12:32 |
sapier |
or am I completely wrong? |
12:33 |
proller |
params can be described |
12:34 |
proller |
for mandelsponge you can want to change pillars weight |
12:34 |
proller |
or level of sponge |
12:34 |
sapier |
I don't have any Idea what you're talking about ;-) |
12:35 |
proller |
its hard without trying |
12:36 |
sapier |
are we talking about a very special mapgen not to be used by many ppl? |
12:36 |
proller |
http://en.wikipedia.org/wiki/Menger_sponge |
12:36 |
proller |
sapier, yes |
12:37 |
proller |
its more for fun |
12:37 |
sapier |
ok don't get me wrong I'm absolutlely positive about different mapgens in minetest, but do you expect anyone to even try it without a easy gui? |
12:38 |
proller |
3-5 peoples - yes 8) |
12:38 |
sapier |
and moreover I guess ppl would want to change the settings per world not globaly |
12:38 |
sapier |
so what about hardcoding reasonable default values giving ppl a gui to choose on world creation and maybe save those settings as templates to separate files? |
12:39 |
proller |
but its impossible now via gui |
12:39 |
sapier |
proller that's why I added formspec mainmenu .. you can add a button to show your own gui |
12:40 |
proller |
i try it when it would be merged |
12:40 |
sapier |
ok saving json from formspec/lua would be difficult but at least minetest.conf wouldn't explode by parameters most ppl don't even need |
12:40 |
kahrl |
sapier: these are mapgen params so they will be saved in map_meta.txt |
12:41 |
proller |
btw it was saved it map_meta.txt in json string, but i remove it because nobody wants json in config |
12:41 |
sapier |
yes for that world of course but maybe someone want's to save setting to reuse it in other worlds |
12:42 |
proller |
now in my branch all params is hardcoded on good default, you spawn inside mandelbox and can explore it |
12:42 |
proller |
if someone wants to change params - he must recompile |
12:43 |
proller |
next step - trying to make gui |
12:43 |
proller |
but separate from mapgen |
12:43 |
sapier |
proller you should do it in mainmenu branch it's formspec support is improoved drasticaly |
12:44 |
proller |
ok |
12:44 |
proller |
but firs i want to commit hardcoded into master |
12:45 |
proller |
https://github.com/minetest/minetest/pull/659/files |
12:45 |
sapier |
is there a way to decide which mapgen to use on world creation? |
12:45 |
proller |
in config |
12:46 |
sapier |
:-/ I think it'd be way more usefull if it was a parameter |
12:46 |
proller |
mg_name = math |
12:46 |
sapier |
maybe I should add dropdown support to formspec too |
12:46 |
proller |
someone planned make gui for mapgen select |
12:46 |
PilzAdam |
we need a gui to set all mapgen params at world creation, using the settings in minetest.conf only as default value |
12:47 |
sapier |
PilzaAdam yes but imho that gui should only be shown if user pushes a button |
12:47 |
sapier |
no need to bother users with parameters they most likely don't understand |
13:10 |
|
emptty joined #minetest-dev |
13:23 |
sapier |
hmmmmm I guess the voxel manipulator already contains lots of parts for transactional support at leat it's concept is already quite similar |
13:51 |
|
PilzAdam joined #minetest-dev |
13:58 |
sapier |
can someone explain to me what exactly conlock is expected to protect? |
13:58 |
|
EdB joined #minetest-dev |
13:59 |
proller |
and final! https://github.com/minetest/minetest/pull/659/files |
14:00 |
proller |
if no BIG objections - will merge |
14:00 |
PilzAdam |
ummmm |
14:00 |
PilzAdam |
you have merged upstream/master into your working branch |
14:00 |
PilzAdam |
thats the worst thing you can do with git |
14:00 |
proller |
i will squash |
14:00 |
proller |
git worst itself |
14:01 |
PilzAdam |
remove the merge commits and rebase instead |
14:01 |
PilzAdam |
no, git is awesome, you just have to know how to use it |
14:01 |
proller |
i will commit to master with squash |
14:01 |
proller |
and i hate rebase |
14:01 |
sapier |
git is awsome because of not limiting anything ... some ppl call it horrible because of exactly same thing ;-) |
14:03 |
proller |
unlimited ways to get conflict or lost commit |
14:04 |
sapier |
git is designed for extreme concurrency and (version control) skilled programmers |
14:09 |
sapier |
https://github.com/minetest/minetest/pull/785 just a small fix plz pull |
14:11 |
sapier |
yes it's very unlikely to happen but in very rare cases (most likely due to other issues) this happens |
14:12 |
PilzAdam |
yay! another useless mapgenerator |
14:12 |
proller |
yes! |
14:12 |
sapier |
I'm gonna add a dropdown to select mapgen in mainmenu |
14:13 |
sapier |
more detailed settings is up to the one responsible for that special mapgen ;-P |
14:13 |
|
hmmmm joined #minetest-dev |
14:14 |
PilzAdam |
<hmmmm> for your most recent commit, you should've passed a reference to the player name, not the entire string itsel |
14:14 |
PilzAdam |
^ hm? |
14:14 |
hmmmm |
yeah, i really don't see a reason why you'd do an entire copy just to print out a name |
14:14 |
|
Jordach joined #minetest-dev |
14:16 |
PilzAdam |
hmmmm, btw, I get "warning: multi-character character constant [-Wmultichar]" in mapgen.cpp:692 and 688 |
14:17 |
hmmmm |
yeah, i know. |
14:17 |
hmmmm |
it's a stupid warning, really. |
14:18 |
sapier |
? do we use utf16? |
14:18 |
kahrl |
does the standard define bit order of these? |
14:20 |
kahrl |
proller: // Mapgen Singlenode parameter read/write |
14:20 |
kahrl |
should be Math |
14:20 |
PilzAdam |
"proller authored 13 minutes ago" -> dont rewrite history |
14:21 |
kahrl |
new commit then |
14:21 |
proller |
ok |
14:22 |
hmmmm |
the rule is a new commit is needed after 5 minutes and nobody seems to have pulled |
14:22 |
PilzAdam |
hmmmm, nope, 10 minutes |
14:22 |
kahrl |
time is relative |
14:23 |
PilzAdam |
well, 5 minutes if you are moving really fast compared to the GitHub server |
14:23 |
hmmmm |
lol |
14:23 |
hmmmm |
new rule: nobody can commit anything if they're moving relative to github near the speed of light |
14:27 |
|
Calinou joined #minetest-dev |
14:33 |
proller |
and can commit in past, if can moving faster than light |
14:43 |
hmmmm |
anyway last night i layed down some initial code for LuaVoxelManip (that's the name i decided on) |
14:44 |
hmmmm |
i've decided that it's not going to be overcomplicated, and pretty close to the bare metal |
14:44 |
sapier |
ok I'm looking forward to it |
14:45 |
hmmmm |
as a demonstration i'll make a simple complete lua mapgen |
14:45 |
Jordach |
paramat will be happy |
14:45 |
Jordach |
i suggested that a while back |
14:47 |
proller |
hmmmm, 10x slower& |
14:48 |
hmmmm |
i'm going to do a side-by-side comparison of the same thing done in the core and in lua using pure get/set_node calls |
14:48 |
hmmmm |
i suspect it'll be reasonably good though |
14:50 |
sapier |
hmmmm do you intend to support async api? |
14:50 |
hmmmm |
i can't with this |
14:51 |
sapier |
for what reason? |
14:51 |
hmmmm |
because it hardly spends any time at all in the core |
14:52 |
sapier |
meaning everything is done in lua? |
14:53 |
hmmmm |
yes |
14:53 |
Exio |
wait, a random thing |
14:53 |
sapier |
but that's exactly what async is intended to improove? |
14:53 |
Exio |
there was something about making the light_update cause after the on_generate, instead of "after every set_node" |
14:54 |
hmmmm |
there's an update lighting function |
14:54 |
Exio |
what's up with that? for making old-set_nodes faster + new api that is even faster |
14:54 |
hmmmm |
and you can also cancel the mapgen's calcLighting) |
14:54 |
hmmmm |
so no wasted effort here |
14:55 |
sapier |
exio of course if there's an option to improve old one |
14:55 |
hmmmm |
someone's going to have to rewrite VoxelArea in lua |
14:55 |
hmmmm |
ugh |
14:55 |
hmmmm |
btw i hate lua |
14:56 |
proller |
+1 |
14:56 |
proller |
lets make js api |
14:57 |
hmmmm |
lol |
14:57 |
celeron55 |
as if hmmmm liked javascript 8D |
14:57 |
hmmmm |
i wrote a cloud fractal generator in javascript |
14:57 |
hmmmm |
the pixels were CSS rectangles of different colors |
14:58 |
sapier |
hey after scriptapi split you can add almost any backend ;-P it's just a lot of work |
14:58 |
celeron55 |
javascript is like lua designed in a haphazard ad-hoc manner |
14:58 |
sapier |
you only have to preserve cpp_api interface |
14:59 |
sapier |
imho lua isn't worse than any other lightweight script language |
14:59 |
celeron55 |
lua is pretty much the best all-around embeddable scripting language |
14:59 |
sapier |
it lacks object orientation support but you can get close to it |
15:00 |
celeron55 |
some other language might be slightly better as a language, but their implementations just plain suck |
15:00 |
hmmmm |
wondering, how do you set members of objects to values in lua? do you have to muck around with that metatable crap? |
15:00 |
sapier |
and once you have understood stack concept even interfacing from c/c++ isn't that bad |
15:01 |
sapier |
you need to set up your stack correctly and then push the new value |
15:01 |
celeron55 |
hmmmm: uhm |
15:01 |
sapier |
at least if you mean objects as tables |
15:02 |
celeron55 |
hmmmm: that question is somewhat arbitrary because lua doesn't really have a thing called "object"; the definition of that term is really specific to how you use lua |
15:02 |
hmmmm |
right, right, i know, everything's a table |
15:02 |
sapier |
get table index |
15:02 |
celeron55 |
but the answer probably is no, you just say myobject.foo = 1 |
15:02 |
sapier |
get field index |
15:02 |
sapier |
push new value |
15:02 |
celeron55 |
or if you mean in C, just set it as in a table |
15:03 |
celeron55 |
hmmmm: you use metatables in lua in order to do stuff like the object prototype pattern that javascript uses |
15:04 |
celeron55 |
or mechanism |
15:04 |
celeron55 |
whatever |
15:04 |
celeron55 |
in lua it's a pattern, in js it's a mechanism 8) |
15:05 |
sapier |
hmm I thought I had some example code in lua mainmenu but there's only code to read elements of a table |
15:06 |
sapier |
maybe writing s similar |
15:06 |
hmmmm |
i'm not going to bother with it, i just have multiple returns |
15:07 |
sapier |
wait you only want to return it? |
15:07 |
sapier |
that's quite easy |
15:07 |
hmmmm |
eh |
15:07 |
hmmmm |
i'm going with the easiest route here |
15:07 |
hmmmm |
don't really feel like doing anything fancy |
15:08 |
sapier |
if you want some return value of style |
15:08 |
sapier |
{ |
15:08 |
sapier |
somename1 = val1, |
15:08 |
sapier |
somename2 = val2, |
15:08 |
sapier |
} |
15:08 |
sapier |
that's not even fancy :-) |
15:09 |
hmmmm |
local vm = minetest.env:get_voxelmanip(); local ndata, emerged_p1, emerged_p2 = vm:read_chunk(p1, p2); <do stuff here> vm:write_back(); vm:update_map(); |
15:09 |
hmmmm |
of course, s/;/\n/ |
15:10 |
hmmmm |
vm:write_back(ndata), rather |
15:10 |
hmmmm |
does that seem sane to you guys? |
15:11 |
celeron55 |
doesn't really matter as long as you're open about someone possibly reworking the returns after seeing the whole thing |
15:11 |
PilzAdam |
hmmmm, you can use ; instead of \n in Lua AFAIK |
15:11 |
hmmmm |
yeah i really don't care, you guys can do whatever you'd like |
15:11 |
hmmmm |
pilzadam: good to know, thanks |
15:12 |
PilzAdam |
but its against our code style guidelines in Minetest |
15:12 |
celeron55 |
it's discouraged practice because it makes code less predictable to read |
15:12 |
sapier |
hehe hmmmm and his semicolons ... a fantastic tale in 3 books :-P |
15:12 |
celeron55 |
but it makes single-line examples like that valid without explanations |
15:13 |
sapier |
"less practical to read"? guys I just copied that code added \n to understand it ;-) |
15:22 |
PilzAdam |
proller, why isnt "sphere" solid? |
15:23 |
proller |
disable dungeons |
15:23 |
proller |
and caves |
15:23 |
proller |
in config |
15:24 |
proller |
it uses v7 code for everything |
15:24 |
|
serengeor joined #minetest-dev |
15:25 |
PilzAdam |
still not solid |
15:27 |
proller |
maybe cave disabling ignored.. |
15:27 |
proller |
will check.. |
15:28 |
|
Miner_48er joined #minetest-dev |
15:29 |
PilzAdam |
http://mg.viewskew.com/mgoblin_media/media_entries/31/Unbenannt.png |
15:29 |
PilzAdam |
^ I doubt this is caused by the cave generator |
15:30 |
proller |
woow |
15:31 |
proller |
looks like "hello" from v7 |
15:31 |
proller |
show config about mapgen |
15:31 |
proller |
and water level |
15:33 |
PilzAdam |
http://mg.viewskew.com/u/pilzadam/m/math-sphere-bug/ |
15:33 |
PilzAdam |
see description |
15:33 |
|
serengeor joined #minetest-dev |
15:35 |
proller |
ok will fix in ~ hour |
15:36 |
PilzAdam |
have you pushed that without testing? |
15:46 |
sapier |
how is singlenode mapgen intended to behave? |
15:46 |
PilzAdam |
sapier, it places "mapgen_singlenode" everywhere; if its not defined, then air |
15:46 |
Calinou |
^ |
15:46 |
proller |
fuck yeah: 19:46:36: ACTION[ServerThread]: proller [::ffff:192.168.0.241] joins game. List of players: proller |
15:47 |
proller |
PilzAdam, it tested it 1-2 months |
15:47 |
sapier |
ok so if not defined it's an empty map ... exactly what I experience |
15:48 |
PilzAdam |
proller, I always test it again before pushing to upstream |
15:48 |
proller |
PilzAdam, its from lower water |
15:50 |
proller |
and you have sphere, maybe not complete ... 8) |
15:50 |
|
mrtux joined #minetest-dev |
15:52 |
sapier |
guys it's great you always modify guiFormspecMenu.cpp/h in core |
15:56 |
proller |
btw: Segmentation fault: 11 always when exiting in menu from game, freebsd |
15:57 |
proller |
PilzAdam, its not bug, its mouse eat cheese |
16:07 |
PilzAdam |
proller, also the lighting is not correct |
16:15 |
celeron55 |
i don't think proller is going to be able to fix the lighting (it's a long-standing corner case in the chunk-based map generator) |
16:15 |
celeron55 |
(most likely) |
16:16 |
proller |
able, just disable calcLighting |
16:16 |
proller |
and make nodes with max light |
16:16 |
proller |
60% complete.. |
16:17 |
celeron55 |
what i mean is the one where the map generator isn't able to correctly handle a situation where the bottom part of something generates first and then the upper chunk is generated, in which case sunlight that incorrectly went into the bottom part isn't erased |
16:18 |
celeron55 |
(0.3.x is able to handle it, IIRC) |
16:19 |
PilzAdam |
proller, yea, fullbright would be fine I guess |
16:20 |
proller |
its was working, but then i want trees and caves and other stuff and switch to v7 base |
16:23 |
proller |
works! |
16:25 |
proller |
https://github.com/proller/minetest/commit/8c37364fe445818197166302d6a4db607c5027f9 |
16:26 |
proller |
good? |
16:30 |
proller |
commiting! |
16:30 |
Calinou |
https://github.com/minetest/minetest_game/pull/181 |
16:33 |
sapier |
calinou I can see it's different but imho it's no change in quality |
16:33 |
|
Anchakor_ joined #minetest-dev |
16:34 |
|
jojoa1997 joined #minetest-dev |
16:37 |
PilzAdam |
proller, wait, we dont change several things in one commit |
16:37 |
proller |
oops |
16:37 |
proller |
sorry |
16:37 |
sapier |
Ooops ... PilzAdam I won't split the formspec mainmenu patch ;-) |
16:38 |
proller |
call it "one Improvement thing" |
16:38 |
PilzAdam |
sapier, the Lua menu is one thing |
16:39 |
thexyz |
https://github.com/minetest/minetest/issues/784 |
16:39 |
sapier |
not exactly it contains online modstore offline zip support, gamemanager, modmanager ... ;-) |
16:39 |
thexyz |
sapier: all in one commit? |
16:39 |
sapier |
of course ... no way to split it reasonably |
16:39 |
|
kaeza joined #minetest-dev |
16:40 |
sapier |
at least not without adding mainenance nightmare of merging forward backward between different branches |
16:41 |
sapier |
and as this pull request is delayed everytime it's growing even more |
16:41 |
celeron55 |
Calinou: that's not better, it's just different |
16:42 |
Calinou |
mostly |
16:42 |
celeron55 |
the only way to make grass better without making it boringly non-textured is to implement pseudorandom selection of texture variations for nodes |
16:42 |
Calinou |
ingame it tend sto look worse |
16:42 |
celeron55 |
(not sure if there is an actual term for that; probably is) |
16:42 |
Calinou |
"random textures" --sp614x |
16:43 |
Calinou |
optifine (minecraft mod) lets texture makers use random textures, connected textures, repeating textures (that span on several nodes) |
16:43 |
Calinou |
and there's a "natural textures" option which rotates textures randomly |
16:43 |
sapier |
proller I just added mapgen selector to formspec mainmenu I guess this will allow a lot more ppl to test it |
16:44 |
sapier |
at least IF it is added by some time |
16:44 |
proller |
sapier, cool |
16:45 |
|
neko259 joined #minetest-dev |
16:45 |
proller |
intresting thing: in not random word you can move spawn point, or move world around spawn poing |
16:48 |
sapier |
I wonder how the mapgen details page should be implemented |
16:49 |
proller |
lot of param = value |
16:49 |
proller |
with various types of values |
16:53 |
sapier |
http://imgur.com/BXDdD8M I thought mor about the api to do that. yes there could be a single hardcoded page but I'd prefere to select it by mapgen name |
16:53 |
sapier |
a button right of selector "settings" would open that mapgen settings page |
16:55 |
|
Zeg9 joined #minetest-dev |
17:23 |
hmmmm |
ohh sapier, i was going to do that |
17:23 |
hmmmm |
once the formspec menu was finished |
17:24 |
|
OWNSyouAll_DESKT joined #minetest-dev |
17:24 |
sapier |
hmmmm it's as finished as it ever will become without more testing |
17:25 |
proller |
hmmmm, in v7 trees seed planed via boimes ? |
17:26 |
hmmmm |
yeah |
17:32 |
proller |
ridges too buggy |
17:58 |
hmmmm |
'too buggy' |
17:58 |
sapier |
https://github.com/minetest/minetest/pull/774 changed set_animation to support client prediction of animation framerate ... problem with changing packets is breakage of compatibility |
17:58 |
hmmmm |
you modified mapgen v7 i see.... |
17:59 |
hmmmm |
the lighting member should be a mapgen flag |
17:59 |
hmmmm |
and i was planning to put that in withe luavoxelmanip anyway |
18:00 |
hmmmm |
the 'ridges' variable is not needed at all... you can set scale to 0 |
18:01 |
proller |
it was fast fix |
18:01 |
hmmmm |
besides, if you merely disable 'ridges' like that, you screw up getGroundLevelAtPoint() |
18:01 |
hmmmm |
yeah, we don't like fast fixes though.... |
18:01 |
hmmmm |
same reason why we didn't simply change MAX_CONTENT yesterday |
18:01 |
hmmmm |
doing things the proper way > doing things fast |
18:02 |
hmmmm |
also holy crap line socket.cpp line 189 |
18:03 |
|
Mallot1 joined #minetest-dev |
18:03 |
hmmmm |
you should really break up your lines to be around 80-90 if you're modifying files that aren't yours |
18:03 |
sapier |
https://github.com/minetest/minetest/pull/693 what about merging this? it'll improve entity riding |
18:04 |
Mallot1 |
hihihihi goood morning :D |
18:04 |
hmmmm |
lol |
18:04 |
hmmmm |
i don't even know what stepheight is |
18:04 |
sapier |
it's a parameter used to decide if player can step up without jumping |
18:04 |
hmmmm |
aah |
18:05 |
sapier |
for entities this is hardcoded to ß |
18:05 |
sapier |
0 |
18:05 |
hmmmm |
this is for mobs to move around i guess? |
18:05 |
hmmmm |
move around better |
18:05 |
sapier |
mobs too yes but most benefit is if you ride a ostrich you don't have to jup on stairs |
18:05 |
hmmmm |
reminds me of the new minecraft horse feature |
18:05 |
hmmmm |
wow, we really outdid minecraft.... |
18:05 |
sapier |
NO i've done this first! |
18:05 |
hmmmm |
good job :)! |
18:06 |
PilzAdam |
animals mod for MC was first :-p |
18:06 |
sapier |
what's animals mod for mc? |
18:07 |
sapier |
did they even steal my old name? |
18:07 |
PilzAdam |
its "more creatures" or so |
18:07 |
hmmmm |
moar oars |
18:07 |
hmmmm |
moar biomes |
18:07 |
hmmmm |
moar creatures |
18:07 |
hmmmm |
moar mountain dew |
18:07 |
sapier |
(-moar + more)*4 |
18:08 |
hmmmm |
whenever i read more ores i think of it said as "moar' |
18:08 |
sapier |
:-) |
18:08 |
sapier |
hmm reading the code again do we need a protocol change for that? |
18:08 |
Jordach |
hmmmm, mountain dew sucks... |
18:09 |
hmmmm |
well, more biomes is actually extra biomes, thank god they didn't call it "more", i think i'd want to shoot something then |
18:09 |
hmmmm |
sapier, no it doesn't |
18:09 |
Jordach |
BonusBiomes? |
18:09 |
Jordach |
BiomesDX? |
18:09 |
sapier |
so adding the stepheight isn't a big deal am I right? |
18:10 |
hmmmm |
mod naming rule - if more than one word, they must either rhyme or share the first consonant sound |
18:10 |
hmmmm |
sapier, it's not |
18:10 |
PilzAdam |
hmmmm, nope, "Simple Mobs" |
18:10 |
Mallot1 |
fdsgregfet4gtehthrry yay minetest!!!! |
18:10 |
sapier |
rename to Multiple Mobs |
18:10 |
hmmmm |
you only need to change protocol versions if you change something, or add it into the middle of the contentfeatures |
18:10 |
Mallot1 |
i love ur imple mobs |
18:10 |
|
Mallot1 was kicked by PilzAdam: Mallot1 |
18:11 |
hmmmm |
lol |
18:11 |
sapier |
too late mallot1 ;-) |
18:14 |
sapier |
is travis build broken atm? |
18:15 |
PilzAdam |
seems so |
18:16 |
hmmmm |
hmmmmmmmmmmmm |
18:16 |
PilzAdam |
wait, no, the interface just sucks |
18:16 |
PilzAdam |
sapier, just your branch is broken |
18:16 |
hmmmm |
i need to make non-mapgen variants of updateLiquids and calcLighting really bad |
18:17 |
sapier |
where to get information about what is broken? |
18:18 |
PilzAdam |
https://travis-ci.org/minetest/minetest/jobs/8364855#L212 |
18:20 |
sapier |
where to find this in new interface? |
18:20 |
|
whirm joined #minetest-dev |
18:21 |
whirm |
hi |
18:21 |
whirm |
I'm getting this segfault when exiting to menu: http://paste.debian.net/12152/ |
18:21 |
whirm |
on current master's HEAD |
18:22 |
* hmmmm |
claps |
18:22 |
hmmmm |
great job sapier |
18:22 |
Exio |
disable the atlas? |
18:22 |
sapier |
what are you talking about hmmmm? did to many things the last days ;-) |
18:22 |
hmmmm |
your texturesource cleanup is still broken |
18:22 |
hmmmm |
evidently |
18:22 |
Exio |
hmmmm: he is using the texture_atlas |
18:23 |
hmmmm |
exio, how do you know that? |
18:23 |
Exio |
20:19:10: ERROR[main]: TextureSource::buildMainAtlas(): Atlas is full, not adding more textures. |
18:23 |
hmmmm |
ahh |
18:23 |
hmmmm |
why would anybody be using the atlas exactly |
18:23 |
Exio |
old config maybe |
18:23 |
sapier |
maybe we should just ignore that parameter |
18:23 |
whirm |
so, should I disable texture atlas? |
18:23 |
hmmmm |
this is seriously all the more reason why we should rip it out by now |
18:23 |
hmmmm |
whirm, yeah |
18:23 |
whirm |
hmmmm: thanks :) |
18:24 |
hmmmm |
sapier, instead of fixing that, would you rather remove the texture atlas entirely? |
18:24 |
Exio |
wasn't the idea a bit ago, remove it completely? |
18:24 |
PilzAdam |
sapier, I linked directly to the error line |
18:24 |
hmmmm |
yeah but that didn't happen |
18:24 |
sapier |
I thought I has a pull request somewhere removing it ... maybe I removed the pull request itself |
18:25 |
hmmmm |
you must've because i don't recall seeing it when all that went on |
18:25 |
Exio |
iirc there was one |
18:25 |
sapier |
it's more than one error pilzadam I obviously was a little bit tooo careless when pushing it |
18:25 |
hmmmm |
haha, pushing things to upstream without even making sure it builds? |
18:26 |
whirm |
Ok, that worked :D |
18:26 |
hmmmm |
don't start becoming like me |
18:26 |
sapier |
seems to :-( shame on me :-/ |
18:26 |
Exio |
now we have two hmmmms! :D |
18:26 |
hmmmm |
oh wait you didn't push to upstream, just to your branch |
18:27 |
sapier |
yes I can't push to master ;-) |
18:27 |
sapier |
it's an experimental feature I didn't expect it to be merged as is |
18:27 |
sapier |
still it should at least build :-) |
18:30 |
sapier |
still where to find the travis information from pull window? |
18:31 |
PilzAdam |
directly under the description or above the "merge" button |
18:31 |
PilzAdam |
the link is called "Details" |
18:32 |
sapier |
I don't have a merge button nor do I have a details link (at least I don't see one) |
18:34 |
PilzAdam |
maybe there is no build for your pull request |
18:35 |
sapier |
main menu? |
18:35 |
PilzAdam |
(e.g. there is none for #785) |
18:36 |
sapier |
ahh there "good to merge" ... ok no build for mainmenu |
18:37 |
PilzAdam |
here is an outdated one: https://travis-ci.org/minetest/minetest/builds/8363176 |
18:37 |
sapier |
I always wonder why clang is that much faster |
18:39 |
|
iqualfragile joined #minetest-dev |
18:39 |
sapier |
ok I guess travis doesn't like me anymore :-) |
18:42 |
celeron55 |
gcc is a convoluted chunk of premature output optimization 8) |
18:43 |
PilzAdam |
anyone objects to removing builtin/item.lua:314 |
18:43 |
PilzAdam |
+? |
18:47 |
hmmmm |
sapier |
18:47 |
sapier |
what have I done? |
18:47 |
hmmmm |
i put the new file in src/script/lua_api/CMakeLists.txt |
18:47 |
hmmmm |
not getting compiled |
18:47 |
hmmmm |
what sort of voodoo do i need |
18:48 |
sapier |
what feature are you talking about? |
18:48 |
hmmmm |
i am adding scripts/lua_api/l_vmanip.cpp |
18:48 |
hmmmm |
trying to anyway |
18:48 |
hmmmm |
i didn't need to delete the cmake cache before ever |
18:48 |
hmmmm |
is that the problem? |
18:49 |
sapier |
I don't think so |
18:49 |
sapier |
but maybe rerun cmake |
18:49 |
|
Mallot1 joined #minetest-dev |
18:49 |
Mallot1 |
sorry |
18:50 |
hmmmm |
whoops |
18:50 |
hmmmm |
sorry |
18:50 |
hmmmm |
i added l_vmanip.cpp to the one in src on accident |
18:50 |
hmmmm |
and it failed to find it so it just executed the executable that was last there |
18:50 |
sapier |
Mallot1 you shouldn't paste random chars here and chitchat goes to #minetest |
18:50 |
hmmmm |
or... no i didn't |
18:51 |
sapier |
you have to add it in lua_api directly |
18:52 |
hmmmm |
alright i don't see what i'm doing wrong |
18:52 |
sapier |
is there an error message? |
18:53 |
hmmmm |
when i run cmake i get this "cannot find source file: $(CMAKE_CURRENT_SOURCE_DIR)/l_vmanip.cpp |
18:53 |
hmmmm |
cmake error at src/CMakeLists.txt:381 (add_executable) |
18:53 |
sapier |
wrong brackets |
18:53 |
hmmmm |
o |
18:53 |
sapier |
its {} |
18:53 |
hmmmm |
well, i said i couldn't *see* what was wrong |
18:53 |
hmmmm |
heh |
18:54 |
sapier |
:-) yes they're quite similar |
18:55 |
|
D-Man joined #minetest-dev |
19:02 |
hmmmm |
what's the reasoning behind the name STACK_TO_SERVER(L)? |
19:03 |
hmmmm |
oh nevermind |
19:03 |
hmmmm |
why is it that you call a lua state a "stack"? it's way more than a stack |
19:03 |
whirm |
ok, now I get this stacktrace while playing: http://paste.debian.net/12164/ |
19:04 |
hmmmm |
ahh |
19:04 |
hmmmm |
that must be the division by 0 |
19:04 |
hmmmm |
whrim, that's a rare occurance, just continue on playing, we'll fix it though |
19:04 |
celeron55 |
i've never seen a SIGFPE that wasn't a division by zero |
19:04 |
whirm |
I had it twice in 2 minutes |
19:05 |
hmmmm |
interesting |
19:05 |
celeron55 |
do you use the default chunk size? |
19:05 |
hmmmm |
celeron, it's something that proller kept pointing out but he was never able to get a backtrace or anything since it wasn't consistent |
19:05 |
whirm |
celeron55: I think so, let me check |
19:06 |
celeron55 |
"chunksize" setting |
19:06 |
hmmmm |
it has to do with proller's extra large caves |
19:06 |
hmmmm |
he's using indev |
19:07 |
whirm |
celeron55: yup, default chunksize, those are my settings: http://paste.debian.net/12168/ |
19:07 |
proller |
again huge caves |
19:08 |
whirm |
is there anything I can do to help debugging it? |
19:08 |
hmmmm |
not really, we know exactly what the problem is, thanks though |
19:09 |
proller |
(float)(ps->next() % ar.Z) + 0.5 |
19:10 |
sapier |
hmmmm yes stack isn't quite exact but most of time you only do stack operations on the state so I thought stack is more fitting |
19:10 |
hmmmm |
ar.Z is 0, which means max_spread_amount - max_tunnel_diameter / 2 = 10 |
19:11 |
hmmmm |
max_spread_amount = 16, 16 - 12 / 2 = 10, which means max_tunnel_diameter was 12 at that time, which is indeed a possibility |
19:12 |
hmmmm |
trying to decide whose fault this is |
19:12 |
|
kaeza joined #minetest-dev |
19:12 |
hmmmm |
nobody could've known that it crashes if the planets align |
19:12 |
hmmmm |
so it's celeron's fault who originally wrote that cave code |
19:12 |
hmmmm |
therefore the fix belongs in makeCave itself |
19:13 |
hmmmm |
s16 more = MYMAX(max_spread_amount - max_tunnel_diameter / 2 - insure, 1); |
19:14 |
proller |
seems good |
19:15 |
sapier |
2 - insure ? hope insure never gets 2 |
19:15 |
hmmmm |
insure is a constant 10 |
19:15 |
hmmmm |
besides, order of operations |
19:15 |
hmmmm |
so that's irrelevant |
19:15 |
sapier |
yes realized that :-) |
19:17 |
whirm |
also, the farmesh thingie is broken too, right? (I'm messing with all the settings :D) |
19:17 |
hmmmm |
farmesh is completely broken |
19:17 |
Exio |
haha |
19:17 |
hmmmm |
anyway whirm, download the newest version of minetest, should fix your bug |
19:17 |
* whirm |
pulling |
19:21 |
proller |
and i can set max huge cave to 200 |
19:23 |
whirm |
seems to work, thanks |
19:23 |
celeron55 |
hmmmm: the cave code that is written by me sure can crash if it's stretched to do stuff it wasn't meant to do |
19:25 |
celeron55 |
it's operation is based on certain things fitting inside each other that may not necessarily do so with some kind of input |
19:25 |
sapier |
oooops: |
19:25 |
sapier |
/home/sapier/minetest.folder/minetest_core_contributions/minetest/src/mapblock_mesh.cpp:682: TileSpec getNodeTile(MapNode, v3s16, v3s16, MeshMakeData*): Assertion 'facedir <= 23' failed. |
19:26 |
sapier |
just standing around |
19:26 |
celeron55 |
why is that an assertion |
19:27 |
celeron55 |
there's nothing to actually protect that value from being <= 23 because it's value is context-dependent |
19:27 |
celeron55 |
meaning* |
19:27 |
celeron55 |
>23* |
19:27 |
* celeron55 |
tries to write too fast |
19:33 |
celeron55 |
i think it should assume facedir=0 if it isn't a sane value |
19:43 |
|
Mallot1 joined #minetest-dev |
19:49 |
|
roptat joined #minetest-dev |
19:49 |
roptat |
hello |
19:49 |
roptat |
I just wanted to say thank you |
19:50 |
roptat |
for all your work |
19:50 |
roptat |
I really enjoy minetest |
19:51 |
Jordach |
roptat, -> /join #minetest for this |
19:51 |
roptat |
Well, I also have a bug to report |
19:51 |
roptat |
but can't find your bug tracker |
19:52 |
Jordach |
https://github.com/minetest/minetest/issues |
19:52 |
Jordach |
^ there |
19:52 |
roptat |
ok thanks |
19:59 |
celeron55 |
has somebody looked into this? http://forum.minetest.net/viewtopic.php?pid=94140#p94140 http://forum.minetest.net/viewtopic.php?id=6225 |
20:00 |
celeron55 |
has someone in here tried to go on that server and see if the problem can be reproduced? |
20:00 |
celeron55 |
if not, someone should take that as their priority |
20:03 |
celeron55 |
that really shouldn't happen on any working combination of server and client |
20:07 |
|
sapier1 joined #minetest-dev |
20:14 |
Taoki |
hmmmm: Since you're working on the voxel manipulator, I thought those screenshots would motivate you: http://forum.minetest.net/viewtopic.php?pid=96297#p96297 Currently my system uses set_node, but once you're done with that and it's upstream I will switch to it, which should be a TON faster |
20:15 |
Taoki |
Well, granted I can use the voxel manipulator to send a list of nodes to the engine, under the form { {pos1, node1}, {pos2, node2} } |
20:16 |
Taoki |
http://i43.tinypic.com/2vx0ep1.png |
20:17 |
Taoki |
Imagine when we can have towns +twice larger than that, also containing way bigger buildings, with nearly no resource efford at all :) |
20:29 |
|
jojoa1997 joined #minetest-dev |
20:40 |
kahrl |
what's up with tile.h:193? |
20:41 |
sapier1 |
guess there was something lost |
20:43 |
sapier1 |
nope no define missing in code |
20:43 |
sapier1 |
maybe someone wanted to add a new one and was interrupted forgetting about it later |
20:53 |
|
loggingbot_ joined #minetest-dev |
20:53 |
|
Topic for #minetest-dev is now Minetest core development and maintenance. Chit-chat goes to #minetest. Consider this instead of /msg celeron55. http://irc.minetest.ru/minetest-dev/ http://dev.minetest.net/ |
20:58 |
|
mrtux joined #minetest-dev |
21:04 |
proller |
falling liquid works! |
21:04 |
proller |
make it optional ? |
21:15 |
proller |
how to call lua nodeupdate from c++ ? |
21:16 |
sapier1 |
is nodeupdate member of minetest? |
21:18 |
sapier1 |
if it is getfield name of function |
21:18 |
sapier1 |
push all parameters |
21:18 |
sapier1 |
do a pcall |
21:18 |
sapier1 |
fetch results |
21:20 |
celeron55 |
oh god nodeupdate... once again a lesson in the topic "anything you release in an unstable version will actually be final, no matter what you think" |
21:20 |
sapier1 |
hehe have a look at german constitution it's a draft for more than 50 years now ;-) |
21:21 |
celeron55 |
8D |
21:21 |
proller |
its in builtin |
21:21 |
sapier1 |
so a local variable? |
21:21 |
proller |
celeron55, its.... too hard to.. change.... |
21:21 |
celeron55 |
it's a global variable probably |
21:22 |
celeron55 |
thus in C it's a field in the globals table, however it's accessed (can't remember) |
21:22 |
sapier1 |
then it's even more easy but you shouldn't rely on builtin features from c |
21:22 |
proller |
function nodeupdate(p) |
21:22 |
sapier1 |
yes global |
21:22 |
celeron55 |
sapier1: it's allowable to rely on them |
21:22 |
proller |
its need to make real waterfalls |
21:22 |
sapier1 |
I wouldn't do so as it could be set to nil by anyone |
21:22 |
celeron55 |
you can break everything horribly by messing up in lua anyway |
21:23 |
celeron55 |
that's a completely useless concern once again by you |
21:23 |
sapier1 |
yes but I'd check it at least in core |
21:23 |
proller |
show any lua function called from c please |
21:23 |
proller |
and i will copypaste 8) |
21:23 |
sapier1 |
have a look at mainmenu branch it's done there multiple times |
21:23 |
celeron55 |
of course it should be checked, but it's not like it couldn't be done |
21:23 |
proller |
ok |
21:24 |
sapier1 |
if there's no way to avoid it of course ... in mainmenu it's an explicit interface for example |
21:24 |
celeron55 |
well it's a fact that there's no C++ implementation of falling nodes, it's all in builtin |
21:25 |
sapier1 |
ok ok :-) |
21:54 |
|
sapier1 left #minetest-dev |
21:55 |
|
PilzAdam joined #minetest-dev |
22:28 |
|
emptty joined #minetest-dev |
22:35 |
|
OWNSyouAll joined #minetest-dev |
22:49 |
|
BackupCoder joined #minetest-dev |
23:08 |
|
BackupCoder joined #minetest-dev |
23:12 |
proller |
very hard to call lua func from map.cpp |
23:12 |
proller |
no api vars |
23:14 |
proller |
no server no emerge nothing |
23:26 |
|
Taoki joined #minetest-dev |
23:27 |
|
BackupCoder joined #minetest-dev |