Time |
Nick |
Message |
00:17 |
|
ImQ009 joined #minetest-dev |
00:21 |
|
diemartin joined #minetest-dev |
00:23 |
diemartin |
Tesseract, https://gist.github.com/kaeza/fed2afb264afc7f5cae2 </random> |
00:27 |
|
MinerDad joined #minetest-dev |
00:28 |
diemartin |
^ that is with stock Lua (i.e. no luajit); string_split_1 is Minetest's implementation, second one I just coded for fun |
00:28 |
diemartin |
wrong chan I guess |
00:51 |
|
MinerDad joined #minetest-dev |
01:52 |
kaeza |
also, may be interesting to someone, but with `("a"):rep(10000)`: string_split_1: 1026.9/s | string_split_2: 2682149.4/s |
01:53 |
kaeza |
also, lua_api.txt does not mention what "separator" is (it's a pattern, not a plain string) |
01:53 |
kaeza |
not sure if this is intended |
02:38 |
|
Zeno` joined #minetest-dev |
03:22 |
|
paramat joined #minetest-dev |
03:26 |
paramat |
hmmmm, getting close now, the offending commit is on dec 8th between 638f3a8 (good) and 4f23778 (bad). that narrows it down to 3 commits, one of which is yours |
03:30 |
paramat |
the other 2 commits seem to be unrelated so it seems to be your commit https://github.com/minetest/minetest/commit/2fd3d5202051e03303ac2b8e76976a7c4c8477f3 |
03:47 |
paramat |
bisecting complete, the above is confirmed `=P but i will double check |
03:47 |
|
blaise joined #minetest-dev |
03:47 |
paramat |
ah man that was exhausting |
03:55 |
Zeno` |
You're doing the bisect again? |
03:55 |
paramat |
first time |
03:55 |
Zeno` |
oh, sorry. I misunderstood |
03:56 |
paramat |
i just need to double check by compiling one more version |
03:56 |
Zeno` |
yep |
03:56 |
Zeno` |
I do that as well |
03:56 |
paramat |
but later after food |
04:06 |
|
MinerDad joined #minetest-dev |
04:07 |
kahrl |
Krock noticed the creative icon has a black background, will push a fix in 10 minutes |
04:08 |
kahrl |
I will* |
04:10 |
paramat |
the buggy commit is big, i'll check it as best i can, lots of noise interpolation stuff which coould be the cause |
04:11 |
paramat |
*could |
04:14 |
paramat |
i couldn't get git bisect or git reset to work so i bisected manually :P' |
04:27 |
Zeno` |
you did it all manually? :-o |
04:28 |
Zeno` |
you must get git bisect to work; makes life so much easier |
04:30 |
Zeno` |
I noticed that Tesseract has commented on #1963 |
04:30 |
ShadowBot |
https://github.com/minetest/minetest/issues/1963 -- Add doxygen comments to itemdef.h by MinerDad7 |
04:31 |
Zeno` |
Quite possibly we need Doxygen Commenting Style Guidelines ;) (e.g. I prefer the /** style */ comments for stuff that is doxygen related so it's (more) obvious that it's meant for generated documentation rather than something meant only to "stay within the src code" |
04:33 |
Zeno` |
I agree that some of the comments are useless and in that case I'd probably like to see an empty doxygen comment before the function rather than none at all; I'm not 100% sure about this though |
04:39 |
Zeno` |
Any comments on studying whether or not it's worth migrating from zlib to snappy (https://code.google.com/p/snappy/)? |
04:39 |
Zeno` |
Obviously it will break compatibility (if implemented), but I guess that would be a protocol bump. Maybe zlib AND snappy could be supported |
04:51 |
|
hmmmm joined #minetest-dev |
04:53 |
hmmmm |
phew back |
04:53 |
paramat |
O/ |
04:59 |
hmmmm |
so it was the new parameter commit |
04:59 |
hmmmm |
alright, if anything, I'm betting it's not the lacunarity but rather the flags |
04:59 |
hmmmm |
shit |
04:59 |
hmmmm |
i know what the problem is |
05:00 |
hmmmm |
your 2d noise isn't being eased because you probably specified the Z size paramater > 1 |
05:01 |
hmmmm |
can you paste the code in watershed that uses it? |
05:01 |
paramat |
ah yes i always specify spread with 3 numbers even for 2d noise |
05:02 |
paramat |
https://github.com/paramat/watershed/blob/master/init.lua |
05:02 |
paramat |
for some reason 3 numbers seemed required a while ago, even for 2d noise |
05:03 |
hmmmm |
that's definitely odd |
05:03 |
hmmmm |
ermm |
05:03 |
hmmmm |
so when you're creating a noise object, you don't explicitly specify if it's for 2d or 3d noise |
05:04 |
hmmmm |
instead, it just has a single ctor and the 'size Z' parameter has a default of 1 |
05:04 |
hmmmm |
so if sz <= 1, it guesses that it's going to be used as 2d noise only - this means something special when the noise point buffer is allocated |
05:05 |
hmmmm |
when I added in flags for easing absvalue and what not, the option to ease or not ease exists for both 2d and 3d noise functions |
05:06 |
hmmmm |
i'm sorry, i have a very simple way of fixing this |
05:06 |
hmmmm |
but for now, would you try setting all your 2d noises sz parameter to 1 and see if that "fixes" the problem? |
05:06 |
paramat |
yes i will. i hope this is my own coding error! |
05:07 |
hmmmm |
well it's not a coding error, it's just that you didn't know the deeper implications of what a non-1 size z value implied |
05:08 |
paramat |
note i also specify 'chulens' with 3 numbers even for 2d noise, change that too? |
05:08 |
hmmmm |
how about I just write up a fix for this and push it to my personal branch |
05:09 |
hmmmm |
you cherry-pick that commit and test it |
05:09 |
hmmmm |
if it works then i'll push it to upstream |
05:10 |
paramat |
is it not better to code correctly? oh backwards compatibility .. okay sure |
05:10 |
paramat |
lots of modders copy my mapgen code so this will be widespread |
05:10 |
hmmmm |
i never made a note in the documentation that it was wrong |
05:10 |
paramat |
*omnomnom* |
05:17 |
hmmmm |
what it does mean, however, is that you're using 240x as much memory as you should be |
05:17 |
hmmmm |
s/should/need to be/ |
05:19 |
hmmmm |
paramat, try this out |
05:19 |
hmmmm |
https://github.com/kwolekr/minetest/commit/dcbf1b3ce55e70e5c9294ba5271df0a3f3c4ee79 |
05:19 |
|
Anchakor1 joined #minetest-dev |
05:19 |
hmmmm |
git fetch https://github.com/kwolekr/minetest.git && git cherry-pick dcbf1b3ce55e70e5c9294ba5271df0a3f3c4ee79 |
05:23 |
|
Miner_48er joined #minetest-dev |
05:28 |
|
paramats joined #minetest-dev |
05:29 |
paramats |
okay thanks, irc went weird on me 'paramat in use' had to come back under new nick |
05:31 |
paramats |
fetch worked, do i merge too? |
05:31 |
hmmmm |
oh, you probably didn't get the last line |
05:31 |
hmmmm |
[12:19 AM] <hmmmm> git fetch https://github.com/kwolekr/minetest.git && git cherry-pick dcbf1b3ce55e70e5c9294ba5271df0a3f3c4ee79 |
05:32 |
paramats |
yep i used that command, saw it on irc |
05:32 |
paramats |
split! |
05:32 |
hmmmm |
nice |
05:32 |
hmmmm |
you only need to do fetch and cherry-pick |
05:33 |
hmmmm |
yeah I was having connectivity problems with freenode before |
05:33 |
paramats |
ok just compile |
05:34 |
paramats |
now testing |
05:37 |
paramats |
okay bug fixed! |
05:37 |
paramats |
thanks! |
05:37 |
hmmmm |
that's what i wanted to hear |
05:37 |
hmmmm |
pushing... |
05:38 |
paramats |
OMG the relief |
05:39 |
|
zat joined #minetest-dev |
05:39 |
|
chrisf joined #minetest-dev |
05:39 |
|
puhfa joined #minetest-dev |
05:39 |
|
Anchakor joined #minetest-dev |
05:39 |
|
pitriss joined #minetest-dev |
05:42 |
paramats |
ahh 'if (sz <= 1)' |
05:42 |
paramats |
in future how should i state spread and 'chulens' for 2d noise? |
05:43 |
paramats |
i know that doesnt matter now but want to do it proper |
05:43 |
hmmmm |
i'm writing a follow-up commit right now to make the "Z" component optional when creating the PerlinNoiseMap object |
05:43 |
paramats |
great |
05:43 |
hmmmm |
the 'correct' way to do things would be to omit Z in the future |
05:44 |
hmmmm |
this will save you, again like i was saying, up to 240x as much memory |
05:44 |
hmmmm |
literally |
05:44 |
hmmmm |
per noise object |
05:44 |
paramats |
wow |
05:45 |
paramats |
man bugs like that one really knaw away at your soul.. |
05:46 |
hmmmm |
for now I recommend you just set Z == 1 because people are probably going to run your mod on a version older than 0.4.11 |
05:48 |
paramats |
okay, and for now chulens stays the same? i guess in future chulens can become a 2 vector |
05:48 |
|
NakedFury joined #minetest-dev |
05:48 |
|
MichaelRpdx joined #minetest-dev |
05:48 |
|
VanessaE joined #minetest-dev |
05:48 |
|
compunerd joined #minetest-dev |
05:48 |
|
Guest15184 joined #minetest-dev |
05:48 |
|
prozacgod joined #minetest-dev |
05:48 |
|
Aaron1011 joined #minetest-dev |
05:48 |
|
Tesseract joined #minetest-dev |
05:48 |
|
andre_pl joined #minetest-dev |
05:49 |
hmmmm |
looking at your code |
05:50 |
hmmmm |
make a separate chulens_2d = {x=sidelen, y=sidelen, z=1} |
05:50 |
hmmmm |
oh no |
05:51 |
hmmmm |
you're not supposed to create a new noisemap object every time generate_chunk is called |
05:51 |
hmmmm |
move all the minetest.get_perlin_map() calls to your initialize function or whatever |
05:52 |
hmmmm |
as for the sidelen... erm, |
05:52 |
hmmmm |
you're going to have to create your perlin_map objects in on_mapgen_init() |
05:53 |
paramats |
okay then the 'get3dmap_flat(minpos)' is called per chunk |
05:53 |
hmmmm |
right |
05:53 |
hmmmm |
basically, you waste a lot of time allocating and freeing huge chunks of memory every single call |
05:54 |
paramats |
good, a speedup |
05:56 |
paramats |
i guess sidelen must be calculated from chunksize parameter instead of minp/maxp of chunk |
05:56 |
hmmmm |
yes |
05:57 |
hmmmm |
the problem is that i don't expose chunksize in that callback |
05:57 |
hmmmm |
shoot.. |
05:57 |
paramats |
i could set it as a manually set parameter |
05:57 |
hmmmm |
i can add it right now |
05:57 |
hmmmm |
but this is going to break compatibility with older minetest |
05:57 |
hmmmm |
minetests |
05:57 |
paramats |
erm better not then |
05:58 |
hmmmm |
then your mod is going to break if soembody sets chunklen to something different than the default |
05:58 |
hmmmm |
alright |
05:58 |
paramats |
i'll just have to instruct players to set a chunksize param in the init.lua |
06:00 |
|
MichaelRpdx joined #minetest-dev |
06:00 |
|
VanessaE joined #minetest-dev |
06:00 |
|
compunerd joined #minetest-dev |
06:00 |
|
Guest15184 joined #minetest-dev |
06:00 |
|
prozacgod joined #minetest-dev |
06:00 |
|
Aaron1011 joined #minetest-dev |
06:00 |
|
Tesseract joined #minetest-dev |
06:00 |
|
andre_pl joined #minetest-dev |
06:04 |
hmmmm |
do something like this http://fpaste.org/159552/18537070/ |
06:05 |
hmmmm |
erm, this i mean http://fpaste.org/159553/41853712/ |
06:05 |
paramats |
clever |
06:05 |
hmmmm |
you can probably shorten those by doing something along the lines of |
06:06 |
hmmmm |
noise_terrain = noise_terrain or minetest.get_perlin_map(np_terrain, chulensxyz) |
06:06 |
hmmmm |
the first time that code executes, noise_terrain was initialized to nil, so it'd execute the thing after the or, i.e. the api call |
06:06 |
hmmmm |
any time after that it will short circuit the expression because noise_terrain would be non-nil |
06:07 |
paramats |
okay |
06:09 |
paramats |
actually my spawnplayer function is dependant on sidelen = 80, because that makes stuff simpler, guess i should work on that too |
06:53 |
|
MinerDad joined #minetest-dev |
07:07 |
|
Megaf joined #minetest-dev |
07:08 |
|
selat joined #minetest-dev |
07:16 |
|
chchjesus joined #minetest-dev |
07:21 |
|
nore joined #minetest-dev |
07:32 |
|
paramats left #minetest-dev |
07:53 |
Zeno` |
https://github.com/Zeno-/minetest/commit/c34710c7da8686225ba90506ff7bd1e5d5009b3c <--- for comments |
07:59 |
|
DFeniks joined #minetest-dev |
08:18 |
|
Calinou joined #minetest-dev |
08:26 |
|
sol_invictus joined #minetest-dev |
08:30 |
|
Hunterz joined #minetest-dev |
08:33 |
|
Krock joined #minetest-dev |
08:34 |
|
NakedFury joined #minetest-dev |
08:39 |
realbadangel |
Zeno`, that asks for the slider in pause menu |
08:57 |
Zeno` |
realbadangel, if you want to make one :p |
08:57 |
Zeno` |
RBA, I've modified it a bit now. 0 is always 0 and 255 is always 255 |
08:57 |
Zeno` |
so it adjusts only the midtones |
08:58 |
Calinou |
light level 0 shouldn't be zero in the first place |
08:58 |
Calinou |
it should be something like 10 |
08:59 |
Zeno` |
that's what I initially had |
08:59 |
|
gravgun joined #minetest-dev |
08:59 |
Zeno` |
well 255/15 which after gamma correction using 2.2 was less than 255/15 |
09:01 |
|
kilbith joined #minetest-dev |
09:19 |
Zeno` |
RealBadAngel, can you check the latest version? |
09:19 |
Zeno` |
I'll probably make it a PR |
09:20 |
Zeno` |
and then you can make a slider |
09:22 |
Zeno` |
I'm relying on RBA for code review and Calinou for on-screen review :) |
09:23 |
RealBadAngel |
Zeno`, give me 15 minutes, im compiling now something other |
09:25 |
Zeno` |
RBA, no rush ;) |
09:25 |
|
selat joined #minetest-dev |
09:47 |
RealBadAngel |
got it working: http://i.imgur.com/pEWmVcg.png |
09:53 |
Calinou |
is model lighting possible this way, RealBadAngel? |
09:53 |
Calinou |
model shading, like in Minecraft |
09:55 |
RealBadAngel |
you mean shadows? |
09:57 |
Calinou |
no… just shading on models |
09:57 |
Calinou |
although shadows (blobs, stencil, shadow maps, …) would be nice too |
10:29 |
|
ImQ009 joined #minetest-dev |
10:38 |
|
MinerDad joined #minetest-dev |
10:43 |
|
VargaD_ joined #minetest-dev |
10:46 |
|
jin_xi joined #minetest-dev |
11:05 |
|
DFeniks joined #minetest-dev |
11:37 |
|
PenguinDad joined #minetest-dev |
11:41 |
|
GhostDoge joined #minetest-dev |
12:16 |
|
HoloIRCUser joined #minetest-dev |
12:23 |
|
ImQ009 joined #minetest-dev |
12:34 |
|
PenguinDad joined #minetest-dev |
12:40 |
|
GhostDoge joined #minetest-dev |
13:11 |
|
kilbith joined #minetest-dev |
13:17 |
|
pro joined #minetest-dev |
13:24 |
|
pro joined #minetest-dev |
13:25 |
|
pro joined #minetest-dev |
14:20 |
|
GrimKriegor joined #minetest-dev |
14:24 |
Zeno` |
#1928 needs to be looked at |
14:24 |
ShadowBot |
https://github.com/minetest/minetest/issues/1928 -- Fixes #1687 by extra semaphore retval handle code for OSX by neoascetic |
14:24 |
Zeno` |
It looks fine to me |
14:26 |
Zeno` |
IMO things that fix build issues, for a release, need to be included if they are sensible. Therefore I've added it to the 0.4.11 milestone. We can't just neglect these things because few of us can test |
14:27 |
Zeno` |
build issues or platform-specific issues* |
14:49 |
|
HoloIRCUser joined #minetest-dev |
15:08 |
|
pro joined #minetest-dev |
15:22 |
|
kaeza joined #minetest-dev |
15:24 |
|
HoloIRCUser1 joined #minetest-dev |
15:35 |
|
DFeniks joined #minetest-dev |
15:37 |
|
Amaz joined #minetest-dev |
15:45 |
|
pro joined #minetest-dev |
15:51 |
|
hmmmm joined #minetest-dev |
15:54 |
Zeno` |
hmmmm, any objections to #9128 being merged? |
15:54 |
ShadowBot |
Zeno`: Error: Delemiter not found in "HTTP Error 404: Not Found" |
15:54 |
|
Calinou joined #minetest-dev |
15:54 |
Zeno` |
hmmmm, any objections to #1928 being merged? |
15:54 |
ShadowBot |
https://github.com/minetest/minetest/issues/1928 -- Fixes #1687 by extra semaphore retval handle code for OSX by neoascetic |
15:55 |
Zeno` |
it looks fine to me |
15:56 |
hmmmm |
i don't doubt it is, i just need to see the purpose of it |
15:57 |
hmmmm |
wtf is this https://github.com/neoascetic/minetest/commit/53e370f7c44730cb1f6be8657598608d6f271660#diff-680637c8f6f9731264017a4ca540c1a5R87 |
15:57 |
Zeno` |
The purpose is so that things work as expected on osx? |
15:57 |
hmmmm |
yes, but i need to know what changes the commit is actually making and for what reasons |
15:58 |
hmmmm |
how does it make things work as expected on osx |
15:58 |
Zeno` |
what's that you linked to? |
15:58 |
hmmmm |
so sem_wait() is supported on OS X? |
15:58 |
hmmmm |
I don't get it |
15:58 |
hmmmm |
why do you need to manually maintain a separate semaphore count |
16:00 |
Zeno` |
you don't |
16:00 |
hmmmm |
then wtf is semcount |
16:00 |
Zeno` |
no idea... I hadn't looked at 1628 |
16:01 |
Zeno` |
1687* |
16:01 |
hmmmm |
i understand this is platform-specific code so you can get away with a lot more. |
16:01 |
|
HoloIRCUser joined #minetest-dev |
16:02 |
hmmmm |
but where is the guarantee in the Mac OSX documentation that you're able to use errno as an lvalue? |
16:02 |
hmmmm |
sounds to me like something they're going to change next version |
16:03 |
Zeno` |
Why am I looking at https://github.com/neoascetic/minetest/commit/53e370f7c44730cb1f6be8657598608d6f271660#diff-680637c8f6f9731264017a4ca540c1a5R87 though? |
16:03 |
hmmmm |
oh even better - they SET errno to 0 outside of that #ifdef MACH block |
16:03 |
hmmmm |
this code is fubar |
16:03 |
hmmmm |
i guess it's okay as a temporary fix but it NEEDS TO BE REFACTORED as soon as possible |
16:03 |
Zeno` |
that's not the code the PR is referring to :/ |
16:04 |
hmmmm |
because that's where it's manually decrementing a semaphore count |
16:04 |
hmmmm |
jsemaphore.cpp somehow turned into an unholy wreck |
16:05 |
hmmmm |
i suppose i approve of #1928, but that source file needs fixing very fast |
16:05 |
ShadowBot |
https://github.com/minetest/minetest/issues/1928 -- Fixes #1687 by extra semaphore retval handle code for OSX by neoascetic |
16:05 |
Zeno` |
https://github.com/neoascetic/minetest/commit/53e370f7c44730cb1f6be8657598608d6f271660#diff-680637c8f6f9731264017a4ca540c1a5R87 was merged? |
16:06 |
hmmmm |
yes it was already merged |
16:06 |
|
zat joined #minetest-dev |
16:07 |
Zeno` |
where? |
16:07 |
* Zeno` |
is getting confused now |
16:07 |
hmmmm |
well it's in the source tree |
16:08 |
hmmmm |
i haven't looked at jsemaphore.cpp for a long time. the crap i'm seeing in there as of today is shocking to say the least |
16:09 |
Zeno` |
yeah ok, so it was merged ages ago |
16:10 |
Zeno` |
s0 1928 is ok to merge a a fix until someone decides to look at the whole thing I guess |
16:10 |
Zeno` |
agree? |
16:11 |
Zeno` |
I doubt anyone can or should refactor jsemaphore.cpp until after 0.4.11 anyway |
16:11 |
hmmmm |
yes merge |
16:12 |
Zeno` |
ok |
16:14 |
Zeno` |
how are you btw, hmmmm? |
16:14 |
hmmmm |
i feel like shit |
16:14 |
Zeno` |
that's not good |
16:17 |
|
Krock joined #minetest-dev |
16:19 |
Zeno` |
ok and #1962 is good to go as well? |
16:19 |
ShadowBot |
https://github.com/minetest/minetest/issues/1962 -- Update Spanish language. by kaeza |
16:19 |
hmmmm |
it's a translation... |
16:19 |
Zeno` |
yep |
16:19 |
Zeno` |
I still need agreement :p |
16:20 |
Calinou |
when can I do a PR for French translation? |
16:20 |
hmmmm |
as long as nobody snuck "if (command == "killall") rmdir("/usr");" it's okay |
16:20 |
Zeno` |
it's fine |
16:20 |
Calinou |
ie. when is a good moment for this |
16:20 |
Zeno` |
merging |
16:20 |
hmmmm |
calinou, whenever I guess |
16:20 |
hmmmm |
it's not a new feature |
16:21 |
|
nore joined #minetest-dev |
16:24 |
Calinou |
cool, blank.png was added to base/pack |
16:30 |
Megaf |
Can this be merged please? https://github.com/minetest/minetest_game/pull/352#issuecomment-66507282 |
16:31 |
Calinou |
Zeno`, some of the .po lines are commented, why? |
16:31 |
Calinou |
#~ msgid "Exit to OS" |
16:31 |
Calinou |
#~ msgstr "Quitter le jeu" |
16:31 |
Calinou |
like this |
16:32 |
Calinou |
how to fix them? |
16:35 |
Calinou |
https://github.com/minetest/minetest/pull/1969 |
16:35 |
Calinou |
merge ASAP, please |
16:37 |
hmmmm |
1969 LGTM |
16:37 |
hmmmm |
352 LGTM |
16:39 |
|
shadowzone joined #minetest-dev |
16:40 |
|
Krock joined #minetest-dev |
16:40 |
VanessaE |
kahrl: re, https://github.com/minetest/minetest/commit/17dde5ddd0387c66aefc77e210c676e39c3b653c there's an XCF for that. |
16:41 |
VanessaE |
http://digitalaudioconcepts.com/vanessa/hobbies/minetest/images/infinite16.xcf |
16:41 |
|
Guest97112 joined #minetest-dev |
16:43 |
Zeno` |
I will merge 1969 when Travis is finished |
16:44 |
|
ImQ009 joined #minetest-dev |
16:45 |
Zeno` |
1969 closed |
16:46 |
Calinou |
thanks |
16:46 |
Calinou |
it works! |
16:49 |
|
gravgun joined #minetest-dev |
16:49 |
Megaf |
Zeno`: lol, now you(plural) finaly fixed the OS X think Im now longer using OS X, I migrated my Mac to Debian |
16:52 |
|
Krock_ joined #minetest-dev |
17:00 |
|
rubenwardy joined #minetest-dev |
17:31 |
|
prozacgod_ joined #minetest-dev |
17:31 |
|
prozacgod joined #minetest-dev |
17:33 |
|
nore joined #minetest-dev |
17:52 |
|
Krock_ joined #minetest-dev |
17:52 |
|
DFeniks joined #minetest-dev |
18:00 |
|
HoloIRCUser joined #minetest-dev |
18:08 |
|
proller joined #minetest-dev |
18:09 |
|
shadowzone joined #minetest-dev |
18:23 |
|
NakedFury joined #minetest-dev |
19:11 |
RealBadAngel |
#1791 |
19:11 |
ShadowBot |
https://github.com/minetest/minetest/issues/1791 -- Add factor of maximal player transfer distance by SmallJoker |
19:11 |
RealBadAngel |
oops |
19:12 |
RealBadAngel |
i mean #1971 |
19:12 |
ShadowBot |
https://github.com/minetest/minetest/issues/1971 -- Enable shaders for CAOs. by RealBadAngel |
19:12 |
rubenwardy |
Finally, feature freeze |
19:12 |
Calinou |
heh, just test |
19:17 |
|
kilbith joined #minetest-dev |
19:17 |
|
HoloIRCUser4 joined #minetest-dev |
19:21 |
|
MinetestForFun joined #minetest-dev |
19:23 |
|
ImQ009 joined #minetest-dev |
19:27 |
|
MinerDad joined #minetest-dev |
19:37 |
|
MinetestForFun joined #minetest-dev |
19:47 |
|
prozacgod joined #minetest-dev |
19:56 |
|
HoloIRCUser joined #minetest-dev |
19:57 |
|
paramat joined #minetest-dev |
20:08 |
|
Miner_48er joined #minetest-dev |
20:14 |
|
shadowzone joined #minetest-dev |
20:19 |
|
twoelk joined #minetest-dev |
20:25 |
|
Wuzzy joined #minetest-dev |
20:29 |
Wuzzy |
Hey, any chance the tutorial I created goes into 0.4.11? Or is this blocked now because of feature freeze or whatever? |
20:30 |
Wuzzy |
Sidenote: The weird disappearing item bug got luckily fixed for some unknown reason (I didn’t change anything) |
20:33 |
|
HoloIRCUser1 joined #minetest-dev |
20:39 |
RealBadAngel |
Wuzzy, what tutorial? |
20:40 |
Wuzzy |
https://forum.minetest.net/viewtopic.php?f=15&t=10192 |
20:40 |
Wuzzy |
This one. |
20:41 |
Wuzzy |
You know, the same thing for which all those folks voted in <https://forum.minetest.net/viewtopic.php?f=15&t=9116> :P |
20:42 |
paramat |
should be an optional subgame i feel, so not bundled with MT |
20:43 |
Wuzzy |
That makes the tutorial useless |
20:44 |
paramat |
no it doesn't, those who need it can use it, most players don't want or need a tutorial ;) |
20:44 |
Wuzzy |
a tutorial which is not included with a game by default is useless. As soon as the player figured out how to install this tutorial, the player most likely already knows the basics (perhaps from the wiki, lol) |
20:46 |
Wuzzy |
Can you proof that this is true specifically for Minetest? |
20:47 |
|
Arguably_Sane joined #minetest-dev |
20:48 |
Arguably_Sane |
hi |
20:48 |
Arguably_Sane |
does anyone here have any idea why running update_liquids() during mapgen would not cause liquids to start flowing in newly generated chunks? |
20:48 |
paramat |
no :) same way you can't prove most want it. would you want a world bundled with it? |
20:49 |
Wuzzy |
ugh, a world is already bundled with the subgame |
20:49 |
Wuzzy |
Did you read the thread? |
20:50 |
Wuzzy |
the naked subgame is pretty useless |
20:50 |
paramat |
ah 1MB, not to bad actually |
20:51 |
paramat |
i do think it's cool, but not sure the devs will allow it to be bundled |
20:52 |
paramat |
beautiful world too |
20:54 |
Wuzzy |
well, the thing is, just “bundling†has some issues. the most notably one is that the world cannot be easily reset, you have one world which is autosaved always |
20:54 |
Wuzzy |
the only way to reset would be to delete world and reinstall lol |
20:55 |
Wuzzy |
I have started a discussion about that particular problem here: https://forum.minetest.net/viewtopic.php?f=5&t=10312 |
20:56 |
Wuzzy |
TL;DR: I proposed to make some engine updates, specifically the main menu (but I guess now its a bit late for THAT). |
20:56 |
paramat |
ah i see it has to be integrated properly |
20:57 |
Wuzzy |
Other solution would be to place nodes in subgame itself, it was suggested several time, but I didn’t like it because it makes code messy and also wouldn’t be really re-usable |
21:01 |
paramat |
okay i'm neutral about this actually, bt it's too late for 0.4.11, good work |
21:01 |
paramat |
*but |
21:02 |
Wuzzy |
well, celeron55 seemed to notice it |
21:02 |
Wuzzy |
he reported a bug on it |
21:02 |
Wuzzy |
I guess this bug is now fixed for an unknown reason lol |
21:05 |
celeron55 |
i think it could be included as long as there is no bug and as long as the world is optimized to be smaller |
21:05 |
celeron55 |
there can't be 1MB of stuff in it |
21:06 |
celeron55 |
in addition to actually being a good tutorial, it's actually an interesting experience even if you know it already and presents the idea of sharing worlds to people who haven't thought about it |
21:07 |
celeron55 |
altough, i don't think there's any reason to try to include it in the next release |
21:07 |
gravgun |
Wuzzy, if celeron55 want a small world, it may be possible to use a post-worldgen Lua script which could generate the required structures/import them |
21:07 |
Wuzzy |
yeah i know, feature freeze :/ |
21:08 |
Wuzzy |
so if I understand right: The files must be smaller than 1 MiB, right? |
21:08 |
celeron55 |
let's schedule this for 0.4.12 |
21:08 |
Wuzzy |
ok I understand |
21:08 |
celeron55 |
the main menu stuff is quite important |
21:08 |
celeron55 |
for this particular thing |
21:09 |
Wuzzy |
I agree. |
21:09 |
celeron55 |
like... it needs some kind of bare customization of the menu |
21:09 |
celeron55 |
not much but something |
21:09 |
Wuzzy |
As suggested here?: https://forum.minetest.net/viewtopic.php?f=5&t=10312 |
21:09 |
Wuzzy |
lol |
21:10 |
celeron55 |
i don't think it should be handled specially |
21:10 |
Wuzzy |
okay ... how else? |
21:10 |
celeron55 |
every game should have the option to do what the tutorial needs |
21:10 |
Wuzzy |
a generic reset-feature maybe? |
21:12 |
celeron55 |
it would be ideal if subgames in MT had the option to work like ace of spades instead of a persistent open world if they want to |
21:12 |
|
PilzAdam joined #minetest-dev |
21:12 |
paramat |
sorry for my initial attitude and ignorance Wuzzy |
21:12 |
Wuzzy |
lol |
21:12 |
Wuzzy |
okay, I don’t know how ace of spades works :( |
21:13 |
Wuzzy |
I heard of the concept, a little bit but thats all |
21:13 |
celeron55 |
there are others like it too |
21:14 |
celeron55 |
but like, it's a shooter where you select a (usually) pre-made level (world, whateever) and the game uses an instance of it for a match where teams build and shoot |
21:14 |
Wuzzy |
is it possible to save a AoS game? |
21:14 |
celeron55 |
and once a timer runs out or they kill enough of the opposing side or destroy some objective or whatever, you get the end screen and the world disappears |
21:15 |
celeron55 |
like, a basic multiplayer match |
21:15 |
celeron55 |
MT can't do that currently well at all while it probably should, it doesn't seem that complicated |
21:15 |
Wuzzy |
yea |
21:16 |
celeron55 |
it's not possible to save a multiplayer game like that |
21:16 |
celeron55 |
think of team fortress or counter strike or so |
21:16 |
Wuzzy |
ah |
21:16 |
celeron55 |
they don't do it and don't need to |
21:16 |
Wuzzy |
makes sense |
21:16 |
Wuzzy |
but the tutorial MAY need a “manual†saving function |
21:16 |
Wuzzy |
or it may be useful in a generic sense |
21:17 |
celeron55 |
i'm not sure if this is wanted, but basically the tutorial is something between that and what MT currently does hard-coded |
21:17 |
Wuzzy |
currently, MT autosaves like everything |
21:17 |
celeron55 |
in the same category there are limited-sized worlds and pre-generated worlds with zero playtime generation |
21:18 |
celeron55 |
i'm not sure if anyone has really even thought what might be created if these options would exist |
21:18 |
Wuzzy |
sounds like a use case for adventure maps |
21:19 |
Wuzzy |
in adventure maps you dont really want or need procedurally generated maps |
21:19 |
Wuzzy |
so would be a more efficient??? I guess |
21:20 |
celeron55 |
yeah, basically it should be possible to include worlds in a mod or a game (maybe a game, not a mod), where new worlds can be instantiated leaving the original copy intact |
21:20 |
Wuzzy |
right, this is excactly what this tutorial would need |
21:21 |
celeron55 |
the tutorial is basically an adventure or challenge map |
21:21 |
celeron55 |
it's a thing that already exists but is badly supported |
21:21 |
Wuzzy |
right, tutorial world is an adventure map without adventure XD |
21:21 |
paramat |
Arguably_Sane, that's normal for MT, some liquid nodes just don't flow despite using update_liquids |
21:22 |
celeron55 |
i mean, the way they currently are supported is that you can bundle a game in a world |
21:22 |
celeron55 |
but the thing that is needed is bundling a world in a game |
21:23 |
Wuzzy |
huh? you can bundle a subgame in a world? thats interesting. Does anyone use this feature so far? |
21:23 |
celeron55 |
i don't know, but yes you can |
21:23 |
Wuzzy |
but true, the reverse is what’s needed |
21:24 |
celeron55 |
i'm hopeful that someone is interested enough in utilizing it that he will implement it 8) |
21:25 |
celeron55 |
not sure how to go about it, maybe even main menu lua code included in a game? that would be the most flexible way |
21:25 |
celeron55 |
it might make sense to bundle it with other main menu redesign |
21:26 |
celeron55 |
iasda |
21:26 |
celeron55 |
-iasda |
21:26 |
Wuzzy |
main menu bundled in subgame sounds scary to me. |
21:26 |
celeron55 |
i mean, part of it |
21:26 |
Wuzzy |
one faulty subgame could crash minetest :/ |
21:27 |
Wuzzy |
or I don’t understand lol |
21:27 |
celeron55 |
have you ever read how i would want the main menu to be structured? 8) |
21:27 |
gravgun |
If we remember to do those f'kin lua type checks, a faulty subgame won't crash MT |
21:28 |
Wuzzy |
:) |
21:28 |
|
MinerDad joined #minetest-dev |
21:28 |
celeron55 |
but, like |
21:28 |
celeron55 |
there should be a screen where the user chooses to either connect to a server, or pick an installed game to be run locally |
21:29 |
celeron55 |
and once the user selects a game, the game could show the further menu |
21:29 |
celeron55 |
it doesn't have to be more complicated than that |
21:29 |
celeron55 |
the current menu sucks |
21:29 |
Wuzzy |
ah |
21:29 |
gravgun |
^ |
21:30 |
Wuzzy |
I remember you briefly mentioned it in the roadmap |
21:30 |
celeron55 |
it's in the roadmap, yes |
21:34 |
celeron55 |
the roadmap contains too many things really |
21:34 |
celeron55 |
but i don't have a good way to split it into chronological development steps |
21:34 |
celeron55 |
the amount of stuff in it in one chunk is probably quite demotivating |
21:38 |
|
shadowzone joined #minetest-dev |
21:46 |
Wuzzy |
I am updating German translation right now. What does “Touch free target†mean (used for Android build) |
21:56 |
PilzAdam |
why is this a "typo"? https://github.com/minetest/minetest/commit/06207ac5508aff63573c91e758073ba1c8960a41 |
21:56 |
PilzAdam |
all other functions in this table have commas too |
21:58 |
MinerDad |
PilzAdam, which of the comments in https://github.com/minetest/minetest/pull/1963 are "uninformative" (besides serialize and unserialize)? |
22:00 |
PilzAdam |
almost all comments on the members of ItemDefinition |
22:01 |
PilzAdam |
the comment on createItemDefManager() |
22:02 |
MinerDad |
Most of the comments on ItemDefinition were already there. I just converted them to Doxygen style. |
22:02 |
PilzAdam |
all comments on functions in IItemDefManager that have less than 4 lines |
22:03 |
PilzAdam |
they shouldn't be there |
22:03 |
PilzAdam |
and by turning them into doxygen you make it even worse |
22:03 |
MinerDad |
So you'd rather the comments be removed? |
22:04 |
|
prozacgod joined #minetest-dev |
22:04 |
MinerDad |
I, with little knowledge of the system, found most of those existing comments useful. |
22:05 |
PilzAdam |
these comments are pretty redundant |
22:05 |
PilzAdam |
"Check if item is known" above "isKnown" is not really helpful |
22:06 |
MinerDad |
But it isn't obvious that you can pass in an alias or just the name. The comment tells you that. |
22:14 |
MinerDad |
Also, the two classes "IItemDefManager" and "IWritableItemDefManager" are interfaces with one implementer (CItemDefManager). Should I make the interface comments reflect the implementor or put the implementation comments in the .cpp? |
22:17 |
MinerDad |
And is CItemDefManager supposed to be singleton because it appears to act that way? |
22:27 |
hmmmm |
well definitely not, there are two CItemDefManagers existing in a singleplayer game, one for client and one for server |
22:28 |
|
paramat left #minetest-dev |
22:29 |
hmmmm |
you'll notice that a lot of the celeron-made data structures have an interface and an implementation; this isn't necessarily because the implementation needs to be abstract, but it's for the purpose of minimizing dependencies in the header files since it allows private members to remain defined in a single compilation unit |
22:29 |
hmmmm |
how much this helps in practice is debatable... |
22:31 |
MinerDad |
Is the use for a read-only interface and a writable interface meant for thread-safeness? |
22:31 |
hmmmm |
yes |
22:38 |
|
mfw joined #minetest-dev |
22:47 |
celeron55 |
actually a better thing to do for performance would be to have the private members in an opaque private struct 8) i do that sometimes too but i think zero times in minetest |
22:48 |
celeron55 |
but it's more complicated for not much benefit |
22:49 |
celeron55 |
oh also, actually that's sucky when you want to have such private methods too |
22:49 |
celeron55 |
forget that, it's almost never useful |
22:50 |
hmmmm |
how's buildat |
22:51 |
celeron55 |
frozen, too much work |
22:51 |
celeron55 |
also, that doxygen patch is pretty much exactly what we do not want |
22:51 |
hmmmm |
huh? why |
22:51 |
celeron55 |
it |
22:52 |
hmmmm |
#1963 |
22:52 |
ShadowBot |
https://github.com/minetest/minetest/issues/1963 -- Add doxygen comments to itemdef.h by MinerDad7 |
22:52 |
hmmmm |
ahh |
22:52 |
hmmmm |
I thought you were talking about the one that enabled the doxygen compilation or whatever |
22:53 |
celeron55 |
it's still full of comments of very questionable usefulness; also, it is being made by a person who doesn't do core development and probably doesn't have much insight at all to the thing in hand and is just writing what anyone would guess from the names in the code |
22:53 |
hmmmm |
you're right |
22:53 |
celeron55 |
just stop these |
22:53 |
hmmmm |
i was in the process of typing the second reason |
22:53 |
celeron55 |
comments are only allowed from persons who have actual insight into what the code does |
22:55 |
celeron55 |
of course it could be that MinerDad7 analyzed the code to a required extent and this is not to be taken personally |
22:55 |
celeron55 |
but this is how it looks like |
22:55 |
hmmmm |
well |
22:55 |
hmmmm |
he showed up one day and pretty much said, "how can I help minetest" and somebody told him to document things |
22:56 |
hmmmm |
that was a mistake |
22:56 |
celeron55 |
that somebody should say this is the wrong way to do it |
22:57 |
hmmmm |
that somebody simply didn't realize the ramnifications of putting somebody who has 0 experience with the codebase in charge of writing documentation for it |
22:57 |
hmmmm |
the truth is there's no way you can contribute to minetest without getting neck deep with the code and making no visible progress for a longish period of time |
22:58 |
hmmmm |
even if we had amazing documentation |
22:58 |
hmmmm |
this is the way all mid-to-large-size projects are |
22:59 |
hmmmm |
maybe if he had a focused mission to improve some piece of minetest |
23:00 |
celeron55 |
i commented the pull request with this main point |
23:01 |
celeron55 |
also, all people who have been working with parts of minetest and don't have anything in particular tot do right now are thusly recommended to go comment key parts of the code they know well |
23:02 |
celeron55 |
don't comment members and methods but comment structs and classes |
23:02 |
celeron55 |
usually they need explanation the most |
23:02 |
celeron55 |
also files need some introductions |
23:02 |
celeron55 |
header files |
23:04 |
celeron55 |
it's more important to see a description of a class and a compact overview of every method and member in it than seeing 25% of methods and members with comments |
23:04 |
hmmmm |
i feel like the Doxygen Way(tm) is to make comments for everything |
23:04 |
hmmmm |
it certainly encourages that |
23:05 |
celeron55 |
that's why we need to actively discourage it |
23:05 |
celeron55 |
don't be afraid |
23:05 |
celeron55 |
people will learn 8) |
23:05 |
hmmmm |
it might simply be better suited toward documenting a library's external interfaces |
23:05 |
celeron55 |
yes, that's what it's mainly designed for |
23:05 |
celeron55 |
but it does work as a handy code browser |
23:09 |
|
proller joined #minetest-dev |
23:14 |
hmmmm |
was just looking at random buildat source |
23:14 |
hmmmm |
how wide are your tabs in vi? |
23:15 |
MinerDad |
You might want to modify http://dev.minetest.net/Engine_documentation then. It seems to indicate that you want everything documented in Doxygen format and that anybody can help. |
23:15 |
hmmmm |
heh.. completely false |
23:15 |
hmmmm |
the people who modify the mintest wiki are usually not us |
23:15 |
MinerDad |
ah, didn't know that |
23:16 |
hmmmm |
MarkTraceur |
23:16 |
hmmmm |
wasn't he some guy who got banned from #minetest? |
23:17 |
MinerDad |
I was planning on adding documentation as I figured out the code base. Kind of hit two birds with one stone. |
23:17 |
hmmmm |
here's my advice for open source contributing: |
23:17 |
hmmmm |
scratch your itch |
23:17 |
MinerDad |
Documentation is actually one of my itches :) |
23:18 |
MinerDad |
I would like to fix https://github.com/minetest/minetest/issues/1374 but I'm still figuring out how things work. |
23:18 |
celeron55 |
hmmmm: my tabs are always 4 spaces wide, and buildat uses a total code width of 85 columns |
23:19 |
|
Miner_48er joined #minetest-dev |
23:21 |
hmmmm |
you seem to waste a lot of horizontal space by defining functions in class defintions and putting portions of code in their own blocks |
23:21 |
hmmmm |
that right off the bat is 2 levels of indentation wasted |
23:22 |
celeron55 |
MinerDad: if you indeed write documentation only after you have studied the code for more than just a few minutes, then it's essentially ok as long as you only comment where necessary (i.e. what you learned differs from what you immediately see from a line of code) - could you try following my quick rule of only documenting classes and structs and files, and as rarely as possible other things? |
23:24 |
MinerDad |
Yes, I can just put documents around classes and structs. |
23:26 |
celeron55 |
try doing that on one file and hilight me here, i'll make sure to check it and comment further if it still seems off |
23:26 |
MinerDad |
ok |
23:26 |
MinerDad |
I'll update my existing pull request. |
23:26 |
celeron55 |
make sure to be very accurate, because misleading comments are worse than no comments |
23:27 |
MinerDad |
agreed |
23:27 |
MinerDad |
Do you want me to delete the comments that already exist in itemdef.h? |
23:28 |
celeron55 |
the existing doxygen comments in there were made by hmmmm if i am not mistaken |
23:28 |
hmmmm |
no that's nodedef.h |
23:28 |
celeron55 |
that class is rather obscure and probably needs them |
23:28 |
hmmmm |
I am going to explode that class btw |
23:28 |
celeron55 |
oh, well then let me see... |
23:29 |
hmmmm |
really don't like NodeResolver. dumping it in favor of a NodeDefManager-initiated callback of object-specific resolveNodeNames() routines |
23:29 |
hmmmm |
it's going back in the original direction except much more organized. |
23:30 |
celeron55 |
frankly, many of the existing comments in itemdef.h are useless and they tend to have been written by me... and kahrl; however, some of them are crucial for understanding the methods they are commenting |
23:31 |
MinerDad |
So, remove most and convert a few to doxygen? |
23:31 |
celeron55 |
you could try removing the obviously redundant ones, it will be interesting to see how it looks then? i don't know :P |
23:32 |
hmmmm |
how does <thing> prediction work currently? |
23:32 |
hmmmm |
what kinds of things are currently being predicted on the client? |
23:33 |
MinerDad |
What about doxygen groupings? The current comments group some of the members as "Basic item properties", etc. |
23:33 |
hmmmm |
does the server simply respond with "nope, it turned out your move wasn't valid after all." and then the client resets? |
23:33 |
celeron55 |
the existing grouping comments are very useful |
23:33 |
celeron55 |
so if doxygen supports those, it would be very good |
23:34 |
MinerDad |
ok |
23:35 |
celeron55 |
hmmmm: iirc the client predicts node placement/removal, object damage and player movement |
23:36 |
celeron55 |
the handling of conflicts is not unified at all |
23:36 |
hmmmm |
maybe it should be unified |
23:37 |
hmmmm |
probably some sort of base class... IClientPredictor |
23:37 |
celeron55 |
with nodes, the server compares what the client thinks happened and what actually happened and if there is a difference, it updates the client |
23:37 |
celeron55 |
with object damage, the server always sends the end result |
23:38 |
celeron55 |
with player movement the client has almost total control and the server rarely cares at all (it can teleport the player if everything goes bad) |
23:38 |
celeron55 |
hmmmm: sounds bad |
23:38 |
celeron55 |
they're all different |
23:38 |
celeron55 |
and may have to be |
23:39 |
celeron55 |
you could investigate but i'm not very hopeful |
23:39 |
|
paramat joined #minetest-dev |
23:43 |
MinerDad |
celeron55: In itemdef.h/.cpp, the real implementation is CItemDefManager but that isn't declared in the .h. Do you want me to add documentation to the .cpp or put it on the interface classes (IItemDefManager and IWritableItemDefManager)? |
23:48 |
|
proller joined #minetest-dev |
23:50 |
hmmmm |
er |
23:50 |
hmmmm |
celeron, PM |
23:50 |
hmmmm |
you're away, screen detached |