Minetest logo

IRC log for #minetest-dev, 2014-12-14

| Channels | #minetest-dev index | Today | | Google Search | Plaintext

All times shown according to UTC.

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&amp;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&amp;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&amp;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&amp;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

| Channels | #minetest-dev index | Today | | Google Search | Plaintext