Minetest logo

IRC log for #minetest-dev, 2015-04-08

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

All times shown according to UTC.

Time Nick Message
00:05 prozacgod joined #minetest-dev
01:07 OldCoder joined #minetest-dev
02:07 Aaron1011 joined #minetest-dev
02:07 Robby joined #minetest-dev
02:12 daswort joined #minetest-dev
02:54 hmmmm i should probably commit some stuff
02:54 hmmmm :|
02:55 Zeno` ok
02:55 Zeno` I love this:  ((hp == 0) != (oldhp == 0))
02:56 hmmmm heh, that's xor logi
02:56 hmmmm logic*
02:56 Zeno` boolean voodoo
02:56 hmmmm not quite, it has its place
02:57 hmmmm but that's a poor use of it
02:57 Zeno` lol, I'm just not sure the author meant it or not
02:57 Zeno` I just found it funny for some reason
02:58 hmmmm if there was a change between the hp being zero and nonzero
02:58 hmmmm not necessarily interested if there was a change in the HP itself
02:58 hmmmm so basically if there was a change in the player's life status
02:58 Zeno` yeah
02:58 hmmmm probably would be better as:  #define IS_PLAYER_DEAD(player) ((player)->hp == 0)
02:58 hmmmm or something
03:00 Zeno` too much typing
03:00 hmmmm bool player_is_dead = hp == 0;
03:00 hmmmm bool player_was_dead = oldhp == 0;
03:01 hmmmm if (player_is_dead != player_was_dead) { ...   this is probably the ideal version
03:01 Zeno` why not just xor it?
03:01 Zeno` the obvious way, I mean
03:02 hmmmm because that assumes 0 is always the dead hp
03:02 Zeno` well yeah
03:02 Zeno` but so does the current way
03:02 hmmmm so #define ACTIVEOBJECT_HP_DEAD 0
03:02 Zeno` I think there has been an is_dead() function added, will have to look
03:02 hmmmm ahh
03:03 hmmmm i think we beat this issue to death
03:03 Zeno` I'm only looking at diffs atm, so not seeing the whole issue
03:03 Zeno` wow! you're funnier than I am
03:03 Zeno` :D
03:04 Zeno` while bisecting that issue, btw, I had to do full cleans and cmake's every (@$*(@*4 step
03:05 Zeno` without rm'ing my cmake dir and re-running cmake and building everything from scratch the issue did not actually show up
03:05 Zeno` #2501
03:05 ShadowBot https://github.com/minetest/minetest/issues/2501 -- creative & damage disabled: tnt deals damage and kils player
03:05 Zeno` so now I need to write a script for bisects :(
03:08 Zeno` brb
03:08 hmmmm https://github.com/kwolekr/minetest/commit/a2f05cf1a16f44faba82b56f906d6cd3fa805c32
03:09 hmmmm do you think i should add some kind of option to force the filename to be relative
03:10 hmmmm i'm still unsure of how this suddenly 'broke'... people didn't complain about it for all the years that schematics existed
03:13 Zeno` I actually link that people didn't notice because they noticed it didn't work, realised it worked with full paths and discussed it together on IRC (or wherever they discuss these things) and just never reported it
03:13 Zeno` i.e. if it was specified in the documentation that a full path was required I doubt anyone would have ever thought it was a bug
03:13 hmmmm I'm going to merge #2403 unless anybody has objections
03:13 ShadowBot https://github.com/minetest/minetest/issues/2403 -- Fix freetype detection by AMDmi3
03:14 Zeno` we've discussed that several times
03:14 hmmmm we have?
03:14 Zeno` not me and you
03:14 hmmmm well
03:14 Zeno` but I have no problem with it
03:14 hmmmm freetype is broken on freebsd, I don't know how nerzhul got it working on his jenkins build but
03:14 Zeno` est asked on #cmake about the bug referenced
03:14 hmmmm this fixes the problem for me
03:15 Zeno` well it works on linux
03:15 Zeno` (after the fix I mean)
03:15 hmmmm yeah I'm mostly afraid of breaking other platforms in the process
03:15 Zeno` and MSCV still uses cmake so ... hmm
03:15 Zeno` I think it uses cmake anyway... mingw does at least
03:16 hmmmm well :)  MSVC doesn't use pkgconfig
03:16 hmmmm at least I think
03:16 hmmmm you can never be too sure these days
03:16 Zeno` well, maybe merge it and then we fix it for Windows if it's broken?
03:16 Zeno` seems better to have a workaround for the only platform it doesn't work on than the other way around
03:17 hmmmm I should probably set up test environments for all OSes someday
03:17 Zeno` how can we do that for msvc?
03:18 hmmmm beats me.
03:18 Zeno` :D
03:18 hmmmm wow CMake looks like a ghetto
03:18 hmmmm look at those issues
03:18 hmmmm http://www.cmake.org/Bug/view.php?id=14601
03:18 hmmmm http://www.cmake.org/Bug/view.php?id=13959
03:18 Zeno` I really think the bug referenced has been fixed but not updated
03:19 Zeno` either that or freetype has somehow changed
03:19 hmmmm hopefully
03:19 hmmmm it seems like what's effected is OS X?
03:19 hmmmm affected
03:20 Zeno` see: https://github.com/minetest/minetest/commit/cb7bb736c70afa7e7dfc90545ad52992a35dc082
03:20 Zeno` ^ is there any way to quickly find the PR related to that?
03:21 Zeno` I've always wanted to ask this, and this is a good example
03:21 hmmmm doesn't seem so
03:21 Zeno` pity
03:21 Zeno` anyway, that was question was a bit tangential
03:21 hmmmm I guess if there's a problem platform after merging 2403 we can re-add the workaround for that specific platform
03:21 hmmmm i mean it doesn't make sense to fix one and break another
03:22 hmmmm that said, our cmake file has a lot of problems with it.  frankly i don't understand how it functions.
03:22 Zeno` yeah that's what I meant by my earlier comment
03:22 hmmmm oh
03:22 Zeno` i.e. if it causes a problem make a specific case for whatever OS breaks
03:22 Zeno` I can probably test on OSX later btw
03:23 hmmmm cool
03:23 hmmmm I have an OSX vm actually, that i had set up for minetesting
03:23 Zeno` I'll have to set up the dev environment but I've been meaning to do that for ages anyway
03:23 Zeno` i have OSX in VM as well for testing another app
03:24 Zeno` just haven't gotten around to installing dev stuff because my friend compiles for me, but I should do it
03:25 hmmmm https://github.com/AMDmi3/minetest/commit/6d72aaee8daa9e92501f8bece1536c78342bf287
03:25 hmmmm should we merge this too?  there was never a PR for it
03:25 paramat joined #minetest-dev
03:27 Zeno` yeah I think so
03:27 Zeno` those things *should* be configurable
03:29 Zeno` I suspect package maintainers must already have patches for that if their package puts things in non-standard or system-specific directories but *shrug*
03:29 * Zeno` glares at paramat
03:30 Zeno` heh, I suppose it's not your fault the bisect took so long. I shall forgive you
03:30 paramat *sigh* hmmmmm i finally understand how you feel about nerzhul =)
03:31 hmmmm what
03:33 paramat https://github.com/minetest/minetest/issues/2524#issuecomment-90756393
03:33 hmmmm well, i did approve it
03:33 hmmmm it doesn't *damage* anything
03:34 paramat lol
03:34 hmmmm as long as he's happy with his changes i suppose it's okay
03:34 hmmmm i'm really tired of conflict
03:35 hmmmm oh I read the wrong comment because the page didn't scroll down the whole way
03:35 Fritigern joined #minetest-dev
03:35 hmmmm yes it's very easy to reproduce
03:37 Zeno` hmmmm you're full of puns today
03:37 hmmmm i didn't make any puns there
03:37 Zeno` didn't say you did
03:38 Zeno` ok, I'm going to break some stuff
03:38 Zeno` sick of bisecting now
03:39 Hunterz joined #minetest-dev
03:41 paramat then when i stand up to nerzhul, a newbie, i get talked down to as if i'm nothing (charlie brown *sigh*)
03:42 hmmmm do you guys just want to revert all nerzhul commits
03:42 hmmmm lol
03:42 hmmmm I guess that PR of mine wasn't so horrible after all
03:42 * VanessaE shudders
03:42 VanessaE scary thing is I thought about this earlier todayu
03:42 VanessaE -u
03:43 VanessaE somehow, I got the feeling someone was gonna bring that up.
03:43 hmmmm how could you not
03:43 hmmmm all major bugs right now are the result of one person
03:43 VanessaE I know
03:43 VanessaE or it certainly looks that way
03:43 paramat nah i don't =)
03:44 Zeno` it's kind of hard to revert that much stuff :P
03:44 hmmmm well yeah
03:44 VanessaE well
03:44 hmmmm there's no going back now
03:44 VanessaE honestly,
03:44 VanessaE I had considered the notion of doing a hard reset.
03:44 Zeno` yikes
03:44 hmmmm reset to what
03:44 VanessaE all the way back to whatever is decided as "the beginning"
03:45 hmmmm oh
03:45 Zeno` version 0.0.1?
03:45 Zeno` ok
03:45 hmmmm yeah that's how I pretty much made my PR lol
03:45 VanessaE not that far back to twit :P
03:45 VanessaE and then re-applying everything on top of that state, one commit at a time
03:45 VanessaE hmmmm: yeah, about the same as your commit I guess, but even more brute-force
03:45 hmmmm it's impossible to do an actual revert
03:45 hmmmm trust me, i tried it
03:45 Zeno` reset hard and push -f
03:46 Zeno` lol
03:46 Zeno` I think we'd lose a lot of work though :P
03:46 hmmmm shadowninja made freetype required
03:46 hmmmm is this intentional?
03:46 ShadowNinja hmmmm: No.
03:46 VanessaE I see no reason not to depend on it
03:47 hmmmm okay
03:47 ShadowNinja hmmmm: It should be auto-detected.
03:48 hmmmm oh nevermind
03:49 hmmmm actually you did the opposite, you fixed it from being required
03:55 prozacgod joined #minetest-dev
04:02 paramat i do feel the network changes should require review and approval, perhaps with nerz not being a core dev, but of course that's more work for other devs
04:08 hmmmm sooo
04:08 hmmmm no comments on https://github.com/kwolekr/minetest/commit/a2f05cf1a16f44faba82b56f906d6cd3fa805c32 ?
04:09 hmmmm nobody ever comments on or reviews my commits
04:09 * paramat looks
04:12 paramat that's because we foolishly trust you ;)
04:12 Zeno` I reviewed something of yours just the other day!
04:13 Zeno` some weird random number thing
04:13 hmmmm that was a couple weeks ago
04:13 Zeno` yeah
04:13 hmmmm should there be an option to use the literal path, regardless of whether or not it's relative?
04:13 Zeno` the other day a few weeks ago
04:13 hmmmm I'm thinking maybe like add a weird character to the beginning that should never be in a path such as $
04:14 hmmmm filename = "$LITERAL$" + filepath,
04:14 hmmmm s/+/../
04:15 Zeno` lua_getfield(L, LUA_REGISTRYINDEX, "current_modname");
04:15 Zeno` oops sorry... meant to paste it in my notes
04:16 paramat i like the look of your work on registering schematics. for sapling growth i will need to detect mapgen and then either spawn a lua tree in mgv6 or spawn a schematic tree in v5/v7. perhaps registered schematics will allow that?
04:16 hmmmm ohh shit
04:16 Zeno` hmmmm, so all those members in ModApiBase now have to be public?
04:17 hmmmm yeah why not
04:17 hmmmm i can't articulate a reason why they should be private
04:17 hmmmm paramat:  yes sure
04:18 paramat good
04:18 Zeno` surely nothing needs them apart from subclasses
04:18 hmmmm this should also work inside on_mapgen_init() callbacks since it's actually called directly in the context of mod initialization anymore
04:18 Zeno` but anyway, lgtm
04:18 hmmmm Zeno`, helper functions do
04:19 hmmmm I should add documentation on this to lua_api.txt
04:19 Zeno` which helper functions?
04:19 Zeno` oh nvm
04:19 hmmmm load_schematic etc.
04:20 hmmmm they all have a lua_State, they don't have a Server, and they shouldn't be given a Server
04:20 Zeno` well, getCurrentModPath() is fine because all it does it return a copy of a string
04:20 hmmmm if you were to move those helper functions into ModApiMapgen, then you need to declare them in the header file
04:20 hmmmm and that's nasty
04:21 hmmmm it requires lots of forward declarations that otherwise would be totally unnecessary, and it'd also require #include <set> in the header
04:21 paramat should default mod tree schems be stored as files or registered from lua tables? mtgame team prefers files for compactness
04:21 hmmmm since it's a pain in the butthole to forward declare templated classes
04:22 hmmmm they should be files.
04:22 hmmmm really it's not going to matter once I write the convert-to-lua-table function
04:23 Zeno` I guess what I'm saying is that they were protected before without having all these fwd decls weren't they?
04:24 Zeno` or is this for register function
04:24 hmmmm errrr
04:24 hmmmm the helper functions are not part of any class, adding them as static methods to ModApiMapgen so they gain access to protected ModApiBase members would require declaring those function prototypes in the l_mapgen.h header, which requires pulling in a lot more stuff
04:25 Zeno` ok I see now
04:25 hmmmm and the simplest way to deal with the mess is to change the protection which was quite arbitrary to begin with
04:25 Zeno` yep
04:26 paramat great, lua table <-> file conversion is what i need. these are the final issues holding up the full biome system
04:26 hmmmm I need to come up with a smart way of linking different managers together
04:27 kahrl_ handcuffs?
04:27 hmmmm SchematicManager needs to access DecorationManager, for example
04:27 hmmmm BiomeManager needs to access OreManager and DecorationManager
04:27 hmmmm this is going to be so messy
04:29 kahrl_ I guess you don't want to do it similarly to IGameDef?
04:29 hmmmm huh how does IGameDef do it?
04:30 kahrl_ just a class with members and accessors for all the various managers
04:30 hmmmm oh I can already do that
04:30 hmmmm I think it'd set a bad precedent linking everything together
04:30 hmmmm the different managers are supposed to be discrete, not spaghetti
04:32 hmmmm how do you change the author/email address on a commit?
04:32 ShadowNinja So, this is what I did to JThread: https://github.com/minetest/minetest/compare/minetest:master...ShadowNinja:cleanup-threading
04:33 ShadowNinja It also adds an Atomic class, which may be useful for speed in some places (didn't check though).
04:33 kahrl_ git commit --amend --author="Rick <rick@minetest.net>" or something like that
04:33 hmmmm oh that's easy
04:33 hmmmm i was expecting a mess
04:53 paramat left #minetest-dev
05:10 Zeno` well, the player damage is obviously very easy to fix. The questions are: a) are there legitimate reasons for the player to be damaged if enable_damage == false;  b) Should the HP packet still be sent by the server? or should the client just ignore the CE_PLAYER_DAMAGE event?
05:10 Zeno` Related to a) is "healing" a valid thing to happen if enable_damage == false?
05:11 Zeno` or "is dead" for that matter
05:12 VanessaE imho, either hp should be absolutely meaningless when damage is disabled, or hp should be allowed to be increased, but never decreased.
05:15 Zeno` well is there a use case where a mod (a fairly big one) would take over the role of player damage and healing? (i.e. and require enable_damage = false)
05:16 VanessaE I could see a whole *game* doing that,
05:16 Zeno` yeah, game then
05:16 VanessaE but if that's the case, why not just enable damage and allow for some hooks into the damage system?
05:16 VanessaE e.g. on_hp_change, on_hp_decrease, etc.
05:16 Zeno` not sure, that's why I'm asking
05:18 Zeno` There's a few places where it could be "fixed" I guess is what I'm getting at
05:18 hmmmm well
05:18 Zeno` few different places*
05:18 hmmmm I think nerzhul was correct that set_hp and doing damage should be two different things
05:19 hmmmm but here and now isn't the time and place to make the distinction
05:19 VanessaE well I dunno about that
05:19 hmmmm this is logic that should be in lua
05:19 hmmmm not the core
05:19 hmmmm when client side modding comes around, this is a prime target for moving to lua
05:20 Zeno` that's what I'm getting at; it can be done in several places in core and also in Lua (builtin) and the implications are very different
05:20 VanessaE classically, HP is a measure of your overall health, or so I thought.
05:20 VanessaE you take damage by losing HP
05:20 hmmmm having HP doesn't make sense for certain kinds of entities
05:20 hmmmm erm, objects
05:21 VanessaE well for something like a dropped block of dirt, yeah
05:21 hmmmm I really do think the entirity of "HP" should be a lua thing
05:21 Zeno` yes but setting an absolute HP (setHP) is just as valid as a relative hp (damage or heal)
05:21 hmmmm then when the "HP" which only the lua side knows about reaches 0, it causes the client to perform a screen effect of making it red and then doing some server RPC
05:23 Zeno` the red screen is not only when HP is zero though :p
05:26 Zeno` the hp system probably needs rethinking at some point anyway
05:27 Zeno` there are several size mismatches in the code as well (u8 vs u16 vs s16 O.o)
05:27 hmmmm you know what i mean
05:27 hmmmm it's u8 over the network, right?
05:28 Zeno` over the network, yeah
05:29 hmmmm i vote for normalizing it to u16 (aside from the network for now)
05:31 Zeno` yes
05:38 hmmmm how does relative HP setting work?
05:38 hmmmm i don't think you can, currently
05:38 VanessaE you can't.
05:38 VanessaE you have to get_hp, add or subtract as needed, then set_hp the result.
05:39 hmmmm if *I* were designing set_hp(), I would make the parameters set_hp(uint16 hp_amount, ActionType action=HP_ACTION_SET) (where action can be one of HP_ACTION_SET, HP_ACTION_INCREASE, HP_ACTION_DECREASE)
05:41 hmmmm I thought set_hp() was signed in some cases to allow for relative setting
05:41 VanessaE I think I'd have allowed the action type to be absolute or relative, rather than set, increate or decrease
05:42 hmmmm then you'd have to make the first parameter signed
05:42 VanessaE yeah
05:42 hmmmm so then really it should be set_hp() and modify_hp()
05:42 VanessaE nah,
05:43 VanessaE better to use set_hp and assume an absolute, unsigned/positive value if there's no second param supplied from lua
05:43 hmmmm yeah
05:44 hmmmm set_hp() would be absolute, unsigned, then modify_hp() would be relative, signed
05:44 hmmmm i don't know.  people are okay with the way it is now.  don't fix what isn't broken.
05:45 VanessaE well I'm saying you could do both with the set_hp() call alone.  set_hp(val) gets treated like it is now, while set_hp(val, flag) gets treated as a relative value if flag is true
05:45 Zeno` yeah this is future talk. I don't mind future talk though
05:45 Hunterz joined #minetest-dev
05:45 Zeno` I guess for the bug to be fixed it doesn't matter which location it is fixed at for the time being
05:46 hmmmm honestly
05:46 Zeno` the event just has to be not sent
05:46 hmmmm I'd rather leave the client-side lua interface for these "soft" items to the modders
05:49 Zeno` probably the easiest thing would be to just handle it in SendPlayerHPOrDie() or maybe Server::SendPlayerHP()
05:49 Zeno` whatever :)
05:50 Zeno` DiePlayer
05:50 Zeno` surely we can come up with better names lol
05:50 selat joined #minetest-dev
05:51 VanessaE KillPlayerWithFire
05:51 VanessaE :)
05:51 Zeno` DiePlayerNow
05:53 VanessaE let's just make sure that whatever is done doesn't cause another death-loop like before :P
05:53 Zeno` why not? it's fun
05:58 selat joined #minetest-dev
06:00 leat joined #minetest-dev
06:26 Krock joined #minetest-dev
06:27 denis joined #minetest-dev
06:34 sofar VanessaE: if you have a sec, what are the export option you use in blender?
06:34 denis joined #minetest-dev
06:50 selat joined #minetest-dev
06:57 selat joined #minetest-dev
07:10 hmmmm oh deary
07:10 hmmmm paramat:  there are some problems with what characters a lua string can contain
07:10 hmmmm how would you alternatively like the serialized lua table returned?  written to a temp file perhaps?
07:14 hmmmm actually nevermind, that only is a problem with long format strings
07:16 kilbith joined #minetest-dev
07:28 Darcidride joined #minetest-dev
07:30 jin_xi joined #minetest-dev
07:30 kilbith i regret there is no function ignore on github...
07:30 kilbith for some reason, github has attracted ppl with zero taste, pawing the ground on each novelty and don't know at all on what they're opening their mouth
07:31 kilbith (the kids in particular)
07:38 hmmmm what do you mean
07:38 hmmmm if there's a problem that needs moderating, we can certainly do that
07:39 kilbith i don't think so, github is relatively not fool-proof enough
07:39 kilbith you can delete comments but not prevent someone to comment
07:40 hmmmm it hasn't been enough of a problem yet.  i haven't seen any abuse personally
07:42 kilbith just some kids that confuse github with a place for chit-chat
07:42 Calinou joined #minetest-dev
07:43 kilbith (mainly on the _game repo)
07:43 hmmmm not my problem, i don't bother with _game
07:51 Etzos You can prevent someone from commenting. But it will block them from doing basically anything on any repos owned by the person who does the block.
08:17 selat joined #minetest-dev
08:38 FR^2 joined #minetest-dev
08:42 Amaz joined #minetest-dev
09:00 eeew joined #minetest-dev
09:04 cib0 joined #minetest-dev
09:26 Darcidride joined #minetest-dev
10:48 Player_2 joined #minetest-dev
10:55 denis_ joined #minetest-dev
10:59 Krock joined #minetest-dev
11:14 cib0 joined #minetest-dev
11:41 Amaz joined #minetest-dev
11:51 roniz joined #minetest-dev
11:52 proller joined #minetest-dev
12:26 proller joined #minetest-dev
12:32 cib0 joined #minetest-dev
12:43 toctoc joined #minetest-dev
12:44 nrzkt joined #minetest-dev
12:45 nrzkt ~tell Zeno`: you are right there is something wrong with the HP system.
12:45 ShadowBot nrzkt: O.K.
12:46 nrzkt ~tell Zeno`: the proble is more important than my commit, this is the HP design, and also the mismatch types. We should use signed values. s16 is a good approach but we could use s23
12:46 ShadowBot nrzkt: O.K.
12:47 nrzkt ~tell Zeno`: s32, then leveling mods can use greater values for HP systems to have for example bosses or huge mobs if they want
12:47 ShadowBot nrzkt: O.K.
12:49 nrzkt ~tell paramat: instead of trolling and telling me to stop the things i do on master (in fact not anything else than fixing bugs and talking with community on existing bugs), maybe you can look at issues and help fixing it :)
12:49 ShadowBot nrzkt: O.K.
12:56 AnotherBrick joined #minetest-dev
13:13 selat joined #minetest-dev
13:14 Zeno` joined #minetest-dev
13:17 Zeno` nrzkt ~tell Zeno`: you are right there is something wrong with the HP system.
13:17 Zeno` I guess ShadowBot does not like me because I don't get these things
13:18 Zeno` anyway instead of complaining about the HP system why don't we fix the bug
13:18 Zeno` I could do it I guess
13:43 Zeno` except the event is sent twice
13:43 Zeno` ugh
13:47 kilbith joined #minetest-dev
13:53 Zeno` this is much worse than I first thought
13:53 Zeno` if the server is using enable_damage = true and the client is using enable_damage = false then damage is limited
13:54 Zeno` if both are true then damage happens twice
13:54 Zeno` (I am not using simple single player, but full client/server test)
13:56 Zeno` this doesn't make sense
14:00 kilbith joined #minetest-dev
14:05 proller joined #minetest-dev
14:07 Zeno` Evil will always triumph because good is dumb
14:32 cib0 joined #minetest-dev
14:53 hmmmm joined #minetest-dev
15:27 hmmmm joined #minetest-dev
16:10 jin_xi joined #minetest-dev
16:21 ud1 joined #minetest-dev
16:25 ShadowNinja ~tell nrzkt A colon isn't part of the tell syntax, your messages were queued for "Zeno`:" and "paramat:", which are unvalid nicknames.
16:25 ShadowBot ShadowNinja: O.K.
16:25 Hunterz joined #minetest-dev
16:26 hmmmm ~tell my_wife I love her
16:26 ShadowBot hmmmm: O.K.
16:26 * hmmmm dies
16:28 ShadowNinja WTF: https://travis-ci.org/minetest/minetest/jobs/57668269  PathIsRelative isn't even mentioned throughout the source tree, and I certainly didn't touch it.
16:33 hmmmm that's my fault
16:34 hmmmm it looks like i failed to link against Shlwapi.lib after using that
16:35 celeron55 joined #minetest-dev
16:36 hmmmm looking at CMakeFiles.txt:193 - how does minetest actually link on msvc?  unless I'm totally mistaken, ws2_32.lib isn't being linked against
16:37 SudoAptGetPlay joined #minetest-dev
16:37 ElectronLibre joined #minetest-dev
16:37 cib0 joined #minetest-dev
16:41 ShadowNinja I found src/socket.cpp: #pragma comment(lib, "ws2_32.lib") src/CMakeLists.txt: set(PLATFORM_LIBS ws2_32.lib)
16:41 ShadowNinja hmmmm: So, uh, how do I fix this?
16:41 * hmmmm scratches head
16:42 hmmmm remove the pragma from socket.cpp, remove the else() from if(MSVC), add shlwapi.lib
16:42 hmmmm ShadowNinja, could you change the usage of PathIsRelative to PathIsRelativeA while you're at it?
16:42 hmmmm thanx
16:43 hmmmm lol I'll just do it
16:43 ShadowNinja hmmmm: There is no usage of PathIsRelative* !  And it is the *A variant.
16:43 Robert_Zenz joined #minetest-dev
16:44 hmmmm https://github.com/minetest/minetest/commit/0df736173e60df06a7a7162c285b9c5731a07c20#diff-fec891646747a748bff916b31cef4733R105    ????
16:46 ShadowNinja hmmmm: Not in my branch.  grep -r PathIs src returns nothing...  I guess Travis is merging the PR first -- it didn't do that before.
16:46 ShadowNinja Or maybe it auto-detects if a merge is possible and does it if so.
16:46 hmmmm while we're on the topic of A
16:47 Robert_Zenz joined #minetest-dev
16:47 hmmmm whenever we use a windows api, should it be the A variant?
16:47 hmmmm i mean, in theory it'll cause a compile time error anyway
16:48 ShadowNinja hmmmm: What's the difference?
16:48 hmmmm if i recall, there are a couple instances of apis where they take a void * and so either std::string::c_str() or std::wstring::c_str() would work, and the error would go undetected (if the generated project had UNICODE set somehow)
16:49 hmmmm ShadowNinja, A versions are ASCII only, whereas W versions are unicode
16:50 ShadowNinja hmmmm: Nah, it should use unicode variants.  We've already had one bug report for non-ascii paths failing and I think that was fixed.
16:50 hmmmm lol.
16:50 hmmmm it's not using unicode paths on windows
16:50 ShadowNinja Well, it probably should.
16:51 hmmmm I agree that paths should be unicode, but they aren't in practice.  otherwise I'd see all the file path apis using std::wstring and not std::string
16:51 hmmmm ;-)
16:51 hmmmm maybe that could be something TODO.  it's low priority for me, though
16:51 ShadowNinja hmmmm: No, std::string can store UTF-8.
16:52 hmmmm perhaps it can, but windows files apis do not treat the string as utf-8.
16:52 hmmmm so then it's clear what needs to be done, right?
16:53 hmmmm change all the usages of windows file apis to the W variant, and pass along the string converted from utf-8 to wide
16:54 hmmmm that's MultiByteToWideChar()  but i think there's already a utility function which for this
16:54 Amaz left #minetest-dev
16:55 hmmmm ShadowNinja, try building windows with this commit:  https://github.com/kwolekr/minetest/commit/11925bb5fb3005a14b6d0a64932b17326d175efa
16:57 hmmmm sorry, this one:  https://github.com/kwolekr/minetest/commit/c758fd73ff0b95ca27f833f8aefd0345edd71fcc
17:00 kilbith joined #minetest-dev
17:05 * Krock is interested and gets the diff
17:12 Krock Uhm. filesys.obj : error LNK2001: inresolved external Symbol "__imp__PathIsRelativeA@4".
17:12 Krock *un
17:19 Krock Nvm. deleting filesys.obj and re-compiling helped
17:22 Krock hmmmm, MSVC build works. Have you got an example code to test this change?
17:23 hmmmm sure: it compiles
17:24 hmmmm so, pushing c758fd7 soon, any comments or concerns?
17:24 Krock Whoops. Looked on the wrong commit. In the new one aren't any important changes
17:25 Krock You've got green light from the MSVC side.
17:25 hmmmm okay good =] that's what it was supposed to fix
17:40 ShadowNinja hmmmm: LGTM.
17:50 SopaXorzTaker joined #minetest-dev
17:51 ElectronLibre joined #minetest-dev
17:52 hmmmm you're too late!
18:03 ShadowNinja hmmmm: Care to check #2604 and/or #2613?
18:03 ShadowBot https://github.com/minetest/minetest/issues/2604 -- Add support for multiple listen addesses by ShadowNinja
18:03 ShadowBot https://github.com/minetest/minetest/issues/2613 -- Clean up threading by ShadowNinja
18:06 ShadowNinja Hah.  if (peer->getAddress()) {} else { bool invalid_address = true; if (invalid_address) {...} }
18:09 JeDa joined #minetest-dev
18:26 sockbat joined #minetest-dev
18:38 cib_ joined #minetest-dev
19:06 hmmmm wait
19:06 hmmmm isn't to_string a C++11 thing?
19:11 hmmmm +if (!udp_peer) continue;
19:11 hmmmm bad
19:11 hmmmm why are you hiding the block body? :/
19:11 hmmmm if (!udp_peer)
19:11 hmmmm continue;
19:12 hmmmm https://www.kernel.org/doc/Documentation/CodingStyle      "Don't put multiple statements on a single line unless you have
19:12 hmmmm something to hide:"
19:13 hmmmm there's a lot there
19:13 hmmmm i neeed more time to review it
19:48 OldCoder joined #minetest-dev
19:49 ShadowNinja hmmmm: I prefer to put really short conditionals on one line because it's clearer that you have to add braces if you want to add another statement.  That's not a huge issue though.
19:52 ShadowNinja I just pushed some tweaks (--listen overrides --port instead of the other way around, --port only tries to listen on :: if IPv6 is enabled, sockets_init/sockets_cleanup/sockets_initialized isn't compiled in at all on non-windows and is all handled internally instead of by main.cpp:init_common())
20:02 est31 joined #minetest-dev
20:08 Miner_48er joined #minetest-dev
20:35 est31 joined #minetest-dev
20:37 AnotherBrick joined #minetest-dev
20:37 proller joined #minetest-dev
20:45 ElectronLibre_ joined #minetest-dev
20:46 ElectronLibre left #minetest-dev
20:47 est31 merging in 15 minutes http://pastie.org/10081105
20:47 est31 hmmmm, ok? ^
20:48 est31 (was regarding your commit)
20:48 hmmmm did that subtlety burn you or something?
20:49 est31 nope, but I think it should be right
20:49 est31 I can remove the C part of the documentation
20:49 hmmmm yeah probably a good idea
20:49 hmmmm don't want this to be too messy
20:50 hmmmm what does get_modpath() say?
20:50 est31 that has a param for the modname
20:50 est31 AFAIK
20:52 est31 confirmed, and it doesnt secretly work when you omit it
20:54 est31 better hmmmm? http://pastie.org/10081114
20:58 hmmmm well what I meant to ask is what wordage does the documentation for get_modpath use
20:58 hmmmm because they should be the same
20:59 est31 get_modpath has a param (modname)
20:59 hmmmm that's it??
20:59 est31 yes
20:59 hmmmm yeah I just looked at it
21:00 hmmmm oh whoops
21:00 hmmmm get_current_modname is what we should be looking at
21:00 hmmmm that one says: "returns a string" - fantastic
21:00 hmmmm it should have the same exact notice that you added for register_schematic
21:00 est31 so I can document that too
21:00 hmmmm right
21:01 hmmmm i'm just saying be consistent about which things you document
21:01 est31 yes good idea
21:01 est31 didnt knew that function existed
21:02 MinetestForFun joined #minetest-dev
21:05 est31 http://pastie.org/10081139
21:05 est31 next try hmmmm ^
21:05 hmmmm sure
21:07 est31 pushed
21:10 est31 There has been some discussion with ShadowNinja about this topic (for his security patch), and that's how this issue got my attention.
21:50 proller joined #minetest-dev
21:55 est31 Hm, I think I have to break lua api in this point
21:55 est31 minetest.set_player_password
21:55 est31 assigning password hashes isn't good
21:56 est31 There needs to be an api with more features
21:56 est31 less basic
22:00 est31 ah no
22:00 est31 auth handlers have to be touched too
22:02 est31 or dont have
22:03 est31 even better
22:04 OldCoder joined #minetest-dev
22:06 hmmmm est31, what's up with that
22:06 hmmmm ?
22:08 est31 I'm on a srp patch as you might now
22:08 est31 know*
22:09 est31 and now I'm checking what needs to be broken
22:09 est31 as it seems the auth handler api can be kept stable
22:09 est31 Only thing that bothers me is minetest.set_player_password.
22:10 est31 but perhaps not even that has to be changed
22:11 est31 I'm planing to change the format into sth like this: http://man7.org/linux/man-pages/man3/crypt.3.html#NOTES
22:11 est31 (keeping base64 though)
22:11 est31 (and having other ids ofc)
22:11 est31 its the same format as /etc/shadow uses
22:13 JeDa_ joined #minetest-dev
22:19 JeDa_ joined #minetest-dev
22:30 JeDa_ joined #minetest-dev
22:33 JeDa_ joined #minetest-dev
23:30 VargaD_ joined #minetest-dev
23:37 est31 one day we have to change behaviour for minetest.get_password_hash... but that is a later change or commit, as we'll still support old hashes

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