Time Nick Message 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: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 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: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 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 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 " or something like that 04:33 hmmmm oh that's easy 04:33 hmmmm i was expecting a mess 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 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: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 06:34 sofar VanessaE: if you have a sec, what are the export option you use in blender? 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: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: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. 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. 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: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:07 Zeno` Evil will always triumph because good is dumb 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: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: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: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: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 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: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: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: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) {...} } 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: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: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: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: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: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 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