Time Nick Message 01:07 Warr1024 hey, I could use some input on what the default settings for #2462 should be. 01:07 ShadowBot https://github.com/minetest/minetest/issues/2462 -- Configurable automatic texture scaling and filtering at load time. by Warr1024 01:08 Warr1024 In my original PR, I set them to very conservative, off-by-default values. 01:08 Warr1024 but the settings themselves are pretty well-hidden, so users might not know that they're even available, since they won't have a UI footprint... 01:08 Warr1024 I was thinking it might be better to set them to some default enabled but still conservative values. 01:09 Warr1024 I was thinking, for instance, that a good default for texture min size would be 64 (runs fine on my old POS machine) but only if some form of interpolation was enabled 01:09 Warr1024 which makes the settings themselves a bit more complex... 01:10 Warr1024 i.e. set texture_min_size to 64, but it'd only actually apply the filter if bilinear_filter || trilinear_filter || anisotropic_filter || texture_min_size_force is enabled 01:10 Warr1024 since increasing the texture size has SOME potential runtime impact, but not much more than enabling filtering might. 01:29 Warr1024 eh, screw it, then, I'll just set texture_min_size to 16 01:30 Warr1024 that pretty much matches the standard 01:30 Warr1024 if people want to raise it, I guess they'll just have to read the docs, or some intrepid soul will have to decide it worthwhile to add a GUI setting for this... 03:18 Warr1024 hey, Zeno` 03:27 Zeno` hi 04:21 Warr1024 ok, I semi-sort-of-fixed that "upside down image" problem with GUI scaling. 04:21 Warr1024 it seems like the first time I did my texture->image capture, it worked OK. 04:21 Warr1024 then the next time I did that conversion, it came out upside-down 04:22 Warr1024 and alternated that way 04:22 Warr1024 so caching the image seems to have alleviated the issue... 05:59 ShadowNinja ~tell nrzkt The Minetest Android app is apparently banned -- again. Also, I think that an official version should be published from a "Minetest" account rather than a particular developer's account -- or at least from c55's account. 05:59 ShadowBot ShadowNinja: O.K. 06:18 Zeno` It is banned? 06:19 Zeno` Why? hehe 06:25 sfan5 ShadowNinja: afaik c55 didn't want to pusblish it from his account 07:52 paramat celeron55, amusing thread https://forum.minetest.net/viewtopic.php?f=7&t=11261 07:53 VanessaE I thought we already shot that guy down, in flames yet :P 08:07 nrzkt ShadowNinja: The app was ganned another time because of some keyworks in the app description... 08:07 VanessaE what keywords? 08:08 nrzkt i don't know. Play Store linked this article: https://support.google.com/googleplay/android-developer/answer/2985717 08:09 VanessaE got a paste of the previous description? 08:09 nrzkt i will look at repetitive words and try to change them 08:09 nrzkt i don't know which lang cause the problem :s 08:09 nrzkt http://pastie.org/10041302 08:10 nrzkt short desc and complete desc have the same description, i remove "Minetest is an infinite-world block sandbox game and a game engine, inspired by InfiniMiner, Minecraft and the like." and shorten it to "Minetest is an infinite-world block sandbox game, inspired by Infiniminer and MC" (80 chars) 08:12 VanessaE Well I might rewrite the first two lines in your paste as "This is the official Minetest build from the original source code. Open source license (LGPL 2.1+), no-cost to download and play." 08:12 VanessaE (gets rid of the trademarked name "Google Play Store" and two uses of the word "free') 08:13 VanessaE is 80 characters some kind of actual limit? (I wouldn't expect so, this text won't ever be displayed on a user's machine in such a manner as to need that) 08:14 kahrl why doesn't google write our description for us if they feel they know better 08:14 VanessaE also, get rid of line 13 08:14 VanessaE it's redundant 08:14 nrzkt "Runs natively on Windows, Linux, OS X, FreeBSD and Android" ? 08:14 VanessaE players on Android aren't gonna care that it also runs on those other platforms - they went to the play store lookign for android builds, not OSX 08:16 nrzkt maybe :p but this is not our redundant information 08:16 VanessaE I know 08:16 VanessaE but for the sake of keeping the description short 08:16 VanessaE whatever BS it was that caused google to flag it as spammy, etc. 08:16 nrzkt short desc is here for that, the complete desc can have 4000 chars, we get 700 08:16 VanessaE kahrl: I know, right 08:16 nrzkt we have 700 08:17 nrzkt kahrl i think it's a bot which look at keywords and if they are more than X occurs :( 08:17 kahrl nrzkt: odd that is was done almost a week after the app was added, then 08:18 kahrl that it* 08:18 VanessaE I wonder if some competitor (read: clone maintainer) flagged it? 08:18 nrzkt i agree with your desc for official build but i modify it to "This is our official build from the original source code. Open source license (LGPL 2.1+), no-cost to download and play, no ads. 08:18 kahrl VanessaE: could be 08:18 VanessaE nrzkt: good. 08:18 VanessaE except s/no-cost/no cost/ 08:18 nrzkt i don't see flags for other apps on playstore, but if all IRC listeners do it, maybe we can banish other apps :p 08:19 nrzkt okay, i send an update now 08:19 VanessaE but wait first.. 08:19 nrzkt stats for wednesday: 100 users 08:20 nrzkt 14% are not using the last version, and 2% uses the broken version :o 08:20 VanessaE Line 10 should read, "Easy plugin-based modding API for adding new blocks, tools, and other features to the game." 08:20 nrzkt wait for ? 08:20 VanessaE line 11, "consequences" does not fit. some other word is needed there 08:21 nrzkt no problem, i take this description from minetest.net :p 08:21 nrzkt erf the backtraces for android are not easy to read 08:21 nrzkt i have a report on play store for a use after free as it seems 08:22 VanessaE maybe THAT is why it was flagged? looks too much like a copypaste ? 08:22 nrzkt or a delete after free 08:22 paramat i'm not keen on the use of 'infinite', but 'almost infinite' is even worse =) 08:22 nrzkt i don't know, the google rules are not clear and they are not pointing the real problem. Maybe the problem is not english version but german or french 08:23 nrzkt ~tell Zeno` if you get a little bit time, with stable-0.4 on Android we get this backtrace (google provide us from a user): http://pastie.org/10041320 08:23 ShadowBot nrzkt: O.K. 08:24 nrzkt what do you suggest to replace consequences ? 08:25 VanessaE I'm not sure 08:26 VanessaE "Voxel based lighting with direct effect on gameplay (lighting caves et al. with torches)." maybe? 08:26 VanessaE effects* 08:26 VanessaE or something like that. 08:27 VanessaE paramat is right, too 08:27 VanessaE "infinite" needs replaced with something more accurate 08:27 nrzkt i remove this light i think there are not interest 08:28 nrzkt line* 08:28 VanessaE 62km ^ 3 is big, but hardly infinite. 08:28 nrzkt the screenshots talk themselves, no need to have this technical information i think 08:28 VanessaE agreed 08:32 nrzkt instead of "Almost infinite world and several beautiful map generators." i think we should include it here: "Explore, dig and build in a beautiful generated voxel world, and craft stuff from raw materials to help you along the way. 08:32 nrzkt " 08:33 paramat yeah the 'voxel based lighting' line should go 08:33 VanessaE "procedurally-generated". and drop the word "voxel", 08:33 VanessaE players don't know what a voxel is, but they can figure out that "procedurally" sounds like "procedure" 08:33 kilbith "beautiful"... questionable 08:33 nrzkt yes, it's a pure marketing keyword :p 08:34 VanessaE in place of infinite, "extensive" might fit 08:34 VanessaE (well you're not using that word anymore, so nevermind) 08:35 VanessaE Line 5 could read: "Minetest is a block sandbox game with an expansive world size, inspired by Infiniminer and others." 08:35 nrzkt i removed it 08:35 nrzkt the short desc already said that 08:36 VanessaE what's the full thing look like now? 08:36 nrzkt and if i correctly read the rules we mustn't reference other games :s 08:36 nrzkt http://pastie.org/10041339 08:36 VanessaE delete line 1, redundant 08:37 nrzkt why not 08:37 VanessaE or replace it with something like "This is Minetest" (THIS IS SPARTAAAAAAA.......ahem) 08:37 VanessaE because you already say on line 3 that this is the official build 08:37 nrzkt xD 08:38 VanessaE (I really wish the spam thingy would have said explicitly what was wrong) 08:38 nrzkt i agree too 08:39 nrzkt then we will see in ~6hours when app will be re-published 08:39 kilbith line 2 : "Official build from the original source code, licensed under LPGL 2.1. Without ads." 08:39 kilbith we already know that's free 08:41 VanessaE something indicating that this build is kept up-to-date with current minetest sources would be good, or say list some features it supports that the clones don't (e.g. mesh node models or something) 08:41 nrzkt it doesn't follow master but stable-0.4 08:41 kilbith Line 9 : "Customize your game" instead of "mod your game" 08:41 VanessaE kilbith: good idea 08:42 nrzkt yeah :p that's what i said in french xD 08:42 VanessaE nrzkt: true but I meant that as much as anything else - it's not stuck at 0.4.10 is my point :P 08:42 nrzkt yeah :) 08:42 nrzkt we will backport features from master to stable-0.4 to fix android 08:42 paramat The ease of modding is a big strength, that attracted me here 08:43 nrzkt i don't know if players mods android_app 08:43 nrzkt but i think we must do a proper modding store, also on android, maybe using the native Android interface to be better ? 08:43 kilbith "Runs natively on . Supports multiple languages" and remove "translated by the community" - doesn't matter 08:43 VanessaE nrzkt: Move line 11 to the bottom of the paste and change it to read: This game is also available for Linux, OS X, and Windows platforms. 08:44 VanessaE i.e. use that notion to encourage users to get the game on their PCs also, where available. 08:44 nrzkt Our game is also available for Windows, Linux, OS X and FreeBSD platforms 08:44 VanessaE (I left out FBSD, so put that back in) 08:44 VanessaE yes, something like that 08:45 nrzkt http://pastie.org/10041354 08:45 VanessaE turn a simple "fact" into a selling point/feature :) 08:46 kilbith this description is too split in small parts 08:46 VanessaE "A constant development to add new functionalities for end-users" --> "The engine is under constant development to add new functionality for end users." 08:46 VanessaE (line 11 of that latest paste) 08:46 nrzkt it's not a book it's a marketing description. Short sentences 08:46 paramat oh of course, i was PC-thinking :] 08:47 VanessaE not a book, perhaps, but complete sentences are important in marketing materials too. 08:47 VanessaE more specifically, good grammar is ;) 08:47 kilbith "Supports multiple languages" following next to the OS supports 08:48 kilbith "Our game is also available for Windows, Linux, OS X and FreeBSD platforms. Supports multiple languages" 08:48 VanessaE "...platforms, and supports..." 08:49 nrzkt A constant development to add new functionalities for end-users => "We are developping constantly to improve your gameplay experience" (it's the french desc translation) 08:49 kilbith "self hosted" -> "self-hosted" 08:49 VanessaE by "self hosted" do you imply the user should be able to run his/her own server? 08:49 nrzkt yes 08:50 VanessaE "Play with your friends on public servers, or even run your own server." 08:50 kilbith you can host your server on Android ? 08:50 VanessaE that's one thing none of the clones can do, isn't it? 08:50 nrzkt you can, but that does not make sense, android devices are not servers 08:51 nrzkt and i don't think you can, wait a minute i look at android interface 08:53 kilbith "beautiful procedurally-generated world" <- a bit too inflated no ? 08:53 nrzkt you can't 08:53 VanessaE ok that line will need to change then :) 08:53 nrzkt it's possible because engine support it, but the interface doesn't permit it 08:54 VanessaE "Play with your friends on public servers, or just play by yourself in single-player mode." 08:54 VanessaE maybe that'll work 08:54 nrzkt it's not the idea there 08:54 VanessaE (it's surprising how many people don't realize the game can do both modes) 08:54 kilbith "on public servers" -> "online" 08:54 nrzkt the idea is players can use internet servers or host their own server if they want 08:55 VanessaE but they...can't host their own server 08:55 nrzkt they can 08:55 nrzkt but not on their phone, it's not the goal of this sentence :p 08:55 VanessaE remember, this is the android build. 75% of the people downloading it don't even know how to google something 08:55 VanessaE let alone own a PC 08:56 VanessaE if you wanna mention running a server, add it to the multiple-OS-and-languages line. 08:56 nrzkt i don't think this is a good idea. 08:56 VanessaE i.e. "PC versions can also be used to run a server" or some such. 08:56 nrzkt we are talking about: play online on existing servers or host a server yourself 08:57 nrzkt we are not talking about the app function 08:57 VanessaE well how will the user be able to host a server then? 08:57 VanessaE they don't have a PC 08:57 VanessaE let alone a dedicated server or VPS 08:57 nrzkt you are too technical there 08:57 VanessaE nopre 08:58 VanessaE I'm telling you what the average android users are actually doing 08:58 VanessaE it's a sad state of affairs but this is what I see on a daily basis 08:58 kilbith android-powered servers are likely to be stupid / not serious anyways 08:58 nrzkt we only inform they can play online or create their own server. If they want the minetest.net documentation is for that 08:59 VanessaE but you're telling the user they can create a server when they actually can't. 08:59 VanessaE users don't care if android devices are appropriate to the task - I've had many ask if they can run a server on their tablet or phone 09:00 nrzkt VanessaE we are not talking about the application itself but about the online experience ! 09:00 VanessaE wat 09:00 nrzkt then. 09:00 VanessaE you're talking about acting as admin for someone else's server then? 09:00 nrzkt A compromise: Play with your friends online. 09:01 nrzkt no hosting idea, just online, that's good :) 09:02 VanessaE "Play on your own local worlds, or online with your friends." 09:02 VanessaE (don't exclude the possibility of doing singleplayer mode) 09:03 VanessaE if you mention only one, players will assume the other isn't possib,e 09:03 VanessaE possible* 09:03 nrzkt Play on your device or online, with your friends. 09:04 kilbith no 09:04 kilbith playing online is playing with the device, confusing 09:05 nrzkt Play locally or online, with your friends. 09:05 kilbith better 09:05 VanessaE no, that implies you can play locally with friends 09:05 VanessaE (yes, english sucks) 09:05 nrzkt the syntax is not perfect :p 09:05 nrzkt french powa :p 09:06 kilbith play in singleplayer or online 09:08 nrzkt okay 09:15 VanessaE well I'm outta gas. night all :) 11:11 Calinou https://play.google.com/store/apps/details?id=net.minetest.minetest 11:11 Calinou not found? 11:12 kilbith banned 11:13 Calinou why was it? 11:13 kilbith http://irc.minetest.ru/minetest-dev/2015-03-20#i_4193242 11:15 kilbith (maybe a M$ conspiracy...) 11:29 Zeno` Maybe it's just googles new "human review" policy 11:29 Zeno` google's* 11:34 celeron55 that seems more like incompetence from google's part but what can you do, it's a monopoly 11:36 celeron55 seems like making the description just much shorter will work 12:42 nrzkt app is now available on play store... but all it's possible that the application description was not updated 13:01 * twoelk wonders how to switch languages in the playstore 13:10 Zeno` #2429 ok to merge? 13:10 ShadowBot https://github.com/minetest/minetest/issues/2429 -- Update credits by Zeno- 14:48 neoascetic when v7 mapgen going to be ready? 15:01 Zeno` Should gregorycu be listed in the credits? 15:02 hmmmm i think so, sure 15:03 Zeno` ok. Can you add a comment to the PR to remind me? 15:03 Zeno` #2429 15:03 ShadowBot https://github.com/minetest/minetest/issues/2429 -- Update credits by Zeno- 15:03 Calinou what about me 15:03 Calinou (-: 15:03 Calinou I've had a minetest_game commit recently 15:03 hmmmm yeah but that's minetest_game 15:04 Zeno` should he be active contributor or previous? 15:05 hmmmm active 15:05 Zeno` hmm, ok 15:05 hmmmm i think the guideline is that they need to not have made commits for over 6 months to be considered 'previous' 15:06 hmmmm if I'm not mistaken, games have their own description/author/etc. field, right? 15:06 Zeno` There's not rush to update the PR, so I'll add it tomorrow if others agree also (actually if nobody disagrees) 15:07 Zeno` s/it/him 15:07 Zeno` so... "gregory cu " should do? 15:08 Zeno` lol, just kidding 15:09 Warr1024 what are the criteria to be considered a contributor to begin with? 15:09 Calinou I think it is 3 commits in 2 months 15:09 hmmmm zeno the alf guy 15:10 Zeno` lol :D 15:10 hmmmm maaan i'm sick of work 15:11 hmmmm i'm going to skip out on today i think and get some minetest going 15:11 hmmmm a land without two-space indents and lameness 15:13 Calinou still better than three-space indents 15:14 hmmmm i really suck at time management 15:14 hmmmm been working on the same small thing for like a week now D: 15:16 Zeno` Warr1024, you really want to know the criteria? 15:17 Zeno` Warr1024, I shall tell you. It's kind of complicated 15:17 hmmmm commit something 15:17 Zeno` Warr1024, First you must find a shrubbery 15:17 Zeno` Warr1024, Then you must find... another shrubbery! 15:18 Zeno` Warr1024, Then, when you have found the shrubbery, you must place it here, beside this shrubbery, only slightly higher so you get a two layer effect with a little path running down the middle 15:18 Zeno` Warr1024, Then, you must cut down the mightiest tree in the forrest... with... a herring! 15:18 Zeno` That's about it 15:19 hmmmm lol monty python 15:20 hmmmm so, question 15:20 hmmmm how did using "string specifiers" for enums or flags in the lua api come about? 15:21 hmmmm i realize lua has no constants but can't we define global variables and somehow prevent setting them through metatables? 15:43 paramat one for hmmmm https://github.com/minetest/minetest/issues/2514 probably beyond my ability =) 15:49 paramat spring equinox and solar eclipse today, should be a day off work 16:08 * hmmmm scratches head 16:09 hmmmm what on earth could've possibly changed with ores since I implemented that... 16:09 hmmmm i don't think i changed anything 16:09 hmmmm what's with all this mapgen-related-thing breakage 17:14 paramat erm, the backtrace mentions blob ore, not sure if that's a clue, and i recently added blob ores to all mapgens 17:42 Krock Just to show the changes of my pull request: https://github.com/minetest/minetest/pull/2493#issuecomment-84083311 21:27 est31 ok, just a matter of time now until minetest shows up in f-droid: https://f-droid.org/repository/browse/?fdid=net.minetest.minetest 21:28 Warr1024 rockin' 21:28 Warr1024 looking forward to that 21:28 Warr1024 it'll be nice to have the thing on a market that doesn't keep bitching at us about non-specific "spam words" 21:29 est31 My guess is they think we are a copy of one of those clones 21:29 Warr1024 hilarious 21:29 est31 yes 21:29 est31 stupid machines 21:30 Warr1024 any way to get a non-stupid and/or non-machine review of the case? 21:31 est31 no idea 21:31 Warr1024 I mean, what if you upload an app that says it can "view documents", are you gonna get rejected because it's just too similar to other things that view documents? 21:32 est31 our description is very similar to other apps in the app store 21:32 est31 all they had the minetest.net page as original 21:32 est31 *we* should be allowed to copy it however 21:32 Warr1024 hell yeah. 21:33 Warr1024 I guess you could just find the clones and do GPL takedowns... 21:33 Warr1024 it actually sounds like the real issue is less one of copyright than of trademark... 21:34 est31 minetest is no registered trademark, not that I knew 21:34 Warr1024 doesn't necessariy have to be registered. 21:34 est31 play store is also bad as it requires a google account, and also to run proprietary code with admin permissions 21:34 Warr1024 it's not as good as f-droid, but not half as bad as Apple. 21:35 Warr1024 and by "admin permissions", you mean "root access, on the shitty little VM you have it sandboxed into" :-) 21:36 Warr1024 IIRC I recently ran into an issue where their dev tools required admin rights on a box to BUILD an app. 21:36 est31 android is more complicated than that 21:36 est31 it needs to be installed as system app 21:36 est31 having root is "not enough" 21:36 est31 or, another concept 21:36 est31 but yes, every system app on android can take UID 1 if they want 21:37 est31 and, install apps without being asked 21:37 Warr1024 oh, duh, you're talking about the playstore app on the device, i.e. on the consumer end; I thought you were talking about the stuff we needed to be able to submit the app to the store :-) 21:37 est31 ah, no 21:38 est31 and yes 21:39 Warr1024 the permissions you need to grant the play store to install it is really a first-world problem, though, compared to those of us still running manufacturer's images where they shipped with all the backdoors already installed :-) 21:40 est31 yeah 21:40 est31 and even then, the baseband on most mobile devices is pretty intrusive 21:41 Warr1024 IIRC the torproject guys were trying to come up with a way to build a "trusted" mobile platform, and I think they concluded that even wifi-only devices aren't 100% safe 21:41 est31 yes 21:42 est31 neo900 perhaps 21:42 Warr1024 because wifi-only tablets and such actually DO have a baseband processor, since it's cheaper to tool your assembly line to make 1 product and just burn out a couple of leads, but it's just that YOU can't use it, not that it can't use you... 21:42 est31 yea 21:42 Warr1024 neo? damn, those gotta be pretty hard to find. 21:42 est31 ? 21:43 Warr1024 ah, so they ARE trying to revive the whole openmoko thing 21:43 est31 yes 21:43 Warr1024 sounds like the Neo900 is still in dev, though. 21:44 Warr1024 it just kind of sucks that there's such a high "freedom tax" (or maybe more accurately, slavery subsidy) on electronics still 21:44 Warr1024 though market competition helps squeeze that gap closed. 21:45 est31 yea 21:45 * est31 wonders of freephone 2 status 21:45 est31 whether its good 21:45 Warr1024 if you ask me what I think the most important feature is to have in a microprocessor, I'd probably say "commoditization." 21:46 est31 in which sense? 21:50 Warr1024 making technology accessible and standardized 21:50 est31 ah that 21:50 est31 yea should be 21:50 Warr1024 consider ahead-of-their-time processor archs like MIPS, motorola 68k, and powerpc, which I believe were technically superior to the common intel procs at the time... 21:51 est31 I really hate this intrusiveness about some technologies 21:51 Warr1024 but because they were proprietary, they couldn't last against commodity IA32 and AMD64. 21:51 est31 binding stuff together thats technically unrelated 21:51 Warr1024 ARM is another nicely commoditized tech, and it's doing quite well. 21:51 est31 e.g. chat apps 21:51 est31 why do they only work on mobile devices 21:51 Warr1024 ha 21:52 est31 and, why is every its own walled garden 21:52 Warr1024 yeah, the inability to run android apps on desktop linux is perplexing. 21:52 Warr1024 apparently in the android kernel fork they wrote a lot of custom schedulers and stuff to optimize battery use, but they don't fit too well in with mainline... 21:52 Warr1024 but there are people working on that supposedly, so maybe someday... 21:52 Warr1024 the "each app runs as its own user" thing does make SOME sense to me. 21:52 est31 its really cool 21:53 est31 its a hack, but either way the result is good 21:53 est31 applications isolated from each other 21:53 est31 looking forward what the xdg-app people are doing 21:54 est31 finally something good by gnome ;) 21:56 Warr1024 ha 21:57 est31 (again) 21:57 Warr1024 hacks are what our world is really made of 21:57 Warr1024 we always shoot for beautiful ideals, but it's the hacks that end up getting shit done, and we're stuck with a certain amount of them in practice. 22:13 hmmmm grrr 22:13 hmmmm i see what's causing the clear_registered_* crashes 22:13 hmmmm nerzhul's list -> vector change 22:14 hmmmm thanks nerz 22:14 Warr1024 what's the diff between those? 22:14 hmmmm thanks for not checking whether or not an iterator is being invalidated 22:14 Warr1024 vector is array-backed, list is linked? 22:14 hmmmm warr1024: conditions for iterator invalidation 22:14 Warr1024 ah, well, that, obviously, from your previous comment :-) 22:20 Warr1024 I have noticed that sometimes I disconnect my client from the server, but the server still thinks I'm logged in. 22:20 Warr1024 Albiet, the client is master and the serve is stable-0.4, but I thought those were *supposed* to be compatible for now... 22:21 Warr1024 didn't have this problem back in 0.4.10, but it's not repro 100% of the time, must be a race cond or something. 22:21 Warr1024 could be tricky to bisect, I guess. 22:22 hmmmm i think it would be a very good idea to go through each of the list->vector change commits and verify that they are being used correctly 22:23 hmmmm that's a bit of a problem, though, because some instances are highly-used variables 22:23 hmmmm we could be checking hundreds of instances 22:23 Warr1024 or maybe you can replace them with a wrapper or something that has some kind of diagnostic for incorrect usage? 22:23 hmmmm slowness 22:24 Warr1024 I mean, just to test, not to release or something ;-) 22:24 hmmmm we'll never hit all the uses 22:24 est31 apropos slowness can you review #2460 ? 22:24 ShadowBot https://github.com/minetest/minetest/issues/2460 -- Optimize minetest.get_(all_)craft_recipe(s) by ShadowNinja 22:25 hmmmm i'll have a look but this needs to seriously get fixed first 22:25 hmmmm hold on 22:27 Warr1024 if you find yourself in a mergey mood, I'd love to have someone take a look at #2462 22:27 ShadowBot https://github.com/minetest/minetest/issues/2462 -- Configurable automatic texture scaling and filtering at load time. by Warr1024 22:28 est31 btw what filters are applied? 22:28 Warr1024 there are 2, both optional/configurabl. 22:28 est31 I really like how the papyrus improved in the after picture 22:28 Warr1024 one cleans up the RGB values of transparent pixels, so when you're using a linear blending method, it doesn't blend "to" the junk RGB values that png optimzers leave behind. 22:29 Warr1024 the other one simply upscales the texture using nearest, so that a later-applied linear filter doesn't blur it all to hell 22:29 Warr1024 but it only upscales textures below your specified minimum size, so you can tune it to your performance wants. 22:29 hmmmm dammit nerzhul 22:30 Warr1024 I figured that when you mix'n'match mods, you'll get some with low-res textures that blur out, but some distribute with higher-res textures that may benefit a lot from nice filters... 22:30 hmmmm there is a metric shitton of code that does NOT work when changed to a vector 22:30 hmmmm i can't fix this without practically rewriting the entire class 22:34 est31 Warr1024, perhaps you should document your third option too 22:34 est31 and the commented out version should be the same as the default (dunno how its in other code, but thats a good principle) 22:35 Warr1024 est31: wait, which third option? 22:35 est31 texture_min_size_force 22:35 Warr1024 oh, huh? I thought I removed that... 22:35 Warr1024 lemme check to make sure I have the right thing pushed out there... 22:35 est31 not in defaultsettings.cpp 22:36 Warr1024 I really gotta write some script to automatically squash a bunch of commits in one branch into another branch, leaving the source branch untouched. 22:36 est31 ? 22:36 est31 why 22:37 Warr1024 so I can keep track of the history of a change, while still submitting it in the single-squashed-commit format MT desires. 22:37 Warr1024 I actually use my git commits and associated comments a lot to figure out what I was thinking at the time. 22:37 est31 gitk --all 22:37 Warr1024 in-code comments only describe the code in its current state. 22:37 Warr1024 don't have gitk. 22:37 est31 then dunno 22:38 Warr1024 eh, and I'm not really interested in reaching for the mouse while trying to develop ;-D 22:38 est31 there are methods to keep track of orphan commits 22:38 Warr1024 I'm sure it's not hard; just a matter of reading a few manpages until I find the least wrong way to do it 22:39 * est31 googles for stuff, faster. 22:39 Warr1024 naw, manpages load a lot faster than a web browser would 22:39 Warr1024 and lynx isn't so good for random websites out there anymore.. 22:40 est31 I see you are a keyboard friend 22:40 Warr1024 it's a much nicer tool for writing code than the mouse :-D 22:40 est31 ofc 22:40 est31 but reading docs its good 22:41 est31 and firefox can be handled with keyboard only too bte 22:41 est31 btw* 22:41 Warr1024 yeah, but it's not as intuitive that way... 22:41 est31 I haven't figured out a good way how to switch windows with kde though 22:41 Warr1024 I mostly stick with keyboard and plain text terminals because I don't want to get too spoiled. 22:41 est31 alt tab is stupid 22:41 est31 lol 22:42 Warr1024 you never know when you'll be stuck debugging something over SSH over a dialup or something, on an 80x25 screen, and being accustomed to that will prevent the annoyance of it from distracting you :-) 22:42 est31 I know how to work with the console too 22:42 Warr1024 I mean, of course, that logic is a little bit https://xkcd.com/909/, but meh :-D 22:43 est31 lol 22:44 Warr1024 bash is going to spoil me by tab-completing git branches, though. 22:44 est31 is that bad 22:45 Warr1024 well, I'm not always on bash. 22:45 Warr1024 heh, that setting you mentioned 22:45 Warr1024 was ONLY in defaultsettings, not used anywhere else. 22:45 Warr1024 total whoops. 22:46 Warr1024 yeah, I think I was thinking of making the default behavior enable prescaling to 64x if you enabled one of the bi-/tri-linear/aniso filters, but there'd be an option to force it on or force it off 22:47 Warr1024 the thinking was that most people wouldn't even know it existed if it wasn't in a roundabout way accessible in the settings UI, and they'd just think that filtering always blurred stuff, turn it off, and complain or something. 22:47 Warr1024 but then I thought about it, and trying to do all that automatic shit is probably overcomplicating it. 22:52 Warr1024 hmmmm: what kind of difference would the list->vector conversion have made, anyway? I assume it must have been intended as a performance thing, but that'd only be on the server, right? 22:53 hmmmm yeah, performance enhancement. std::list is notoriously slow at everything due to the need to allocate a new piece of memory for every element, and horrible cache locality 22:53 est31 "only server" lol 22:53 est31 I guess you are more a client person, while I'm more a server person 22:53 Warr1024 not at all 22:54 hmmmm the funny part here is that nerzhul changed a big piece of code from list to vector without even testing to see if it crashes 22:54 Warr1024 but I thought that the main performance bottleneck of the server would be the db backend, anyway. 22:54 hmmmm WITHOUT EVEN TESTING TO SEE IF IT CRASHES. 22:54 Warr1024 optimizing a piece of code that isn't a major contributor to overall slowness is, at least, not the best way to spend limited development energy... 22:54 hmmmm not a weird edge case, not an inconsistency in data that people can miss, but a reliable crash every time that feature is used 22:54 est31 that isnt good, I agree hmmmm. 22:54 est31 (that he didnt test) 22:55 hmmmm i am getting really fed up with this cowboy coding BS 22:55 est31 I always test my stuff 22:55 Warr1024 I thought there was a 2-core-dev signoff rule...? 22:55 hmmmm all i see is breakage 22:55 hmmmm Warr1024, there is, but nerzhul routinely ignores it 22:55 est31 Warr1024, not for trivial things 22:55 Warr1024 trivial as in not this. 22:55 Warr1024 :-) 22:56 hmmmm okay, new policy 22:56 Warr1024 going full cowboy isn't necessarily all that bad, but there are places for that :-) 22:56 Warr1024 (i.e. private branches/forks) 22:56 hmmmm i expect to see two names that signed off to the commit in the commit message, or else it's getting reverted 22:56 Warr1024 I'm doing my best to play nice 22:56 hmmmm don't even give a shit if it works 22:57 hmmmm warr1024, agreed. nerzhul treats minetest upstream as if it's his own private repo 22:57 est31 hmmmm, is this your project? 22:57 hmmmm est31, why not 22:58 Warr1024 without having someone dedicated to reviewing and integrating code, you pretty much NEED a sign-off policy. 22:58 est31 hmmmm, I don't know whether other devs will agree to you changing rules without asking. 22:58 est31 any consensus at all 22:58 Warr1024 true, and he needs at least one other to sign off on it ;-D 22:58 hmmmm i kind of took the role of lead developer a few years back 22:58 hmmmm but I'm really not as active anymore because of real life stuff 22:59 hmmmm i don't know if people would see me as such 22:59 est31 reverting stuff isnt the right way I think 23:00 hmmmm we had this problem with another dev 23:00 hmmmm proller 23:00 hmmmm every time he'd commit something, something else would break 23:00 hmmmm so instead of working on higher priority problems, fixing the breakage becomes the new high priority 23:01 hmmmm it's interrupting others from doing their job.. it's so much simpler to just revert instead of stopping what you're doing, and then fixing it the right way 23:01 est31 then tell the person who did the damage to fix it. 23:01 Warr1024 they can fix it while it's reverted in master 23:01 Warr1024 and the re-merge it when it's fixed 23:02 Warr1024 frankly, if I broke the master branch, I'd pull my own code pretty damn fast, myself. 23:02 est31 reverting is destructive 23:02 Warr1024 how so? 23:03 Warr1024 the code still lives out there somewhere, in someone's repo, or private branch, or history, just waiting to get fixed up and take another try... 23:03 est31 okay, perhaps reverting isn't that bad at all 23:03 Warr1024 depends on whether you do a revert or a rewind, I guess. 23:03 est31 but it should only be done when you can confirm its that commit 23:03 Warr1024 git is beautiful like that. 23:03 est31 e.g. by bisecting 23:04 Warr1024 depends on how deeply you have to bisect (or how hard the problem is to repeatedly repro) vs. the need to get master immediately stable again. 23:05 Warr1024 I mean, it's not like you can't just revert a shitload of changes with extreme prejudice, and do the bisect on a side branch, either. 23:05 est31 just when does a commit become good enough so that you dont revert it? 23:05 est31 "old" 23:05 Warr1024 probably wouldn't be an issue much in the first place with a sign-off policy, anyway... 23:06 Warr1024 est31: ideally, there'd be some regression testing process or something, but realistically, someone'd probably have call it by gut... 23:06 est31 So you remove the "small stuff" rule hmmmm? 23:06 est31 exception* 23:07 est31 Warr1024, its done by players playing on the master branch 23:07 hmmmm the small stuff exception still applies, but we need to better define "small stuff" 23:08 hmmmm and, of course, unless it's something non function like changing the text of a comment or documentation, you better fucking test it before firing off a commit 23:08 est31 yes 23:09 hmmmm when you commit as fast as nerzhul, you tend to not bother verifying if things still work after your changes 23:09 hmmmm this happens to everybody, especially me 23:09 hmmmm there was a period of time during my christmas vacation when i had a lot of free time, so i rapid fired off commits and, there were bugs 23:12 Warr1024 heh, I was just thinking it'd be nice if there were a separate branch for getting public exposure and testing of really experimental new functionality, when I realized that there are already at least 2, that I know of. 23:12 Warr1024 i.e. freeminer and blokel 23:12 hmmmm yeah but... 23:12 Warr1024 Everyone is always "oh noez, the fragmentation" when a project forks 23:12 est31 my main critic point is that reverting perhaps isn't encouraging when you just revert instead of giving concrete critic points 23:12 hmmmm there's nothing different with blokel aside from a global s/Minetest/Blokel/ 23:12 hmmmm freeminer is a stability laughing stock 23:12 Warr1024 hmmmm: well not yet 23:13 kilbith hmmmm, "don't even give a shit if it works" <- remember the nasty bug on the seed ? 23:13 hmmmm kilbith: that's fixed as of right now 23:13 Warr1024 but if any of them end up getting something cool and new, they'll subject their own userbase to the testing and debugging, and MT can sit back and cherry-pick it when it's good, and maintain the nice, stable upstream. 23:14 kilbith nope, the following patch that you have applied was uncomplete and SN has applied another patch (from fz72 iirc) when you left the team 23:14 kilbith that patch has been neglected by yourself 23:14 hmmmm here's to clarify on the seed business: 23:15 hmmmm what I fixed originally was the error about not being able to load map_meta.txt 23:16 hmmmm then, people said it was incomplete because it didn't fix a different, unrelated issue that i didn't really feel was an issue 23:16 hmmmm and was there for a lot longer 23:16 hmmmm so that's why I wrote some common mapgen params to map_meta.txt on world creation. so that way seed would persist directly after the world directory was created 23:17 hmmmm there was an embarassing bug because of that, and it didn't generate a random seed if the fixed_map_seed field was blank 23:18 hmmmm because it was saved as blank to map_meta.txt, but the setting is present there, so it didn't even bother checking the main config 23:18 hmmmm i fixed that, but then people got buttmad that I didn't pre-save EVERY SINGLE SOLITARY MAPGEN SETTING POSSIBLE in map_meta.txt, even ones that the user would never interact with 23:19 hmmmm you don't need to save EVERYTHING, just settings that the user would interact with from the GUI 23:19 hmmmm jeez 23:20 est31 so why again is it important to be stored in map_meta.txt? 23:20 est31 and where was it stored before? 23:20 est31 world.mt? 23:21 hmmmm if a setting isn't present in map_meta.txt, it gets read from the main config file 23:21 hmmmm the reason why it's important to be saved is because some users do this thing where they create a bunch of worlds at the same time before starting one 23:22 hmmmm e.g. create new world -> enter seed -> create, instead of starting the world then they go on to create another new world -> enter seed (this overwrites the previously entered seed in the main config file) -> create world 23:22 hmmmm i suppose this does violate the principle of least surprise, but why are users doing such a weird thing to begin with? 23:23 Warr1024 Cleaned up that extra setting in #2462, just waiting on CI now. 23:23 ShadowBot https://github.com/minetest/minetest/issues/2462 -- Configurable automatic texture scaling and filtering at load time. by Warr1024 23:23 Warr1024 anyone want to give it a review? 23:25 Warr1024 btw, I can't seem to remember the right git command (i.e. which manpage to read) to squash a bunch of commmits down, aside from git rebase -i. 23:26 est31 I guess squash 23:26 hmmmm git rebase -i HEAD~ is the command you're thinking of 23:27 Warr1024 yeah, I wanted to script it without the -i 23:27 hmmmm this is just a nitpick, but when control structure bodies have multiple lines, you need to add brackets around them { } 23:27 Warr1024 oh, you mean like a wrapped statement? 23:27 hmmmm the exception is for dimensional stuff (iterating through x, y, z for instance) 23:28 hmmmm in which case you un-indent the inner loops 23:28 Warr1024 oh, so you do for (x...) for (y...) at the same indent level? 23:28 hmmmm yeah 23:29 hmmmm for example, this is bad: https://github.com/minetest/minetest/blob/master/src/noise.cpp#L572 23:30 est31 what about else if 23:30 hmmmm this is fine: https://github.com/minetest/minetest/blob/master/src/mapgen_v6.cpp#L591 23:31 hmmmm trying to find other examples but i cleaned a lot of them out... 23:31 est31 but still not understanding why the first isnt dimensional stuff 23:31 hmmmm it is dimensional stuff, but it violates the rule because it's indented 23:32 Warr1024 yeah, I was worried that If I had to do a 3d convolution filter, all my code would be squashed in like the 3 rightmost columns... 23:34 Warr1024 Ok, gonna get those fixes pushed up in a couple minutes 23:34 est31 hmmmm, where exactly is that rule in http://dev.minetest.net/Code_style_guidelines ? 23:34 Warr1024 I get the feeling that that guide isn't very complete anymore. 23:34 Tablet_One Can anyone confirm #2520? 23:34 ShadowBot https://github.com/minetest/minetest/issues/2520 -- Android: noclip, fly, etc. buttons are way too sensitive 23:35 hmmmm http://fpaste.org/200786/42689451/ 23:35 hmmmm it's not there 23:35 Warr1024 ah, I see what you mean 23:36 est31 nice, hmmmm should I add it to the page? 23:36 Warr1024 you don't want to have that situation where you're at the bottom of a deep-nested block wondering "did this level have a brace or not" 23:37 hmmmm http://fpaste.org/200787/94638142/ 23:37 hmmmm Warr1024: yeah basically 23:37 hmmmm I want to make bracing unambiguous but at the same time reduce the level of unnecessary indentation 23:37 est31 why is that bad 23:38 hmmmm why? 23:38 Warr1024 I guess that in your loop example, even if line 23 began with \t\t\t, it still wouldn't be acceptable. 23:38 hmmmm being mismatched I guess 23:38 hmmmm you could certainly debate it 23:39 est31 I'm not a python guy (really hate their rule), but what is the purpose of braces where they aren't needed. 23:39 hmmmm one of the things I've wanted to do with that code_style_guidelines page on the development wiki was to add some kind of wikia plugin to make it like c2's discussion pages 23:39 hmmmm est31: trailing else :) 23:39 Warr1024 an example of "bad" would be https://github.com/Warr1024/minetest/commit/c27565600af150e8fae604e990c0cbc6a23e8251 lines 275-277 23:39 hmmmm code style is something everybody's welcome to discuss, debate, develop new things on 23:39 Warr1024 that's how bugs happen where you end up doing something in a loop when it was meant to be outside, or outside when it was meant to be in. 23:40 hmmmm Warr1024, another thing 23:40 hmmmm to avoid excessive indentation and add self-describing code, the texture filtering thing I would split off into its own function 23:40 hmmmm *personally* 23:40 hmmmm i know carmack says this is bad, but not everybody has text editors with foldable braces 23:41 Warr1024 I don't have foldable braces 23:41 Warr1024 I'm doing this shit in plain ol' vi. 23:41 hmmmm heh 23:41 hmmmm i'm not that hardcore 23:41 Warr1024 I actually have another client-side diff in the works, very close to ready for PR 23:41 hmmmm so for example with your change you can make it 23:42 hmmmm if (g_settings)->getBool("texture_clean_transparent")) 23:42 hmmmm applyCleanTransparencyFilter(blah blah blah); 23:42 hmmmm then you save 2 indents 23:42 Warr1024 right now, I'm sort of on the fence about the function thing. 23:43 Warr1024 but in my other PR, were this to be merged already, I'd pretty much have to refac out the common code 23:43 hmmmm i like it because it gets you to think about the inputs/outputs of your code 23:43 hmmmm or your function i mean 23:43 Warr1024 True, I was just hoping to sneak this one in before I really knuckled down and started to learn some C++ :-D 23:44 hmmmm when it's in one giant control structure, the inputs are the current state of that function and all the local variables 23:44 hmmmm and i guess if you're not planning on sharing the code with anybody else that's okay but :) 23:44 exio4 that sounds somewhat not so nice 23:44 hmmmm what 23:45 Warr1024 naw, I was hoping to refactor it, but I didn't really want to keep changing my diff and invalidating any code reviews I'd already passed :-/ 23:45 est31 thats this thing I don't like about the signed-off story 23:45 hmmmm changes like those are okay 23:46 hmmmm i don't think that moving into its own function would invalidate reviews 23:46 hmmmm well unless you're nerzhul 23:46 Warr1024 the other thing I'm working on is https://github.com/Warr1024/minetest/commits/guiscaling, and it involved enough code that I had to break out functions 23:46 est31 lol nice troll 23:47 Warr1024 but I started to get the feeling it was too "C" and not "C++" enough to be accepted :-/ 23:47 hmmmm ohh no 23:47 hmmmm you shouldn't try to be C++y 23:47 Warr1024 ah, okay 23:47 Warr1024 in that case, what are your feelings on malloc use :-D 23:48 hmmmm well, since this is .cpp, malloc would be out of place 23:48 Warr1024 heh 23:48 hmmmm but other than that 23:48 hmmmm so the thing is, most people treat C++ like "a better C" 23:48 Warr1024 other than that, no need for a class when functions will suffice? 23:48 hmmmm it has containers, all this convenient syntactical sugar, etc. 23:48 hmmmm right 23:49 hmmmm but there shouldn't be any pressure for you to use features that don't help make the code cleaner or better in some way 23:49 Warr1024 cool 23:49 hmmmm like for example what about node drawtypes 23:49 Warr1024 ? 23:50 hmmmm the way it works right now is that the drawtype is an enum, and a giant switch statement decides how it each gets drawn 23:50 hmmmm that's totally fine. it freaking works and it's simple and unambiguous 23:50 Warr1024 ah, cool. 23:50 hmmmm the "C++ Way" of doing this, on the other hand, would be to make a base class 23:50 hmmmm and then make a derived class for each different drawtype 23:51 hmmmm each will have their own drawThing() pure virtual method 23:51 hmmmm like... no. that's really C++y, but how does it make the code BETTER? 23:51 hmmmm it makes a lot of sense if you're a Java-person, but that's only out of habit 23:51 Warr1024 I guess it'd probably be best to just make each drawtype a function, eventually in their own files (depending on line count maybe) and just have a switch with function calls. 23:52 Warr1024 polymorphism would make more sense if those classes were to encapsulate more than one function each. 23:52 Warr1024 I guess a lot of it depends on how much wear'n'tear you tolerate on your pgup/pgdn keys. 23:53 hmmmm yeah, I mean at the very least I think it could be cleaned up that way 23:53 hmmmm each switch statement case could be a function call 23:54 hmmmm if the switch statement crosses a certain threshhold, like let's say 15 cases, and they're all in the same call format, I'd argue that's the point at which it should be a lookup table of function pointers 23:54 Warr1024 ok, style fixed, pushed, CI build started 23:55 hmmmm by the way, nobody's going to annoy you about code style 23:55 hmmmm and it's not a blocking issue 23:55 Warr1024 cool, thanks 23:55 hmmmm it's just there to know how the rest of the code 'should be' 23:55 Warr1024 eh, it's not a bad idea to start out doing things right. 23:56 hmmmm I guess it depends on the person you ask though 23:56 Warr1024 I'm used to using a "when in rome" code style. 23:56 hmmmm there is a certain ninja here who is absolutely anal about this 23:57 hmmmm Warr, yeah, true, but if you spend enough time in rome it eventually becomes your own 23:57 hmmmm or at least that small part that is your house 23:57 hmmmm certainly we'd like developers to get comfortable 23:57 Warr1024 eh, I spend a fair amount of time in different Romes, so I don't mind adapting my code style to the project I'm contributing to. 23:58 Warr1024 on my own projects, I use Whitesmiths indenting style (mostly), and NOBODY uses that in the wild. 23:59 Warr1024 it's a throwback to a mentor I had back in college, and it's stuck for me. 23:59 exio4 Warr1024: I don't think abusing subtyping makes sense, subtyping polymorphism is probably what you do not want in the 99% of the cases it is used 23:59 Warr1024 looks REALLY bizarre in perl, and is almost unusable in lua/perl (I've had to adapt) 23:59 exio4 Warr1024: implementing those virtual functions and base clases doesn't scale that much when things start having "multiple" properties, that you need to mix and match, too