Time |
Nick |
Message |
00:06 |
Hijiri |
is river water going to be a flowy finite liquid? |
00:07 |
paramat |
no way =) |
00:07 |
Hijiri |
o-ok |
00:08 |
paramat |
the whole river would drain into the ocean if it was heh |
00:14 |
* Sokomine |
can't resist to think about liquid mobs that'd move around the map like liquids...flowing from a to b... |
00:14 |
* Sokomine |
picks up a bucket and removes the liquid before anything happens |
00:17 |
Hijiri |
like the lava monster mod for infiniminer? |
00:18 |
Sokomine |
i don't know them. there are some decorative lava mobs in i believe zeg9s mob modpack. they wobble around a bit |
00:20 |
Hijiri |
the lavamonster thing was a popular plugin for a modded version of infiniminer, the game would create a "snake" of lava that would follow the nearest player |
00:20 |
Hijiri |
I think you could kill it by detonating explosives when it was near, but I don't remember |
00:25 |
paramat |
i might push the river water PR later since i have simplified it on PilzAdam's request, have hmmmmm's approval and since it's partly a mapgen issue |
00:39 |
hmmmm |
i wouldn't be too pushy about things like this |
00:39 |
hmmmm |
that's a great way to gain distrust |
00:40 |
paramat |
it's risky, i guess i can wait a day |
00:54 |
paramat |
ugh my crazy scatter-brained judgement =/ |
01:40 |
|
paramat left #minetest-dev |
02:52 |
|
Zeno` joined #minetest-dev |
03:34 |
|
Yepoleb joined #minetest-dev |
03:36 |
Zeno` |
wth... the damage tilt/flash bug isn't fixed yet? |
03:38 |
VanessaE |
nope. |
03:38 |
Zeno` |
it's a single line (if that) fix |
03:39 |
Zeno` |
I'll give it one more day and just do it myself :/ |
03:39 |
Zeno` |
I thought the person who introduced the bug would have fixed it by now TBH |
03:39 |
VanessaE |
you're talking damage-disabled/creative mode right? |
03:40 |
Zeno` |
yeah |
03:40 |
VanessaE |
(I can stand in a swarm of bees all day long and watch the flash/tilt effect from the bees trying to injure me) |
03:40 |
Zeno` |
yes that one. |
03:40 |
Zeno` |
it's a very very simple fix |
03:44 |
Zeno` |
Is he here now? |
03:44 |
Zeno` |
(I know his nick isn't hehe) |
03:45 |
Zeno` |
That should have been fixed as soon as I gave the bisect. Lucky it's not critical |
03:49 |
|
leat joined #minetest-dev |
04:23 |
|
paramat joined #minetest-dev |
04:25 |
paramat |
http://i.imgur.com/ZZe6a5b.png slice of a 4D mandelbrot. surprising thing is the shape improves (smoother, more continuous) with fewer iterations, here only 12, makes mapgen faster |
04:29 |
Zeno` |
looks like a flying fish |
04:30 |
Zeno` |
fractals are supposed to get more complexity (less smooth) with more iterations :P |
04:30 |
Zeno` |
So I don't think it's surprising :) |
04:30 |
paramat |
exactly |
04:30 |
paramat |
i was about to use blur, then remembered that |
04:31 |
Zeno` |
what is that square thing on the fish's tail? |
04:31 |
Zeno` |
a dungeon? |
04:40 |
paramat |
slice of dungeon |
04:43 |
|
leat joined #minetest-dev |
04:51 |
hmmmm |
is this really what we want?? https://github.com/minetest/minetest/commit/ca5df44edb1963d4c634390d33229ec928e284dc#diff-59f99d02fe5b328bb9a57b023497b5edR390 |
04:52 |
hmmmm |
it seems to me like this totally breaks the concept behind RUN_IN_PLACE for Mac OS X |
05:11 |
|
leat joined #minetest-dev |
05:19 |
|
nore joined #minetest-dev |
05:21 |
Zeno` |
odd. I'm not sure if --world and --worldname are handled correctly |
05:21 |
Zeno` |
hmm |
05:22 |
Zeno` |
well maybe there are |
05:22 |
Zeno` |
what would be the way to start a simple single player game and skip the main menu? |
05:24 |
Zeno` |
/home/gruehunter/minetest/bin/minetest --config ~/.minetest/minetest.conf --worldname ram-test --go --random-input --address '' works |
05:24 |
Zeno` |
:/ |
05:24 |
* Zeno` |
trembles in fear |
05:29 |
Zeno` |
The comments given by minetest --help are kind of misleading |
05:30 |
Zeno` |
"--world <value> Set world path (implies local game)" and "--address <value> Address to connect to. ('' = local game)" are referring to two different things when they say "local game" |
05:46 |
|
est31 joined #minetest-dev |
06:04 |
hmmmm |
wth |
06:04 |
hmmmm |
too many things require an overhaul |
06:04 |
hmmmm |
i say we just scrap it and start over from scratch =] |
06:05 |
hmmmm |
total rewrite of minetest |
06:05 |
VanessaE |
O_o |
06:05 |
* VanessaE |
dies |
06:05 |
hmmmm |
lol |
06:05 |
VanessaE |
appropriate you should say this now: |
06:05 |
VanessaE |
you're joking of course, about flushing the existing codebase down the toilet... |
06:06 |
hmmmm |
dead serious |
06:06 |
VanessaE |
I'm in the middle of modeling a toilet to replace the one in homedecor right now :) |
06:06 |
hmmmm |
I'm about to blank all the source files and commit it |
06:06 |
hmmmm |
somebody can then make a github issue that the game doesn't exist any longer |
06:06 |
hmmmm |
"it sucks. we blew it up" |
06:10 |
hmmmm |
it's sorta like this video: https://www.youtube.com/watch?feature=player_detailpage&v=KR2cjZJQoww#t=57 |
06:15 |
|
Miner_48er joined #minetest-dev |
06:16 |
|
paramat left #minetest-dev |
06:17 |
|
leat joined #minetest-dev |
06:23 |
hmmmm |
whoops, turns out that Irrlicht was a dependency of the server the whole while thanks to a typo in porting.cpp |
06:23 |
|
Hunterz joined #minetest-dev |
06:24 |
est31 |
O-o |
06:28 |
|
leat joined #minetest-dev |
06:32 |
|
neoascetic joined #minetest-dev |
06:40 |
Zeno` |
let's do it |
06:40 |
* Zeno` |
presses the big red button |
06:45 |
|
OldCoder joined #minetest-dev |
06:48 |
Zeno` |
https://www.youtube.com/watch?v=RMXpnTJ1Lx4 |
06:49 |
est31 |
"Ends as expected." |
06:49 |
est31 |
man why is a spoiler there? |
06:53 |
hmmmm |
I guess those guys had a blast |
06:57 |
Zeno` |
the cow pad kind of does look like a mine |
06:58 |
Zeno` |
well, I'm sick of input handler now... and all I've done is move some stuff around, lol |
06:59 |
hmmmm |
i know that feel bro |
07:00 |
hmmmm |
it started out with me wanting to add solaris support for initializePaths |
07:00 |
hmmmm |
and it ends up with me basically refactoring the entire porting.cpp because i find so many problems and messiness that i can't work in |
07:00 |
hmmmm |
you really need to put blinders on to the messiness if you want to stay focused |
07:01 |
hmmmm |
i told myself that i'd have this patch done by 1:30 or else, and it's already 3 |
07:02 |
Zeno` |
well I almost ended up changing stuff in main.cpp... kind of hard to remain focused sometimes when looking at stuff leads you to having to look at other stuff and realising the other stuff needs fixing/changing/cleaning also |
07:02 |
est31 |
yea I know that |
07:02 |
hmmmm |
minetest is a full time job |
07:02 |
hmmmm |
i wish sane, efficient abstractions were chosen the first time around though |
07:02 |
est31 |
yesterday I had to fix the wstring stuff for translatePassword, because I didn't like to add wstring to my code |
07:03 |
est31 |
(thanks to ShadowNinja for pointing this out) |
07:08 |
Zeno` |
Is there a fallback mechanism for your SRP, est31? |
07:08 |
Zeno` |
i.e. for existing users using an insecure password? |
07:09 |
hmmmm |
hrmm |
07:10 |
hmmmm |
is defined(__SVR4) really needed to determine if something is solaris? |
07:10 |
Zeno` |
something like if (!srp_login(name, password) && insecure_login(name, password)) { // migrate password or tell them to change it } |
07:10 |
Zeno` |
There is no __SOLARIS ? |
07:10 |
hmmmm |
nope |
07:10 |
hmmmm |
there's __sun |
07:11 |
hmmmm |
I am assuming that __sun && __SVR4 == solaris, otherwise SunOS |
07:11 |
Zeno` |
I don't know |
07:11 |
est31 |
Zeno`, yes |
07:11 |
hmmmm |
SunOS was originally based off of BSD |
07:11 |
Zeno` |
est31, cool :) I still don't like the MP lib being in the src tree though |
07:11 |
hmmmm |
when they switched the name to Solaris they also switched the base to SVR4 |
07:11 |
est31 |
the server looks up the password entry from the auth handler |
07:12 |
Zeno` |
SunOS is a derivative of BSD? |
07:12 |
est31 |
then it looks whether it is an srp hash |
07:12 |
Zeno` |
I didn't know that |
07:12 |
hmmmm |
yes |
07:12 |
|
Krock joined #minetest-dev |
07:12 |
est31 |
if its an srp hash, its doing the srp, if its a traditional password, its still doing srp, but over the traditional has |
07:12 |
est31 |
kind of matroska here :p |
07:13 |
Zeno` |
it'd be nice to tell the user to update their password. Maybe that can be done via lua |
07:13 |
est31 |
user interaction isn't neccessary |
07:13 |
est31 |
We can directly update the password as part of the protocol |
07:13 |
Zeno` |
oh |
07:13 |
Zeno` |
I see |
07:13 |
Zeno` |
yeah |
07:13 |
Zeno` |
magic |
07:14 |
est31 |
the srp over the traditional password will get that mechanism |
07:14 |
est31 |
yea :) |
07:15 |
est31 |
so, to summarize: ShadowNinja and Zeno` are against mini-gmp, hmmmm and me are for it. |
07:16 |
Zeno` |
Why can't the person compiling minetest download it (e.g. we don't include irrlicht in the source tree) |
07:16 |
Zeno` |
sfan5 would have to update his mingw pre-compiled libs of course |
07:17 |
est31 |
what about first adding them, then letting everybody migrate, then removing them again? |
07:17 |
est31 |
eg 1 month of migration time |
07:17 |
Zeno` |
What advantage would that have? |
07:17 |
sfan5 |
updating the pre-compiled libs is no problem |
07:18 |
hmmmm |
well |
07:18 |
hmmmm |
libgmp is a GNU library |
07:18 |
sfan5 |
actually |
07:18 |
hmmmm |
typically GNU libraries give you as much trouble as possible on windows |
07:18 |
sfan5 |
does it even work out with licenses? |
07:18 |
Zeno` |
it's LGPL sfan5 |
07:18 |
sfan5 |
i see |
07:18 |
Krock |
I could try to compile libgmp on here |
07:19 |
hmmmm |
I dunno |
07:19 |
hmmmm |
the rationale was to make things more broken by requiring another dependency |
07:19 |
hmmmm |
more dependencies == more of a chance for things to go wrong |
07:19 |
Zeno` |
well, that's possible sure |
07:20 |
hmmmm |
like, I can't even compile minetest using gcc with leveldb enabled |
07:20 |
hmmmm |
thank goodness it's not a required dependency |
07:20 |
sfan5 |
are you using ubuntu 12.04, wait no |
07:20 |
sfan5 |
the leveldb package on 12.04 is completly broken |
07:21 |
Zeno` |
I've seen your stackoverflow question, hmmmm. You can't even compile int main(void) { return 0; } |
07:21 |
hmmmm |
yeah man |
07:21 |
hmmmm |
well no I can compile it, but it doesn't execute |
07:21 |
hmmmm |
irrlicht is a library with C++ linkage, I'm 99% sure it's caused by an ABI mismatch between clang and gcc |
07:22 |
hmmmm |
I really cannot advocate using C++ for a library interface to anybody |
07:22 |
est31 |
@ licenses: it seems I will have to add another copy of mini-gmp (if we decide to add mini-gmp at all), one that isn't LGPLv3+, but one that is LGPLv2.1, like minetest |
07:22 |
hmmmm |
if you want an object oriented library, make your base API in C and add the OO bits in an include file as a thin wrapper instead |
07:23 |
hmmmm |
I thought it was LGPL3 or GPL2 |
07:23 |
sfan5 |
tesseract-ocr does it the other way; the base api is c++ and there is some c -> c++ wrapper or something |
07:23 |
hmmmm |
like, you have a choice |
07:23 |
hmmmm |
yeah well tesseract-ocr is a piece of shit library just asking for an ABI incompatibility and incredible amounts of frustration when you mix and match compilers for whichever reason |
07:25 |
Zeno` |
I guess it's not an optional part of the client |
07:25 |
Zeno` |
how big is it? |
07:25 |
hmmmm |
libgmp itself is incredibly huge |
07:26 |
hmmmm |
minigmp is 4000 lines of code in a single .c file |
07:26 |
Zeno` |
mini-gmp is just one file? |
07:26 |
est31 |
140k lines |
07:26 |
est31 |
yes mini-gmp only has two files: header and c |
07:27 |
sfan5 |
this seems to be exactly like sqlite3; it's going to be a required dependency sooner or later |
07:27 |
sfan5 |
why not make it like that from the start? |
07:27 |
Zeno` |
well I guess the first thing to make sure of is that it compiles with mingw and msvc |
07:27 |
Zeno` |
yeah I thought est31 was including the entire libgmp source |
07:27 |
Krock |
It's possible to compile a .lib and .dll with mini-gmp |
07:28 |
Zeno` |
this mini-gmp is more palatable |
07:28 |
hmmmm |
he did at first until i pointed out there is a mini version |
07:28 |
est31 |
yup |
07:28 |
hmmmm |
this comes at a cost.... the mini version is much slower |
07:29 |
hmmmm |
but yeah generally it's a good idea to bundle libraries because then things simply work |
07:29 |
est31 |
original gmp takes 40 ms total computation time (client+server), mini-gmp takes 1200ms |
07:29 |
hmmmm |
it might not be nice from an organizational standpoint though |
07:30 |
Zeno` |
I don't think performance is an issue |
07:30 |
hmmmm |
it's okay for clients |
07:30 |
Zeno` |
I've changed my mind. Now it's not the full-blown library I'm more inclined to vote towards inclusion |
07:31 |
Zeno` |
I assume the prototypes are the same though, so those *with* libgmp can use it? |
07:31 |
hmmmm |
yes |
07:31 |
Zeno` |
well, everyone is happy. Those wanting performance can use the "unsupported" libgmp :D |
07:32 |
hmmmm |
oh btw est31 did you ever figure out that undefined reference problem |
07:32 |
est31 |
? |
07:32 |
est31 |
what do you mean |
07:33 |
hmmmm |
i thought you were having an issue compiling on linux because of some undefined reference error |
07:33 |
est31 |
ah yes |
07:33 |
est31 |
I have fixed it |
07:33 |
* est31 |
tries to remember how |
07:34 |
sfan5 |
why do people keep messing with shit |
07:35 |
sfan5 |
the windows builds are now names Minetest-something instead of minetest-something |
07:35 |
est31 |
it has been my own mistake |
07:35 |
est31 |
sfan5, its most likely SN's build system cleanup patch |
07:36 |
est31 |
so hmmmm the issue was that there were some functions that I have added during porting |
07:37 |
est31 |
mostly thin wrappers around functions that are more powerful in gmp than in openssl |
07:37 |
est31 |
so that I don't have to copy-paste all those invocations |
07:38 |
est31 |
now the problem has been that I've declared them but forgotten to add "static". |
07:38 |
sfan5 |
SN also made some but not all endif(USE_CURL) be endif() |
07:38 |
sfan5 |
it's less readable |
07:38 |
hmmmm |
ahh okay |
07:38 |
hmmmm |
makes sense |
07:39 |
est31 |
somehow gcc compiled them anyway, but clang didnt. |
07:40 |
Zeno` |
I didn't think inline static made sense... but I guess it does :3 |
07:41 |
est31 |
? |
07:42 |
Zeno` |
https://github.com/minetest/minetest/pull/2620/files#diff-765e4fc5d8245871d9a5a4db834e4631R217 |
07:42 |
hmmmm |
haha |
07:42 |
hmmmm |
oh gosh |
07:42 |
Zeno` |
I didn't know that was possible. *shrug* |
07:42 |
hmmmm |
"* sizeof(char)" and "if (ptr) free(ptr)" are sure signs of a C novice =] |
07:43 |
sfan5 |
hm |
07:43 |
Zeno` |
I commented two minutes ago on if (ptr) free(ptr) :P |
07:43 |
sfan5 |
iirc free does not need to take a null ptr |
07:43 |
sfan5 |
anyway |
07:43 |
est31 |
seen that comment |
07:43 |
sfan5 |
i told SN that it's stupid to have project(Minetest) and use lowercase everywhere |
07:43 |
sfan5 |
a lowercase function* |
07:44 |
|
err404 joined #minetest-dev |
07:45 |
Zeno` |
I'm not sure about these casts, est31 |
07:45 |
hmmmm |
those aren't his casts |
07:46 |
Zeno` |
e.g. the one on line 228 of string.cpp |
07:46 |
Zeno` |
oh? |
07:46 |
hmmmm |
oh |
07:46 |
hmmmm |
i thought you meant the casting-const-away casts in srp.c |
07:46 |
Zeno` |
ah, no |
07:47 |
hmmmm |
those look weird but they're the CSRP author's attempts to make SRPUser a completely opaque data type |
07:47 |
|
err404 joined #minetest-dev |
07:48 |
hmmmm |
in any case I feel like mini-gmp shouldn't be in util/ |
07:48 |
hmmmm |
maybe its own directory huh |
07:48 |
Zeno` |
yeah |
07:48 |
est31 |
good idea |
07:48 |
|
kilbith joined #minetest-dev |
07:49 |
hmmmm |
eventually i'd like to move these all into a third_party/ directory or something |
07:49 |
Zeno` |
yep |
07:49 |
est31 |
what about the sha function files I added? |
07:49 |
Zeno` |
nice work btw est31 |
07:49 |
hmmmm |
that's okay because there's already a sha1 in util |
07:49 |
hmmmm |
yeah nice work |
07:49 |
Zeno` |
ok, I'll bbl |
07:50 |
hmmmm |
i need to look at it better |
07:50 |
hmmmm |
it looks great so far though |
07:51 |
|
Taoki[mobile] joined #minetest-dev |
07:51 |
est31 |
I have to do some polishing still |
07:52 |
est31 |
eg freeing some buffers given to csrp |
07:52 |
hmmmm |
i don't think the SRP things should be in util/string.cpp at all |
07:52 |
hmmmm |
that's definitely out of place |
07:52 |
est31 |
its where translatepassword is |
07:52 |
hmmmm |
translatepassword shouldn't be there either |
07:53 |
hmmmm |
like wtf that has nothing to do with strings |
07:53 |
hmmmm |
that has to do with auth |
07:53 |
est31 |
also those functions only do the verification key calculation |
07:53 |
est31 |
so make new file util/auth.cpp? |
07:53 |
hmmmm |
maybe there should be a new file, like util/ |
07:53 |
hmmmm |
yeah. |
07:53 |
est31 |
ok |
07:53 |
hmmmm |
that's exactly what i was in the process of typing |
07:53 |
est31 |
:D |
07:58 |
|
cib0 joined #minetest-dev |
08:01 |
|
Yepoleb_ joined #minetest-dev |
08:16 |
|
Taoki[mobile] joined #minetest-dev |
08:37 |
|
kilbith joined #minetest-dev |
08:37 |
|
chchjesus joined #minetest-dev |
08:44 |
|
ElectronLibre joined #minetest-dev |
08:49 |
|
jin_xi joined #minetest-dev |
08:58 |
|
nrzkt joined #minetest-dev |
09:26 |
|
VargaD joined #minetest-dev |
09:36 |
|
cib0 joined #minetest-dev |
09:41 |
|
MinetestForFun joined #minetest-dev |
09:42 |
|
MinetestForFun_ joined #minetest-dev |
09:57 |
|
Taoki joined #minetest-dev |
09:59 |
|
selat joined #minetest-dev |
10:30 |
|
err404 joined #minetest-dev |
10:34 |
|
blaze joined #minetest-dev |
10:40 |
est31 |
now why is this happening: https://travis-ci.org/minetest/minetest/jobs/59017470 |
10:40 |
est31 |
nothing changed |
10:40 |
est31 |
ok I've moved mini-gmp into its own directory |
10:40 |
est31 |
but still |
10:41 |
|
Fritigern joined #minetest-dev |
10:41 |
est31 |
only theory I have right now is that it didn't work all the time |
10:41 |
est31 |
and always used mini-gmp |
10:46 |
est31 |
I mean the invocation of the compiler *does* get a -lgmp |
10:47 |
est31 |
and the compilers man pages sais the compiler then searches for .a files in standard paths |
11:14 |
|
leat joined #minetest-dev |
11:29 |
est31 |
ok travis successfully builds now .. USING REAL LIBGMP FOR THE FIRST TIME |
11:51 |
|
SudoAptGetPlay joined #minetest-dev |
12:02 |
|
cd2 joined #minetest-dev |
12:02 |
cd2 |
hi |
12:04 |
cd2 |
whats the type of client->getNodeDefManager()->get(n).name? (game.cpp - class Game) |
12:05 |
nrzkt |
std::string (struct ContentFeatures) |
12:06 |
cd2 |
thx |
12:07 |
cd2 |
but, Why dont that works? if(nodedef->get(n).name == (std::string)"default:stone") |
12:08 |
nrzkt |
strcmp ? |
12:08 |
est31 |
first you dont need the cast |
12:08 |
est31 |
in c++ you can directly compare using == |
12:09 |
cd2 |
est31 : i know |
12:10 |
cd2 |
oh, right - I didnt mind strcmp :) |
12:11 |
est31 |
strcmp isnt c++ style |
12:13 |
nrzkt |
it's libc, C not C++ |
12:23 |
cd2 |
yay, strcmp works |
12:24 |
cd2 |
It works very very very great XD, thank you for helping |
12:26 |
est31 |
strcmp is good for 0 terminated strings |
12:26 |
est31 |
but not when the string holds binary data |
12:26 |
est31 |
then == is better |
12:26 |
est31 |
I mean the only working one |
12:29 |
|
MinetestForFun joined #minetest-dev |
12:50 |
|
Zeno` joined #minetest-dev |
12:54 |
|
ElectronLibre joined #minetest-dev |
13:01 |
Zeno` |
nrzkt, the tilt/damage flash bug isn't fixed yet? :( |
13:01 |
nrzkt |
*i was in holiday in a foreign country |
13:02 |
Zeno` |
I don't recall you asking permission to have a holiday away from minetest |
13:02 |
Zeno` |
:P |
13:02 |
nrzkt |
tsss :) |
13:28 |
|
cib0 joined #minetest-dev |
13:30 |
|
SopaXorzTaker joined #minetest-dev |
13:55 |
|
kilbith joined #minetest-dev |
14:09 |
|
selat joined #minetest-dev |
14:45 |
|
blaze joined #minetest-dev |
14:45 |
ElectronLibre |
Hello, I need opinions on game#494 which I crafted from Ombridride's one (game#492) and improved as PilzAdam told Ombridride to, please (I'm working on the PR because he is occupied). |
14:45 |
ShadowBot |
https://github.com/minetest/minetest_game/issues/494 -- Simplified flowers registration by LeMagnesium |
14:45 |
|
MinetestForFun joined #minetest-dev |
14:47 |
|
jin_xi joined #minetest-dev |
15:08 |
|
SudoAptGetPlay joined #minetest-dev |
15:14 |
|
Calinou joined #minetest-dev |
15:33 |
|
kilbith joined #minetest-dev |
15:50 |
|
hmmmm joined #minetest-dev |
15:53 |
|
neoascetic joined #minetest-dev |
16:04 |
|
ElectronLibre joined #minetest-dev |
16:18 |
|
MinetestForFun joined #minetest-dev |
16:34 |
|
SopaXorzTaker joined #minetest-dev |
17:02 |
|
Miner_48er joined #minetest-dev |
17:22 |
|
err404 joined #minetest-dev |
17:28 |
nrzkt |
est31: deployed with u16 could be great. u8 is too low, if we are doing a new protocol it's better i think |
17:28 |
nrzkt |
to prevent a very very future incrementation |
17:29 |
est31 |
I'm only doing the srp |
17:30 |
nrzkt |
okay |
17:30 |
est31 |
I also make the client send the v25 packet, but only if v25 is activated |
17:31 |
est31 |
so we can freely change v25 |
17:31 |
est31 |
until we think its stable |
17:31 |
est31 |
then we increment the number |
17:31 |
est31 |
and everybody can test it |
17:31 |
est31 |
then we wait until everybody has tested |
17:31 |
est31 |
then we release :) |
17:32 |
nrzkt |
i will add more network changes with this protocol next weeks, low layer modifications |
17:42 |
jin_xi |
#2605 is a 2 line change to fix a bad bug with particle spawners. can someone please review? |
17:42 |
ShadowBot |
https://github.com/minetest/minetest/issues/2605 -- fix particles oversight by obneq |
17:43 |
|
leat joined #minetest-dev |
17:44 |
est31 |
can you provide some code to reproduce the issue? |
17:44 |
est31 |
ShadowNinja has labeled it unconfirmed |
17:45 |
jin_xi |
http://paste.ubuntu.com/10845979/ |
17:45 |
VanessaE |
https://github.com/VanessaE/homedecor_modpack/commit/fb768d039dd7277e9f8ad56014485618f67d8eb7 |
17:45 |
VanessaE |
at line 185, set the time to zero |
17:46 |
VanessaE |
(this commit is waiting for some code by me, and for jin's fix so that I can set the time to 0 for real) |
17:47 |
jin_xi |
try my test mod, set time to 0 to see this bug |
17:47 |
jin_xi |
also try some expiring spawners and see server ids never freed |
17:47 |
jin_xi |
#2602 adresses this issue if you want to confirm that as well |
17:47 |
ShadowBot |
https://github.com/minetest/minetest/issues/2602 -- move particle spawners to env by obneq |
17:51 |
nrzkt |
the code seems correct, because the particle is created but never used... also this is a memleak because we affect particle without deleting it |
17:57 |
est31 |
no there is no leak |
17:57 |
est31 |
look at particles.cpp line 376 |
17:58 |
jin_xi |
non expiring spawners new particles are never added to update queue atm so they are never expired |
17:58 |
jin_xi |
so placing spawner with time 0 results in growing blob of non moving particles |
18:00 |
jin_xi |
just compare lines 271 and 311 and immediately after new Particle() |
18:08 |
jin_xi |
http://i.imgur.com/mcA6cMi.png here is what i get from a single non expiring spawners after half a minute |
18:08 |
jin_xi |
note the fps |
18:09 |
est31 |
I can confirm now |
18:12 |
|
Krock joined #minetest-dev |
18:13 |
est31 |
fine |
18:13 |
est31 |
Have tested it and works |
18:13 |
est31 |
nrzkt, can I push it? |
18:13 |
nrzkt |
you can, no problem for me |
18:14 |
VanessaE |
jin_xi: *looks at your FPS* wat? |
18:14 |
VanessaE |
ouch |
18:15 |
jin_xi |
well particles keep accumulating |
18:16 |
|
leat joined #minetest-dev |
18:16 |
est31 |
pushed |
18:16 |
jin_xi |
thank you |
18:16 |
kilbith |
i tested your 1st attempt for the irrlicht particles... |
18:16 |
kilbith |
1st punch, *boom* : -30 FPS |
18:18 |
nrzkt |
irrlicht particles are very slow on intel GPU. With my AMD GPU it's a little bit better but i think needs a little bit more optimization |
18:18 |
jin_xi |
weird its fine on my integrated intel |
18:19 |
est31 |
next time: more explanations, and perhaps sample code would get it merged faster |
18:20 |
nrzkt |
before merge i will test it on some GPU to be sure |
18:22 |
VanessaE |
when I tested the original irrlicht particles on my HD6870 GPU at the time (if I remember right), I had to put several thousand particles on-screen before my FPS started to drop below 60 |
18:22 |
VanessaE |
of course that's intel integrated, but you get the point. |
18:22 |
jin_xi |
est31: bug was not reported for 6 months, fix was merged plenty fast |
18:23 |
jin_xi |
but you are right. im gonna attach that code to the other issue and also my trivial pathfinder mod to that issue |
18:24 |
|
leat joined #minetest-dev |
18:55 |
|
leat joined #minetest-dev |
19:09 |
|
SudoAptGetPlay joined #minetest-dev |
19:28 |
|
OldCoder joined #minetest-dev |
19:50 |
|
est31 joined #minetest-dev |
20:05 |
est31 |
hmmmm, found out why wikipedia states that "equivalence" wrongly |
20:06 |
est31 |
or at least a possible explanation |
20:06 |
est31 |
there is a website by srp creator thomas wu: http://srp.stanford.edu/ndss.html |
20:06 |
est31 |
it sais "user passwords are stored in a form that is not plaintext-equivalent to the password itself, so an attacker who captures the password database cannot use it directly to compromise security and gain immediate access to the host" |
20:07 |
est31 |
That is right, and I guess he has written it because at the time, other protocols were used, where there was a similar requirement |
20:07 |
est31 |
for example there is one protocol, where the password is directly hashed with the challenge |
20:07 |
est31 |
pure stupidity, as you can't even store the hash, but have to store the password in clear |
20:08 |
est31 |
people came up with an ugly hack, not storing the hash, but the internal SHA-1 state |
20:08 |
est31 |
before finalisation and so |
20:08 |
est31 |
thats even worse then SHA |
20:08 |
est31 |
just wanted to share. |
20:17 |
est31 |
btw, somehow this srp requires vast amount of space |
20:17 |
est31 |
so you get this in auth.txt: |
20:17 |
est31 |
est31:$1$eEpP+cmXlMWWza05zJbQZW4AAABkAAAAIQAAAAAAAAA$LX4/UNn38ZWacODx82U3ZecqSa1SXQF+mKtyEDHJBqDc7mnnkl0OVoVQ9HNAfq52iryMI4eV3+liaR4K2COMD3WLoy60AxQQigBxBh4TB0E2Z+PGKqIvsjKpFuCRaT88URqqZzcI8SK+n33sqQ5LenABPmDvIUCoxF24xLow2p627HOECmkRy2MVq+CcJbsm5ufOAzK4y1qcocJcUaMIn4HbedO9aY+bOy41YHPMny35RTh5czSUKbiUDVcJgMPHHfm1KcdIDnRG7Cn3xEzwf6TVKejFS8Enf3XRvj6TigTfgDU69K2ggLldai6xgPSSQ0Sl3FfhBykjESHzzkfUOw:interact,shout:1429388138 |
20:17 |
VanessaE |
O_O |
20:24 |
|
paramat joined #minetest-dev |
20:25 |
est31 |
so it *can* be lowered, but I don't know how secure it would be then |
20:25 |
est31 |
usual tradeoff |
20:25 |
est31 |
perhaps we could make a shadow.txt containing the auth data instead? |
20:26 |
est31 |
but I guess thats another PR |
20:26 |
est31 |
because the code is quite well separated |
20:26 |
est31 |
inside lua |
20:28 |
paramat |
sfan5, ShadowNinja, please can i push game#493 later? |
20:28 |
ShadowBot |
https://github.com/minetest/minetest_game/issues/493 -- Default: Add river water by paramat |
20:31 |
|
luizrpgluiz joined #minetest-dev |
20:33 |
sfan5 |
paramat: aside from having a different water for rivers being inconvenient, seems ok |
20:39 |
|
MinetestForFun joined #minetest-dev |
20:45 |
ShadowNinja |
paramat: I don't like the seperate water node. I'd prefer a flag in param2 or something like that. |
20:46 |
Calinou |
yeah, keep it to 1 water node |
20:46 |
Calinou |
I'd rather see acid/slime |
20:49 |
paramat |
okay i'll try to figure out how to do that with param2 |
20:49 |
paramat |
if that's possible |
20:50 |
paramat |
although it may need to be a separate node because the biome API needs to recognise it and replace it |
20:51 |
ShadowNinja |
All my cleanups are starting to conflict with each other :-( |
20:52 |
hmmmm |
shadowninja, they're too large |
20:52 |
hmmmm |
i'm sorry' |
20:53 |
ShadowNinja |
Yeah. |
20:53 |
hmmmm |
maybe if they were smaller easily reviewable chunks |
20:53 |
hmmmm |
and they'd have less of a chance to conflict too |
20:55 |
paramat |
param1 and param2 are in use for water, i think it will have to be a separate node, since the biome API uses a voxelmanip, i think this will be simpler |
20:55 |
paramat |
and this will only be used in new mapgen, not mg5/6/7 |
20:55 |
|
leat joined #minetest-dev |
20:56 |
ShadowNinja |
hmmmm: Have you checked https://github.com/minetest/minetest/pull/2628 yet? |
20:57 |
hmmmm |
for like 5 minutes |
20:57 |
hmmmm |
64 files changed, lol |
20:57 |
ShadowNinja |
(fixing Android build now, aparently the page that said that __android_log_text was a thing lied) |
20:57 |
hmmmm |
even if that were mergable, it'd break everybody elses' pull requests |
20:57 |
paramat |
i think a separate node will be faster to process during mapgen, due to having a different content id |
20:58 |
hmmmm |
shadowninja, maybe it would be a smarter idea to keep these __FUNCTION_NAME and infostreams as aliases and make gradual changes |
20:58 |
ShadowNinja |
hmmmm: It doesn't break much, just debug.*, log.* and parts of main.cpp mostly. |
20:59 |
hmmmm |
but you've got to ask; why change infostream to warningstream to begin with? it doesn't seem like it's really helping minetest that much |
20:59 |
ShadowNinja |
hmmmm: infostream and friends are still around. I don't think I've seen __FUNCTION_NAME used in any PRs, and it's a trivial fix if it is. |
21:00 |
hmmmm |
yeah but when PRs go to merge they're going to have a merge conflict |
21:00 |
hmmmm |
because it's going to expect infostream |
21:00 |
est31 |
my PR has |
21:00 |
hmmmm |
and maybe not used directly |
21:00 |
ShadowNinja |
hmmmm: I just *added* warning stream. It's used instred of *stream<<"WARNING: ... |
21:00 |
hmmmm |
and totally fine |
21:00 |
ShadowNinja |
infostream is still around. |
21:00 |
est31 |
yes |
21:00 |
hmmmm |
changes need to be gradual though |
21:01 |
hmmmm |
this big change-everything strategy simply does not work |
21:01 |
hmmmm |
it worked when you had a small project |
21:01 |
ShadowNinja |
You can't really fix the worst parts without breaking other things. |
21:02 |
hmmmm |
i'm concerned about breaking PRs |
21:02 |
ShadowNinja |
My logging PR is a minimal-conflict PR though. |
21:02 |
hmmmm |
how about we clear out the PR backlog and then we'll see what we can do with large, sweeping changes |
21:03 |
hmmmm |
man, 64 changed files and you say it's minimal conflict |
21:03 |
hmmmm |
but how can you really be sure about that |
21:03 |
hmmmm |
64 changed files! |
21:03 |
hmmmm |
64! |
21:03 |
hmmmm |
my largest commits never touched more than 16 files |
21:03 |
ShadowNinja |
Mostly just __FUNCTION_NAME and *stream<<"WARNING: ->warningstream<<" changes. |
21:04 |
hmmmm |
so let's say we did merge this right away |
21:04 |
hmmmm |
what do we gain by having it all at once |
21:04 |
hmmmm |
and what happens when people start complaining about conflicts |
21:05 |
hmmmm |
and how about for src/socket.cpp, you changed the dstream to a warningstream |
21:05 |
hmmmm |
that's really not a warning at all |
21:06 |
hmmmm |
I'm worrying this might make things too verbose in general |
21:06 |
ShadowNinja |
hmmmm: Well, the __FUNCTION_NAME change isn't essential, and i could leave the warning thing. socket.cpp states it's a warning, if it isn't it shouldn't have said that. |
21:06 |
sfan5 |
what's with that face_position_cache.cpp? |
21:06 |
sfan5 |
how does it relate to logging? |
21:07 |
kahrl_ |
I was about to ask that, same for the util/numeric.h changes? |
21:07 |
hmmmm |
you removed CONTAINS()? |
21:07 |
hmmmm |
:( |
21:07 |
hmmmm |
that could be useful to other source files |
21:07 |
ShadowNinja |
sfan5: I moved it out of numeric.h because it was pulling in some more headers, it's only used in two places, and it's rather Minetest-specific. |
21:08 |
sfan5 |
you should name your PRs better |
21:08 |
sfan5 |
what you've done is clean up 2 or 3 unrelated things |
21:08 |
hmmmm |
but I mean other than those things the Pr is fine |
21:08 |
sfan5 |
but your PR is called "Clean up logging" |
21:08 |
|
proller joined #minetest-dev |
21:08 |
ShadowNinja |
hmmmm: It pulled in <algorithm> in every file that used numeric and it's only used in two files. |
21:08 |
hmmmm |
it shouldn't need <algorithm> included unless the file uses it |
21:08 |
ShadowNinja |
sfan5: I sometimes get a bit carried away, yes. |
21:09 |
hmmmm |
so keep the macro in the file and move <algorithm> to the files which do use it |
21:09 |
hmmmm |
that was my bad |
21:09 |
ShadowNinja |
hmmmm: Seems fair enough. |
21:09 |
sfan5 |
<hmmmm> maybe if they were smaller easily reviewable chunks |
21:09 |
est31 |
cleanups are good, but commits should focus on separate things. |
21:09 |
sfan5 |
try not to put too much into a PR |
21:09 |
hmmmm |
will changing the meaning of debug_log_level values mess up peoples' config files? |
21:11 |
ShadowNinja |
hmmmm: For anyone that uses that setting, yes. I think that it should be changed to a string setting so that levels can be added without breaking everything. |
21:11 |
ShadowNinja |
I didn't get to that yet though. |
21:12 |
* ShadowNinja |
will do that now. |
21:12 |
sfan5 |
ShadowNinja: why s/ARRLEN/ARRAY_SIZE/? |
21:12 |
ShadowNinja |
sfan5: Readability. |
21:13 |
sfan5 |
really? |
21:13 |
sfan5 |
IMO both are equally readable. |
21:13 |
ShadowNinja |
*shrug* |
21:15 |
sfan5 |
ShadowNinja: why remove the log-level examples (log.h)? |
21:16 |
ShadowNinja |
sfan5: Most of them seemed obvious. I added more concise comments for the others. |
21:17 |
sfan5 |
ShadowNinja: the only additionall thing is "// Special level that is always printed" |
21:18 |
hmmmm |
yeah |
21:18 |
hmmmm |
ARRLEN is just as readable |
21:18 |
ShadowNinja |
sfan5: And "// In-game actions" |
21:18 |
kahrl_ |
oh btw, "grep -R 'sizeof.*sizeof' src" reveals a bunch of places that could benefit from using ARRLEN/ARRAY_SIZE |
21:18 |
hmmmm |
and i need to point out it's not always a global string replace. changing identifier names with longer ones might push some pieces of code onto new lines |
21:18 |
sfan5 |
ShadowNinja: that ones was already there before |
21:19 |
sfan5 |
ShadowNinja: "" /* In-game actions ("celeron55 placed block at (12,4,-5)") */ "" |
21:19 |
hmmmm |
i vote for changing back to ARRLEN. |
21:19 |
paramat |
yeah i'm sure river water has to be a separate node, mapgen will be slower and more complex having to set or read a special parameter, the separate content id helps a lot. please can i push? =) |
21:19 |
hmmmm |
paramat: sure.. |
21:19 |
sfan5 |
<hmmmm> i vote for changing back to ARRLEN. |
21:19 |
* sfan5 |
too |
21:19 |
est31 |
*too |
21:20 |
sfan5 |
est31: /me <text> |
21:20 |
sfan5 |
(if your irc client does not have that you are probably using netcat ;) ) |
21:20 |
est31 |
lol |
21:20 |
sfan5 |
https://github.com/minetest/minetest/pull/2628/files#diff-7ec3c68a81efff79b6ca22ac1f1eabbaR193 |
21:20 |
sfan5 |
i think this is less readable |
21:20 |
est31 |
yes I know that just didnt use it that time |
21:20 |
sfan5 |
having an #ifdef in the middle of an expression |
21:21 |
sfan5 |
just to save some bytes or something |
21:23 |
ShadowNinja |
O.K. |
21:24 |
hmmmm |
agreed I hate that |
21:24 |
hmmmm |
i saw a rather extreme example in porting.h and i want to change it there |
21:29 |
est31 |
man this is stupid |
21:29 |
est31 |
I have srp login set up and everythin works then it sais: supplied wrong (SRP) password from address 127.0.0.1 |
21:30 |
est31 |
it means I have to find a way to debug srp itself |
21:31 |
est31 |
I'll let both hash the verifier first to make sure |
21:31 |
est31 |
then print that to stdout |
21:58 |
|
paramat left #minetest-dev |
22:04 |
hmmmm |
wow I look at all this crap in porting.cpp and I wonder how on earth it actually works |
22:04 |
hmmmm |
need to resist the urge to make radical changes |
22:48 |
est31 |
hmmmm, you dislike passing arguments as references, don't you? |
22:48 |
est31 |
now I have following code: https://github.com/minetest/minetest/pull/2620/files#diff-2d67c2347848dbd1d1d74e4b8d608694R112 |
22:48 |
est31 |
Its shit |
22:48 |
est31 |
obviously |
22:49 |
est31 |
I'm passing pointers to a stack string's c string representation |
22:49 |
est31 |
now I want to "return" both salt_str and bytes_v_str |
22:50 |
est31 |
If you know a way thats nicer than references please tell |
22:50 |
est31 |
(in order to fix) |
22:53 |
est31 |
oh, having strings makes things more complicated |
22:53 |
hmmmm |
est31, references are okay |
22:54 |
* est31 |
sighs and does malloc and free |
22:54 |
hmmmm |
the rule is to not pass references as arguments that are non-const |
22:54 |
hmmmm |
const std::string &<foobar> is fine |
22:54 |
est31 |
yes |
22:54 |
hmmmm |
std::string &foobar is not |
22:54 |
est31 |
my question was about the latter one |
22:55 |
hmmmm |
you want to make it clear that if a variable could be modified, it's going to be a pointer |
22:56 |
est31 |
either way I'm coping |
22:56 |
est31 |
either with the = operator |
22:57 |
est31 |
or ... with the = operator |
22:57 |
est31 |
:) |
22:58 |
|
proller joined #minetest-dev |
23:08 |
ShadowNinja |
I've changed ARRAY_SIZE to ARRLEN, changed debug_log_level to a string setting (with a compatability wrapper for the old format), and changed the game_params.is_dedicated_server thing. |
23:09 |
hmmmm |
well |
23:09 |
ShadowNinja |
And changed the socket.cpp windows warning ignoring thing to infostream. |
23:09 |
hmmmm |
I don't know if the second item there is worth it. debug_log_level being consistent for people is sort of irrelevant since the majority of the stream levels have been modified |
23:10 |
hmmmm |
and the number format is good because it's simpler to implement and has a well-defined order to it |
23:10 |
hmmmm |
my previous statements about reverse compatibility, now that i think about it, are wrong |
23:10 |
ShadowNinja |
hmmmm: Well, I like it better this way, and at this point it's more work to change it back. |
23:10 |
hmmmm |
okay then. |
23:11 |
|
Miner_48er joined #minetest-dev |
23:11 |
ShadowNinja |
Should I undo the __FUNCTION_NAME thing? |
23:12 |
ShadowNinja |
I don't think it has any conflicts, but if it'll get this merged faster... |
23:12 |
hmmmm |
no that's definitely a good change |
23:12 |
ShadowNinja |
Alright, good. |
23:13 |
ShadowNinja |
I think I'll add a string_to_level helper or similar, since minetest.log uses pretty much the same code as init_log_streams now. |
23:24 |
|
Wayward_Tab joined #minetest-dev |
23:47 |
ShadowNinja |
Should the main thread's logging thread name be changed to "Main" or "MainThread" to be consistent with the casing of the other thread names? |