Minetest logo

IRC log for #minetest-dev, 2015-03-31

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

All times shown according to UTC.

Time Nick Message
00:08 Warr1024 joined #minetest-dev
00:22 proller joined #minetest-dev
00:36 ekem https://github.com/minetest/minetest/blob/3d53c90d4b34563ef27bc38da211dab91b72d321/doc/lua_api.txt that might a little more sense as a .md
01:01 Zeno` joined #minetest-dev
01:51 paramat joined #minetest-dev
01:52 paramat initial draft of treegen.cpp PR #2580
01:52 ShadowBot https://github.com/minetest/minetest/issues/2580 -- Treegen.cpp: Add pine tree. Force place trunks. Speed optimise leaves blits by paramat
01:53 Taoki joined #minetest-dev
01:59 hmmmm bleh
01:59 hmmmm every time bitfields sound like a good idea, they aren't
02:00 Zeno` heh
02:00 hmmmm oh paramat
02:00 hmmmm i'm considering adopting a coding rule:
02:00 hmmmm don't use non-const references
02:00 Warr1024 anyone want to review #2579?
02:00 Zeno` yes!
02:00 ShadowBot https://github.com/minetest/minetest/issues/2579 -- Move texture_min_size even further down the pipe. by Warr1024
02:00 hmmmm what do you say about this?
02:00 hmmmm i fixed up all the instances in l_mapgen.cpp
02:01 Zeno` I say yes, yes, yes. I've always promoted that idea
02:01 hmmmm yeah
02:01 hmmmm ^^
02:01 paramat erm
02:01 hmmmm if you need to modify a std::vector or something, do const std::vector &foobar = *your_param_here;  foobar[i] = whatever;
02:02 hmmmm errm, not const
02:02 hmmmm non-const references in function PARAMETERS
02:02 hmmmm if you're okay with that, it'd probably be a good opportunity to fix treegen.cpp which has many egregious violations of this
02:02 Zeno` for some reason I automatically assumed you were talking about parameter lists
02:03 hmmmm yeah
02:03 Zeno` Warr1024, I can check it later... doing memory checks atm
02:03 paramat so all numbers should be defined in the header file as a constant?
02:03 hmmmm int bar = 54; blah = foo(bar);  oh no is my bar going to get molested?
02:03 hmmmm int bar = 54; blah = foo(&bar);   oh i'm passing the address to bar, chances are it's going to get modified by ref
02:04 hmmmm see?
02:04 hmmmm having to check function definitions every 5 seconds is annoying
02:04 Warr1024 Zeno`: thanks.  It fixes blocker bug 2558, i.e. hud elements being all messed up.
02:04 hmmmm paramat:  ????
02:04 paramat man i'm such a lousy programmer =)
02:05 hmmmm erm
02:05 paramat okay i'll study this
02:05 hmmmm you see void make_tree(MMVManip &vanip, ...) ?
02:05 Zeno` paramat, it's not you. The "guideline" has not been used in minetest in the past
02:05 paramat yes
02:05 hmmmm change it to make_tree(MMVManip *vanip, ...)
02:05 hmmmm vmanip
02:05 hmmmm rather
02:05 paramat okay
02:06 rickmcfarley joined #minetest-dev
02:06 hmmmm and if you don't intend to modify the vmanip at all, you can do either make_tree(const MMVManip *vmanip, .... or make_tree(const MMVManip &vmanip, ...)
02:06 Warr1024 hmmmm: I like it.  I've never been comfortable with &params as opposed to *params; learned them back in school, then promptly forgot them...
02:06 hmmmm yep
02:07 hmmmm okay if everybody seems okay with this i'll add it to the rule thing
02:07 Warr1024 hmmmm: off-topic, when I highlight your nick, I feel like it makes me sound contemplative.
02:07 hmmmm hmmmm.
02:07 paramat okay i'll also do some web research on this practice =)
02:07 hmmmm a lot of contemplated people in ##math highlight me
02:07 hmmmm contemplative i mean
02:08 hmmmm paramat:  https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Reference_Arguments
02:09 hmmmm i do like some of the things here
02:09 Warr1024 I'd spend less time compiling and more time testing if I just broke down and used a syntax-highlighting editor...
02:09 * paramat looks
02:09 * Warr1024 too
02:10 hmmmm there are a lot of iffy parts to the google code style
02:10 hmmmm like the rationale for banning default arguments?  absolutely retarded
02:10 Warr1024 I sort of figured that the Google C++ code style guide would be just "don't use C++, use Go."
02:11 hmmmm wasn't go specifically intended for server applications
02:11 hmmmm i have such mixed feelings for go
02:11 Warr1024 I've never tried it, personally.
02:12 Warr1024 Heard a lot of good things about it, but those were all from the Go authors :-)
02:12 hmmmm there's a web tutorial that lets you play with it but i never got past the 5th screen because it just wouldn't work for some reason
02:13 Zeno` we could convert to using Rust
02:13 hmmmm haha
02:40 paramat hmmmm, how about 'TreeDef &tree_definition' in l-system tree functions, i suspect that is a const reference so should stay '&'?
02:46 hmmmm WTF
02:46 hmmmm unless I'm mistaken that's being passed by value
02:46 hmmmm I knew treegen.cpp was bad but I didn't realize it was this bad
02:47 hmmmm spawn_ltree()'s definition is waaaaay over 80 columns...
02:47 paramat yeah bad line lengths
02:47 hmmmm just about everything is
02:47 hmmmm i'm really permissive when it comes to code style
02:47 hmmmm as long as it's neat... but this, i would not accept this if it were in a PR today
02:48 paramat goes to 168 columns =/
02:48 hmmmm paramat:  I assume you mean in tree_trunk_placement and tree_leaves_placement?
02:48 hmmmm those are not const references but they could be made const
02:49 Zeno` let's use GNU style
02:49 hmmmm i'm sure the algorithm works fine and all but christ this is like somebody threw up
02:49 hmmmm on a .cpp file
02:50 paramat yes in trunk, leaves, fruit placement functions
02:50 Zeno` I saw a wonderful one the other day
02:50 Zeno` every 4th line was an #ifdef
02:50 hmmmm so make_ltree could use some fixing... TreeDef tree_definition could be made a const reference
02:50 Zeno` couldn't read the code amongst the noise hehe
02:50 hmmmm what's the point of treegen::error even
02:51 hmmmm i'd advocate getting rid of that
02:51 hmmmm i'd advocate getting rid of the namespace altogether... why isn't that a class
02:51 hmmmm the entire thing needs a massive refactoring and I think we (any one of us) should work on it at a separate time
02:52 hmmmm but in the grand scheme of things, it's not very important
02:52 hmmmm I might work on it as a prerequisite to adding DECO_LSYSTEM
02:52 paramat well i'll change &vmanip to *vmanip throughout, and fix line lengths for now, leave the rest for someone else
02:53 hmmmm ok
02:57 hmmmm anybody else notice a consistent freeze when returning to main menu as of recently?
02:58 hmmmm ahh oh nevermind this was fixed
03:00 hmmmm does anybody understand the rationale behind this commit?  https://github.com/minetest/minetest/commit/dfe00abc5addd66dbf840d7e826690291f4afd93
03:05 Zeno` no
03:05 paramat (um no)
03:07 hmmmm actually nvm it looks like the deadlock is still there.  i noticed a lot of nerzhul commits that are supposed to fix an issue don't actually fix the issue
03:08 rickmcfarley joined #minetest-dev
03:27 paramat error when compiling: cannot convert ‘MMVManip’ to ‘MMVManip*’ for argument ‘1’ to ‘void treegen::make_tree(MMVManip*, v3s16, bool, INodeDefManager*, int)’
03:28 hmmmm sounds like you aren't passing along the correct type to make_tree() :)
03:29 paramat well i'll commit this so you can see
03:32 Miner_48er joined #minetest-dev
03:33 paramat phew lines down to roughly 95 columns, i'm done for tonight O/
03:33 paramat left #minetest-dev
03:34 hmmmm lol
03:34 hmmmm ahhhhh so much minetest TODO such little time :)
03:41 Hunterz joined #minetest-dev
03:44 hmmmm https://github.com/kwolekr/minetest/commit/432637c3a24a525824a5afacb8b1d8697fc99599
03:44 hmmmm this is a big one
04:01 Zeno` HOBJDEF?
04:04 kahrl I think we should ship the windows build with a custom kernel32.dll that implements CloseHandle and DuplicateHandle for HOBJDEF
04:05 Warr1024 I think you should ship the Windows build with a bootable Linux image :-)
04:05 kahrl well systemd might soon be enough ;)
04:20 hmmmm well
04:20 hmmmm it's a handle to an object definition
04:21 hmmmm ahh
04:21 hmmmm you guys think the type HOBJDEF looks visually similar to HGDIOBJ
04:25 Zeno` my biggest concern it that it reminds me of hobbits. also HDGIOBJ is hard to type and I cannot pronounce it :( waaah
04:26 Warr1024 #define HOBBIT HOBJDEF
04:26 hmmmm :)
04:26 Warr1024 #define GIDDY_HOBBIT HGDIOBJ
04:26 hmmmm what do you guys suggest I call it then?
04:27 Zeno` ObjDefHandle?
04:27 hmmmm sure
04:27 Zeno` I dunno... all these things in that file are hard to name for some reason :)
04:27 Warr1024 Calling it a "hobbit" would be a good way to troll future developers
04:27 Zeno` hobjit
04:28 Warr1024 that sounds like a just-in-time hobbit.
04:28 hmmmm haha reminds me of this one guy who used to write VB6 programs and name his variables after animals
04:28 Zeno` sounds reasonable
04:28 hmmmm seriously, Dim rooster As Long
04:28 Warr1024 nice
04:30 Zeno` ShadowNinja, re 4fbcfac
04:31 ShadowNinja Hmmm?
04:31 Zeno` I knew what you meant by serial ;) What's the best way to do an incrementing serial though? while filename_exists append serial+1 ?
04:32 Zeno` (i.e. a way that's re-entrant)
04:32 ShadowNinja Zeno`: See Player::save()
04:32 Zeno` although maybe it doesn't need to be re-entrant... /me looks
04:33 ShadowNinja It's only called from the main thread, so thread-safety isn't an issue.
04:33 Zeno` ok so while_filename exists... ok I'll do that and your other suggest
04:33 Zeno` ions*
04:34 hmmmm ahhhh
04:34 hmmmm kdevelop is driving me insane
04:35 hmmmm i'm only able to detach the Build output window *sometimes*.  other times when it disappears, and then I drag it out to my second monitor, it'll go back to being docked
04:42 hmmmm okay I changed that, anybody have any comments?
04:42 hmmmm I'm gonna push it
04:42 hmmmm push it to the limit
04:42 Warr1024 walk along the razor's edge
04:42 hmmmm don't look down, just keep your head
04:42 Warr1024 :-)
04:47 ShadowNinja hmmmm: Weren't biomes undocumented bucause they're unsupported?
04:47 hmmmm ahh yeah
04:47 hmmmm hum, that might be changing soon.. now they'll just be mostly undocumented
04:49 Warr1024 it looks like github ate my PR for the android icon shadows when I screwed up the branch and had to recreate it
04:49 Warr1024 I've also learned the hard way not to put anything matching #nnnn where nnnn matches an issue/PR *anywhere* in a commit comment
04:50 Warr1024 makes a hell of a lot of noise on the issue's comment thread every time I rebase that commit.
05:03 Warr1024 Eh, I'll wait until I can get 2536 merged before I worry about opening another PR.
05:04 Warr1024 my "fork" of MT is starting to get complicated...
05:23 jin_xi joined #minetest-dev
05:25 hmmmm yeah, don't put anything matching #nnnn in a channel as well =]
05:25 Warr1024 I noticed
05:26 hmmmm grr :(  i wish whoever implemented schematic node replacements had made it a field in the schematic definition table
05:26 hmmmm this breaks my attempt at being generic
05:37 Zeno` :3
05:46 WarrTab joined #minetest-dev
05:47 Hunterz joined #minetest-dev
05:48 hmmmm actually that's not totally accurate... i was the one who originally broke it by making schematics the only object to be loadable with a file
05:49 hmmmm all of this object def organization was added on after the fact though :p
05:49 Zeno` heh
05:49 Zeno` I really need to clean up my git repo
05:49 hmmmm woot now I have to add a get_or_load_* for every object 8)
05:50 Zeno` I have about 60 branches
05:50 Zeno` ShadowNinja, #2582
05:50 ShadowBot https://github.com/minetest/minetest/issues/2582 -- Change format of screenshot names by Zeno-
05:50 Zeno` I guess I can make sure that all PRs are merged all close and just re-clone
05:50 Zeno` might be easiest
05:51 Zeno` s/all close/or closed
05:51 Zeno` re-clone then cherry pick what I want to keep. I wonder if you can cherry pick from another repo
05:53 Warr1024 git branch -D branchname; git push --delete branchname
05:53 Warr1024 you can't cherry-pick from another repo, but you can add a remote, fetch to it, cherry-pick from it, then remove the remote, I believe.
05:53 Zeno` can I add a local repository as a "remote"?
05:54 * Zeno` will read the docs
05:54 Warr1024 Zeno`: yep
05:54 Zeno` I suppose I could just set up a git server on this computer then it's no different anyway :D
05:55 Warr1024 I recently installed and started using gitolite, and I'm really liking it.
05:57 ShadowNinja Zeno`: max_tries++; max_tries < 1000 reads better.  And you can combine it with serial and use one less variable!
05:59 ShadowNinja Also, RAII will handle tmp.close(), so either ommit it or be consistent and use it in the break condition too.
05:59 Zeno` there is no good for it being in the break condition
05:59 Zeno` because it's not open :)
06:00 Zeno` but yeah, the reason is that tmp was original not scope limited; I'll remove it
06:01 ShadowNinja Otherwise looks good.
06:01 Warr1024 holy shit, the whole time I had 2 minetests installed and was testing the wrong one
06:01 Warr1024 did the android package ID's change or something?
06:01 ShadowNinja G'night.
06:02 Zeno` I suppose 1000 - max_tries, but then it's used in a condition and as a paramater so I'd put it in a variable anyway for readability
06:02 Zeno` night
06:03 Zeno` never mind my last comment I am going mad... looking at 5 things at once
06:04 Zeno` I still have to put it into a constant so that I can do if (serial == 1000) { // no filename found } :/
06:04 hmmmm hey any news on the mailing list?
06:04 Zeno` I'll make it a #define I guess
06:08 Zeno` what mailing list?
06:08 hmmmm shadowninja i thought was supposed to make a mailing list
06:09 Zeno` oh
06:09 hmmmm i need a place to articulate my design for client-side modding
06:09 hmmmm and other stuff
06:11 Zeno` I'd rather a wiki or something than a mailing list, but I guess mailing list is more "unix like" heh
06:17 hmmmm oh man
06:17 hmmmm i don't think anybody could ever get done with minetest in a single lifetime
06:17 hmmmm there's just soo much shit todo
06:18 hmmmm every once in a while i like to organize my tasks and i get bewildered by the new load of crap i am taking on
06:20 Warr1024 hmmmm: do you ever PLAY the game, or do you just hack on it all the time?
06:20 hmmmm the latter
06:21 hmmmm i haven't actually played minetest in over 2 years
06:21 Warr1024 daaaaaamn
06:21 Warr1024 every now and then you've got to enjoy the fruits of your labor
06:21 hmmmm honestly 75% of my labor is for the modders
06:29 Zeno` what order should I check your PRs in, Warr1024?
06:30 Warr1024 any order, I think
06:31 Warr1024 I cherry-pick them into my own "fork", so they don't collide with one another, as far as I know
06:31 Warr1024 that fix for the texture scaling thing (again) is probably highest prio
06:31 Zeno` not worried about that... was more worried about, yes, order of importance
06:31 Zeno` ok I'll test 2579 first
06:32 Warr1024 yeah, that's the important one
06:32 Warr1024 then the gui scaling one
06:32 Warr1024 then ... then, I think I'll be out of outstanding PR's.
06:32 Warr1024 that android texture one got closed by github automatically, probably due to me cleaning up a branch I was actually still using.
06:33 Warr1024 I was going to wait to reopen it after the gui scaling one went in, though, so I won't have to hear *quite* as much "the texture still look like ass, we need to redo it all" complaining.
06:33 Zeno` I have no real comments looking at the src code of 2579, apart from else if (part_of_name.substr(0,19) == "[autoupscaleformesh")
06:34 Zeno` I don't like the 19 :)
06:34 Warr1024 it matches the 10 up above it :-)
06:35 Warr1024 frankly, I'd rather have a string.startsWith(string) method, but I don't know that much C++, and saw existing code that used the pattern, so I when-in-romed it.
06:35 Zeno` I need to look at the non-diff version
06:35 Zeno` I was just going to ask if there was a startsWith() function
06:35 Zeno` surely it exists :/
06:36 Warr1024 dunno, though if there is, then there's more code you'll want to fix in that general area ;-)
06:36 Zeno` oh of course; we're always fixing things when we are in the "code vicinity"
06:36 Zeno` kind of fix as we go hehe
06:37 Warr1024 yeah, as long as it doesn't scope-creep to the point where we end up messing up the original merge.
06:37 Zeno` str_starts_with
06:37 Zeno` yeah only if it's really close to what's being changed
06:38 Zeno` e.g. same function that's being modified or something reasonable
06:38 Zeno` anyway
06:38 Zeno` testing
06:38 Zeno` dunno why
06:38 Zeno` hehe
06:38 Zeno` just part of the routine :P
06:38 Warr1024 yeah, originally my code didn't work because I copied that substr(0,10) too closely from above, including the 10
06:40 Warr1024 but, ultimately, every piece of shitty code that I've ever written works better than any of the beautiful code I haven't gotten around to writing yet.
06:40 Zeno` grr, whitespace errors
06:40 Warr1024 oh, in my stuff?
06:40 Zeno` err I have to add something to minetest.conf don't I
06:40 Warr1024 sorry, I'm never gonna get used to if (cond)
06:41 Warr1024 shouldn't have to muck with config for that PR.
06:41 Warr1024 er, you're stll on 2579, right?
06:41 Zeno` I guess so
06:41 Zeno` lol, yes :)
06:42 Zeno` http://dpaste.com/1F8W3GS
06:42 Warr1024 yeah, it shouldn't need any new config, it's just a bugfix, basically.
06:42 Zeno` what am I testing then hehe
06:42 Zeno` everything looks fine
06:42 Warr1024 well, we know that custom huds that don't use scaling, custom crosshairs, and custom sun/moon tonemaps have been issues before
06:42 Warr1024 those should all be fixed.
06:43 Warr1024 I tried out that server listed in the Issue report
06:43 Zeno` oh ok.. I have that test here
06:43 Warr1024 2558 I think it was
06:43 Warr1024 dunno about a custom crosshair
06:43 Zeno` sun/moon is fine
06:43 Warr1024 VanessaE's HDX pack has a sun with custom tonemap
06:43 Zeno` I'm fine with the PR
06:43 Zeno` yep
06:43 Warr1024 cool
06:44 Zeno` hmmmm, you ok with #2579 also?
06:44 ShadowBot https://github.com/minetest/minetest/issues/2579 -- Move texture_min_size even further down the pipe. by Warr1024
06:44 Warr1024 sounds like we've finally whack-a-mole'd the last of the collateral damage
06:44 hmmmm oh gosh, this is the cause of the hud scaling bug?
06:44 hmmmm i wonder if this fixes the ^[combine bug as well
06:45 Warr1024 most of the time, when we use a "texture", it's bound to a mesh, and so it stretches/shrinks to fit the polygon
06:45 Warr1024 but sometimes, sort of randomly, we use "textures" as if they're "images" and have their own dimension, as well as resolution.
06:46 * Zeno` quickly builds for Android
06:46 Warr1024 upscaling all the textures at load time works great for minetest_game, but there are a lot of features that assume we won't mess with the textres.
06:46 hmmmm lol those ^[things
06:46 hmmmm they're so hacky
06:46 hmmmm especially using them internally like that
06:46 hmmmm what are ya gonna do though
06:46 Warr1024 yeah
06:46 hmmmm looks good to me
06:46 Warr1024 it always seemed weird to me that in _game, glass used inventorycube
06:46 Warr1024 even though presumably a regular RTT should have worked.
06:46 Warr1024 and I think this predated connected glass
06:47 Warr1024 the difference is that RTT worked ok on my particular android device without inventory_image_hack, but [inventorycube didn't.
06:47 Zeno` hud fixed, sun fixed, works on android
06:47 Zeno` I'll merge ;)
06:47 hmmmm wait, maybe i'm just not seeing it, but where did the textureMinSizeUpscale call go?
06:47 Zeno` after I wait
06:48 Zeno` heh
06:48 hmmmm oh nevermind that's not needed anymore
06:48 hmmmm derrp
06:49 hmmmm the entire function got replaced by the ^[thingie
06:49 Warr1024 yeah, since that's the only place it'll be used
06:49 hmmmm here i just thought some text moved around
06:49 Warr1024 I'm not sure if we'd really WANT people to reuse that function ;-)
06:55 Zeno` ok, I'll just fix the whitespace errors quickly
06:55 Warr1024 thanks
06:56 Zeno` done and dusted
06:57 Warr1024 awesome
07:01 Warr1024 should #2558 be closed too, then?
07:01 ShadowBot https://github.com/minetest/minetest/issues/2558 -- HUD texture scaling bug? (verified using Wuzzys "hudbars" mod)
07:03 nrzkt joined #minetest-dev
07:05 nrzkt hmmmm : http://irc.minetest.ru/minetest-dev/2015-03-31#i_4206667 => Failed command queues must be sent in FIFO mode. If you talk about the pop which is done and next a push_front, yes we could have a little improvement here, pop in a else and then we doesn't need a push_front, if it's what you are talking about.
07:06 nrzkt push_front is done on fail. I only keep the original algorithm, but in fact it could be improved to reduce operations, right.
07:09 Zeno` yes it should Warr1024 :)
07:09 Zeno` sorry I went afk when I merged
07:09 Zeno` gotta run, got company :)
07:11 nrzkt hmmmm: do you confirm the improvement ?
07:12 hmmmm was that behavior originally there before the network rework?
07:12 hmmmm just wondering
07:12 nrzkt yes
07:12 nrzkt when i replace list by queue, i forget to restore the FIFO there, then it's now fixed by use a deque
07:12 hmmmm failed command means a dropped reliable packet, correct?
07:13 hmmmm hrmm I wonder how this affected network performance in practice
07:13 hmmmm or what effects it did have anyway
07:14 nrzkt i verify
07:15 nrzkt as i see it's when have_sequence_number == false
07:15 hmmmm ah
07:15 nrzkt it's on sending not in receive
07:15 nrzkt u16 Channel::getOutgoingSequenceNumber(bool& successfull) is false
07:16 nrzkt if (((u16)(next_outgoing_seqnum - lowest_unacked_seqnumber)) > window_size) or if ((next_outgoing_seqnum + (u16)(SEQNUM_MAX - lowest_unacked_seqnumber)) >
07:16 nrzkt window_size) {
07:16 nrzkt failed
07:16 nrzkt then it's a pure generating failed but to window_size
07:17 nrzkt then the packet must be resent first, not last
07:19 nrzkt hmmmm: this is perfectly normal, but i think we can change the algo to pop_front only on success, then no push_front is needed, right ?
07:19 hmmmm hrmmm
07:19 hmmmm thinking
07:20 nrzkt this is exactly same, because if we fail, we pop_front and then we push_front the came command.
07:21 nrzkt same*
07:23 hmmmm oh I see it
07:23 hmmmm yeah that's fine
07:23 hmmmm i was looking at the wrong piece of code lol
07:23 nrzkt okay :)
07:23 nrzkt https://github.com/nerzhul/minetest/commit/d4cbba40684d8ed6f03bc55f5c5785fbe49132ec was okay then ?
07:23 hmmmm sure
07:24 nrzkt i push it now
07:24 hmmmm oh wait just one thing
07:24 nrzkt yes ?
07:24 hmmmm i hope you realize we don't use soupstroup if/elseif/else bracing style right
07:24 hmmmm stroustroup rather
07:25 nrzkt what is soupstroup ?
07:25 hmmmm lol
07:25 hmmmm stroustrup
07:25 hmmmm the style where it's:
07:25 hmmmm if (something) {
07:25 hmmmm blah;
07:25 nrzkt google translate doesn't recognize the word
07:25 hmmmm }
07:25 hmmmm else (something_else) {
07:25 hmmmm ...
07:25 hmmmm }
07:25 nrzkt yes, where did you see a problem here ?
07:26 hmmmm http://en.wikipedia.org/wiki/Indent_style#Variant:_Stroustrup
07:26 hmmmm minetest uses the Linux kernel bracing style
07:26 hmmmm like this:  http://en.wikipedia.org/wiki/Indent_style#Kernel_style
07:27 hmmmm just FYI
07:27 nrzkt maybe i'm not correctly awake, but i don't see the difference xD
07:27 hmmmm one has the else on the same line as the closing bracket for the if
07:28 nrzkt oh i see
07:28 hmmmm i figured i'd finally tell you about that
07:28 nrzkt erf i always used this style in my commits and i don't see this correctly when i read the coding style, so subtile
07:28 hmmmm it's no biggie
07:29 nrzkt fixing it and pushing it
07:29 hmmmm well OK
07:30 nrzkt done
07:43 Calinou joined #minetest-dev
07:51 sfan5 [...]
07:51 sfan5 }
07:51 sfan5 else (cond) { [...]
07:51 sfan5 we use that style?
07:51 hmmmm no we *don't* use that style
07:51 sfan5 ok, good
07:51 sfan5 i never used that style
07:53 kilbith joined #minetest-dev
08:38 roniz joined #minetest-dev
08:44 err404 joined #minetest-dev
08:58 nrzkt i do a last test on my live server with all packets, and i will push a modification on Connection::Receive to remove a useless and long existing copy from Buffer<u8> to SharedBuffer<u8> to NetworkPacket. With this modification Buffer<u8> will be copied directly to NetworkPacket
09:59 MinetestForFun joined #minetest-dev
10:48 OldCoder joined #minetest-dev
10:53 Zeno` joined #minetest-dev
11:05 rubenwardy joined #minetest-dev
11:21 Zeno` I'll fix it now
11:23 Zeno` #2583 I mean
11:23 ShadowBot https://github.com/minetest/minetest/issues/2583 -- Memory Leak with gettext
11:23 Zeno` it's not a leak; it's an unitialised variable
11:26 Zeno` pushed
11:30 Tablet_Two joined #minetest-dev
11:53 proller joined #minetest-dev
11:56 rubenwardy joined #minetest-dev
12:07 nrzkt thanks Zeno`
12:07 nrzkt as you see kilbith has a second memleak in the reporting : http://pastie.org/10064554 but i haven't :s
12:08 Zeno` neither do I
12:09 nrzkt maybe a bug in the ubuntu packaging
12:29 Zeno` I don't know
12:29 Zeno` kilbith, does translation *work*?
12:29 rubenwardy #2527
12:29 ShadowBot https://github.com/minetest/minetest/issues/2527 -- Red Sun When sun.png is Used
12:29 rubenwardy ..no
12:30 rubenwardy #2575
12:30 ShadowBot https://github.com/minetest/minetest/issues/2575 -- Add texture overriding by rubenwardy
12:30 kilbith Zeno`, yes perfectly
12:30 Zeno` kilbith, ok well it might need more tracking down. Perhaps it's been there for a long time
12:30 Zeno` a bisect would be good
12:45 eeew joined #minetest-dev
13:08 SopaXorzTaker joined #minetest-dev
13:32 srifqi joined #minetest-dev
13:59 selat joined #minetest-dev
14:01 swaaws joined #minetest-dev
14:16 Zeno` joined #minetest-dev
14:18 srifqi Zeno`
14:18 shadowzone joined #minetest-dev
14:18 Zeno` srifqi
14:19 srifqi Zeno`: sorry for asking you again. But can you please check #2561?
14:19 ShadowBot https://github.com/minetest/minetest/issues/2561 -- Add mapgen specific flags to create world dialog by srifqi
14:19 Zeno` Does it now work if the world isn't actually created?
14:21 srifqi Yes, it still can run, with default settings applied everytime the dialog opened
14:22 shadowzone joined #minetest-dev
14:25 srifqi nrzkt
14:29 srifqi Okay, just want to ask, why does #2561 do not have any labels?
14:29 ShadowBot https://github.com/minetest/minetest/issues/2561 -- Add mapgen specific flags to create world dialog by srifqi
14:48 nrzkt srfqi ? what do you want ?
14:52 proller joined #minetest-dev
14:53 srifqi okay, canceled, nrzkt, sorry for disturbing
14:58 jin_xi joined #minetest-dev
14:59 Hunterz joined #minetest-dev
15:02 MinetestForFun joined #minetest-dev
15:05 hmmmm joined #minetest-dev
15:09 SopaXorzTaker joined #minetest-dev
15:16 proller joined #minetest-dev
15:22 Tablet_One joined #minetest-dev
16:14 ekem anyone thought about using doxygen with the project yet?
16:15 Hunterz joined #minetest-dev
16:20 ElectronLibre joined #minetest-dev
16:32 kahrl ekem, yes, that's why there is a doc/Doxyfile.in :)
16:35 Warr1024 joined #minetest-dev
16:39 shadowzone joined #minetest-dev
16:46 DFeniks joined #minetest-dev
16:59 Tablet_One joined #minetest-dev
17:00 twoelk joined #minetest-dev
17:00 Robert_Zenz joined #minetest-dev
17:18 hmmmm man wtf
17:18 hmmmm is it just me or does luajit make things difficult to debug
17:19 hmmmm every time a segfault happens inside of an api, it ends up in this __cxa_end_catch() and I lose all the helpful backtrace information
17:19 Krock joined #minetest-dev
17:21 roniz joined #minetest-dev
17:24 hmmmm odd, for some reason -lfreetype isn't found if ENABLE_FREETYPE but not ENABLE_LUAJIT
17:31 Krock \o/ GetText has been fixed!
18:17 Miner_48er joined #minetest-dev
18:40 rickmcfarley joined #minetest-dev
18:53 est31 joined #minetest-dev
19:11 rickmcfarley joined #minetest-dev
19:13 iqualfragile joined #minetest-dev
19:42 FR^2 joined #minetest-dev
19:46 msantana joined #minetest-dev
19:50 proller joined #minetest-dev
19:53 neoascetic joined #minetest-dev
19:53 neoascetic Hi all. Is there a better way to put text on some object then in signs mod?
19:54 VanessaE not at present.
19:54 VanessaE RealBadAngel was working on a VGA text drawtype/modification
19:55 VanessaE but it has not been released yet
19:55 VanessaE and he's awol
19:57 est31 !g awol
19:57 ShadowBot est31: http://www.urbandictionary.com/define.php?term=AWOL | Absent Without Official Leave: A term used in the United States Military to describe a soldier or other military member who has left his or her pos...
19:57 rickmcfarley joined #minetest-dev
19:58 est31 ~tell PilzAdam you shouldn't be bothered by emails anymore, I've fixed the daily build for precise.
19:58 ShadowBot est31: O.K.
19:59 VanessaE ...it also means generally having disappeared without some good reason.
20:07 Elinvention joined #minetest-dev
20:20 iqualfragile_ joined #minetest-dev
20:22 err404 joined #minetest-dev
20:35 OldCoder joined #minetest-dev
20:47 ElectronLibre left #minetest-dev
20:48 fz72 joined #minetest-dev
20:54 Anchakor_ joined #minetest-dev
20:56 iqualfragile joined #minetest-dev
21:01 Jordach joined #minetest-dev
21:14 iqualfragile joined #minetest-dev
21:36 shadowzone joined #minetest-dev
21:40 est31 http://pastie.org/10065697
21:40 est31 ^ big problem
21:40 est31 happens at server start
21:50 est31 *reproducably*
21:50 VanessaE est31: check your player files and things like env_meta.txt
21:50 VanessaE something is missing EnvArgsEnd
21:50 VanessaE in fact check that file, first.
21:50 VanessaE bet you it's empty
21:51 Warr1024 that's why I've been wanting to switch to storing non-mapblock world content in the key/value store
21:52 Warr1024 most of those systems have better protection against partial writes than the filesystem
21:52 est31 eww
21:52 est31 yea
21:52 est31 that was the problem
21:52 * est31 tries to rm
21:53 Warr1024 restore from backup
21:53 VanessaE nah, replace it with some useful content,
21:53 VanessaE game_time = 46994015
21:53 VanessaE time_of_day = 6999
21:53 VanessaE EnvArgsEnd
21:54 est31 btw whats game_time all about?
21:54 VanessaE idk
21:54 Warr1024 isn't that the internal game clock, running since world start?
21:54 est31 ok seems to work
21:55 VanessaE sure, but why's it saved?
21:55 Warr1024 that's probably in case you want to do stuff like an abm that handles plant growth but compensates for the time the block wasn't active
21:55 Warr1024 also stuff like entity ttl's
21:55 VanessaE I doubt that
21:55 VanessaE wouldn't the server keep its clock internally?
21:55 est31 I think thats also the way the master serverlist checks a server's age
21:56 Warr1024 yes, it'd keep the clock internally in that variable in that file.
21:56 Warr1024 the time-of-day clock is separate from the age-of-the-world clock
21:56 Warr1024 since an admin can set the time of day
21:56 est31 btw there is no key value store
21:56 Warr1024 est31: o rly?  then where do your mapblocks get stored?
21:56 est31 Warr1024, in different backends, some with key value stores, some not
21:57 Warr1024 from what I've seen, all backends are key/value stores
21:57 Warr1024 i.e. the interface is basically that of a key/value store
21:57 est31 yes, but only mapblocks are stored there, AFAIK
21:57 Warr1024 yeah, but it doesn't have to be that way
21:58 Warr1024 it could have some benefits
21:58 Warr1024 for instance, a lot of back-ends have better reliability than filesystems, which seem to be often configured to run more asynchronously than is strictly healthy
21:58 est31 in fact, not even the interface is the one of a real key value store
21:58 est31 because its getting position params
21:59 est31 and not the mapblock hash
21:59 Warr1024 hm, that's kind of funny
21:59 Warr1024 I guess then it's a compound key, anyway
21:59 est31 https://github.com/minetest/minetest/blob/master/src/database.h
21:59 Warr1024 most of the actual back-ends we use, though, could offer storage for more than just mapblocks
22:00 est31 seems like a good idea.
22:00 est31 however sql for example should store it in a separate table
22:00 Warr1024 yeah
22:01 Warr1024 I think redis has separate collections
22:01 Warr1024 or even if it doesn't, just use the filename as the key in key/value store
22:01 Warr1024 and it won't collide with any mapblock addresses anyway
22:01 est31 filename?
22:01 Warr1024 or even a hash of the filename
22:01 Warr1024 well, things that aren't mapblocks are currently addressed by filename
22:02 Warr1024 things like the *_meta.txt files and whatever mod content.
22:02 Warr1024 I'm pretty sure that we're not doing "safe writes"
22:02 est31 I dont see any beauty in appending .txt to every key.
22:03 Warr1024 they're not possible on some platforms we're portable to, like Windows, and on the others that supposedly offer them, they're often defeated by filesystem options in the name of performance.
22:03 est31 could live with "env_meta" though
22:03 Warr1024 est31: we wouldn't be appending .txt.  We'd just be not stripping it off.
22:04 est31 Warr1024, which files do you propose to be moved to the db?
22:04 Warr1024 Whether there's a .txt in the key is a trivial point, anyway.
22:04 Warr1024 I think the hard part is making it actually work
22:04 est31 agreed, bikeshedding
22:04 Warr1024 esp. the lua side.
22:04 Warr1024 ideally, I'd like to see any file that's written by the server go in there
22:05 Warr1024 i.e. everything but configuration, built-ins, assets, installed mods, etc.
22:05 Warr1024 anything mutable at runtime
22:05 Warr1024 which would mean a lot of interception of the io stuff in lua, to capture mod content
22:05 Warr1024 like for instance, I think mesecons keeps track of some things in separate custom files
22:05 Warr1024 but, since they're mutable at runtime, they run the risk of being written partially and corrupted on a hard restart
22:06 Warr1024 I'd like the *option* to write them into the same store as the mapblocks, in a way more-or-less transparent, if possible, to the mods themselves.
22:06 est31 transparency is bad
22:06 err404 joined #minetest-dev
22:06 Warr1024 stores like redis might offer better performance than the filesystem, and most stores will offer better reliability against partial writes.
22:06 est31 we need separate interfaces at least
22:07 est31 because mods might place their own config files for example
22:07 Warr1024 est31: what I mean is that I don't want to have to rewrite every mod out there that currently writes to files naively
22:07 est31 and those are only read
22:07 Warr1024 well, to do it transparently, we'd have to check the backend first, and if the value is not present, pull it from the filesystem
22:07 Warr1024 anything written at runtime would go into the db backend, thus overriding what was on disk
22:08 Warr1024 a mod can't, by definition, write something that's only read.
22:08 est31 the file on disk should be deleted then though to forestall confusion.
22:08 est31 on a write
22:08 Warr1024 could be done
22:08 Warr1024 or rename to .OLD or something
22:09 est31 also, storing it in a map.db file isn't a good name
22:09 Warr1024 maybe, maybe not
22:09 est31 perhaps a separate database file just for those params`
22:09 Warr1024 a lot of the content that'll go into it IS part of the world, logically
22:09 Warr1024 it'd create an interesting opportunity to have single-file worlds, for one thing...
22:10 est31 you can have that already now too
22:10 Warr1024 oh?
22:10 est31 all my worlds are stored in a single file, /dev/sda10
22:10 Warr1024 high larious.
22:11 Warr1024 that's certainly not an ideal format for sharing
22:11 est31 on decent operating systems, you can mount zip files as read-write.
22:12 Warr1024 yeah, but creating zip files, let's be honest, may be beyond the capabilities of some users
22:12 Warr1024 also, if your back-end is sqlite, mounting a zip file is certainly going to be a nightmare
22:12 est31 why so?
22:13 Warr1024 you're talking about storing a random-access database inside a compressed chunk inside a random-access database
22:13 Warr1024 except I don't think zip allows for unused space...?
22:13 est31 also map databases realyy benefit from compression
22:13 Warr1024 so if you modify the chunk near the beginning of the sqlite fie
22:13 Warr1024 it has to recompress the entire sqlite file
22:13 Warr1024 except if the new size is different from the original size, it has to rewrite all the zip content after that point too
22:14 Warr1024 also, no idea how safe writes will work
22:14 Warr1024 it'll have to create the journal or write-ahead log, write the data to that, then process the commit and clean it up...
22:14 Warr1024 I can't image doing that transparently with a zip file
22:15 Warr1024 assuming that you get any reasonable level of performance, that can only come at the cost of interfering with the safety features of the journal to begin with.
22:15 Warr1024 leveldb and redis work a bit differently, writing out periodic snapshots, but they still need to be able to write new content and delete old content, which would cause a zip file to be rewritten
22:15 Warr1024 the only way to effectively handle compression for a world database in realtime is to compress mapblocks independently...
22:16 est31 btw, the fs the server is on, does support journalling
22:16 est31 the problem was more with minetest I guess
22:16 Warr1024 journalling is not a panacea
22:17 Warr1024 for instance if you're on ext4, by default, it only journals metadata, NOT content data.
22:17 Warr1024 just to make sure the filesystem doesn't end up in a corrupt state, not to guarantee that your data is written out
22:17 xenkey left #minetest-dev
22:17 Warr1024 to correctly write a file without risk of truncation, you'd have to (1) write it to a new location, (2) call fsync(), then (3) rename the new file over the old one.
22:18 est31 interesting
22:18 Warr1024 the fsync call is often defeated by mount options by people seeking speed at the expense of accuracy
22:18 Warr1024 and the "rename new file over old one" is not possible on Windows
22:18 Warr1024 it must be one atomic operation, but Windows requires you to unlink/delete the old file first.
22:19 Warr1024 since they're 2 separate ops, you might crash between the delete and the rename
22:19 Warr1024 turning off the metadata journal (optional in ext) will similarly prevent your writes from being 100% safe.
22:19 Warr1024 I mean, there MIGHT be a bug in MT.
22:19 Warr1024 but this might also be an issue.
22:20 Warr1024 I've had some corruption of the world metadata files before due to crashes and hard freezes at the OS level before.
22:20 Warr1024 but the sqlite/leveldb files I've used have never, as far as I've seen, been corrupted by them.
22:20 MinetestForFun_ joined #minetest-dev
22:21 Warr1024 I'm really interested in Redis as a really good balance between speed and safety for MT, but without the option to connect to a unix-domain socket, it's not secure enough for my purposes, running on a multi-user system.
22:21 Warr1024 was thinking about adding a patch for it; shouldn't be too hard to do.
22:22 est31 yea that would be really cool
22:22 est31 bye now
22:22 Warr1024 l8r
22:29 Warr1024 it looks like #2522 was fixed by #2567, but it wasn't closed...
22:29 ShadowBot https://github.com/minetest/minetest/issues/2522 -- Android: fast_move only works with free_move enabled
22:29 ShadowBot https://github.com/minetest/minetest/issues/2567 -- On Android enable always fast by Zeno-
22:39 celeron55 i have decided to switch the name of Minetest back to Communismcraft
22:41 VanessaE O_o
22:43 iqualfragile joined #minetest-dev
22:48 twoelk|2 joined #minetest-dev
22:52 hmmmm aha
22:53 hmmmm who would've known that /dev/ptmx was deprecated on freebsd...
22:54 proller joined #minetest-dev
23:01 iqualfragile_ joined #minetest-dev
23:12 iqualfragile joined #minetest-dev
23:25 iqualfragile joined #minetest-dev
23:32 proller joined #minetest-dev
23:39 iqualfragile_ joined #minetest-dev
23:47 hmmmm weird, for some reason Player::m_mutex is not initialized
23:48 hmmmm i think it could possibly be class copy semantics
23:49 hmmmm ServerEnvironment::loadPlayer() has this line where *player = testplayer
23:49 hmmmm I can't help but wonder if that does something to an uninitialized mutex
23:49 hmmmm ah yes, a dangling reference
23:50 hmmmm when loadPlayer() returns, RemotePlayer testplayer falls out of scope and deinitializes its own copy of the same mutex copied
23:50 hmmmm i can't help but notice that i didn't see any bug reports about this lately.  what's up with that?
23:51 iqualfragile joined #minetest-dev
23:52 Wayward_One joined #minetest-dev
23:52 Player_2 joined #minetest-dev

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