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 ¶ms 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 |