| Time |
Nick |
Message |
| 00:01 |
paramat |
#4239 has been updated |
| 00:01 |
ShadowBot |
https://github.com/minetest/minetest/issues/4239 -- Use mathematical function to determine yaw direction by sfan5 |
| 00:38 |
|
sloanonlinux joined #minetest-dev |
| 01:10 |
|
jin_xi joined #minetest-dev |
| 01:43 |
|
Miner_48er joined #minetest-dev |
| 02:01 |
hmmmm |
paramat: i don't need on_mapgen_init |
| 02:02 |
hmmmm |
[07:25 PM] <est31> hmmmm, what I'm not getting is: we already have a settings class what do you mean? |
| 02:03 |
hmmmm |
it uses two Settings, and creates Params by combining them |
| 02:04 |
hmmmm |
i'm wondering if it's overbuilt, but i did that mostly for the sake of being able to add a unit test |
| 02:04 |
hmmmm |
not sure if it's a good choice though |
| 02:05 |
est31 |
hrmm |
| 02:05 |
est31 |
well, its not overcomplicating too much |
| 02:06 |
est31 |
its only partial code so i might not be right with my assumptions about what it does |
| 02:06 |
hmmmm |
what are your assumptions? |
| 02:06 |
hmmmm |
the class itself is complete pretty much |
| 02:06 |
est31 |
hmmmm, it essentially is an interface between the global settings (or the map local settings) and the mapgen, right? |
| 02:06 |
hmmmm |
hrmmm |
| 02:07 |
hmmmm |
i guess you could say that |
| 02:07 |
hmmmm |
the intent was to have an object that'll take different sources of configuration and combine them all in the correct order |
| 02:08 |
est31 |
before, it was spread over mapgen code? |
| 02:08 |
hmmmm |
no |
| 02:08 |
hmmmm |
before it was scattered between ServerMap, EmergeManager, and other bits and pieces |
| 02:08 |
est31 |
ok |
| 02:08 |
hmmmm |
the mapgen doesn't actually have anything to do with this bit of code |
| 02:08 |
est31 |
I see. |
| 02:08 |
hmmmm |
the only thing the mapgen does here is consume the MapgenParams that it generates |
| 02:09 |
est31 |
okay then |
| 02:09 |
hmmmm |
see i wanted to just shove it all into either EmergeManager or ServerMap |
| 02:09 |
hmmmm |
but then it wouldn't be unit testable |
| 02:09 |
est31 |
your idea sounds good |
| 02:09 |
hmmmm |
what do you think about all the different getMapSetting and setMapSetting things |
| 02:10 |
est31 |
I'm not super keen on getting it unit testable, but i do think that its its own independent unit of functionality |
| 02:10 |
hmmmm |
should i get rid of them and have the lua apis interact with the settings objects directly? |
| 02:10 |
hmmmm |
they take up a lot of lines of code for something very mundane |
| 02:10 |
hmmmm |
and wrapper-ish |
| 02:10 |
est31 |
yeah |
| 02:11 |
hmmmm |
and one last thing |
| 02:11 |
hmmmm |
so here i moved the ownership of MapgenParams from the EmergeManager to the ServerMap |
| 02:11 |
hmmmm |
how do you think i should get it over to the EmergeManager now |
| 02:12 |
hmmmm |
should the EmergeManager request it from the ServerMap? |
| 02:12 |
hmmmm |
that would then require the IGameDef it gets passed to be a Server |
| 02:12 |
hmmmm |
whereas right now it's any IGameDef |
| 02:12 |
hmmmm |
so theoretically an EmergeManager right now could run on the Client |
| 02:13 |
hmmmm |
or, should the ServerMap call something in the EmergeManager instead? |
| 02:13 |
est31 |
how do they usually interact |
| 02:13 |
hmmmm |
there is no usual |
| 02:13 |
est31 |
i have no clue |
| 02:13 |
hmmmm |
right now it's a hodge podge and horribly architected |
| 02:13 |
hmmmm |
there is no architecture right now |
| 02:14 |
hmmmm |
there's no clear set of dependencies from one object to the other |
| 02:15 |
est31 |
idk i dont think its a big issue how these two communicate |
| 02:15 |
hmmmm |
go in map.cpp, ctrl+F m_emerge, you'll see it used in a variety of contexts, such as for the MapgenParams it owns, or to get a pointer to the thread-local mapgen, or to queue up a block, etc. |
| 02:15 |
est31 |
its nothing relevant we give backwards compat for |
| 02:15 |
hmmmm |
but do the opposite, go into EmergeManager and search around for Map access, it doesn't access any map directly except for within EmergeThread |
| 02:16 |
hmmmm |
of course not |
| 02:16 |
est31 |
so we can change it if it doesnt seem to be good |
| 02:16 |
hmmmm |
sure, but i want to make a decision i'm satisfied with instead of changing it every week |
| 02:17 |
hmmmm |
and this makes me wonder |
| 02:17 |
hmmmm |
"what is the actual purpose of EmergeManager?" |
| 02:17 |
est31 |
true |
| 02:17 |
hmmmm |
"what is the actual purpose of ServerMap?" |
| 02:17 |
hmmmm |
ServerMap right now does way too much different unrelated stuff |
| 02:18 |
hmmmm |
EmergeManager was that way too until this patch |
| 02:18 |
hmmmm |
actually it still is until I make the Mapgen owned by each individual EmergeThread |
| 02:18 |
hmmmm |
so EmergeManager is almost like EmergeThreadManager and MapgenManager |
| 02:18 |
hmmmm |
and up until now it was also the MapgenParamsManager |
| 02:19 |
hmmmm |
too much middle management :p |
| 02:19 |
hmmmm |
fire the incompetent middle managers i say |
| 02:22 |
est31 |
:) |
| 02:23 |
hmmmm |
honestly I'm leaning toward having the EmergeManager "get" the MapgenParams from the ServerMap |
| 02:52 |
|
Void7 joined #minetest-dev |
| 03:00 |
|
yang2003 joined #minetest-dev |
| 03:38 |
|
Void7 joined #minetest-dev |
| 04:34 |
|
davisonio joined #minetest-dev |
| 04:36 |
hmmmm |
that sounds like a good plan, to get the map generating parameters from the map |
| 04:38 |
hmmmm |
but it's not so clear because EmergeManager knows nothing of Map, and that would require a whole lot of additional dependencies it did not have before |
| 04:38 |
hmmmm |
whereas the opposite way around, ServerMap already uses several EmergeManager facilities - is this *correct*? |
| 04:41 |
hmmmm |
probably, this is fine, because EmergeManager is the interface with which you talk in order to defer some kind of map loading to the background |
| 04:41 |
hmmmm |
of course the Map should know about it |
| 04:42 |
hmmmm |
and as such, the proper way to *use* the EmergeManager is to tell it how you want your map to be generated when it does need to |
| 04:42 |
hmmmm |
i.e. pass the MapgenParams in the constructor |
| 04:42 |
hmmmm |
but it exists much earlier than that |
| 04:44 |
|
jin_xi joined #minetest-dev |
| 04:49 |
|
Thomas-S joined #minetest-dev |
| 05:15 |
|
davisonio joined #minetest-dev |
| 05:38 |
|
paramat joined #minetest-dev |
| 05:40 |
paramat |
merging game#1155 |
| 05:40 |
ShadowBot |
https://github.com/minetest/minetest_game/issues/1155 -- Default: Add stone / desert stone / sandstone / obsidian blocks by paramat |
| 05:42 |
|
nrzkt joined #minetest-dev |
| 05:42 |
VanessaE |
paramat: I believe moreblocks has, at the very least, the 'stone block' (as 'stone tile' I think) |
| 05:42 |
VanessaE |
just FYI |
| 05:43 |
VanessaE |
(it also has a couple of subdivided variants) |
| 05:43 |
paramat |
yeah, i checked moreblocks and there was nothing identical |
| 05:44 |
paramat |
just seen an error, updating PR |
| 05:45 |
VanessaE |
https://github.com/minetest-mods/moreblocks/blob/master/textures/moreblocks_stone_tile.png |
| 05:45 |
VanessaE |
not identical in appearance, but in function at least. |
| 05:47 |
VanessaE |
..and it can be cut with the table saw also. |
| 05:47 |
VanessaE |
Calinou: *poke* ^^^^ |
| 05:55 |
paramat |
ok i didn't realise it was a full node, because of the name |
| 05:56 |
paramat |
merging game 1155 |
| 06:01 |
paramat |
done |
| 06:17 |
|
Zeno` joined #minetest-dev |
| 06:18 |
|
Gundul joined #minetest-dev |
| 06:25 |
|
Gundul joined #minetest-dev |
| 06:32 |
paramat |
hi Zeno` #4239 has been updated, possibly mergeable now |
| 06:32 |
ShadowBot |
https://github.com/minetest/minetest/issues/4239 -- Use mathematical function to determine yaw direction by sfan5 |
| 06:35 |
|
davisonio joined #minetest-dev |
| 06:36 |
Zeno` |
I'm ok with it |
| 06:36 |
Zeno` |
no |
| 06:36 |
Zeno` |
it should be static |
| 06:36 |
Zeno` |
static const char *direction[4] = {"North [+Z]", "West [-X]", "South [-Z]", "East [+X]"}; |
| 06:39 |
Zeno` |
It was basically incorrect before sfan's changes :/ |
| 06:39 |
Zeno` |
well, not really |
| 06:39 |
Zeno` |
the static is so the array is not initialised every time the function is entered but the compiler (probably) does that anyway. May as well make it explicit though |
| 06:43 |
|
ssieb joined #minetest-dev |
| 06:43 |
Zeno` |
sfan5? |
| 06:44 |
hmmmm |
Zeno`, an implicit conversion from type const char * to std::string is operator const char *() |
| 06:44 |
Zeno` |
may as well have it that in the first place though since that's what it returns |
| 06:44 |
hmmmm |
which is implemented in 99.999% of libstdc++s as std::string(const char *) |
| 06:44 |
Zeno` |
no, it was the other way around |
| 06:44 |
Zeno` |
std::string being returned |
| 06:45 |
Zeno` |
from a non-static local array... which seemed a bit strange |
| 06:45 |
Zeno` |
The function has always been inline static const char *yawToDirectionString(int yaw) |
| 06:46 |
Zeno` |
and it was returning a std::string that was in an array... hence my conversion question |
| 06:46 |
hmmmm |
wait a minute |
| 06:46 |
hmmmm |
oh that's a stale comment |
| 06:46 |
Zeno` |
yeah, for some reason it didn't auto hide |
| 06:46 |
hmmmm |
for some reason i thought it was the opposite, the return value was std::string and the type being returned was const char * |
| 06:47 |
Zeno` |
it's no longer applicable so I have no idea why github didn't hide it :/ |
| 06:47 |
Zeno` |
nah, was the other way around originally |
| 06:47 |
hmmmm |
probably because the line you attached the comment to wasn't modified |
| 06:47 |
Zeno` |
oh I see |
| 06:48 |
hmmmm |
hrmmm |
| 06:48 |
VanessaE |
paramat: I forgot to ask, those blocks you added, are they meant to be rough-cut, or smooth? |
| 06:49 |
VanessaE |
(I ignore the fact that they're derived from existing textures) |
| 06:50 |
|
Hunterz joined #minetest-dev |
| 06:50 |
paramat |
they're meant to match bricks, but see comments i'm considering smoothing the texture of stone and maybe desert stone |
| 06:51 |
paramat |
the stone block looks a little too rough |
| 06:51 |
VanessaE |
I suppose so yeah |
| 06:52 |
paramat |
i mean, i'm considering smoothing the textures of stone/desert stone bricks and blocks |
| 06:52 |
VanessaE |
well, if you do that, I'll have to update HDX :P |
| 06:52 |
VanessaE |
(the stone bricks there are rough-cut) |
| 06:52 |
paramat |
i like to think of bricks and blocks as being fairly smooth and polished |
| 06:53 |
VanessaE |
perhaps separate, smooth versions are warranted. |
| 06:53 |
paramat |
i'll open a new PR/issue for these considerations |
| 06:53 |
VanessaE |
I had in mind that stone bricks were rough because you cut them from solid stone without any tools besides a pick or something |
| 06:53 |
VanessaE |
i.e. no polishing tools present |
| 07:10 |
|
paramat left #minetest-dev |
| 07:50 |
|
burli joined #minetest-dev |
| 07:50 |
Zeno` |
sfan5, *thumbs up* |
| 07:51 |
sfan5 |
note that i didn't test whether that function produces correct results this way |
| 07:51 |
Zeno` |
by being static? |
| 07:52 |
Zeno` |
will make no difference (only possible an optimisation that any modern compiler would probably do anyway :)) |
| 07:53 |
sfan5 |
no in general |
| 07:53 |
sfan5 |
with the maths |
| 07:53 |
hmmmm |
committing untested code? |
| 07:54 |
sfan5 |
it wasn't originally my pull |
| 07:54 |
sfan5 |
i just made a "pull request" with a zipped cpp file into a proper one |
| 07:54 |
|
MarS joined #minetest-dev |
| 08:08 |
|
Thomas-S joined #minetest-dev |
| 08:37 |
|
Krock joined #minetest-dev |
| 08:48 |
|
PilzAdam joined #minetest-dev |
| 08:55 |
|
Thomas-S joined #minetest-dev |
| 09:05 |
|
Puka joined #minetest-dev |
| 09:07 |
|
asl97 joined #minetest-dev |
| 09:23 |
|
domtron__ joined #minetest-dev |
| 10:26 |
|
davisonio joined #minetest-dev |
| 10:39 |
|
red-001 joined #minetest-dev |
| 10:52 |
|
Fixer joined #minetest-dev |
| 11:01 |
|
domtron__ joined #minetest-dev |
| 11:36 |
|
xunto joined #minetest-dev |
| 12:12 |
|
ElectronLibre joined #minetest-dev |
| 12:13 |
|
davisonio joined #minetest-dev |
| 13:07 |
|
damiel_ joined #minetest-dev |
| 13:17 |
|
davisonio joined #minetest-dev |
| 13:27 |
|
nrzkt joined #minetest-dev |
| 13:39 |
|
hmmmm joined #minetest-dev |
| 13:46 |
|
ShadowBot` joined #minetest-dev |
| 13:48 |
|
yang2003 joined #minetest-dev |
| 13:50 |
|
dmurph_ joined #minetest-dev |
| 13:50 |
|
cheapie_ joined #minetest-dev |
| 13:51 |
|
jomat joined #minetest-dev |
| 13:51 |
|
DonBatman_ joined #minetest-dev |
| 13:51 |
|
sfan5_ joined #minetest-dev |
| 13:53 |
|
Icedream joined #minetest-dev |
| 13:53 |
|
jomat joined #minetest-dev |
| 13:57 |
|
yang2003 joined #minetest-dev |
| 14:10 |
|
Void7 joined #minetest-dev |
| 14:16 |
Fixer |
!tell paramat You forgot about panels and slabs :) https://i.imgur.com/MssKkUO.png |
| 14:16 |
ShadowBot |
Fixer: O.K. |
| 14:17 |
|
domtron joined #minetest-dev |
| 14:21 |
everamzah |
you trying to make a PR, fixer? :D |
| 14:21 |
Fixer |
everamzah: no, will wait for paramat |
| 14:22 |
everamzah |
did you already do it for that screenshot? or is that moreblocks |
| 14:22 |
Fixer |
everamzah: x-decor |
| 14:22 |
everamzah |
of course! (/me tests them in workbench now) |
| 14:25 |
everamzah |
i forget how, but xdecor/workbench interfaces with stairs mod somehow |
| 14:25 |
everamzah |
(aaand, i'm in the wrong channel -- sorry) |
| 14:44 |
|
sloanonlinux joined #minetest-dev |
| 15:46 |
|
est31 joined #minetest-dev |
| 15:50 |
hmmmm |
hrmm |
| 15:51 |
hmmmm |
does anybody agree with the statement: a getter method shall not result in side effects on an object |
| 15:52 |
est31 |
yeah |
| 15:52 |
est31 |
maximum side effect should be that there is a lock held as long as the getter is running |
| 15:53 |
est31 |
that is a side effect, but a very small one |
| 16:10 |
|
davisonio joined #minetest-dev |
| 16:17 |
hmmmm |
i agree |
| 16:17 |
hmmmm |
i forget where exactly but i thought i saw some getFoobar()s that do work the first time and return the cached results thereafter |
| 16:19 |
est31 |
well thats okay as well |
| 16:19 |
hmmmm |
what makes it okay though |
| 16:19 |
est31 |
its a chaching layer |
| 16:19 |
hmmmm |
that's clearly in violation of the principle we first stated |
| 16:19 |
est31 |
it has no side effects |
| 16:19 |
est31 |
except that it modifies the cache variable |
| 16:20 |
hmmmm |
how do you know that |
| 16:20 |
est31 |
but that cache variable is only modified by the setter, and maybe the constructor of the class |
| 16:20 |
hmmmm |
what if the object the getter is called on sets the state of the object |
| 16:20 |
est31 |
as in? |
| 16:21 |
hmmmm |
like creates a network connection |
| 16:27 |
est31 |
thats bad |
| 16:27 |
est31 |
I mean it really depends on the actual case, but generally its best to have getters dumb as possible |
| 16:29 |
hmmmm |
well if that were the case then getters would all be 'return variablehere;' |
| 16:29 |
hmmmm |
but i find that redundant which is why my code echews such getter/setter boilerplate |
| 16:30 |
hmmmm |
i don't personally say anything about the complexity of getters, just that they have minimal side effects |
| 16:30 |
hmmmm |
if it is more complex in implementation then maybe it'd be best as a calcFoobar instead of getFoobar method |
| 16:34 |
|
davisonio joined #minetest-dev |
| 16:46 |
|
Grandolf joined #minetest-dev |
| 17:30 |
|
davisonio joined #minetest-dev |
| 17:36 |
|
Lunatrius joined #minetest-dev |
| 17:52 |
|
MoNTE48 joined #minetest-dev |
| 17:53 |
MoNTE48 |
Hi guys |
| 17:54 |
sfan5 |
hi |
| 17:57 |
MoNTE48 |
I am interested in destiny of Android version |
| 18:00 |
MoNTE48 |
If I was given the name in the credits or acquired the right to speak in the community face to block those who violate the LGPL on Play Store, I could pass MultiCraft code Minetest and release Minetest 0.4.14 in Play Store |
| 18:01 |
sfan5 |
iirc |
| 18:01 |
sfan5 |
if you have code in the android version of minetest |
| 18:02 |
sfan5 |
you can use DMCA |
| 18:02 |
sfan5 |
regardless of the credits |
| 18:03 |
MoNTE48 |
It is difficult to prove to Google that I am the author of the code on github. They work very stupid people |
| 18:04 |
MoNTE48 |
My designer has blocked a lot of people for stealing 1 32x32 texture. I spend a lot of time and can not always protect my work. |
| 18:06 |
|
davisonio joined #minetest-dev |
| 18:07 |
|
Miner_48er joined #minetest-dev |
| 18:10 |
|
Player_2 joined #minetest-dev |
| 18:11 |
|
Krock joined #minetest-dev |
| 18:12 |
|
davisonio joined #minetest-dev |
| 18:31 |
|
KaadmY joined #minetest-dev |
| 18:52 |
|
halt_ joined #minetest-dev |
| 18:52 |
|
halt_ left #minetest-dev |
| 19:33 |
|
Void7 joined #minetest-dev |
| 19:40 |
|
red-001 joined #minetest-dev |
| 19:55 |
|
MoNTE48 joined #minetest-dev |
| 20:12 |
|
Miner_48er joined #minetest-dev |
| 20:28 |
|
Puka joined #minetest-dev |
| 20:28 |
|
Player_2 joined #minetest-dev |
| 20:43 |
|
lisac joined #minetest-dev |
| 20:49 |
hmmmm |
why is the ServerEnvironment created after mods run exactly |
| 20:50 |
hmmmm |
i can't tell if there's an actual reason or it's just because |
| 21:05 |
|
paramat joined #minetest-dev |
| 21:06 |
paramat |
Fixer nore sfan5 i think we can use the new block textures for stairs and slabs https://i.imgur.com/MssKkUO.png |
| 21:06 |
Fixer |
+1 |
| 21:07 |
paramat |
i was already considering making slabs look like slabs |
| 21:07 |
paramat |
will make a PR |
| 21:08 |
sfan5 |
yeah those look nice |
| 21:20 |
paramat |
nore sfan5 can anyone confirm this is good? game#1153 |
| 21:20 |
ShadowBot |
https://github.com/minetest/minetest_game/issues/1153 -- Update .gitignore to ignore additional ide/editors by t4im |
| 21:25 |
sfan5 |
paramat: those in the "GNU global" section don't seem useful to me |
| 21:25 |
sfan5 |
others are ok |
| 21:25 |
paramat |
ok |
| 21:27 |
paramat |
since we're lacking an android dev and since monte48 is interested in being more official perhaps we can consider something? http://irc.minetest.ru/minetest-dev/2016-06-25#i_4638268 |
| 21:34 |
hmmmm |
monte48 isn't an android dev though |
| 21:34 |
hmmmm |
he hired somebody else to do the dev work for him |
| 21:34 |
hmmmm |
so i'm not really sure where the value added is |
| 21:37 |
paramat |
he may be coding it himself now IIRC not sure |
| 21:38 |
paramat |
i might make a post on the forum asking for talent |
| 22:10 |
|
T4im joined #minetest-dev |
| 22:11 |
T4im |
the gnu global stuff is removed, paramat |
| 22:11 |
paramat |
ok thanks |
| 22:45 |
|
lisac joined #minetest-dev |
| 23:24 |
|
domtron joined #minetest-dev |
| 23:56 |
|
yang2003 joined #minetest-dev |
| 23:59 |
|
Fritigern joined #minetest-dev |