Time |
Nick |
Message |
00:40 |
|
sapier left #minetest-dev |
01:07 |
Exio |
hmmmm: ROFL WAT are u saing |
01:07 |
Exio |
hmmmm: i dun understnd dat |
01:38 |
Exio |
i really think the spawn "place" should be based on the seed-in-some-way if not static_spawnpoint is set and you "being able" to get it from lua |
01:38 |
Exio |
(so some seed == always some place, maybe that is how it actually works, no idea really) |
01:38 |
Exio |
i should check and try to implement that :P |
01:38 |
|
dexter0 joined #minetest-dev |
01:39 |
Exio |
oh, this isn't #mt |
01:39 |
|
salamanderrake joined #minetest-dev |
01:40 |
|
salamanderrake joined #minetest-dev |
01:53 |
VanessaE |
aw shit |
01:54 |
VanessaE |
hmmmm: are you here? we've got a mapgen glitch. |
01:54 |
VanessaE |
http://digitalaudioconcepts.com/vanessa/hobbies/minetest/images/VanessaE_World_Map.png |
01:54 |
VanessaE |
north end of the map. notice the hard edges between chunks. |
01:54 |
VanessaE |
map_meta.txt has never been edited on this world. |
01:56 |
VanessaE |
north end of the 'main' mass of the map I mean, not the outlying stuff. Around x=-448, z=2384 in the world. |
02:00 |
|
17WABD1LB joined #minetest-dev |
02:00 |
|
mrtux joined #minetest-dev |
02:00 |
|
celeron55 joined #minetest-dev |
02:00 |
|
vidplace7 joined #minetest-dev |
02:00 |
|
thexyz joined #minetest-dev |
02:00 |
|
IceCraft|Away joined #minetest-dev |
02:00 |
|
sfan5 joined #minetest-dev |
02:00 |
|
toabi joined #minetest-dev |
02:00 |
|
dzho joined #minetest-dev |
02:01 |
VanessaE |
don't mind the chunk that looks like stone with exposed minerals, that's not related. I refer to the other chunks to the right of it that clearly don't belong to this map. |
02:10 |
|
nyuszika7h_ joined #minetest-dev |
02:33 |
hmmmm |
vanessae, i really can't help you there |
02:33 |
hmmmm |
i don't have enough information to go on at all, and i completely doubt it's a "mapgen bug" |
02:34 |
hmmmm |
there's just no reason for the mapgen to "bug out" |
02:34 |
hmmmm |
what might've happened is that map_meta.txt became unreadable for some external reason and it tried to use a different seed |
02:34 |
VanessaE |
I don't see what else it could be, but consider: someone else was reporting the same thing, and I saw just this same thing again on someone else's map just a week or two ago. I dismissed both as local glitches, but since this is the third time it's happened to me, I'm a little suspect now. |
02:36 |
hmmmm |
adding a /deleteblock command is definitely on my to-do list |
02:37 |
VanessaE |
indeed, it looks like the seed has been changed |
02:37 |
hmmmm |
right now, you're able to do it manually from the sqlite3 shell |
02:37 |
VanessaE |
I'm comparing my current map_meta.txt against my backup from March 1. |
02:37 |
hmmmm |
mmm |
02:37 |
hmmmm |
i noticed you disabled v6_biome_blend |
02:38 |
VanessaE |
I didn't disable anything. |
02:38 |
VanessaE |
this is how it came out of the box. |
02:38 |
VanessaE |
I don't ever edit that file. |
02:38 |
VanessaE |
I also notice that my current map_meta.txt has that flag, along with trees and caves, but on march 1 those flags were not present. |
02:39 |
VanessaE |
nor were mgv6_np_apple_trees and mgv6_np_humidity |
02:39 |
VanessaE |
I believe mauvebic said that he notice the same thing - if those flags were missing, the whole file got rewritten |
02:40 |
VanessaE |
noticed* |
02:41 |
|
hmmmm joined #minetest-dev |
02:42 |
VanessaE |
the change happened some time between March 6 and March 22 |
02:42 |
VanessaE |
(going from what's in my backups, sorry I don't have better granularity than that) |
02:42 |
VanessaE |
er march 16 to march 22. |
02:43 |
hmmmm |
i recall you had some kind of read-only filesystem problem |
02:43 |
hmmmm |
could've caused it |
02:43 |
VanessaE |
me? not that I recall? |
02:43 |
hmmmm |
mmmm.. must be thinking of someone else then |
02:43 |
VanessaE |
but wait a sec. |
02:44 |
VanessaE |
even if the that were the case, how could it rewrite the map_meta.txt if the fs is read-only? :) |
02:45 |
VanessaE |
my march 22 backup matches the current running copy, btw. |
02:46 |
VanessaE |
March 16: http://pastebin.ubuntu.com/5681707/ |
02:46 |
VanessaE |
March 22 and current: http://pastebin.ubuntu.com/5681708/ |
02:47 |
VanessaE |
mauvebic said he found that if he simply deleted those couple of flags from map_meta.txt, the whole file gets rewritten - as if MT considers the file to be corrupt. |
02:47 |
hmmmm |
maybe it is corrupt |
02:47 |
VanessaE |
look at those pastes. |
02:48 |
VanessaE |
he restored from backups and then modified the restored copy to test it |
02:48 |
hmmmm |
hm |
02:48 |
hmmmm |
i'll check it out |
02:48 |
hmmmm |
ahhhhhh |
02:48 |
hmmmm |
shooooooot |
02:49 |
hmmmm |
i know what the problem was |
02:49 |
hmmmm |
it had to do with the update for jungles and apple trees |
02:49 |
VanessaE |
[04-05 02:29] <mauvebic> lemme try something, ill copy the apple_trees and humidty lines over to the map, THEN copy it to new minetest and start that up, see what happens |
02:49 |
VanessaE |
[04-05 02:35] <mauvebic> thats it |
02:49 |
VanessaE |
[04-05 02:35] <mauvebic> the file got overwritten because of the missing lines |
02:49 |
VanessaE |
ok |
02:49 |
hmmmm |
well, i promise it won't happen again |
02:49 |
VanessaE |
sorry I didn't catch it sooner. |
02:49 |
hmmmm |
you can change your lfags to whatever you'd like |
02:50 |
hmmmm |
i should think of a better way to handle missing parameters, i guess |
02:50 |
VanessaE |
can you look at that map image and tell me how to nuke the bad data from the file? |
02:51 |
hmmmm |
find the coordinates of those blocks that are bad, divide the coordinates by 16, then use the blockpos-to-integer formula to come up with the ID in the database |
02:51 |
* VanessaE |
changes the seed back to the correct one. |
02:52 |
hmmmm |
then go into sqlite3 and DELETE FROM blcoks WHERE id=<theidhere>; |
02:52 |
hmmmm |
blocks* |
02:52 |
VanessaE |
ehm... |
03:07 |
VanessaE |
I'm also noticing this: |
03:07 |
VanessaE |
http://digitalaudioconcepts.com/vanessa/hobbies/minetest/screenshots/screenshot_3713013400.png |
03:08 |
VanessaE |
the water surface. Why it is two different shades? |
03:08 |
VanessaE |
(the time was already daylight for several minutes, so it's not a day/night transition) |
03:08 |
VanessaE |
why it is?? *sigh* |
03:08 |
VanessaE |
why is it* |
03:10 |
hmmmm |
i don't know... |
03:13 |
VanessaE |
oh this is interesting |
03:13 |
VanessaE |
if I scoop up a bucket of water from the darker region, it is replaced by the infinite water code - and that one new node is light in color like the lighter regions. |
03:16 |
VanessaE |
and if I spill a bucket of water of either shade onto the lighter shade, that one spot turns dark to match the darker stuff |
03:17 |
VanessaE |
but both the light and dark regions are being regenerated when I scoop up a bucketful, so both are infinite. |
03:18 |
VanessaE |
http://digitalaudioconcepts.com/vanessa/hobbies/minetest/screenshots/screenshot_3713627216.png |
03:31 |
VanessaE |
ok, confirmed that plugging my old seed works (flew around the bad area and let it generate several new chunks, which match the old map data) |
03:31 |
VanessaE |
so now I have a T-shaped section of weird data :) |
03:31 |
VanessaE |
or more like lower-case 'r' shape. |
03:32 |
|
mrtux joined #minetest-dev |
03:48 |
RealBadAngel |
https://github.com/minetest/minetest/pull/605 |
03:48 |
RealBadAngel |
looks like better try on luajit |
03:50 |
VanessaE |
oh hell, this actually bundles luajit doesn'it it? |
03:50 |
VanessaE |
-i |
03:50 |
VanessaE |
er |
03:50 |
RealBadAngel |
quick look says so |
03:51 |
RealBadAngel |
with compile option |
03:51 |
VanessaE |
this goes against what the luajit team suggests. |
03:52 |
RealBadAngel |
well, we used to have bundled lua too ;) |
03:52 |
RealBadAngel |
if it will work i have nothing against it |
03:53 |
VanessaE |
I'd prefer to use a separate luajit repository honestly. |
03:53 |
VanessaE |
unless we can always be sure that the bundled one is kept up-to-date. |
03:53 |
RealBadAngel |
that should be easy |
03:54 |
RealBadAngel |
when new version will be out, just update our files, thats all |
03:55 |
VanessaE |
mmmh |
03:55 |
VanessaE |
I guess |
03:55 |
VanessaE |
as long as it works properly, I suppose it doesn't matter if it's up-to-date |
03:55 |
VanessaE |
as long as it doesn't fall far enough behind to break stuff at the next update. |
03:56 |
RealBadAngel |
from what i can see this solution keeps old lua |
03:56 |
RealBadAngel |
thats good |
03:57 |
hmmmm |
yeah, vanessa, no idea. |
03:57 |
hmmmm |
so what's up with slamming me with all these minor issues? |
03:57 |
RealBadAngel |
hmmmm, was worrying that luajit is not workin on ALL platforms, so users could just use regular lua there |
03:58 |
VanessaE |
hmmmm: because you're convenient? ;) |
03:58 |
VanessaE |
(seriosuly, because you're the mapgen expert) |
03:58 |
hmmmm |
realbadangel, yeah, it was intended to be that way in the first place |
03:58 |
hmmmm |
i really want to get luajit in |
03:58 |
VanessaE |
RealBadAngel: have you tested that patch? |
03:58 |
hmmmm |
do i use BlindBanana's pull request? |
03:58 |
hmmmm |
is there a problem with that one? is there somebody else who has a better patch? |
03:59 |
RealBadAngel |
about water, i think its an issue with flowing/still water, flowing is displayed incorrectly |
03:59 |
VanessaE |
hmmmm: I think use that other one, by AngelCry |
03:59 |
VanessaE |
(#605) |
03:59 |
RealBadAngel |
hmmmm, check out latest one |
03:59 |
hmmmm |
also speaking of lua |
03:59 |
hmmmm |
i really need some opinions here |
03:59 |
RealBadAngel |
havent tested it yet, just woke up and saw it |
03:59 |
hmmmm |
mapgen.lua was designed for a time when there was a single map generator |
03:59 |
hmmmm |
what if there were several of them |
04:00 |
hmmmm |
a mapgen.lua on initialize could "subscribe" itself to a list of mapgens |
04:00 |
hmmmm |
so the current mapgen.lua would register itself to be called for v6 and indev |
04:00 |
hmmmm |
but not on singlenode, since that's quite silly |
04:00 |
VanessaE |
hmmmm: rewrite mapgen.lua to be specific to mapgen v6 (and v5?), rename it accordingly, and make a new one with a new name for v7 |
04:00 |
hmmmm |
and v7 would have something else too |
04:01 |
hmmmm |
what do you guys think, yes? |
04:01 |
hmmmm |
it's ultimately necessary, since DecorationDef is going to screw up everything |
04:01 |
RealBadAngel |
its quite easy |
04:02 |
RealBadAngel |
depending on setting open different file |
04:02 |
hmmmm |
also PilzAdam, i need ice and dirt_with_snow blocks in minetest_game |
04:02 |
VanessaE |
since I don't poke around with the map generator, and since the only real overrides in Lua are by redefining a few functions et.al (rather than directly modifying mapgen.lua), I don't see a problem with rewriting it. |
04:02 |
VanessaE |
hmmmm: use the nodes, definitions, and textures from the snow biomes mod |
04:02 |
hmmmm |
don't tell me to use it |
04:02 |
hmmmm |
i don't bother with the lua side of things at all |
04:02 |
VanessaE |
nonono, not "the mod" |
04:02 |
VanessaE |
the pieces thereof. |
04:02 |
hmmmm |
i know, but i'm not bothering with that at all |
04:02 |
VanessaE |
ok |
04:02 |
hmmmm |
that's totally pilzadam's territory |
04:03 |
hmmmm |
for a couple reasons |
04:03 |
VanessaE |
I wonder if I should try to duplicate its functionality using plants_lib. |
04:03 |
hmmmm |
mostly i just want to limit my scope so my obligations aren't sneakily growing |
04:03 |
VanessaE |
I understand |
04:03 |
hmmmm |
but also minetest_game is a minefield |
04:03 |
hmmmm |
and i'm not very interested in doing minetest_game related things in the first place |
04:03 |
VanessaE |
let's rename it :-) minefield_game ;) |
04:04 |
hmmmm |
so why are desert sand blocks so orange |
04:04 |
VanessaE |
random. |
04:04 |
hmmmm |
i think i brought this up before, but i feel like i'm on mars |
04:04 |
VanessaE |
I wondered the same thing |
04:04 |
VanessaE |
and I think it's ugly |
04:04 |
hmmmm |
for real |
04:04 |
VanessaE |
desert sand should look like regular sand does now, and regular sand should be lighter, less saturated. |
04:04 |
hmmmm |
honestly |
04:04 |
hmmmm |
YES |
04:05 |
hmmmm |
that is exactly what i was going to say |
04:05 |
hmmmm |
well, i was going to say "sand should look like it used to" |
04:05 |
VanessaE |
lemme see what I can throw together in gimp |
04:05 |
hmmmm |
also, what do you feel about the new dirt and dirt_with_grass textures... i always thought they were too saturated |
04:06 |
VanessaE |
I think those are fine |
04:06 |
hmmmm |
when i play on my own, i like to swap them with the original ones |
04:07 |
|
jojoa1997|Tablet joined #minetest-dev |
04:09 |
VanessaE |
http://digitalaudioconcepts.com/vanessa/hobbies/minetest/images/Screenshot%20-%2004062013%20-%2012:09:07%20AM.png |
04:09 |
VanessaE |
hmmmm: ^^^^ |
04:10 |
hmmmm |
yes that's pretty nice |
04:10 |
hmmmm |
how does it look in the actual game? |
04:10 |
hmmmm |
not too washed out i hope |
04:10 |
VanessaE |
Haven't tried yet, lemme save them out and see. |
04:11 |
VanessaE |
oh NOT BAD. |
04:12 |
hmmmm |
what should we do with desert stone now, you think? |
04:12 |
VanessaE |
http://digitalaudioconcepts.com/vanessa/hobbies/minetest/screenshots/screenshot_3716898895.png |
04:13 |
VanessaE |
desert stone? I'm not sure at all about it. |
04:13 |
hmmmm |
hrmm |
04:13 |
VanessaE |
with this change to default sand, default sandstone will need to be lightened a little to follow. |
04:13 |
hmmmm |
i guess we'll just leave the stone as-is |
04:13 |
hmmmm |
this is nice though, i really like it |
04:14 |
jojoa1997|Tablet |
we should alias desert stone to be sand stone |
04:14 |
jojoa1997|Tablet |
jk the stone is good |
04:14 |
VanessaE |
http://digitalaudioconcepts.com/vanessa/hobbies/minetest/images/default_desert_sand.png |
04:14 |
VanessaE |
http://digitalaudioconcepts.com/vanessa/hobbies/minetest/images/default_sand.png |
04:17 |
VanessaE |
now with this lighter sand, we badly need a "dirty sand" node to aid the transition on seabeds between sand and dirt. |
04:18 |
VanessaE |
(on land, a "dirty, grassy sand" node is needed) |
04:18 |
hmmmm |
i'll get something done quick for people to play around with |
04:18 |
jojoa1997|Tablet |
red sand |
04:18 |
jojoa1997|Tablet |
i seen some nice deserts |
04:19 |
jojoa1997|Tablet |
hmmmm what you making? |
04:19 |
hmmmm |
the mapgen |
04:19 |
jojoa1997|Tablet |
oh |
04:20 |
jojoa1997|Tablet |
has anyone made an official to be added entity spawning or flower spawning to minetest |
04:23 |
jojoa1997|Tablet |
how do i kick someone from my name |
04:23 |
VanessaE |
hmmmm: more texture file links coming, for your consideration. |
04:23 |
jojoa1997|Tablet |
it is registered but i am not usinbg that one name |
04:25 |
VanessaE |
http://digitalaudioconcepts.com/vanessa/hobbies/minetest/images/default_sand_dirty.png |
04:25 |
VanessaE |
http://digitalaudioconcepts.com/vanessa/hobbies/minetest/images/default_sand_grassy.png |
04:25 |
VanessaE |
http://digitalaudioconcepts.com/vanessa/hobbies/minetest/images/default_desert_sand_grassy.png |
04:25 |
hmmmm |
too many different kinds of sand, seriously.... |
04:25 |
hmmmm |
maybe a mod for smooth transitions |
04:26 |
VanessaE |
maybe. |
04:26 |
hmmmm |
and you can insert all of those "edge" biomes on your own |
04:26 |
VanessaE |
I figured these would be used in-world, but would just drop plain sand or desert sand. |
04:27 |
VanessaE |
e.g. mapgen-only nodes (except if you wanna screw around with them in creative or so) |
04:27 |
|
Jojoa1997 joined #minetest-dev |
04:27 |
VanessaE |
that way the user only ever sees one kind of grass and two kinds of sand, like always. |
04:28 |
VanessaE |
shall I try a lightened sandstone also? |
04:28 |
VanessaE |
(to match the lighter sand color) |
04:28 |
hmmmm |
the sandstone was made to match the original sand |
04:28 |
VanessaE |
right |
04:28 |
hmmmm |
it'd be nice if there was sandstone that was actually sand stone though |
04:29 |
hmmmm |
like blocks of sand chizeled into bricks, it's used in desert temples in minecraft |
04:29 |
VanessaE |
hm, looking at the default texture though, the color is fine, but yeah let's see if we can make this into rough blocks. |
04:31 |
Jojoa1997 |
what about a block that is a chisler like a furnace cooks |
04:36 |
jojoa1997|Tablet |
join the regular channel i have imposters there |
04:36 |
VanessaE |
ooooooooo |
04:36 |
VanessaE |
hmmmm: you're gonna LOVE this |
04:37 |
VanessaE |
hmmmm: http://digitalaudioconcepts.com/vanessa/hobbies/minetest/screenshots/screenshot_3718414448.png |
04:38 |
VanessaE |
brick-like sandstone. |
04:38 |
jojoa1997|Tablet |
i like it |
04:39 |
VanessaE |
http://digitalaudioconcepts.com/vanessa/hobbies/minetest/images/default_sandstone.png |
04:39 |
VanessaE |
the actual texture file. |
04:43 |
hmmmm |
nice |
04:44 |
hmmmm |
was kinda hoping for larger bricks, though |
04:44 |
jojoa1997|Tablet |
show do you add names to accounts |
04:44 |
hmmmm |
these are really bricky bricks |
04:44 |
VanessaE |
I thought about that, but I figured larger bricks might look wrong |
04:44 |
hmmmm |
jojoa, no idea, but it's not a #minetest-dev question |
04:44 |
hmmmm |
try to stay on topic please |
04:45 |
VanessaE |
lemme see how it looks with a 1x2 pattern. |
04:45 |
jojoa1997|Tablet |
sorry wrong channel thought was in #freenode |
04:45 |
hmmmm |
hrmm |
04:45 |
hmmmm |
in minecraft, biomes do more than what you probably think |
04:45 |
hmmmm |
they also select the sky color and grass color |
04:46 |
hmmmm |
i want to be able to do the sameish thing |
04:46 |
jojoa1997|Tablet |
in minecraft the grass is tinted |
04:46 |
hmmmm |
perhaps this will be possible with my colorlike node type in the future |
04:46 |
|
Jojoa11997 left #minetest-dev |
04:48 |
|
jojoa1997|Tablet joined #minetest-dev |
04:49 |
VanessaE |
hmmmm: http://digitalaudioconcepts.com/vanessa/hobbies/minetest/screenshots/screenshot_3719113997.png |
04:49 |
VanessaE |
1x2 pattern like most other bricks |
04:49 |
hmmmm |
that does look nice |
04:50 |
jojoa1997|Tablet |
yeah |
04:50 |
hmmmm |
so what do we call it, chiseled sandstone? |
04:50 |
VanessaE |
yeah! |
04:50 |
VanessaE |
or, sandstone brick for the large one |
04:50 |
jojoa1997|Tablet |
you knpow with the chisel you could make different types of stone |
04:50 |
VanessaE |
chiseled sandstone for the smaller bricks |
04:50 |
VanessaE |
but that's too many types of sandstone. |
04:50 |
jojoa1997|Tablet |
no |
04:51 |
jojoa1997|Tablet |
Not if you use a machine to convert to all types |
04:52 |
VanessaE |
Abe's opinion is that the smaller bricks look better, at least in the screenshot |
04:52 |
jojoa1997|Tablet |
i like smaller bricks |
04:53 |
VanessaE |
http://digitalaudioconcepts.com/vanessa/hobbies/minetest/images/default_sandstone2.png |
04:53 |
VanessaE |
here's the larger bricks one. |
04:53 |
jojoa1997|Tablet |
show us some single block pics? |
04:53 |
jojoa1997|Tablet |
like how it would look in the world |
04:53 |
VanessaE |
jojoa1997|Tablet: see above for the screenshot of the larger bricks in-world. |
04:53 |
jojoa1997|Tablet |
saw |
04:54 |
VanessaE |
that house is the only sandstone structure I have handy. |
04:54 |
jojoa1997|Tablet |
i meant how it would look when you could see all three sides |
04:54 |
VanessaE |
lemme get a shot of the interior. |
04:54 |
jojoa1997|Tablet |
haha you modeled your house to be made of sand |
04:56 |
VanessaE |
http://digitalaudioconcepts.com/vanessa/hobbies/minetest/screenshots/screenshot_3719518141.png |
04:56 |
VanessaE |
best I can do without making a new structure for the sake the texture test. |
04:57 |
jojoa1997|Tablet |
on the inside it looks too... |
04:57 |
jojoa1997|Tablet |
simpl |
04:57 |
jojoa1997|Tablet |
the inside should look detailed(small bricks) |
04:58 |
VanessaE |
http://digitalaudioconcepts.com/vanessa/hobbies/minetest/screenshots/screenshot_3719634314.png |
04:58 |
VanessaE |
the same room, rendered with the 1x4 pattern. |
04:58 |
VanessaE |
having smaller bricks on one side versus the other would not work in practice. |
04:58 |
jojoa1997|Tablet |
yeah i like the smaller one better |
04:59 |
jojoa1997|Tablet |
looks more like stacking sand |
04:59 |
jojoa1997|Tablet |
also it would add a difference between bricks of stone and clay |
04:59 |
VanessaE |
hmmmm: opinions? |
05:00 |
hmmmm |
gosh i dunno |
05:00 |
hmmmm |
i like both of them |
05:00 |
VanessaE |
haha |
05:00 |
jojoa1997|Tablet |
i like both and if we could get a way to make them different ways that would be best |
05:00 |
jojoa1997|Tablet |
get a chisler and problem solved |
05:00 |
jojoa1997|Tablet |
one sec |
05:00 |
VanessaE |
hmmmm: well then there's just one choice: make one of them default sandstone and make the other some kind of chiseled sandstone. |
05:00 |
hmmmm |
i guess the 1x2 pattern is more like what you'd see used in the pyramids and what not |
05:01 |
hmmmm |
definitely not... come on... leave sandstone the way it is |
05:01 |
VanessaE |
(small/1x4 bricks = default, large/1x2 = chiseled) |
05:01 |
VanessaE |
awwww |
05:01 |
VanessaE |
spoil my fun :) |
05:01 |
VanessaE |
ok, pick one as a 'chiseled' variant, the other...I dunno what to do with it |
05:02 |
jojoa1997|Tablet |
http://www.minecraftwiki.net/wiki/Stonecutter |
05:02 |
jojoa1997|Tablet |
that would work but call it a chisler |
05:03 |
VanessaE |
ew, no |
05:03 |
VanessaE |
this should require only a hand tool to cut |
05:03 |
jojoa1997|Tablet |
or |
05:03 |
jojoa1997|Tablet |
we could have a forge block that you have to put a tool in to use |
05:03 |
jojoa1997|Tablet |
chisel for chiseling and hammer for enchancing tools |
05:03 |
jojoa1997|Tablet |
there 2 birds with one stone |
05:04 |
VanessaE |
naw. place a sandstone block, and hit it with a chisel tool to turn it into a chiseled brick block. |
05:04 |
VanessaE |
that makes the most sense considering the general theme of minetest |
05:04 |
jojoa1997|Tablet |
hit it again |
05:04 |
jojoa1997|Tablet |
then what |
05:04 |
jojoa1997|Tablet |
what if we want to convert back |
05:04 |
VanessaE |
hit it again, nothing happens, or it becomes a 4x1 brick block, but I don't know if there's a reason to have both kinds of sandstone bricks. |
05:05 |
jojoa1997|Tablet |
use the forge idea that also allows people to have their "enchanted" enhanced tools |
05:05 |
VanessaE |
meh |
05:05 |
VanessaE |
save that forge idea for one of the other games. |
05:06 |
VanessaE |
I'm focused on 'common'. |
05:06 |
jojoa1997|Tablet |
wht other games |
05:06 |
jojoa1997|Tablet |
oh |
05:06 |
jojoa1997|Tablet |
i was thinking the tool that goes into forge slot (type) is what happens |
05:06 |
VanessaE |
naw, that's overkill for this. |
05:07 |
VanessaE |
maybe in the 'build' game it might make sense, but this isn't for that, this is for default. |
05:07 |
VanessaE |
we don't need a bunch of special machines in default. |
05:07 |
jojoa1997|Tablet |
eh i ambored |
05:07 |
jojoa1997|Tablet |
so i get crazy ideas |
05:10 |
jojoa1997|Tablet |
what i think would be a good feature is a guidbook or something we get at the begining of the world. that way we know all the recipes |
05:10 |
VanessaE |
that's better suited to a wiki. |
05:10 |
jojoa1997|Tablet |
but not when someone doesnt knpow where the wiki is |
05:10 |
jojoa1997|Tablet |
it also would help with other mods aka technic |
05:11 |
jojoa1997|Tablet |
or pipeworks |
05:11 |
|
jojoa1997|Tablet left #minetest-dev |
05:13 |
|
jojoa1997|Tablet joined #minetest-dev |
05:13 |
VanessaE |
stay on topic, jojoa |
05:14 |
jojoa1997|Tablet |
going to bed way too tired |
05:14 |
VanessaE |
good n9ight. |
05:14 |
VanessaE |
-9 |
05:15 |
jojoa1997|Tablet |
night |
05:15 |
|
jojoa1997|Tablet left #minetest-dev |
05:20 |
VanessaE |
hmmmm: well anyway, use whichever of those various images you feel are right. WTFPL, etc. |
05:35 |
hmmmm |
well |
05:35 |
hmmmm |
i just realized it's basically impossible to do the biome LUT idea |
05:36 |
hmmmm |
this means that the more biomes you add, the slower the mapgen will get |
05:36 |
VanessaE |
ew |
05:37 |
hmmmm |
this leaves it as an open problem for someone to optimize it |
05:37 |
hmmmm |
which will never happen |
05:38 |
hmmmm |
from a simpler time when minecraft didn't take height into account at all, it was possible and very easy to do that |
05:38 |
hmmmm |
i am looking at minecraft's source right now and it seems they have a biome cache, so they don't need to recompute values, but it doesn't _precompute_ values like i wanted to |
05:43 |
hmmmm |
see, this is hard, minecraft isn't multithreaded but minetest is |
05:43 |
hmmmm |
so i'd need to lock the cache whenever something requests values from it |
05:44 |
hmmmm |
which would probably end up taking more time to acquire than it would've to just recompute the point value from scratch |
05:47 |
|
BackupCoder joined #minetest-dev |
05:54 |
hmmmm |
moreover, minecraft's solution to handling the third dimension (height) is very ugly; from what i understand, each biome has its own height class, which calculates its own voroni mapping |
05:55 |
hmmmm |
doing things in a case-by-case basis like that is unacceptable for us |
05:55 |
hmmmm |
i really wish it turned out to be as easy as looking at the modulating noise parameters, i really do.. would've saved all this trouble and biome calculations would be an O(1) lookup |
05:58 |
hmmmm |
i guess this will warrant more investigation if it turns out to be an actual problem later on when people add about 80 biomes and complain about how the mapgen is slower than it originally was |
05:59 |
VanessaE |
fwiw, moretrees gets by with about 13 biome definitions and seems to do ok if not for the slowness of the tree lighting updates. |
05:59 |
VanessaE |
so maybe it won't be as bad as you fear |
05:59 |
hmmmm |
right now it's fantastic, on average 29ms at -O1, but this is without caves or trees spawning |
05:59 |
hmmmm |
29ms before lighting and liquid transform i should say |
06:00 |
hmmmm |
compared to v6's ~45-60ms |
06:00 |
hmmmm |
it's funny, i'm using 3d noise too, which is pretty heavyweight. |
06:22 |
VanessaE |
I'm out. Night. |
08:35 |
|
Zeg9 joined #minetest-dev |
09:00 |
|
ImQ009 joined #minetest-dev |
09:26 |
|
Calinou joined #minetest-dev |
09:27 |
|
EduardeCalibal joined #minetest-dev |
09:46 |
|
serengeor joined #minetest-dev |
09:47 |
|
Jordach joined #minetest-dev |
09:47 |
|
Jordach joined #minetest-dev |
10:19 |
|
Deivan joined #minetest-dev |
11:24 |
Taoki |
Why aren't naturally spawning flowers in by default yet? I thought they were and was surprised to see nothing about flowers in common yet o.o |
11:25 |
Taoki |
Also, BRB |
11:40 |
|
iqualfragile joined #minetest-dev |
11:54 |
|
rarkenin joined #minetest-dev |
12:17 |
|
jojoa1997|Tablet joined #minetest-dev |
12:23 |
|
jojoa1997_Tablet joined #minetest-dev |
12:45 |
|
Guest95525 joined #minetest-dev |
12:52 |
|
Zeg9 joined #minetest-dev |
13:16 |
|
PilzAdam joined #minetest-dev |
13:30 |
PilzAdam |
celeron55, the launchpad builds work fine, but for some reason survival and build are missing in the stable ppa |
13:30 |
Exio |
PilzAdam: https://github.com/minetest/minetest/commits |
13:31 |
Exio |
check the order |
13:31 |
PilzAdam |
oh |
14:12 |
|
hmmmm joined #minetest-dev |
14:19 |
|
sapier joined #minetest-dev |
14:21 |
sapier |
sometimes I wonder how it was possible to find really any single possibility to leak a texture ;-) |
14:23 |
Exio |
here sapier - hmmmm |
14:23 |
Exio |
there was something about the scriptapi what i don't recall :P |
14:23 |
PilzAdam |
sapier, do you keep your scriptapi split up to date with the new additions to the API? |
14:24 |
sapier |
I've only found a single place where an occassion to loose a texture wasn't taken |
14:24 |
sapier |
partly |
14:25 |
sapier |
if I do merge master to that patch I'll update it but I won't include unmerged pull requests |
14:26 |
sapier |
noone ever thought about how to delete textures again either I need to use very dirty hacks to keep track or reorganize half of mintest :-( |
14:28 |
hmmmm |
hmm yes |
14:28 |
hmmmm |
we need to merge some of those pull requests now |
14:29 |
hmmmm |
https://github.com/minetest/minetest/commit/1586cdac53935cd4735162ad8337c269f0dfa718 |
14:29 |
sapier |
so your merge order decides how much work is generated additionaly |
14:29 |
hmmmm |
could nobody fix the title of the commit before they pushed |
14:29 |
hmmmm |
;; |
14:29 |
hmmmm |
sapier, yes, basically |
14:30 |
hmmmm |
it's much easier to have the one guy who's already converted all the other lua functions to what you have now than it is the opposite |
14:31 |
PilzAdam |
hmmmm, that is a wonderful commit message |
14:31 |
sapier |
ok give me a list of wich pull requests you want to add so I add them to my changeset that's much easier than selecting those changes back from master |
14:31 |
hmmmm |
what's your opinion on minetest.get_player.ip() |
14:32 |
hmmmm |
sapier, we'll merge them first |
14:32 |
Zeg9 |
hmmmm, 5 minutes ago I was just thinking that a way to get IP of a player should be added... |
14:33 |
sapier |
sometimes I think you hate me ... can I at least suggest not mixing api and other changesets? |
14:33 |
hmmmm |
first of all, not sure if that is desirable for a mod to know IPs |
14:33 |
hmmmm |
it could report them back to some central server |
14:33 |
sapier |
I'm against this |
14:33 |
Zeg9 |
Well, at least, there should be a way for admins to know it... |
14:33 |
Zeg9 |
And people can read the mod's source |
14:33 |
hmmmm |
you don't know what mods a server is using |
14:33 |
hmmmm |
as a client |
14:33 |
Zeg9 |
Right. |
14:34 |
sapier |
ok zeg9 once you've read and understood mobfs source code we're talking about this point again ;-) |
14:34 |
hmmmm |
and i wasn't aware that peer_id is the ip address |
14:34 |
Zeg9 |
I was taling more about something like: grep get_player_ip $(find -name *.lua) |
14:34 |
Zeg9 |
:D |
14:34 |
hmmmm |
i thought it was an increasing number that started at 1 |
14:35 |
hmmmm |
oh, getPeerAddress |
14:35 |
hmmmm |
didn't see that. |
14:35 |
sapier |
I assume I'll finde a way to get this done without using the word "get_player_ip" if I do only half an hour of investigation |
14:35 |
hmmmm |
what's the purpose of calling get_env(L)->getPlayer(name) again? you already did it on line 831 |
14:35 |
hmmmm |
golden rule of programming, don't repeat yourself |
14:36 |
hmmmm |
not that it has a horrible effect, it's just unprofessional |
14:36 |
hmmmm |
since sapier has to change that anyway, i'll merge it as-is |
14:36 |
sapier |
and it's slow |
14:37 |
hmmmm |
but there's still the question if the mods should really be able to know the IP addresses in the first place |
14:37 |
sapier |
ok I'll have a look at it when merging |
14:37 |
hmmmm |
I sure as hell don't want them to know |
14:37 |
hmmmm |
sapier, i thought you had to change that line anyway, since you're replacing get_server(L) and get_env(L) calls? |
14:37 |
sapier |
true |
14:38 |
hmmmm |
should have more of a consensus |
14:38 |
hmmmm |
i vote 'no' for get_player_ip |
14:38 |
sapier |
I vote no too (for privacy reasons) |
14:38 |
Zeg9 |
I vote no for it but yes for adding it in the server log. |
14:38 |
Exio |
i don't like it either if you can't disable it |
14:39 |
hmmmm |
the client would need to have the option |
14:39 |
Exio |
(as player_ip = 127.0.0.1 in the .conf => it always return that value) |
14:39 |
sapier |
maybe we can delay it until security settings are ready? |
14:39 |
Exio |
or yes, that is better |
14:39 |
hmmmm |
that would require a new network packet field |
14:39 |
hmmmm |
or at least adding a flag |
14:40 |
hmmmm |
yeah, get_player_ip won't be merged as-is, at least.. |
14:41 |
sapier |
I strongly suggest adding this one: https://github.com/minetest/minetest/pull/587 |
14:41 |
* hmmmm |
rolls eyes |
14:42 |
hmmmm |
there's already a conflict |
14:42 |
hmmmm |
why not do that after the scriptapi |
14:42 |
sapier |
not quite surprising |
14:42 |
hmmmm |
yes, you see, this is what happens when you have a huge pull request |
14:42 |
sapier |
this shouldn't be much of collision to scriptapi while it'll improve stability by some factors :-) |
14:43 |
hmmmm |
i couldn't help but feel like this didn't need to be done all at once |
14:43 |
hmmmm |
whatever, i'm cherry picking from it anyway |
14:43 |
sapier |
this had to be done all at once because you didn't see any bug while having that much in place |
14:44 |
sapier |
you can do but you'll waste lots of hours of investigation as you need to do this again with the cerry picked version |
14:44 |
sapier |
and delete order of members is important to avoid crashes |
14:44 |
hmmmm |
mmmmmmm.. |
14:44 |
hmmmm |
i'll... figure it out |
14:44 |
hmmmm |
alright minetest.get_version() |
14:44 |
sapier |
ok :-) best wishes ;-) |
14:44 |
hmmmm |
what do you guys think? |
14:46 |
PilzAdam |
<hmmmm> alright minetest.get_version() <- no |
14:46 |
Exio |
i can't say anything, because it for checking features doesn't seem the "best way" for it, but it can be useful for mods doing other things |
14:46 |
Exio |
as i'm not sure :P |
14:46 |
hmmmm |
i'm not sure about get_version |
14:46 |
hmmmm |
you can make a case for either way |
14:47 |
sapier |
I don't see any benefit either ... unless you want to create a showstats mod |
14:47 |
PilzAdam |
it useful, but not in the way sfan5 intended it |
14:47 |
PilzAdam |
+is |
14:47 |
hmmmm |
sure, you can check if some functions exist or not, but... you're falling down the slippery slope once you start doing that |
14:47 |
sapier |
if this was added it'll be used to ensure mods running on specific minetest versions .. no matter if this was intended or not |
14:48 |
hmmmm |
eventually, it'll be "correct" to check that every function exists before you use it |
14:48 |
|
ecube joined #minetest-dev |
14:48 |
hmmmm |
with get_version, you'll get some version number and with a quick comparison, you can know exactly what functions you're guaranteed to have and what you aren't |
14:48 |
PilzAdam |
or you say "requires latest minetest version" in the topic |
14:49 |
sapier |
define "latest"? ;-) |
14:49 |
hmmmm |
i'd say latest released |
14:49 |
Exio |
i'd say the git commit, but :P |
14:49 |
sapier |
so if you don't update for 2 versions your mod most likely won't work anymore |
14:50 |
sapier |
I think it's worth adding not because it's clean style but because it's usefull |
14:50 |
hmmmm |
hmm |
14:50 |
hmmmm |
alright, first we'll merge pathfinding |
14:50 |
sapier |
you could point a user to some older version for example |
14:51 |
hmmmm |
the code style is a bit off, but i don't really think that matters as much since it's sapier's stuff |
14:51 |
hmmmm |
just like how i don't complain about proller's stuff in mapgen_indev.cpp |
14:51 |
hmmmm |
it's the mixing together of things or un-doing what others have that pisses me off |
14:51 |
sapier |
You could've told me some days ago I would've fixed it already |
14:52 |
hmmmm |
nevermind that |
14:52 |
hmmmm |
you can fix it some other time if you'd like |
14:52 |
sapier |
ok ... if I do have spare time ;-) |
14:53 |
hmmmm |
by the way did you see the updated coding guidelines page on the wiki |
14:53 |
sapier |
no didn't have a look at them |
14:54 |
hmmmm |
http://dev.minetest.net/Code_style_guidelines#Miscellaneous |
14:54 |
hmmmm |
:D |
14:55 |
sapier |
I assume I have to fix this ... beeing part of standard doesn't mean anything if standard defines "is implementation specific" ;-) |
14:55 |
sapier |
but no need to start again :) |
14:56 |
sapier |
you don't lile m_? |
14:56 |
hmmmm |
hungarian disaster |
14:56 |
hmmmm |
if your method is too big to see that your variable wasn't declared anywhere in that scope, you have a size problem |
14:57 |
sapier |
sorry but I'll ignore this one ... class members have to be m_ to be distinguishable from function local variables |
14:57 |
sapier |
sometimes you have local variables very similar to members it's way to easy to take the wrong one for mistake |
14:58 |
hmmmm |
http://www.joelonsoftware.com/articles/Wrong.html |
14:58 |
jojoa1997|Tablet |
has anyone thought of tinting stuff like grass |
14:58 |
hmmmm |
joel agrees with me |
14:59 |
jojoa1997|Tablet |
and greas_* |
14:59 |
jojoa1997|Tablet |
also tinted glass would be nice |
15:00 |
sapier |
I don't even know who joel is ;-P |
15:00 |
hmmmm |
omg |
15:01 |
hmmmm |
oh, also, if your IDE has autocomplete (i know you use eclipse) it'll give you the member in a nice little pop-up listbox |
15:01 |
hmmmm |
if the variable you're typing isn't in there, then it's not a member! |
15:01 |
sapier |
unless you show a better way to get an obvious difference between function local and member variables I wont stop using m_ prefix ;-) ... as I believe globals are bad style in any way this isn't of any problem |
15:01 |
sfan5 |
about the get_version thing: what if a function changes like e.g. minetest.get_inventorycube takes an array instead of three arguments, you can't check for that with lua |
15:01 |
sapier |
autocomplete in eclipse is always disabled as it crashes way to often |
15:02 |
hmmmm |
no no, globals still have g_ |
15:02 |
sapier |
no problem as I don't use globals ;-) |
15:02 |
sapier |
If you require to use a global variable your design is most likely to be broken |
15:03 |
hmmmm |
as someone whose primary language is C, i find that offensive |
15:03 |
* Jordach |
isnt taking sides as Jordach uses both C and Python |
15:03 |
sapier |
it's not offensive globals are common source of error if you do multithreaded applications |
15:05 |
Exio |
for me, there are things what used wrong lead to "that" |
15:05 |
hmmmm |
you just need to exercise caution when using globals |
15:05 |
Exio |
read that as, goto, globals, etc |
15:05 |
hmmmm |
like we already do with any other shared data structures |
15:05 |
Exio |
(in C) |
15:05 |
sapier |
yes and any lock breaks parallel execution as it adds implicit synchronisation |
15:06 |
hmmmm |
well, we can't exactly help it |
15:06 |
sapier |
the less synchronisation is required the more you can gain from parallel execution thus avoiding globals is a very good way to improve performance for mutlithreaded applications |
15:07 |
hmmmm |
s/globals/shared data structures/ |
15:07 |
hmmmm |
again, see Map, that's not global but look, it has the same problem |
15:07 |
sapier |
yes |
15:07 |
hmmmm |
it's not like globals are evil |
15:07 |
hmmmm |
it's just that when you have one of one thing, and many of others, there will always be that problem |
15:07 |
hmmmm |
it's just the way life is |
15:08 |
sapier |
sometimes "shared" is same as global ;-) |
15:08 |
hmmmm |
i need my coffee |
15:08 |
sapier |
every thread has a pointer to map so it's almost global |
15:08 |
hmmmm |
and then i'll merge pathfinder |
15:10 |
|
jin_xi joined #minetest-dev |
15:13 |
|
kaeza1 joined #minetest-dev |
15:15 |
hmmmm |
this mouse is pissing me off |
15:16 |
hmmmm |
it's like i need to fight with the computer to do something simple like unminimize a window |
15:16 |
hmmmm |
dragging and dropping is nearly impossible |
15:16 |
hmmmm |
and of course the scroll wheel's broken too |
15:16 |
hmmmm |
i feel like i need to kill something |
15:17 |
sapier |
<<away |
15:17 |
|
sapier left #minetest-dev |
15:23 |
|
rarkenin joined #minetest-dev |
15:23 |
|
jojoa1997|Tablet left #minetest-dev |
15:26 |
|
Guest36009 joined #minetest-dev |
15:31 |
|
Calinou joined #minetest-dev |
15:32 |
hmmmm |
you know, i just checked for the hell of it, and i was right about adding the underneath border blocks to the area where light is to be calculated |
15:33 |
hmmmm |
alright, fine, i'll fix the cave shadows. |
15:33 |
hmmmm |
you know, it's funny, we have solutions to all these long-time problems but never did anything about them |
15:33 |
hmmmm |
probably because we've already accepted this as a quirk |
15:34 |
Calinou |
id software approves of this quote |
15:34 |
hmmmm |
in my opinion, though, Mapgen V7 shouldn't have to suffer from Mapgen V6's decision to have caves above ground.. i'm going to make a clean solution for this |
15:42 |
|
Guest85550 joined #minetest-dev |
15:45 |
hmmmm |
PilzAdam, you didn't like this pull request for some reason? https://github.com/minetest/minetest/pull/583 |
15:45 |
hmmmm |
if you'd like, he can add the server enabling/disabling later |
15:45 |
PilzAdam |
I thinks its hacky |
15:45 |
hmmmm |
how would you do it that isn't hacky |
15:46 |
PilzAdam |
make it a server setting |
15:46 |
hmmmm |
[11:45 AM] <hmmmm> if you'd like, he can add the server enabling/disabling later |
15:46 |
hmmmm |
which would require another protocol version bump...... weeeeeeeeeee |
15:48 |
Calinou |
and? |
15:48 |
Calinou |
this is incredibly useful |
15:52 |
PilzAdam |
just zooming without any tool is too unrealistic |
15:52 |
* VanessaE |
peeks in |
15:53 |
VanessaE |
So have the client make sure the player has binoculars in their inventory somewhere. Problem solved. |
15:53 |
proller |
hmmmm, sky water fix - https://github.com/proller/minetest/commit/97a91aa2ee7fa71d1d5a745ed4974df3af2ce2ef |
15:53 |
VanessaE |
(it's not like a person can't just hack the client to zoom anyway, whether the server wants it to or not) |
15:53 |
proller |
simple version, it works |
15:54 |
PilzAdam |
proller, what about not finite liquids? |
15:54 |
Exio |
VanessaE: /set fov 15 |
15:54 |
Exio |
without any mod |
15:54 |
Exio |
suddenly, zoom |
15:54 |
VanessaE |
Exio: right, so not even a hack. |
15:54 |
PilzAdam |
Exio, nope |
15:54 |
PilzAdam |
that sets the server setting |
15:54 |
kaeza |
^ |
15:54 |
proller |
PilzAdam, they have no big problem with it |
15:54 |
VanessaE |
regarding showing a player's IP, I vote no except that it (continue to) be shown in the logs. |
15:54 |
Exio |
it doesn't work in multiplayer? |
15:54 |
hmmmm |
proller they definitely do |
15:54 |
kaeza |
Exio, no |
15:54 |
|
jojoa1997|Tablet joined #minetest-dev |
15:55 |
hmmmm |
i noticed the problem when i was making my minecraft classic map converter |
15:55 |
kaeza |
(I tried |
15:55 |
kaeza |
) |
15:55 |
Exio |
ehm, ah |
15:55 |
kaeza |
but as I discussed with someone the other day, rendering is client-side |
15:56 |
PilzAdam |
hmmmm, there was a pull request for adding liquids that hit ignore to the queue again |
15:56 |
kaeza |
so these kinds of things are nearly impossible to avoid |
15:56 |
hmmmm |
pilzadam, ?? |
15:56 |
hmmmm |
isn't that what we don't want to happen? |
15:57 |
Exio |
wait wait |
15:57 |
Exio |
is the FOV-setting.. server-side? |
15:57 |
Exio |
i don't get it |
15:57 |
PilzAdam |
if they arent added than they will fly even if the block under them gets loaded |
15:57 |
Exio |
why the client needs to use the *fov* of the server in that terms? |
15:57 |
PilzAdam |
Exio, /set sets server settings, not client settings |
15:58 |
Exio |
let me try something |
15:59 |
VanessaE |
that begs the question, why does the server even HAVE a fov setting? |
15:59 |
PilzAdam |
VanessaE, that question doesnt make sense at all |
15:59 |
VanessaE |
PilzAdam: nevermind |
16:00 |
VanessaE |
just rambling - I'm not awake yet |
16:02 |
|
salamanderrake joined #minetest-dev |
16:02 |
proller |
hmmmm, commit fix? |
16:03 |
hmmmm |
what branch is that on? |
16:03 |
hmmmm |
oh nevermind |
16:03 |
hmmmm |
stupid question |
16:03 |
proller |
https://github.com/proller/minetest/tree/oreup |
16:03 |
proller |
there is temporary springs fix |
16:04 |
PilzAdam |
proller, you shouldnt merge upstream into your development branches |
16:04 |
PilzAdam |
that makes it unable to rebase |
16:04 |
PilzAdam |
better rebase against upstream/master |
16:04 |
hmmmm |
it doesn't matter |
16:04 |
hmmmm |
i just cherry pick |
16:06 |
proller |
PilzAdam, no problem to rebase after merge |
16:07 |
hmmmm |
hrmmm |
16:07 |
hmmmm |
the big texture leak patch |
16:07 |
hmmmm |
this is going to be harder.. |
16:07 |
PilzAdam |
hmmmm, why havent you fixed the commit message? |
16:08 |
hmmmm |
nothing even matters anymore |
16:08 |
hmmmm |
whatever, from now on we'll fix commit messages if they need fixing |
16:08 |
VanessaE |
(insert Metallica song here) |
16:08 |
hmmmm |
it's an official policy |
16:08 |
PilzAdam |
what does the "upper springs" commit do? |
16:08 |
hmmmm |
ah |
16:09 |
hmmmm |
yeah that's vague enough to need fixing i guess |
16:09 |
hmmmm |
i'll do that |
16:13 |
hmmmm |
and this was already done by the pathfinding patch, right? https://github.com/minetest/minetest/pull/434 |
16:13 |
hmmmm |
so it can be closed |
16:13 |
PilzAdam |
yes |
16:14 |
Exio |
what about this https://github.com/minetest/minetest/pull/604 ? |
16:15 |
hmmmm |
i'm not sure... does it change the way we've always done things? |
16:15 |
Exio |
what things? |
16:15 |
Exio |
if you do cmake . it will be the same as always |
16:15 |
hmmmm |
well alright |
16:16 |
hmmmm |
sapier, i don't understand this https://github.com/sapier/minetest/commit/e0b861b0d46fe50b2ce88d7c825df8acc185c092 |
16:16 |
hmmmm |
why are you doing that again? |
16:17 |
PilzAdam |
hmmmm, the skript updatepo.sh to create the translation files searches for wgettext(string) in the sourcecode |
16:17 |
hmmmm |
oh :/ |
16:17 |
|
ds-2k joined #minetest-dev |
16:18 |
hmmmm |
i guess he changed it before, and this became broken? |
16:19 |
ds-2k |
Exio, setting the fov in minetest.conf on a client works when connecting to a server |
16:19 |
ds-2k |
so clients can already change fov without modifying the source code |
16:19 |
PilzAdam |
yes, the strings werent in the .po files for some time, then I added gettext() to it to fix it |
16:19 |
hmmmm |
see, a lot of these things i have to take special consideration of... i can't merge the "cleanup very huge texture leak" commit as-is because then that'd break my extensive biome.cpp modifications |
16:20 |
Exio |
ds-2k: ah |
16:21 |
hmmmm |
and he made a good point of deleting items that are already in threads' queues when they're shutting down |
16:21 |
hmmmm |
sapier does this with MeshUpdateThread but not EmergeThread |
16:21 |
kaeza |
hmmmm, #604 does not affect users using the old way of building |
16:21 |
hmmmm |
see, that's another thing i need to fix |
16:21 |
hmmmm |
and seriously what's with the (*iter)-> crap, STOP IT! |
16:21 |
ds-2k |
Exio: and in singleplayer /set sets client & server settings (same minetest.conf) |
16:21 |
hmmmm |
[i] is plenty predictable |
16:21 |
hmmmm |
stop with the unnecessary iterators |
16:21 |
kaeza |
it always outputs the exe to <bindir>/bin |
16:22 |
kaeza |
(which in in-source-dir builds is just the same as <srcdir>/bin |
16:22 |
Exio |
i'll wait for the big-commits/and/stuff for implement what i really want for the zoom-thing |
16:22 |
kaeza |
) |
16:23 |
hmmmm |
yeah |
16:23 |
hmmmm |
PilzAdam, any opinions on https://github.com/minetest/minetest/pull/604 before I merge |
16:23 |
hmmmm |
? |
16:24 |
PilzAdam |
I dunno about such things |
16:24 |
PilzAdam |
it would save some disk space for my win builds |
16:25 |
|
dexter0 joined #minetest-dev |
16:33 |
sfan5 |
PilzAdam: how would that save disk space? |
16:33 |
sfan5 |
... |
16:33 |
PilzAdam |
there is always a minetest.exe created in minetest/bin |
16:33 |
* sfan5 |
needs to think first, then write |
16:34 |
PilzAdam |
it would save 8 MiB |
16:35 |
kaeza |
sfan5, suppose you (like me) do severaal builds off the same source tree |
16:35 |
sfan5 |
or if you build a debug build 40 - 50 mb ;) |
16:36 |
kaeza |
with minetest you can't |
16:36 |
kaeza |
because the exe gets overwritten at each build |
16:37 |
kaeza |
the only way would be to have several copies of the source tree; with this, you can bild for several platforms/versions/whatever from a single tree |
16:39 |
VanessaE |
hmmmm: regarding handling of missing map_meta.txt parameters, |
16:39 |
VanessaE |
[04-06 12:38] <mauvebic> simplest solution is to parse the file into an array, add the missing keys and reprint |
16:39 |
VanessaE |
"reprint" I presume means re-save. |
16:40 |
PilzAdam |
re-save I presume means rewrite :-) |
16:40 |
VanessaE |
heh |
16:43 |
hmmmm |
vanessae, thanks, i think i know how to fix it on my own |
16:43 |
PilzAdam |
isnt this a rather critical bug since it changes existing maps |
16:44 |
PilzAdam |
+? |
16:44 |
hmmmm |
it's already too late |
16:45 |
VanessaE |
hmmmm: fix it anyway, it's only too late for those who have already upgraded - which is not most people. |
16:45 |
PilzAdam |
then post a warning in the forum or so |
16:45 |
Exio |
a 0.4.6.1? :P |
16:46 |
VanessaE |
this needs a hotfix imho. |
16:46 |
VanessaE |
I got lucky and fixed it before it did major damage. dante123's map got botched almost right away |
16:47 |
hmmmm |
you guys say damage like it's the most horrible thing ever |
16:47 |
Jordach |
hmmm? what just got botched? |
16:47 |
hmmmm |
before i came around, map fuckups were the norm |
16:47 |
Jordach |
hmmmm, yeah, sectors2sqlite is evil |
16:47 |
VanessaE |
Jordach: remember those huge square cliffs? that's why. |
16:47 |
Jordach |
VanessaE, explains it |
16:47 |
Exio |
well |
16:48 |
Exio |
i never saw those problems.. |
16:48 |
Exio |
..because my minetest already does thatr |
16:48 |
Exio |
s/r// |
16:48 |
PilzAdam |
s/"s/r//"/"-r" |
16:48 |
Exio |
er, regex fail but w/e |
16:48 |
Exio |
wut |
16:48 |
VanessaE |
hmmmm: map screwups may be the norm, but they shouldn't be - it's not acceptable to normal users. "This game sucks! my map is fucked up! Screw this piece of shit" |
16:48 |
VanessaE |
and so on like that. |
16:48 |
PilzAdam |
-r instead of s/r// |
16:49 |
hmmmm |
minetest doesn't like them |
16:49 |
Exio |
ah |
16:50 |
Exio |
PilzAdam: btw, "" doesn't work in that way, you need to use | or \ ;P |
16:50 |
VanessaE |
PilzAdam: when you match a slash with sed, use colons instead of slashes for the delimiter. s:/home:/usr: |
16:50 |
hmmmm |
hey vanessa, can you show me those pastebin links of your map_meta.txts again? |
16:50 |
VanessaE |
sure, lemme track 'em down |
16:50 |
PilzAdam |
I just wanted to produce something unreadable :-p |
16:51 |
Exio |
learn perl |
16:51 |
VanessaE |
hmmmm: Until March 16: http://pastebin.ubuntu.com/5681707/ |
16:51 |
VanessaE |
hmmmm: March 22 to current: http://pastebin.ubuntu.com/5681708/ |
16:52 |
hmmmm |
alright nevermind then |
16:52 |
hmmmm |
hrmm, let me think about this deeper |
16:52 |
Jordach |
PilzAdam, if you want unreadable, use brainfuck |
16:53 |
VanessaE |
Jordach: you mean L-systems? ;() |
16:53 |
VanessaE |
;) |
16:54 |
Jordach |
VanessaE, no, BF is worse: http://en.wikipedia.org/wiki/Brainfuck |
16:54 |
hmmmm |
tries to get the initial settings from the config along with the default values, tries to load map meta, catches settingnotfoundexception and filenotgoodexception, anything else causes it to initialize a new map |
16:54 |
PilzAdam |
VanessaE, look, this wonderful tree: [&&&FFFFF&&FFFF][&&&++++FFFFF&&FFFF][&&&----FFFFF&&FFFF] |
16:54 |
hmmmm |
loadmapmeta thrrows filenotgoodexception if it couldn't open the file |
16:55 |
hmmmm |
throws a serialization error if [end_of_params] isn't found |
16:55 |
hmmmm |
mmmmmmmmm.. |
16:55 |
Jordach |
^ needs h prefix |
16:55 |
VanessaE |
hmmmm: btw, why are you looking for a tag instead of eof? |
16:55 |
hmmmm |
because i'm not the one doing it |
16:56 |
hmmmm |
at this point we have the random seed |
16:56 |
|
kaeza1 joined #minetest-dev |
16:56 |
hmmmm |
if it fails to get all the parameters from map_meta.txt, it'll see if at least seed is there |
16:56 |
hmmmm |
if seed is there, it sets the mgparams seed equal to that at least |
16:57 |
hmmmm |
this is for backwards compatibility with older versions to not screw their map seeds up when a setting isn't found |
16:57 |
hmmmm |
so i already thought about this |
16:58 |
VanessaE |
hmmmm: remember when I reported that big mapgen glitch, and you signed on to look at it. I think the same thing happened then, as well, as it was at that point that all that mgv6_* stuff got added to my map_meta.txt. |
16:59 |
* VanessaE |
plugs in a missing question mark. |
17:00 |
hmmmm |
wow my dungeons are awesome looking |
17:02 |
hmmmm |
879106, 7590035 |
17:02 |
hmmmm |
well that's not right |
17:03 |
|
mrtux_ joined #minetest-dev |
17:03 |
PilzAdam |
hmmmm, what about a fallback for map_meta.txt that sets dungeons to false if no map_meta.txt setting is found, so we can set it to true in minetest.conf |
17:04 |
hmmmm |
you guys completely misunderstand how the map_meta.txt settings work |
17:04 |
hmmmm |
i take all of that into account |
17:04 |
hmmmm |
this is much, much smarter than i think you give it credit for |
17:08 |
RealBadAngel |
tried to compile luajit commit on linux, failed |
17:08 |
RealBadAngel |
great, we have one commit that works on linux but not on windows, and one that works on windows but not on linux |
17:08 |
Zeg9 |
Yeah. Great. |
17:08 |
PilzAdam |
git merge? |
17:09 |
hmmmm |
unacceptable |
17:09 |
hmmmm |
why can't anybody do luajit right |
17:10 |
RealBadAngel |
maybe this guy will know, i just reported then in comments |
17:10 |
RealBadAngel |
*that |
17:11 |
hmmmm |
ugh |
17:12 |
hmmmm |
my map_meta.txt code didn't work as planned because of exceptions |
17:12 |
hmmmm |
i really wish exceptions didn't exist |
17:12 |
hmmmm |
i didn't even know about an error |
17:12 |
hmmmm |
and it disrupted the normal flow of my code |
17:13 |
hmmmm |
this wasn't my fault at all |
17:13 |
hmmmm |
this was celeron's intended way of handling parameters that weren't found |
17:13 |
hmmmm |
he sat there and thought, "hrmm, i know, if we can't find a single setting in map_meta.txt, we should just nuke the entire file and the seed" |
17:14 |
RealBadAngel |
heheh |
17:18 |
hmmmm |
the thing is, this all happens at a level above my own code |
17:18 |
hmmmm |
for simplicity's sake, i'm just going to add a catch-and-fail clause in loadMapMeta() |
17:23 |
celeron55 |
i've had quite changing opinions about exceptions during the time of development of minetest |
17:24 |
hmmmm |
i'm really mad because i specifically tested this too |
17:24 |
celeron55 |
these days i don't use them for almost anything, and definitely would not use for Settings |
17:24 |
hmmmm |
when i originally did the whole mapgenparams thing |
17:30 |
|
jojoa1997|Tablet joined #minetest-dev |
17:37 |
hmmmm |
whatever. https://github.com/minetest/minetest/commit/453d79e3a201a4186dae386d0bce209f75be742c |
17:38 |
hmmmm |
if you guys think it's critical enough, i guess you can make an 0.4.6.1 |
17:44 |
hmmmm |
i'm going to crank out mgv7 in its current state soon, because i'm sure you guys will love the terrain it generates, and i don't want problems later on when we add sapier's things |
17:48 |
jojoa1997|Tablet |
what spaier's thing will you add |
18:00 |
ShadowNinja |
hmmmm: I responded to your comments on my pull requests |
18:00 |
hmmmm |
erm.. thanks? |
18:02 |
ShadowNinja |
hmmmm: you fixed this? https://github.com/minetest/minetest/issues/602 |
18:03 |
PilzAdam |
yes |
18:03 |
hmmmm |
i guess |
18:04 |
ShadowNinja |
well then close it |
18:04 |
PilzAdam |
done |
18:05 |
Exio |
i liked the old interface more |
18:09 |
|
mrtux_ joined #minetest-dev |
18:10 |
|
mrtux_ joined #minetest-dev |
18:10 |
ds-2k |
Pilzadam: Didn't you already commit this: https://github.com/minetest/minetest/pull/604 (forgot to close?) |
18:11 |
PilzAdam |
hmmmm commited it |
18:12 |
PilzAdam |
hmmmm, havent you told me to close the pull request after merge :-p |
18:23 |
|
Deivan joined #minetest-dev |
18:37 |
|
sapier joined #minetest-dev |
18:47 |
|
rubenwardy joined #minetest-dev |
18:50 |
sapier |
can someone tell me where "u32" is from? |
18:50 |
kaeza |
grep |
18:50 |
PilzAdam |
its defined in Irrlicht IIRC |
18:50 |
sapier |
argh ... I should have known things that ugly are from irrlicht :-) |
18:52 |
serengeor |
sapier, you'd prefer 'unsigned_int_32_bit_typedef' ? :) |
18:52 |
sapier |
no but the standard uint32_t |
18:53 |
sapier |
but it's way to much work to replace so I'm gonna live with u32 ;-) |
18:53 |
serengeor |
sapier, I don't think it was standard back in the days when they started developing irrlicht |
18:54 |
sapier |
don't know how old irrlicht is but yes uint32_t has become widly spread only recently |
18:54 |
ds-2k |
sapier, maybe because windows uses something else: https://github.com/minetest/minetest/blob/master/src/irrlichttypes.h (at least for uint64_t) |
18:54 |
serengeor |
sapier, "Niko founded the Irrlicht Engine project in 2002" |
18:56 |
sapier |
hmmm uint_t types are defined in <stdint.h> I thought this was available within windows too ... but I'm not sure |
18:59 |
ds-2k |
Maybe it only doesn't work on the msvc compiler (#if _MSC_VER , not #if _WIN32 in that file)? |
19:10 |
proller |
hmmmm, https://github.com/proller/minetest/commit/7d178020677223660bf5c6aea6860c091a55e57b - its better for falling in water bubble |
19:12 |
sapier |
can someone plz rename "string.h" this is a system include!! |
19:14 |
VanessaE |
bbl |
19:16 |
ShadowNinja |
hmmmm: Any progress on minetest.kick_player()? |
19:16 |
sapier |
lol player kicking by mod? |
19:17 |
ShadowNinja |
yes, Usefull for a mod I am writing, as well as just kicking |
19:17 |
ShadowNinja |
ban/unban is hacky, and has some issues |
19:17 |
sapier |
and how to check rights? |
19:18 |
ShadowNinja |
privs={kick=true} |
19:18 |
sapier |
for whom? |
19:18 |
ShadowNinja |
for the person running /kick |
19:18 |
sapier |
there may not be a person |
19:18 |
ShadowNinja |
but I want it for annother reason |
19:19 |
ShadowNinja |
you mean a mod running it? you don't have to check that |
19:20 |
ShadowNinja |
if the mod runs it it has to ensure security, the core can't do that |
19:20 |
sapier |
so every mod can call kick to kick a player? |
19:21 |
jojoa1997|Tablet |
that is wrong |
19:21 |
jojoa1997|Tablet |
maybe auto remove all privs but not kick |
19:21 |
sapier |
ok ... considering generall denial of evil modders this is at least consequent |
19:22 |
PilzAdam |
ShadowNinja, better use the same priv as ban for /kick |
19:23 |
sapier |
if a kick player lua function is added this implies anyone has to ensure any mod's code on his server is very carefully reviewed |
19:23 |
ShadowNinja |
huh? a mod can ban a player, crash the server and a whole bunch of other things, even with your security, it is necessary, do you think /ban should be moved to core? |
19:23 |
ds-2k |
According to the lua api, mods can already ban players (minetest.ban_player()) |
19:23 |
sapier |
I've already created a patch to make modding more secure, only because others have done wrong this doesn't make bad things better |
19:24 |
ShadowNinja |
PilzAdam: it doesn't realy matter what priv it uses, ban is fine |
19:24 |
sapier |
ban/kick from mods is difficult do decide if it's a security issue or not |
19:25 |
sapier |
unless there are different security levels for differen't mods there'll never be a good solution possible |
19:25 |
ShadowNinja |
sapier: so you say this is ban bacause a player can be kicked from the server now? how is that insecure? it is a feature |
19:25 |
ShadowNinja |
If a mod bans/kicks everyone from your server remove it and clear the banlist |
19:25 |
rarkenin |
It does seem kind of fallacious to have banning by mods, kicking only by code. |
19:26 |
sapier |
shadowninja jumping in your car pressing a button to start it without having any key with you is a feature too ... as you can't forget a key .. still noone would ever build a car like that |
19:26 |
ShadowNinja |
You can already kick players, but only by baning and unbaning, and that is hacky |
19:26 |
rarkenin |
saiper: There is a difference in trust. |
19:27 |
ShadowNinja |
sapier: that is irrelevant |
19:27 |
sapier |
no it isn't I doublt more than 1% of those running mods do understand what those mods do |
19:27 |
rarkenin |
Yet they can already ban, execute arbitrary commands, delete files, install keyloggers, etc. |
19:28 |
sapier |
still if we wanted to be consistent either ban is removed too or we can add kick too |
19:28 |
rarkenin |
Kicking off a player is nothing compared to what they do. |
19:28 |
ShadowNinja |
If you consider a mod baning/kicking a player a security issue you have gone too far |
19:28 |
rarkenin |
Ban should NOT be removed. That defeats part of the purpose of an OPEN modding API. |
19:28 |
sapier |
I won't discuss minetests insecure modding again I've already fixed that |
19:29 |
rarkenin |
Have you given mods an abstracted persistent data storage system? |
19:29 |
ShadowNinja |
what is so bad if a mod can kick a player? |
19:29 |
sapier |
yes |
19:29 |
sapier |
everything done |
19:29 |
rarkenin |
"what is so bad" is not a yes or no question. |
19:30 |
sapier |
there's not even slightest change in api left except you can't access files you shouldn't be able to access |
19:30 |
sapier |
and of course you can't execute arbitrary commands anymore |
19:30 |
rarkenin |
I'd hope not. |
19:30 |
hmmmm |
guys, stop being ridiculous |
19:30 |
sapier |
it's been answer to your question rarkenin not shadowninjas |
19:30 |
rarkenin |
Oh, OK. |
19:31 |
hmmmm |
kicks will be equivalent in functionality to bans, with unbanning right after |
19:32 |
sapier |
I was just pointing to the fact that having ban and kick available from lua opens issues in priv handling |
19:32 |
ShadowNinja |
I am surprised that so much debate started over kicking |
19:32 |
ds-2k |
sapier: didn't your recent commit to your security pull request give builtin a sort of whitelist? Maybe this could be used for "trusted" mods and disable ban/kick api after builtin/trusted is loaded? |
19:32 |
ShadowNinja |
NO, this makes it unusable to other mods |
19:33 |
ShadowNinja |
for example a custom banning mod |
19:33 |
sapier |
as long as you can't decide wich mod is doing what this is difficult ... but as told In long term having something like per mod security levels would be best |
19:33 |
ShadowNinja |
that would be nice |
19:34 |
sapier |
I already tought about a "quick" solution as I'm unhappy with priv handling within same lua stack as mods too |
19:34 |
sapier |
a quick solution would be to create a separate lua stack doing the priv handling, as far as I understood this is only done in lua to be flexible |
19:35 |
sapier |
therefore you could define mods that require priv handling have to implement e.g. privs.lua additional to init.lua |
19:36 |
sapier |
and it would be easy to have a list of mods who's privs.lua is loaded into priv lua stack |
19:36 |
rarkenin |
Mods are meant to extend Minetest. While they should not be allowed to go rampant across the server, they should have access to Minetest's data itself, such as privs, auth, etc. We start with blocking this, then someone down the road disallows mods to interact with nodes so they don't dump lava everywhere, chat due to risk of spam, etc, etc. |
19:36 |
ShadowNinja |
I don't like that idea, andI don't knowhow it would even work |
19:36 |
PilzAdam |
hmmmm, have you done a fallback yet if stairs:stair_cobble isnt defined in dungeon gen? |
19:36 |
rarkenin |
I also think it is overkill. |
19:36 |
sapier |
I don't want to block it I just want to reduce work for server hosters |
19:37 |
rarkenin |
But you aren't really reducing work. |
19:37 |
hmmmm |
no |
19:37 |
rarkenin |
You're simply making modders jump through hoops without making it easier for server owners. |
19:37 |
sapier |
so you think it's no work to check mods for evil things? |
19:37 |
ShadowNinja |
Then the mods have to be integrated in core, do you want core to have three /ban commands? |
19:37 |
Jordach |
minetest.kick_player() should check if the activator or player who started the kick has the ban priv |
19:38 |
sapier |
@jordach that can't be done |
19:38 |
ShadowNinja |
the command checks it, not the function |
19:38 |
rarkenin |
Then a server owner goes looking for the privs.lua file instead. Same work, but more files. |
19:38 |
kaeza |
Jordach, and how are you supposed to find that? |
19:38 |
sapier |
more files? you only have to check privs files for those mod you allowed priv access? |
19:39 |
ShadowNinja |
annother argument, mods would just pass minetest.setting_get("name") to it |
19:39 |
sapier |
mobf has about 50 files all loaded by init.lua ... I doubt anyone ever reviewed all of them |
19:39 |
rarkenin |
Yes, but you need to navigate into each mod's mod directory to look for a privs.lua. |
19:39 |
ShadowNinja |
but that is unnescecary, the checks can be done in Lua |
19:40 |
kaeza |
sapier, if someone complained your mod had malicious code, you'd be prolly banned from the forums don't you think? |
19:40 |
sapier |
who can checks be done in lua? |
19:41 |
ShadowNinja |
privs={ban=true} or minetest.check_player_privs(name, {ban=true}) |
19:41 |
sapier |
I think if I wanted to do evil things I could hide them good enough to cause a lots of trouble until someone detects it |
19:41 |
rarkenin |
Why is letting mods access player authentication stuff a security problem in the first place? It's file access that is. |
19:41 |
sapier |
you may not have a player |
19:41 |
rarkenin |
Let mods access the world they're running on(including auth stuff), at least. |
19:41 |
sapier |
it's not a security problem at same level as execute thats true |
19:42 |
rarkenin |
It's not a problem that requires this much red tape. |
19:42 |
ShadowNinja |
it returns true, false, or nil if the player does not exist |
19:42 |
sapier |
and I'm not against adding kick I just want to stress that this function can be used to override priv handling |
19:42 |
rarkenin |
OK, so I made a mod, kicked off all the players. Jumped through hoops, kicked off all the players by way of your convoluted commands. |
19:42 |
kaeza |
sapier, has anyone overriden /ban yet? |
19:42 |
rarkenin |
I could just kick all the players by giving syntaxical nonsense and crashing the server. |
19:43 |
PilzAdam |
I suggest to not listen to sapier when it comes to security because he just want to remove everything from the API because its too insecure and mods can abuse it |
19:43 |
sapier |
has anyone detonated a nuclear weapon in manhattan? |
19:44 |
kaeza |
err...and what does that have to do with this? |
19:44 |
rarkenin |
Has anyone detonated a nuke near spawn on a server yet? Yes. What do your secutiry features do about it? Nothing. |
19:44 |
hmmmm |
seriously guys |
19:44 |
hmmmm |
it's just a game |
19:44 |
sapier |
that means it's not best thing you can do to wait until something happens once |
19:45 |
sapier |
still guys calm down if you are aware of the priv problem with this function I don't have any problem with it |
19:45 |
ShadowNinja |
anyway, back to the topic. have you made any progress on the kick function hmmmm? |
19:45 |
rarkenin |
Think about it this way. How much lost time will modders have due to this red tape? A lot. How much time does it take to remove a mod? The time it takes to type rm -rf games/blah/mods/thisisabadmod, with tab completion. |
19:46 |
kaeza |
sapier, if it's foudn that the mod is problematic, then it's uninstalled from server |
19:46 |
kaeza |
in general, I don't trust code made by random newbies |
19:46 |
sapier |
I think everyone is aware of the priv problem now so no need to continue this discussion ;-) |
19:47 |
kaeza |
fair enough |
19:47 |
hmmmm |
shadowninja, no i have not |
19:47 |
PilzAdam |
echo "minetest.register_on_joinplayer(function(player) minetest.kick_player(player:get_player_name()) end)" > init.lua |
19:47 |
hmmmm |
if someone else does it well, that's good too |
19:47 |
kaeza |
PilzAdam, lol |
19:47 |
PilzAdam |
why should mods do this? |
19:47 |
hmmmm |
to add kicking the right way, here's what you need to do: |
19:47 |
rarkenin |
I'm made aware that there's a hypothetical problem someone's panicking about. However, it's not worth the effort to even come up wiht a solution to it at the moment. |
19:48 |
hmmmm |
add a boolean parameter to BanManager::add for 'kick" |
19:48 |
sapier |
pilzadam your comments was absolutely useless if you don't care about security plz post your account data and password I gladly distribute them |
19:48 |
PilzAdam |
hmmmm, I would suggest to add a reason for kick, that is displayed in the client |
19:48 |
hmmmm |
now, after isModified is called, if that player has been added with the kick flag |
19:49 |
PilzAdam |
sapier, there are different levels of security, and you always want the highest |
19:49 |
hmmmm |
remove that name and set m_modified to false |
19:49 |
rarkenin |
No, there's a HUGE difference in security risk between kick and account data. |
19:49 |
ShadowNinja |
hmmmm: wouldn't it be better to just call a peer disconnect function? |
19:49 |
PilzAdam |
sapier, wich is nonsense in a game |
19:49 |
hmmmm |
that's messy |
19:49 |
ShadowNinja |
why so? |
19:49 |
hmmmm |
because that's the way someone else tried to do it already |
19:49 |
rarkenin |
This is Minetest, not the international voxel-sandbox competition of 2019. |
19:49 |
ShadowNinja |
it seems a lot cleaner than using the ban manager |
19:50 |
hmmmm |
you need to expose some private parts of Server |
19:50 |
kaeza |
Knoxtest? |
19:50 |
rarkenin |
I was that idiot that tried to do that, it turned out to be a giant tangle of exposure and class access from miles away. |
19:50 |
ShadowNinja |
I thought you were all for using private and protected less |
19:50 |
hmmmm |
i am, but i try not to modify existing things too much |
19:51 |
sapier |
no pilzadam I just want to ensure everyone is aware of the security implications before a decision is made ... and as far as I see noone else is interested in security so I'm always the bad guy ;-P |
19:51 |
hmmmm |
i don't know, shadowninja, i'll do it later. |
19:51 |
rarkenin |
No, we're concerned with security. We just know what level it should be at. |
19:51 |
PilzAdam |
sapier, you could fork minetest to securetest or something :-p |
19:52 |
hmmmm |
secure as OpenBSD |
19:52 |
PilzAdam |
it would be basically a anti-virus scanner :-) |
19:52 |
ShadowNinja |
ok, well, as long as it is done, having a kick message show up would be good |
19:52 |
hmmmm |
now with 50 new encryption protocols |
19:52 |
hmmmm |
encrypting the stream of data from lua to the core |
19:52 |
hmmmm |
lua stack protector |
19:52 |
kaeza |
^ lol |
19:52 |
rarkenin |
No, it would be a system that detects any attempts at vandalism, and immediately disconnects the server from the internet, sounding a klaxon. |
19:52 |
rarkenin |
That doesn't seem that far-fetched with sapier. |
19:53 |
sapier |
don't make me angry or I may show you what can be done within lua ;-P |
19:53 |
proller |
hmmmm, can i commit water fix? |
19:53 |
hmmmm |
proller, what water fix? |
19:53 |
hmmmm |
i thought i already did that |
19:53 |
proller |
hmmmm, https://github.com/proller/minetest/commit/7d178020677223660bf5c6aea6860c091a55e57b - its better for falling in water bubble |
19:53 |
hmmmm |
sure |
19:53 |
proller |
fix of fix |
19:53 |
hmmmm |
just be sure to fix the commit message |
19:54 |
proller |
ok |
19:54 |
hmmmm |
like, Adjust water removal above unloaded blocks |
19:54 |
hmmmm |
that sounds better^ |
19:54 |
PilzAdam |
proller, cant you just do the correct fix in the first place? |
19:54 |
sapier |
but for one thing you're right ... adding lua security to an application with that many memory leaks and possible buffer overruns as minetest may be adding improvements at wrong place ;-) |
19:55 |
hmmmm |
what possible buffer overflows are there |
19:55 |
proller |
PilzAdam, both fix correct, but second is better |
19:55 |
kaeza |
sapier, want security? run the server in a chmod jail. period |
19:55 |
kaeza |
chroot* |
19:56 |
sapier |
kaeza that's not an excuse for bad code |
19:56 |
hmmmm |
no i'm serious |
19:56 |
PilzAdam |
sapier, its probably better to throw your computer away, its too insecure |
19:56 |
hmmmm |
what are the possible buffer overflows, those have a pretty high priority of being fixed |
19:57 |
sapier |
I think some of the texture pointers are used wrong way but I'm not sure about that hmmmm |
19:58 |
hmmmm |
be sure about it |
19:58 |
hmmmm |
this is important |
19:59 |
hmmmm |
just as well, someone can come up with a new buffer overflow in libpng or something (more likely) and pwn minetest that way :( |
19:59 |
sapier |
I don't intend to check whole irrlicht code ;-) maybe running minetest within efence may help but last time I used a memory checker (valgrind) I had to fix hundreds of errors in order to find the interesting once |
20:00 |
hmmmm |
well, that's because nobody's really been able to run valgrind on this |
20:01 |
sapier |
PilzAdam I don't wish you any bad but if your computer gets skrewd by a mod I'll ne loughing ;-) |
20:01 |
hmmmm |
it's not because people just don't care, if you think that |
20:01 |
PilzAdam |
sapier, I generally dont install mods of others |
20:01 |
PilzAdam |
I dont even run most of my own mods |
20:01 |
hmmmm |
i don't use mods at all |
20:02 |
sapier |
yes I know you rewrite anything ;-) |
20:02 |
sapier |
pilzadam was meant |
20:03 |
sapier |
hmmmm running valgrind on minetest isn't a big deal ... you can't play minetest within valgrind but starting connecting to server opening inventory switching through menus is no problem at all |
20:03 |
celeron55 |
lol what the fuck |
20:03 |
|
Deivan joined #minetest-dev |
20:03 |
celeron55 |
kick privileges for mods? i am stunned |
20:03 |
celeron55 |
i'm hoping this is some kind of odd trolling |
20:03 |
hmmmm |
it's not, they're really that psychopathic |
20:04 |
celeron55 |
i am OK with restricting what files mods can access |
20:04 |
celeron55 |
but in-game features? oh god come on |
20:05 |
hmmmm |
oh celeron, what's your opinion on letting mods see peoples' IP addresses |
20:05 |
sapier |
yes but why do we have a privilege system then? |
20:05 |
celeron55 |
hmmmm: well why the fuck not |
20:05 |
hmmmm |
because it's a privacy concern..? |
20:05 |
celeron55 |
but i don't know how that is useful |
20:05 |
hmmmm |
some guys want to make an MCBans-like mod |
20:05 |
hmmmm |
where they have a global banlist |
20:05 |
PilzAdam |
celeron55, the client doesnt know wich mods the server use and mods can give the IP to 3rd party |
20:06 |
hmmmm |
which is precisely the aim of that mod |
20:06 |
sapier |
but ip banning isn't quite a good way nowadays |
20:06 |
sapier |
if you ban a nated ip you may ban hundreds of ppl |
20:06 |
celeron55 |
well i think, if somebody is doing something "like MCBans", we should research if mcbans has resulted in something that we would like to have |
20:06 |
hmmmm |
right, and then people who really want to get around it can (LandMine) |
20:06 |
sapier |
most cellular internet services are natted in germany |
20:07 |
sapier |
still if someone wants to have this in ... |
20:07 |
RealBadAngel |
sapier, just compilin, noticed warning: unused variable old_cost |
20:08 |
hmmmm |
who cares, we'll get all the compiler warnings we can help at once |
20:08 |
sapier |
yes I've seen it too ... is relict of some development state |
20:08 |
sapier |
I do care |
20:08 |
celeron55 |
okay, i think we don't have a real reason to give IPs to mods |
20:08 |
hmmmm |
just don't spam up the commit log with "whoop, removed an unused variable here" |
20:09 |
sapier |
didn't intend to do I'll add the fix to scriptapi separation |
20:09 |
kaeza |
/home/diego/src/minetest/src/emerge.cpp:357:33: warning: 'flags' may be used uninitialized in this function [-Wuninitialized] |
20:09 |
kaeza |
hmmmm, ^ |
20:09 |
hmmmm |
a moronic warning |
20:09 |
sapier |
I suggest -Werror |
20:09 |
sapier |
:-) just kidding |
20:10 |
celeron55 |
i think that warning is reasonable |
20:10 |
hmmmm |
the compiler should know that it's not read in that function |
20:11 |
hmmmm |
ahh... not all control paths write something to flags |
20:11 |
hmmmm |
makes more sense |
20:11 |
celeron55 |
hmmmm: you know what's a ridiculous warning? |
20:11 |
hmmmm |
no newline at the end of files? |
20:11 |
celeron55 |
the warning that the _CRT_SECURE_NO_DEPRECATE suppresses in src/CMakeLists.txt for MSVC |
20:12 |
hmmmm |
i agree |
20:12 |
hmmmm |
i have a list of like 3 or 4 warnings i disable for MSVC for my own projects |
20:12 |
celeron55 |
it's the most ridiculous i have ever seen |
20:12 |
sapier |
what does this doß |
20:12 |
sapier |
? |
20:12 |
hmmmm |
ah i guess only two |
20:12 |
celeron55 |
MSVC says some C standard library functions are deprecated by default |
20:12 |
hmmmm |
that and int->char truncation |
20:13 |
celeron55 |
and wants the user to use some MS's own _s variants |
20:13 |
sapier |
you mean stcpy or memcpy for example? |
20:13 |
celeron55 |
it's something like that |
20:13 |
hmmmm |
of course |
20:13 |
sapier |
at least for functions of that type imho warnings are perfectly reasonable |
20:14 |
hmmmm |
nonsense, people who are using strcpy() have a valid reason to do so |
20:14 |
celeron55 |
lol |
20:14 |
sapier |
tell me one reason to use strcpy |
20:14 |
celeron55 |
it's standard |
20:14 |
hmmmm |
to copy a string to a buffer you just allocated? |
20:14 |
sapier |
reason not excuse |
20:14 |
hmmmm |
something like strdup? |
20:14 |
sapier |
strncpy() |
20:14 |
kaeza |
also: /home/diego/src/minetest/src/scriptapi.cpp:701:27: warning: unused variable 'ndef' [-Wunused-variable] |
20:14 |
hmmmm |
senseless |
20:15 |
sapier |
you know size of buffer if you don't know you can use sizeof(buffer) |
20:15 |
hmmmm |
unnecessary check when you know you have the space |
20:15 |
hmmmm |
i use strcpy() for copying around external strings in my programs, since they've already been length-sanitized with strlcpy() or similar |
20:16 |
celeron55 |
lol and how exactly does using MS's strcpy_s help with that? |
20:16 |
hmmmm |
internal strings rather |
20:16 |
hmmmm |
i just don't care for redundancy in code |
20:16 |
sapier |
ok I give up you beat me I'm the only one doing mistakes on coding |
20:17 |
celeron55 |
and minetest does not use strcpy; those warnings were surpressed because of memcpy making same warnings too |
20:17 |
celeron55 |
and memcpy making warnings is totally ridiculous |
20:17 |
sapier |
minetest does use strcpy |
20:17 |
hmmmm |
nevermind any of that |
20:17 |
hmmmm |
it also deprecates fopen() in favor of fopen_s() |
20:18 |
hmmmm |
yeah.. apparently fopen() is a dangerous function now. |
20:18 |
sapier |
just had a look for it :-) ... ok more precise code distributed with minetest does use strcpy |
20:18 |
celeron55 |
strcpy(argv_data[0], "/bin/rm"); |
20:18 |
celeron55 |
strcpy(argv_data[1], "-rf"); |
20:18 |
celeron55 |
lol |
20:18 |
celeron55 |
that's SO INSECURE |
20:18 |
celeron55 |
actually wtf, that's not for windows |
20:18 |
sapier |
I didn't tell there's no situation where strcpy is NOT an error ;-) |
20:19 |
celeron55 |
sapier: these aren't even built on windows, your argument is completely invalid |
20:19 |
sapier |
json isn't built on windows? |
20:19 |
celeron55 |
libjsoncpp isn't minetest |
20:20 |
sapier |
I already corrected me |
20:20 |
sapier |
but I don't want to start the next discussion about a thing I don't really care about if you wanna use those functions do it |
20:21 |
sapier |
where I work functions like that are a no go because they are common source of errors |
20:21 |
celeron55 |
of course you don't generally use them, it's obvious |
20:22 |
sapier |
if we really had to care about a single length check in minetest we had other problems ;-) |
20:22 |
celeron55 |
but it is not a reason to disallow using them in proven pieces of code that have been around for long and tested |
20:23 |
celeron55 |
when i code string stuff in C by myself, i just use snprintf everywhere; it doesn't give any actual benefit to not do so |
20:23 |
sapier |
I didn't intend to change any of that, those are 3rd party librarys I don't touch something like that |
20:23 |
hmmmm |
indeed, this sort of "code santation" is more of a feel-good measure, it doesn't actually benefit us at all |
20:24 |
hmmmm |
so, if you feel that strongly about it, perhaps you *should* fork minetest and rename it to SecureTest |
20:24 |
sapier |
not giving additional features doesn't mean not giving benefit |
20:25 |
hmmmm |
exploits prevented by not copying a string of the same length without checks of a buffer you just allocated: 400 - this is a huge benefit |
20:25 |
hmmmm |
s/of/to/ |
20:26 |
sapier |
hmmmm if you think that improving code quality is bad for minetest maybe I should do that, for the time being imho improving minetest within minetest is better way to do ... btw some months ago I've been already asked if I would participate in a fork and did deny because of that reason |
20:26 |
hmmmm |
changing strcpy() to strncpy() isn't improving code quality |
20:27 |
sapier |
plz stop about that damn strcpy |
20:27 |
sapier |
I never suggested REPLACING something |
20:27 |
|
VanessaE joined #minetest-dev |
20:27 |
hmmmm |
okay; not replacing things then |
20:28 |
hmmmm |
i'll hold you to your word |
20:28 |
sapier |
I just don't use functions like that and suggest not using them at all it's on your own if my oppinion is of any interest to you ;-) |
20:29 |
hmmmm |
anyway you never explained why operator[] is "bad" for vectors |
20:29 |
sapier |
I've got a personal dislike to [] because of having to much trouble with different compilers on using those to access arrays |
20:29 |
Exio |
well, wait |
20:30 |
sapier |
most likely that's not true to gcc anymore still I try to avoid them |
20:30 |
hmmmm |
which compilers have you had trouble with [] on? |
20:30 |
sapier |
different embedded compilers |
20:30 |
hmmmm |
all of our tier-1 supported platforms seem to have no problem |
20:30 |
sapier |
not within minetest |
20:30 |
hmmmm |
different embedded compilers that aren't actually C++, right? |
20:31 |
hmmmm |
but some sort of pseudo-C++ with a subset of features and some wacky rules |
20:31 |
sapier |
most likely not ... as I said it's a personal dislike |
20:31 |
Exio |
sapier: what about a "file" of what privs are needed by a mod? |
20:32 |
hmmmm |
i like []. it's certainly less wordy and comes more natural when speaking of an array |
20:32 |
sapier |
I don't take part on that discussion anymore exio ... in future I'll stick to complain if a feature does harm to anything else than minetest |
20:32 |
hmmmm |
that's what std::vector is. it's an array where i don't need to worry about length |
20:32 |
Exio |
ah sapier |
20:33 |
sapier |
hmmmm I see ... checking end of vector by != seams dangerous to me as someone may have done i++ within function |
20:34 |
hmmmm |
yes, but in order for that to matter, you'd need to pass i as a reference to something |
20:34 |
sapier |
sometimes this is used to break a loop from a loop within this loop |
20:34 |
hmmmm |
if you avoid references like you should in the first place you should be fine |
20:34 |
hmmmm |
oh wait.. VoxelArea::add_* |
20:34 |
sapier |
no that's not exactly what I was pointing at |
20:34 |
sapier |
wait |
20:34 |
hmmmm |
hate that crap |
20:34 |
hmmmm |
but that's an index, not something we compare to |
20:35 |
hmmmm |
all of that verbosity, v3s16 em = vm->m_area.getExte... ah fuckit, i've fallen asleep by then |
20:36 |
|
iqualfragile1 joined #minetest-dev |
20:36 |
Exio |
random thing, what about https://github.com/minetest/minetest/pull/306 ? |
20:36 |
PilzAdam |
thats old and needs to be rebased |
20:36 |
hmmmm |
you can see i tried to skirt around that problem with the 'stride length' members in classes that have a lot of matrix manipulation |
20:36 |
sapier |
if you want to do something like that http://pastebin.com/VXuM1mYH |
20:37 |
hmmmm |
sapier, i don't think i've ever written any code like that, ever |
20:38 |
sapier |
I needed to do things like that sometimes as you can't break outer loop from inner loop |
20:38 |
hmmmm |
if i were put in that situation, i'd have the outer loop check have a && !loop_quit condition |
20:38 |
hmmmm |
where loop_quit is a bool or something |
20:38 |
sapier |
yes would be another option |
20:38 |
celeron55 |
EH |
20:38 |
celeron55 |
eh* |
20:38 |
hmmmm |
more readable that way |
20:38 |
celeron55 |
goto, man |
20:39 |
hmmmm |
celeron, no, he clearly wants the inner loop to complete. |
20:39 |
sapier |
I don't use goto ;-) |
20:39 |
celeron55 |
hmmmm: well then, yes; that may be reasonable |
20:39 |
sapier |
you could move around code so goto would work |
20:39 |
celeron55 |
but anyway, goto is made for jumping out of loops |
20:39 |
celeron55 |
use it for that and it will save your ass |
20:40 |
sapier |
I don't discuss about goto and point at stroustrup |
20:41 |
hmmmm |
you really have a hardon for stroustrup, don't you... |
20:42 |
hmmmm |
don't you know? he created C++ for job security |
20:42 |
sapier |
plz read strongswan source code you'll know instantly what c++ is good for |
20:42 |
sapier |
:-) |
20:43 |
hmmmm |
that's the macro-d out C code, right? |
20:43 |
hmmmm |
i haven't seen it myself but it sounds atrocious |
20:43 |
hmmmm |
GTK, on the other hand, is OO C done right |
20:44 |
sapier |
I think there may be a reason why even gcc is written in c++ now ;-) still I don't want to discuss about programming language every one has their benefits and caveats |
20:44 |
sapier |
I've seen very bad but perfectly oo'ed code too |
20:45 |
sapier |
took me 2 weeks to understand what this code was doing ... discovering it was very impressive ... still maintenance of code like that is a nightmare |
20:46 |
hmmmm |
what, you mean strongswan? |
20:47 |
sapier |
no |
20:47 |
sapier |
code one of my coworkers did ... a c++ template fan |
20:47 |
hmmmm |
yeah, there's a reason why i have "avoid templates unless really helpful" in the coding guidelines |
20:47 |
sapier |
quite impressive what can be done with c++ if you're using full standard possibilitys |
20:48 |
celeron55 |
like avoiding []? 8D |
20:48 |
sapier |
:-) |
20:48 |
hmmmm |
hah |
20:48 |
sapier |
I doub't you don't have any bad habits celeron ;-P |
20:49 |
hmmmm |
kinda reminds me of #java people, they say arrays are depreciated |
20:49 |
celeron55 |
no i don't, obviously |
20:49 |
sapier |
lol |
20:49 |
hmmmm |
"should always be using arraylists" |
20:49 |
celeron55 |
wat |
20:49 |
PilzAdam |
hmmmm, java.util.vector FTW! |
20:49 |
sapier |
like writing a whole game without freeing a single texture on restart but loading each one again ;-) |
20:50 |
celeron55 |
well, i'm the wrong guy to laugh at java specifics though; i know nothing about that language |
20:51 |
sapier |
I assume hmmmm had a look at pathfinder code and knows about what extent of c++ standard I commonly use |
20:51 |
celeron55 |
anyhow, i got interested of the strongswan thing sapier mentioned |
20:51 |
celeron55 |
i'm currently looking at the source |
20:52 |
celeron55 |
this looks basic good C code |
20:52 |
sapier |
it's quite impressive they managed to create classes scopes exceptions and all those things in c using macros |
20:52 |
celeron55 |
i don't see any such macros here |
20:53 |
sapier |
true :-) you don't see them but they are there |
20:53 |
hmmmm |
http://git.strongswan.org/?p=strongswan.git;a=blob;f=src/starter/invokecharon.c;h=d981f6c17ca5ff93aab2260b502175263cbc4eb9;hb=HEAD#l141 |
20:53 |
sapier |
have a look at the function headers |
20:53 |
hmmmm |
:| |
20:54 |
hmmmm |
not acceptable in C if you desire C89 compatibility |
20:54 |
sapier |
what do you mean? |
20:55 |
hmmmm |
braces with no control specifier are invalid |
20:55 |
celeron55 |
C89 compatibility is pretty useless most of the time |
20:55 |
hmmmm |
that's why you'll often see #define FOO() do { \ ... } while (0) |
20:56 |
sapier |
this file isn't quite representative for strongswan coding style |
20:56 |
celeron55 |
sapier: i checked multiple files, never found anything you mentioned |
20:56 |
celeron55 |
also, yes, that file isn't like most others |
20:56 |
hmmmm |
i believe him though... look at the name of the project itself, it's camelCase |
20:56 |
hmmmm |
if that tells you anything :p |
20:57 |
sapier |
I'll have look for a file where you can see it |
20:59 |
|
sapier1 joined #minetest-dev |
20:59 |
celeron55 |
there's just basic interfaces/objects made with structs containing function pointers |
20:59 |
sapier1 |
http://git.strongswan.org/?p=strongswan.git;a=blob;f=src/libcharon/sa/ike_sa_manager.c;h=4fbc4da8e758b696c0f549e50dda6df996202162;hb=HEAD |
21:00 |
sapier1 |
METHOD ;-) |
21:00 |
sapier1 |
"privat" structs contain private methods as well as private function pointers |
21:01 |
sapier1 |
METHOD macro ensures similar behaviour as c++ class functions |
21:03 |
celeron55 |
this really isn't too special and there are like 1 or 2 macros related to this |
21:04 |
sapier |
yes did you have a look what those macros do? |
21:06 |
celeron55 |
hmm, METHOD is quite funky |
21:07 |
sapier |
that's what I meant |
21:08 |
celeron55 |
what the hell, i have no idea how this actually even works |
21:08 |
sapier |
It's creating a class in pure c++ with private and public methods as well as constructor destructor ... |
21:09 |
sapier |
pure c of course |
21:09 |
celeron55 |
but, like, it declares a function with some odd union parameter |
21:09 |
celeron55 |
and then defines it with something else |
21:10 |
sapier |
yes only public things are visible to others but still memory is allocated for private ones to |
21:11 |
celeron55 |
but really, this is still probably going to make more sane debugger errors than C++ in case of memory corruption for example |
21:11 |
sapier |
I haven't experienced anything like that ... c++ is just much more easy to read |
21:12 |
sapier |
but if you're only interested in features the strongswan way has almost same as c++ |
21:13 |
celeron55 |
i wouldn't probably use anything like that in any normal situation though |
21:14 |
sapier |
me too :-) I just had to add some features to strongswan in order to get it suitable to what I needed to do |
21:14 |
Exio |
i don't see the point for a "whole" OO in C |
21:14 |
celeron55 |
it's perfectly reasonable that they went for C when doing low level stuff like strongswan, but it seems odd that they went for such complicated structure in it |
21:15 |
sapier |
I assume this is a result of strongswan beeing developed by a university :-) |
21:16 |
celeron55 |
otoh, at work there is an extended ipsec thing that is coded in C++ |
21:16 |
sapier |
celeron even gcc is written in c++ ... so the only thing I don't know of being written in c++ is a kernel ... wait isn't windows kernel c++? |
21:16 |
celeron55 |
it's not very nice in my opinion |
21:16 |
celeron55 |
it for example uses exceptions, which are a PITA in such low level thing |
21:17 |
sapier |
I'm with you I don't like strongswan code either |
21:17 |
Exio |
You can't compare C++ with C for some stuff |
21:17 |
sapier |
what do you mean exio? |
21:18 |
celeron55 |
C++ without exceptions and without inheritance and without the standard library is kind of a good low-level language |
21:18 |
Exio |
sapier: not all people love OOP |
21:18 |
celeron55 |
and without templates |
21:18 |
Exio |
celeron55: and the point of using that is... |
21:18 |
Exio |
... nothing |
21:19 |
sapier |
without those things basicaly not much more than c is left :-) |
21:19 |
celeron55 |
the point of using that is that it allows class-based abstractions that make code more readable |
21:19 |
hmmmm |
if you don't like multiple inheritance, polymorphism, and templates, you're afraid of OOP and you don't understand it |
21:19 |
hmmmm |
</presti> |
21:19 |
sapier |
ok and of course you can use private to enforce clean interfaces (at least a bit) |
21:20 |
Exio |
well, in some way that may be useful, but i see C as a "nice to read and portable ASM" |
21:20 |
celeron55 |
also you can automate memory management in constructors and destructors |
21:20 |
sapier |
I don't like templates too but I admit hmmm is right i don't use them because I'm not used to it |
21:20 |
celeron55 |
and yes, it's a big deal |
21:21 |
hmmmm |
sapier, i'm being sarcastic |
21:21 |
Exio |
sapier: hmmmm was being sarcastic about the stuff |
21:21 |
sapier |
I like inheritance I't a quite good way to get type safty |
21:22 |
sapier |
yes it's on cost of performance ... but don't we all have at least 4 cores? |
21:22 |
celeron55 |
well, fully virtual interfaces are fine |
21:22 |
celeron55 |
it's like a typed bunch of function pointers; not a big deal |
21:23 |
sapier |
rtti is a very good feature :-) |
21:24 |
celeron55 |
not really |
21:24 |
sapier |
if you do some sort of message passing between threads ... and you do need to do things like that in multithreaded environment you can use rtti to ensure you got right message |
21:24 |
sapier |
yes you can add a type field too ... but why not make compiler do work? |
21:25 |
celeron55 |
RTTI is a direct source of clumsy library APIs |
21:26 |
sapier |
you can abuse any good feature for bad things |
21:26 |
celeron55 |
the library gives you some object with a crippled interface and a crippled interface and then does bloatloads of magic when you feed it back to the library |
21:26 |
Exio |
sapier: goto, globals |
21:26 |
celeron55 |
implementation* (the second interface) |
21:26 |
Exio |
are the same, they are good features if used "wisely" |
21:27 |
sapier |
bad example as those can be replaced without adding code or loosing features |
21:27 |
celeron55 |
globals can be replaced without adding code? lol |
21:27 |
celeron55 |
i don't know of any language that would be able to do that |
21:27 |
Exio |
and goto can be more read-able than writing a bunch of conditionales for stuff |
21:27 |
sapier |
globals are a desing issue |
21:28 |
Exio |
if you say that.. |
21:28 |
celeron55 |
globals are a very powerful shortcut in limiting code size |
21:28 |
sapier |
if your design depends on globals of course you can't replace them |
21:28 |
sapier |
but don't expect any design using globals to behave well in parallel environment |
21:28 |
celeron55 |
but you need to design so that you either use them or not really |
21:28 |
Exio |
what do you suggest for the settings? |
21:28 |
Exio |
for example |
21:29 |
Exio |
g_settings() stuff, is "like" a global (no?) |
21:29 |
sapier |
first of all you need to know who need's to know about settings and when this one needs to know it |
21:29 |
sapier |
does emerge thread for example need to know full set of settings? |
21:29 |
Exio |
so, for example, let me understand |
21:30 |
Exio |
it is like a tradeoff |
21:30 |
Exio |
"add a lot of code for this, or use a global making it WAY more clear and smaller, and doing the same thing" |
21:30 |
sapier |
there never is exact black or white |
21:30 |
sapier |
for every rule theres an exception |
21:31 |
hmmmm |
[05:29 PM] <sapier> does emerge thread for example need to know full set of settings? the emerge thread? no, the emerge manager? sure |
21:31 |
hmmmm |
[05:30 PM] <sapier> there never is exact black or white |
21:31 |
hmmmm |
someone's a democrat |
21:31 |
sapier |
ok next question when does emerge manager need to know settings? on startup or does it honor settings changes while game too? |
21:32 |
hmmmm |
nobody will ever change mapgen params |
21:32 |
hmmmm |
while the game is in session |
21:32 |
celeron55 |
that question actually goes deeper |
21:32 |
sapier |
and does emerge manager need to know about shader settings? I said full set of settings |
21:32 |
Exio |
sapier: that adds complexity |
21:32 |
hmmmm |
i think vanessa wanted to be able to modify mapgenparams in lua.... no way |
21:32 |
celeron55 |
because a mod might want to set the parameters when the mod is initialized, and that may happen after the emerge thing is initialized |
21:32 |
Exio |
or do you see 1000 files with different stuff? |
21:32 |
VanessaE |
hmmmm: er, no not really. |
21:32 |
hmmmm |
oh, you're talking about g_settings()? |
21:32 |
celeron55 |
and so on |
21:32 |
VanessaE |
I have no need for such a thing |
21:33 |
sapier |
yes and no, it adds complexity as you have to think before you start coding and no because you don't have that many side effects and cross class accesses |
21:33 |
VanessaE |
however, *reading* them from Lua is important |
21:33 |
hmmmm |
yes, emerge manager does need ot know about the shader settings |
21:33 |
VanessaE |
and being able to turn off trees from Lua would be incredibly useful |
21:33 |
VanessaE |
but that's about it |
21:33 |
hmmmm |
because if i ever need the shader settings for some odd reason, i don't want to have to move a skyscraper around to do that |
21:33 |
hmmmm |
there is no benefit to hiding the shader settings either |
21:33 |
Exio |
^ that too |
21:34 |
sapier |
vanessae is right lua for example needs access to full set of settings as it can change it |
21:34 |
sapier |
shader is even a very good example as current shader design is wrong by limitation of irrlicht noone realized |
21:34 |
hmmmm |
vanessae, the same way as with registered nodes, you'll be able to get registered decorations |
21:35 |
VanessaE |
hmmmm: good |
21:35 |
Taoki |
celeron55: About the lighting discussion last night. I know I'm a horrible person for suggesting others what to code, but I had an idea you might want to try: Can you code a hardware light to spawn in Irrlicht (for starters it can be at origin 0 0 0) and give it stencil shadows? I'm really curious if that just might do the trick in limiting where it's cast. |
21:35 |
sapier |
hmmm "if ever" for that reason you could make everything a global variable |
21:36 |
Exio |
sapier: and no, that is a extreme |
21:36 |
Exio |
an* |
21:36 |
sapier |
I know :-) but obviously everyone uses extreme positions to show his point ;-) |
21:36 |
Exio |
it *can* lead in the things you are saying |
21:36 |
Exio |
as goto can, as most of language contructs can |
21:36 |
Exio |
and they are for something |
21:36 |
hmmmm |
it's just a social construct. |
21:37 |
Exio |
making code simpler |
21:37 |
hmmmm |
it's all relative. |
21:37 |
Exio |
exactly |
21:37 |
hmmmm |
i'm just being ironic. |
21:37 |
sapier |
have a look at minetest code ... lua stack for example is accessed by fetching it from player back to environment back to server |
21:37 |
hmmmm |
totally postmodern. |
21:37 |
Exio |
hmmmm: ruby is way better because that |
21:38 |
sapier |
and if someone says this is necessary he's wrong this isn't necessary at all |
21:38 |
Exio |
meh |
21:39 |
sapier |
there's only one place where I haven't been able to remove it because I would've changed whole minetest architecture ... wich would have reduced already low chances those changeset is merged to zero |
21:39 |
celeron55 |
Taoki: 1) i'm not going to try anything, 2) no, you can't just "give a thing stencil shadows" in irrlicht |
21:39 |
Taoki |
ok :( |
21:40 |
Exio |
sapier: code in the way you like, i see using globals and goto ok for some things |
21:40 |
Exio |
and yes, kill me for that! |
21:42 |
sapier |
I won't kill anyone for anything ;-) I accept ppl having different opinions I even appreciate this. Sometimes I'm wrong too, and I'm not to proud to admit it. |
21:42 |
hmmmm |
*cough* NULL |
21:43 |
sapier |
"implementation detail" ;-) |
21:43 |
hmmmm |
implementation dependent detail |
21:43 |
sapier |
so not fixed |
21:44 |
hmmmm |
it's part of the standard meaning it can be used in the manner which the standard says so, but how it actually works underneath is implementation-dependent |
21:44 |
sapier |
we already had this discussion ;-) |
21:45 |
sapier |
another question are there any additional commits to be merged the next minutes? if not I'm gonna push merged scriptapi separation |
21:45 |
hmmmm |
memcpy() is implementation defined... that means on some platforms it might accomplish what it does by performing a satanic ritual |
21:45 |
hmmmm |
but what it does is set in stone |
21:46 |
sapier |
no comment on this discussion anymore ;-) |
21:47 |
sapier |
ok so no additional commits :-) |
21:48 |
sapier |
didn's someone dislike polymorphic classes? why does noise not even have destrctor? |
21:49 |
sapier |
wait NoiseIndev |
21:50 |
hmmmm |
NoiseIndev is proller's thing.. not mine |
21:50 |
hmmmm |
I told him to extend it rather than re-implement it |
21:50 |
sapier |
it's spaming build with warnings :-) |
21:50 |
hmmmm |
not my problem :) |
21:53 |
proller |
because nothing to delete here? |
21:54 |
sapier |
you should add an empty one in this case to tell compiler what to use |
21:54 |
sapier |
compiler is dump it doesn't know there's nothing to do |
21:57 |
proller |
ok |
21:58 |
sapier |
same for missing "virtual" if inherited compiler gets in trouble about what destructor to use |
21:58 |
celeron55 |
http://ompldr.org/vaTBobA/compiler_is_dump.jpg |
21:58 |
sapier |
:-) |
22:01 |
proller |
https://github.com/proller/minetest/commit/03191ea6db98ec09c755c255fed712c238583ddf ? |
22:09 |
|
jojoa1997|Tablet joined #minetest-dev |
22:15 |
|
ds-2k left #minetest-dev |
22:37 |
sapier |
ok scriptapi separation merge to master is quite weired :-) but result seams to be as expected :-) |
22:45 |
hmmmm |
hmmmmmmm |
22:45 |
Exio |
^ that is weird |
22:45 |
Exio |
"hmmm saying hmmmmmm" |
22:45 |
hmmmm |
hey exio |
22:46 |
hmmmm |
let's say you have a mountain and a ridge |
22:46 |
hmmmm |
what's the ground height? |
22:46 |
hmmmm |
the ridge, or the land underneath the ridge |
22:47 |
hmmmm |
(or to put it more clearly; where would you like to spawn) |
22:47 |
jojoa1997|Tablet |
the land underneath of course |
22:47 |
Exio |
i would say "depends of the mountain", it is not the same if you have a very-tilted, "down", if it is "nearly plain", the top |
22:47 |
jojoa1997|Tablet |
i would like to spawn on the mountain though |
22:48 |
hmmmm |
ya, exio, i can't figure out what the mountain depends on |
22:49 |
Exio |
i don't know really a "better" way, but if there is only one of both, i would still say depends a lot, if the ridge is very high (y:water_level+50? or similar? no idea how are the mountains), in the land, if not in the mountain |
22:50 |
hmmmm |
for an idea http://dev.minetest.net/Mapgen_V7 |
22:51 |
sapier |
you're talking about something like that on the right upper end? |
22:51 |
hmmmm |
yeah |
22:51 |
sapier |
Id prefere to spawn below in this case |
22:51 |
Exio |
i'd say the same |
22:52 |
sapier |
but I'm not even sure if this isn't a floating mountain :-) |
22:52 |
Exio |
they look awesome |
22:53 |
Exio |
and that is what i prefer over a bored terrain :P |
22:53 |
hmmmm |
i still need to put the caves and the trees in |