Time |
Nick |
Message |
01:05 |
|
Warr1024 joined #minetest-dev |
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:27 |
|
Fritigern joined #minetest-dev |
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... |
02:35 |
|
Zeno` joined #minetest-dev |
03:15 |
|
Warr1024 joined #minetest-dev |
03:18 |
Warr1024 |
hey, Zeno` |
03:27 |
Zeno` |
hi |
03:46 |
|
Miner_48er joined #minetest-dev |
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... |
04:42 |
|
Hunterz joined #minetest-dev |
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 |
|
Megaf joined #minetest-dev |
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 |
06:41 |
|
Hunterz joined #minetest-dev |
07:50 |
|
kilbith joined #minetest-dev |
07:50 |
|
paramat joined #minetest-dev |
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:05 |
|
nrzkt joined #minetest-dev |
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 |
|
Dartmouth joined #minetest-dev |
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 <the OS>. 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 |
|
paramat left #minetest-dev |
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:10 |
|
Calinou joined #minetest-dev |
09:15 |
VanessaE |
well I'm outta gas. night all :) |
09:20 |
|
neoascetic joined #minetest-dev |
09:53 |
|
Dartmouth_ joined #minetest-dev |
09:57 |
|
Zeno` joined #minetest-dev |
10:01 |
|
twoelk joined #minetest-dev |
10:30 |
|
Amaz joined #minetest-dev |
11:00 |
|
Calinou joined #minetest-dev |
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:16 |
|
MinetestForFun joined #minetest-dev |
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 |
11:53 |
|
selat joined #minetest-dev |
12:26 |
|
DFeniks joined #minetest-dev |
12:32 |
|
Dartmouth joined #minetest-dev |
12:41 |
|
nrzkt joined #minetest-dev |
12:42 |
nrzkt |
app is now available on play store... but all it's possible that the application description was not updated |
12:49 |
|
neoascetic joined #minetest-dev |
13:01 |
* twoelk |
wonders how to switch languages in the playstore |
13:03 |
|
MinetestForFun joined #minetest-dev |
13:07 |
|
Zeno` joined #minetest-dev |
13:10 |
Zeno` |
#2429 ok to merge? |
13:10 |
ShadowBot |
https://github.com/minetest/minetest/issues/2429 -- Update credits by Zeno- |
13:20 |
|
Calinou joined #minetest-dev |
13:29 |
|
DFeniks joined #minetest-dev |
13:38 |
|
srifqi joined #minetest-dev |
14:00 |
|
Tablet_One joined #minetest-dev |
14:08 |
|
crazyR joined #minetest-dev |
14:08 |
|
crazyR joined #minetest-dev |
14:23 |
|
Warr1024 joined #minetest-dev |
14:26 |
|
Taoki joined #minetest-dev |
14:32 |
|
Tablet_One joined #minetest-dev |
14:47 |
|
neoascetic joined #minetest-dev |
14:48 |
neoascetic |
when v7 mapgen going to be ready? |
14:56 |
|
hmmmm joined #minetest-dev |
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 <monkey_avatar>" 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:17 |
|
Tablet_One joined #minetest-dev |
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:42 |
|
paramat joined #minetest-dev |
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 |
16:43 |
|
SopaXorzTaker joined #minetest-dev |
16:46 |
|
devmarth joined #minetest-dev |
17:00 |
|
psedlak joined #minetest-dev |
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:15 |
|
Hunterz joined #minetest-dev |
17:17 |
|
Krock joined #minetest-dev |
17:42 |
Krock |
Just to show the changes of my pull request: https://github.com/minetest/minetest/pull/2493#issuecomment-84083311 |
17:52 |
|
Wayward_One_ joined #minetest-dev |
17:57 |
|
est31 joined #minetest-dev |
18:21 |
|
devmarth joined #minetest-dev |
18:23 |
|
DFeniks joined #minetest-dev |
18:38 |
|
MinetestForFun joined #minetest-dev |
18:55 |
|
twoelk joined #minetest-dev |
18:55 |
|
ElectronLibre joined #minetest-dev |
18:56 |
|
VanessaE joined #minetest-dev |
19:08 |
|
paramat left #minetest-dev |
19:19 |
|
Jordach joined #minetest-dev |
19:25 |
|
devmarth joined #minetest-dev |
19:26 |
|
ElectronLibre joined #minetest-dev |
19:34 |
|
Calinou joined #minetest-dev |
19:35 |
|
MinetestForFun joined #minetest-dev |
20:27 |
|
est31 joined #minetest-dev |
20:46 |
|
chchjesus joined #minetest-dev |
20:52 |
|
Ritchie joined #minetest-dev |
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 |
|
sofar joined #minetest-dev |
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 |
|
ElectronLibre left #minetest-dev |
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. |
21:58 |
|
Jordach joined #minetest-dev |
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 |
|
deltib joined #minetest-dev |
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:45 |
|
twoelk|2 joined #minetest-dev |
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~<commit you want to squash down to> 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:33 |
|
Tablet_One joined #minetest-dev |
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 |